@lingshugroup/web-plus 0.0.9-beta → 0.1.1-beta
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.
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/basicTransition/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/basicTransition/index.js +108 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/basicTransition/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/basicTransition/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation/index.js +60 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicTransition/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicTransition/index.js +253 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicTransition/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/customGraphicTransition/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/morphTransitionHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/morphTransitionHelper/index.js +113 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/morphTransitionHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/morphTransitionHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/universalTransition/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/universalTransition/index.js +366 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/universalTransition/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/animation/universalTransition/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarSeries/index.js +56 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarView/index.js +491 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BarView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BaseBarSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BaseBarSeries/index.js +78 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BaseBarSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/BaseBarSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/install/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/install/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/bar/install/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeSeries/index.js +144 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeView/index.js +304 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/GaugeView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/PointerPath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/PointerPath/index.js +31 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/PointerPath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/PointerPath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/gauge/install/index.js +11 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/Symbol/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/Symbol/index.js +158 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/Symbol/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/Symbol/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/SymbolDraw/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/SymbolDraw/index.js +112 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/SymbolDraw/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/SymbolDraw/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys/index.js +75 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createRenderPlanner/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createRenderPlanner/index.js +14 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesData/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesData/index.js +76 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesData/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesData/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesDataSimply/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/createSeriesDataSimply/index.js +18 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/labelHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/labelHelper/index.js +31 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/sectorHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/helper/sectorHelper/index.js +22 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineSeries/index.js +94 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineView/index.js +551 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/LineView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/helper/index.js +45 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/helper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/helper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/install/index.js +19 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/lineAnimationDiff/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/lineAnimationDiff/index.js +64 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/lineAnimationDiff/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/lineAnimationDiff/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/poly/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/poly/index.js +167 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/poly/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/line/poly/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieSeries/index.js +144 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieView/index.js +153 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/PieView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/install/index.js +16 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/labelLayout/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/labelLayout/index.js +209 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/labelLayout/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/labelLayout/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/pieLayout/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/pieLayout/index.js +104 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/pieLayout/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/chart/pie/pieLayout/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisBuilder/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisBuilder/index.js +294 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisBuilder/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisBuilder/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisView/index.js +42 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/AxisView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/CartesianAxisView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/CartesianAxisView/index.js +122 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/CartesianAxisView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/CartesianAxisView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/axisSplitHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/axisSplitHelper/index.js +57 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/axisSplitHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axis/axisSplitHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerModel/index.js +73 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerView/index.js +33 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/AxisPointerView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer/index.js +192 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer/index.js +89 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/axisTrigger/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/axisTrigger/index.js +215 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/axisTrigger/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/axisTrigger/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/findPointFromSeries/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/findPointFromSeries/index.js +39 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/findPointFromSeries/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/findPointFromSeries/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/globalListener/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/globalListener/index.js +68 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/globalListener/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/globalListener/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/install/index.js +28 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/install/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/install/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/modelHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/modelHelper/index.js +151 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/modelHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/modelHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/viewHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/viewHelper/index.js +112 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/viewHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/axisPointer/viewHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/AxisProxy/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/AxisProxy/index.js +129 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/AxisProxy/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/AxisProxy/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomModel/index.js +191 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/DataZoomView/index.js +20 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomModel/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomView/index.js +79 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/InsideZoomView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SelectZoomModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SelectZoomModel/index.js +18 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SelectZoomView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SelectZoomView/index.js +18 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomModel/index.js +86 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomView/index.js +460 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/SliderZoomView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomAction/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomAction/index.js +21 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomProcessor/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomProcessor/index.js +59 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomProcessor/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/dataZoomProcessor/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/helper/index.js +76 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/helper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/helper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/history/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/history/index.js +63 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/history/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/history/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/install/index.js +12 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installCommon/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installCommon/index.js +14 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomInside/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomInside/index.js +13 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomSelect/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomSelect/index.js +12 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomSlider/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/installDataZoomSlider/index.js +12 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/roams/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/roams/index.js +136 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/roams/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/dataZoom/roams/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicModel/index.js +102 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicView/index.js +193 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/GraphicView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/graphic/install/index.js +19 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/install/index.js +12 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/installSimple/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/installSimple/index.js +45 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/installSimple/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/grid/installSimple/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushController/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushController/index.js +505 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushController/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushController/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushTargetManager/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushTargetManager/index.js +204 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushTargetManager/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/BrushTargetManager/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/RoamController/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/RoamController/index.js +111 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/RoamController/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/RoamController/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/brushHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/brushHelper/index.js +34 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/cursorHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/cursorHelper/index.js +15 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/interactionMutex/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/interactionMutex/index.js +33 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/listComponent/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/listComponent/index.js +33 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/listComponent/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/listComponent/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/sliderMove/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/sliderMove/index.js +33 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/sliderMove/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/helper/sliderMove/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendModel/index.js +198 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendView/index.cjs +2 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendView/index.js +254 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/LegendView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendModel/index.js +52 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendView/index.js +187 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/ScrollableLegendView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/install/index.js +12 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/installLegendPlain/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/installLegendPlain/index.js +15 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/installLegendScroll/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/installLegendScroll/index.js +14 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendAction/index.cjs +2 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendAction/index.js +31 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendAction/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendAction/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendFilter/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/legendFilter/index.js +17 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/scrollableLegendAction/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/legend/scrollableLegendAction/index.js +18 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxModel/index.js +62 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxView/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxView/index.js +144 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/ToolboxView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataView/index.cjs +18 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataView/index.js +282 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataZoom/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataZoom/index.js +159 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataZoom/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/DataZoom/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/MagicType/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/MagicType/index.js +125 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/MagicType/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/MagicType/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/Restore/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/Restore/index.js +39 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/Restore/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/Restore/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/SaveAsImage/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/SaveAsImage/index.js +71 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/SaveAsImage/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/feature/SaveAsImage/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/featureManager/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/featureManager/index.js +23 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/toolbox/install/index.js +19 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent/index.js +157 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipModel/index.js +84 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipModel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipModel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipRichContent/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipRichContent/index.js +94 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipRichContent/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipRichContent/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipView/index.cjs +3 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipView/index.js +421 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipView/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/TooltipView/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/helper/index.js +38 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/helper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/helper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/install/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/install/index.js +22 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip/index.js +67 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/tooltipMarkup/index.cjs +7 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/tooltipMarkup/index.js +200 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/tooltipMarkup/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/component/tooltip/tooltipMarkup/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/Axis/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/Axis/index.js +110 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/Axis/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/Axis/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/CoordinateSystem/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/CoordinateSystem/index.js +9 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisAlignTicks/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisAlignTicks/index.js +49 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisAlignTicks/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisAlignTicks/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisCommonTypes/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisCommonTypes/index.js +9 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisDefault/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisDefault/index.js +158 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisDefault/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisDefault/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisHelper/index.js +176 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCommonMixin/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCommonMixin/index.js +17 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCreator/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCreator/index.js +44 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCreator/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisModelCreator/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisTickLabelBuilder/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisTickLabelBuilder/index.js +185 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisTickLabelBuilder/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/axisTickLabelBuilder/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Axis2D/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Axis2D/index.js +30 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Axis2D/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Axis2D/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/AxisModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/AxisModel/index.js +24 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian/index.js +28 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian2D/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian2D/index.js +69 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian2D/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Cartesian2D/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Grid/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Grid/index.js +243 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Grid/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/Grid/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/GridModel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/GridModel/index.js +32 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper/index.js +51 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/scaleRawExtentInfo/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/scaleRawExtentInfo/index.js +74 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/scaleRawExtentInfo/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/coord/scaleRawExtentInfo/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/CoordinateSystem/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/CoordinateSystem/index.js +31 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/ExtensionAPI/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/ExtensionAPI/index.js +36 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/Scheduler/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/Scheduler/index.js +239 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/Scheduler/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/Scheduler/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/echarts/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/echarts/index.js +1080 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/echarts/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/echarts/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/impl/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/impl/index.js +16 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/lifecycle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/lifecycle/index.js +5 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/locale/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/locale/index.js +43 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/locale/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/locale/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/task/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/task/index.js +95 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/task/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/core/task/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataDiffer/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataDiffer/index.js +84 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataDiffer/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataDiffer/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataStore/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataStore/index.js +424 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataStore/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/DataStore/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/OrdinalMeta/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/OrdinalMeta/index.js +39 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/OrdinalMeta/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/OrdinalMeta/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesData/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesData/index.js +337 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesData/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesData/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesDimensionDefine/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/SeriesDimensionDefine/index.js +15 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/Source/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/Source/index.js +169 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/Source/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/Source/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/SeriesDataSchema/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/SeriesDataSchema/index.js +92 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/SeriesDataSchema/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/SeriesDataSchema/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/createDimensions/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/createDimensions/index.js +129 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/createDimensions/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/createDimensions/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataProvider/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataProvider/index.js +184 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataProvider/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataProvider/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataStackHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataStackHelper/index.js +66 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataStackHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataStackHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataValueHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataValueHelper/index.js +41 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataValueHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dataValueHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dimensionHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dimensionHelper/index.js +64 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dimensionHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/dimensionHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceHelper/index.js +173 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceManager/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceManager/index.js +136 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceManager/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/sourceManager/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/transform/index.cjs +3 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/transform/index.js +184 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/transform/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/data/helper/transform/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/extension/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/extension/index.js +64 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/extension/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/extension/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langEN/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langEN/index.js +114 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langEN/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langEN/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langZH/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langZH/index.js +114 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langZH/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/i18n/langZH/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/LabelManager/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/LabelManager/index.js +241 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/LabelManager/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/LabelManager/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/installLabelLayout/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/installLabelLayout/index.js +20 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelGuideHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelGuideHelper/index.js +249 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelGuideHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelGuideHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelLayoutHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelLayoutHelper/index.js +147 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelLayoutHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelLayoutHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelStyle/index.js +208 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelStyle/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/labelStyle/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/sectorLabel/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/sectorLabel/index.js +100 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/sectorLabel/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/label/sectorLabel/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/barGrid/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/barGrid/index.js +232 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/barGrid/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/barGrid/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/points/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/points/index.js +40 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/points/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/layout/points/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/legacy/dataSelectAction/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/legacy/dataSelectAction/index.js +56 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/legacy/dataSelectAction/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/legacy/dataSelectAction/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/loading/default/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/loading/default/index.js +95 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/loading/default/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/loading/default/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Component/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Component/index.js +84 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Component/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Component/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Global/index.cjs +5 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Global/index.js +362 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Global/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Global/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Model/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Model/index.js +66 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Model/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Model/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/OptionManager/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/OptionManager/index.js +93 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/OptionManager/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/OptionManager/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Series/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Series/index.js +242 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Series/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/Series/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/globalDefault/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/globalDefault/index.js +87 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/globalDefault/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/globalDefault/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/internalComponentCreator/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/internalComponentCreator/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/areaStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/areaStyle/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/dataFormat/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/dataFormat/index.js +74 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/dataFormat/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/dataFormat/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/itemStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/itemStyle/index.js +33 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/lineStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/lineStyle/index.js +32 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/makeStyleMapper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/makeStyleMapper/index.js +21 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/palette/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/palette/index.js +44 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/palette/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/palette/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/textStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/textStyle/index.js +32 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/textStyle/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/mixin/textStyle/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/referHelper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/referHelper/index.js +64 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/referHelper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/model/referHelper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/backwardCompat/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/backwardCompat/index.js +91 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/backwardCompat/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/backwardCompat/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/helper/compatStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/helper/compatStyle/index.js +122 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/helper/compatStyle/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/preprocessor/helper/compatStyle/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataFilter/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataFilter/index.js +25 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataSample/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataSample/index.js +61 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataSample/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataSample/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataStack/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataStack/index.js +54 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataStack/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/dataStack/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/negativeDataFilter/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/processor/negativeDataFilter/index.js +19 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/renderer/installCanvasRenderer/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/renderer/installCanvasRenderer/index.js +10 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Interval/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Interval/index.js +99 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Interval/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Interval/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Log/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Log/index.js +71 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Log/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Log/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Ordinal/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Ordinal/index.js +78 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Ordinal/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Ordinal/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Scale/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Scale/index.js +34 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Scale/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Scale/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Time/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Time/index.js +270 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Time/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/Time/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/helper/index.js +59 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/helper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/scale/helper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/dark/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/dark/index.js +179 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/dark/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/dark/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/light/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/theme/light/index.js +8 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/ECEventProcessor/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/ECEventProcessor/index.js +56 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/ECEventProcessor/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/ECEventProcessor/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/clazz/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/clazz/index.js +122 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/clazz/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/clazz/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/component/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/component/index.js +90 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/component/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/component/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/decal/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/decal/index.js +186 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/decal/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/decal/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/event/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/event/index.js +11 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/format/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/format/index.js +107 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/format/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/format/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/graphic/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/graphic/index.js +324 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/graphic/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/graphic/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/innerStore/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/innerStore/index.js +16 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/layout/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/layout/index.js +141 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/layout/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/layout/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/log/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/log/index.js +78 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/log/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/log/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/model/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/model/index.js +340 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/model/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/model/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/number/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/number/index.js +197 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/number/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/number/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/shape/sausage/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/shape/sausage/index.js +34 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/shape/sausage/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/shape/sausage/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/states/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/states/index.js +438 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/states/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/states/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/styleCompat/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/styleCompat/index.js +41 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/styleCompat/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/styleCompat/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/symbol/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/symbol/index.js +161 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/symbol/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/symbol/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/throttle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/throttle/index.js +47 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/throttle/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/throttle/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/time/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/time/index.js +217 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/time/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/time/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/types/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/types/index.js +13 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/vendor/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/util/vendor/index.js +11 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Chart/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Chart/index.js +104 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Chart/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Chart/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Component/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Component/index.js +29 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Component/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/view/Component/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/LegendVisualProvider/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/LegendVisualProvider/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/decal/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/decal/index.js +26 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/helper/index.js +38 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/style/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/style/index.js +99 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/style/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/style/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/symbol/index.cjs +1 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/symbol/index.js +54 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/symbol/index.js.br +0 -0
- package/lib/node_modules/.pnpm/echarts@5.5.1/node_modules/echarts/lib/visual/symbol/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.cjs +1 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js +4 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.br +0 -0
- package/lib/node_modules/.pnpm/pdfjs-dist@4.6.82/node_modules/pdfjs-dist/build/pdf.worker.min/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/tslib@2.3.0/node_modules/tslib/tslib.es6/index.cjs +14 -0
- package/lib/node_modules/.pnpm/tslib@2.3.0/node_modules/tslib/tslib.es6/index.js +36 -0
- package/lib/node_modules/.pnpm/tslib@2.3.0/node_modules/tslib/tslib.es6/index.js.br +0 -0
- package/lib/node_modules/.pnpm/tslib@2.3.0/node_modules/tslib/tslib.es6/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Element/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Element/index.js +465 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Element/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Element/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Handler/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Handler/index.js +175 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Handler/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Handler/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Storage/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Storage/index.js +79 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Storage/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/Storage/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animation/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animation/index.js +69 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animation/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animation/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animator/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animator/index.js +395 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animator/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Animator/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Clip/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Clip/index.js +35 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Clip/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/Clip/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/cubicEasing/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/cubicEasing/index.js +21 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/easing/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/easing/index.js +106 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/easing/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/easing/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/requestAnimationFrame/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/animation/requestAnimationFrame/index.js +8 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Layer/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Layer/index.js +138 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Layer/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Layer/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Painter/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Painter/index.js +312 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Painter/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/Painter/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/dashStyle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/dashStyle/index.js +22 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/graphic/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/graphic/index.js +220 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/graphic/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/graphic/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/helper/index.js +56 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/helper/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/canvas/helper/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/config/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/config/index.js +11 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/arc/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/arc/index.js +27 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/cubic/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/cubic/index.js +16 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/line/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/line/index.js +19 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/path/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/path/index.js +158 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/path/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/path/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/quadratic/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/quadratic/index.js +16 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/text/index.cjs +2 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/text/index.js +106 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/text/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/text/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/util/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/util/index.js +10 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/windingLine/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/contain/windingLine/index.js +14 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/BoundingRect/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/BoundingRect/index.js +66 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/BoundingRect/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/BoundingRect/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Eventful/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Eventful/index.js +99 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Eventful/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Eventful/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/GestureMgr/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/GestureMgr/index.js +67 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/GestureMgr/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/GestureMgr/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/LRU/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/LRU/index.js +54 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/LRU/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/LRU/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/OrientedBoundingRect/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/OrientedBoundingRect/index.js +48 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/OrientedBoundingRect/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/OrientedBoundingRect/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/PathProxy/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/PathProxy/index.js +304 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/PathProxy/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/PathProxy/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Point/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Point/index.js +74 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Point/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Point/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Transformable/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Transformable/index.js +109 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Transformable/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/Transformable/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/WeakMap/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/WeakMap/index.js +28 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/bbox/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/bbox/index.js +59 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/bbox/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/bbox/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/curve/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/curve/index.js +179 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/curve/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/curve/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/dom/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/dom/index.js +75 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/dom/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/dom/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/env/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/env/index.js +24 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/env/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/env/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/event/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/event/index.js +79 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/event/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/event/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/fourPointsTransform/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/fourPointsTransform/index.js +45 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/fourPointsTransform/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/fourPointsTransform/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/matrix/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/matrix/index.js +49 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/matrix/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/matrix/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/platform/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/platform/index.js +51 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/platform/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/platform/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/timsort/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/timsort/index.js +301 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/timsort/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/timsort/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/util/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/util/index.js +440 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/util/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/util/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/vector/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/vector/index.js +80 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/vector/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/core/vector/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/dom/HandlerProxy/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/dom/HandlerProxy/index.js +200 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/dom/HandlerProxy/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/dom/HandlerProxy/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/CompoundPath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/CompoundPath/index.js +32 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/CompoundPath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/CompoundPath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Displayable/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Displayable/index.js +149 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Displayable/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Displayable/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Gradient/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Gradient/index.js +16 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Group/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Group/index.js +97 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Group/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Group/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Image/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Image/index.js +58 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Image/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Image/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/IncrementalDisplayable/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/IncrementalDisplayable/index.js +72 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/IncrementalDisplayable/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/IncrementalDisplayable/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/LinearGradient/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/LinearGradient/index.js +15 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Path/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Path/index.js +218 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Path/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Path/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/RadialGradient/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/RadialGradient/index.js +16 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/TSpan/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/TSpan/index.js +54 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/TSpan/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/TSpan/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Text/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Text/index.js +228 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Text/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/Text/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/constants/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/constants/index.js +6 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/image/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/image/index.js +47 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/image/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/image/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/parseText/index.cjs +7 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/parseText/index.js +217 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/parseText/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/parseText/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/poly/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/poly/index.js +25 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundRect/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundRect/index.js +12 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundRect/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundRect/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundSector/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundSector/index.js +85 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundSector/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/roundSector/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/smoothBezier/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/smoothBezier/index.js +32 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/smoothBezier/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/smoothBezier/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/subPixelOptimize/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/subPixelOptimize/index.js +33 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/subPixelOptimize/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/helper/subPixelOptimize/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Arc/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Arc/index.js +31 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Arc/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Arc/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/BezierCurve/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/BezierCurve/index.js +50 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/BezierCurve/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/BezierCurve/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Circle/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Circle/index.js +25 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ellipse/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ellipse/index.js +26 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ellipse/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ellipse/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Line/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Line/index.js +44 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Line/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Line/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Polygon/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Polygon/index.js +26 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Polyline/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Polyline/index.js +31 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Rect/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Rect/index.js +35 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Rect/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Rect/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ring/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Ring/index.js +26 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Sector/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/graphic/shape/Sector/index.js +28 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/mixin/Draggable/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/mixin/Draggable/index.js +31 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/mixin/Draggable/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/mixin/Draggable/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/svg/helper/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/svg/helper/index.js +25 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/color/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/color/index.js +323 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/color/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/color/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath/index.js +100 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/convertPath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/dividePath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/dividePath/index.js +197 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/dividePath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/dividePath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/morphPath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/morphPath/index.js +341 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/morphPath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/morphPath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/path/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/path/index.js +177 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/path/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/path/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/transformPath/index.cjs +1 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/transformPath/index.js +41 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/transformPath/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/tool/transformPath/index.js.gz +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/zrender/index.cjs +9 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/zrender/index.js +136 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/zrender/index.js.br +0 -0
- package/lib/node_modules/.pnpm/zrender@5.6.0/node_modules/zrender/lib/zrender/index.js.gz +0 -0
- package/lib/packages/ls-components/components/_hooks/useOptionHook/index.cjs +1 -1
- package/lib/packages/ls-components/components/_hooks/useOptionHook/index.js +2 -2
- package/lib/packages/ls-components/components/_hooks/useOptionHook/index.js.br +0 -0
- package/lib/packages/ls-components/components/_hooks/useOptionHook/index.js.gz +0 -0
- package/lib/packages/ls-components/components/chart/Index.vue/index2.cjs +1 -1
- package/lib/packages/ls-components/components/chart/Index.vue/index2.js +56 -46
- package/lib/packages/ls-components/components/chart/Index.vue/index2.js.br +0 -0
- package/lib/packages/ls-components/components/chart/Index.vue/index2.js.gz +0 -0
- package/lib/packages/ls-components/components/preview/composable/index.cjs +1 -1
- package/lib/packages/ls-components/components/preview/composable/index.js +1 -1
- package/lib/packages/ls-components/components/preview/composable/index.js.br +0 -0
- package/lib/packages/ls-components/components/preview/composable/index.js.gz +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const l = "data:text/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi92YXIgZT17ZDoodCxpKT0+e2Zvcih2YXIgYSBpbiBpKWUubyhpLGEpJiYhZS5vKHQsYSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2VudW1lcmFibGU6ITAsZ2V0OmlbYV19KX0sbzooZSx0KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LF9fd2VicGFja19leHBvcnRzX18gPSBnbG9iYWxUaGlzLnBkZmpzV29ya2VyID0ge307ZS5kKF9fd2VicGFja19leHBvcnRzX18se1dvcmtlck1lc3NhZ2VIYW5kbGVyOigpPT5Xb3JrZXJNZXNzYWdlSGFuZGxlcn0pO2NvbnN0IHQ9ISgib2JqZWN0IiE9dHlwZW9mIHByb2Nlc3N8fHByb2Nlc3MrIiIhPSJbb2JqZWN0IHByb2Nlc3NdInx8cHJvY2Vzcy52ZXJzaW9ucy5ud3x8cHJvY2Vzcy52ZXJzaW9ucy5lbGVjdHJvbiYmcHJvY2Vzcy50eXBlJiYiYnJvd3NlciIhPT1wcm9jZXNzLnR5cGUpLGk9WzEsMCwwLDEsMCwwXSxhPVsuMDAxLDAsMCwuMDAxLDAsMF0scz0xLjM1LHI9LjM1LG49LjI1OTI1OTI1OTI1OTI1OTI0LGc9MSxvPTIsYz00LEM9OCxoPTE2LGw9NjQsUT0xMjgsRT0yNTYsdT0icGRmanNfaW50ZXJuYWxfZWRpdG9yXyIsZD0zLGY9OSxwPTEzLG09MTUseT17UFJJTlQ6NCxNT0RJRllfQ09OVEVOVFM6OCxDT1BZOjE2LE1PRElGWV9BTk5PVEFUSU9OUzozMixGSUxMX0lOVEVSQUNUSVZFX0ZPUk1TOjI1NixDT1BZX0ZPUl9BQ0NFU1NJQklMSVRZOjUxMixBU1NFTUJMRToxMDI0LFBSSU5UX0hJR0hfUVVBTElUWToyMDQ4fSx3PTAsRD00LGI9MSxGPTIsUz0zLGs9MSxSPTIsTj0zLEc9NCx4PTUsVT02LE09NyxMPTgsSD05LEo9MTAsWT0xMSx2PTEyLEs9MTMsVD0xNCxxPTE1LE89MTYsVz0xNyxqPTIwLFg9Ikdyb3VwIixaPSJSIixWPTEsej0yLF89NCwkPTE2LEFBPTMyLGVBPTEyOCx0QT01MTIsaUE9MSxhQT0yLHNBPTQwOTYsckE9ODE5MixuQT0zMjc2OCxnQT02NTUzNixvQT0xMzEwNzIsSUE9MTA0ODU3NixjQT0yMDk3MTUyLENBPTgzODg2MDgsaEE9MTY3NzcyMTYsQkE9MSxsQT0yLFFBPTMsRUE9NCx1QT01LGRBPXtFOiJNb3VzZSBFbnRlciIsWDoiTW91c2UgRXhpdCIsRDoiTW91c2UgRG93biIsVToiTW91c2UgVXAiLEZvOiJGb2N1cyIsQmw6IkJsdXIiLFBPOiJQYWdlT3BlbiIsUEM6IlBhZ2VDbG9zZSIsUFY6IlBhZ2VWaXNpYmxlIixQSToiUGFnZUludmlzaWJsZSIsSzoiS2V5c3Ryb2tlIixGOiJGb3JtYXQiLFY6IlZhbGlkYXRlIixDOiJDYWxjdWxhdGUifSxmQT17V0M6IldpbGxDbG9zZSIsV1M6IldpbGxTYXZlIixEUzoiRGlkU2F2ZSIsV1A6IldpbGxQcmludCIsRFA6IkRpZFByaW50In0scEE9e086IlBhZ2VPcGVuIixDOiJQYWdlQ2xvc2UifSxtQT17RVJST1JTOjAsV0FSTklOR1M6MSxJTkZPUzo1fSx5QT17Tk9ORTowLEJJTkFSWToxfSx3QT0xLERBPTIsYkE9MyxGQT00LFNBPTUsa0E9NixSQT03LE5BPTgsR0E9OSx4QT0xMCxVQT0xMSxNQT0xMixMQT0xMyxIQT0xNCxKQT0xNSxZQT0xNix2QT0xNyxLQT0xOCxUQT0xOSxxQT0yMCxPQT0yMSxQQT0yMixXQT0yMyxqQT0yNCxYQT0yNSxaQT0yNixWQT0yNyx6QT0yOCxfQT0yOSwkQT0zMCxBZT0zMSxlZT0zMix0ZT0zMyxpZT0zNCxhZT0zNSxzZT0zNixyZT0zNyxuZT0zOCxnZT0zOSxvZT00MCxJZT00MSxjZT00MixDZT00MyxoZT00NCxCZT00NSxsZT00NixRZT00NyxFZT00OCx1ZT00OSxkZT01MCxmZT01MSxwZT01MixtZT01Myx5ZT01NCx3ZT01NSxEZT01NixiZT01NyxGZT01OCxTZT01OSxrZT02MCxSZT02MSxOZT02MixHZT02Myx4ZT02NCxVZT02NSxNZT02NixMZT02NyxIZT02OCxKZT02OSxZZT03MCx2ZT03MSxLZT03MixUZT03MyxxZT03NCxPZT03NSxQZT03NixXZT03NyxqZT04MCxYZT04MSxaZT04MyxWZT04NCx6ZT04NSxfZT04NiwkZT04NyxBdD04OCxldD04OSx0dD05MCxpdD05MSxhdD05MixzdD05MyxydD0xLG50PTI7bGV0IGd0PW1BLldBUk5JTkdTO2Z1bmN0aW9uIGdldFZlcmJvc2l0eUxldmVsKCl7cmV0dXJuIGd0fWZ1bmN0aW9uIGluZm8oZSl7Z3Q+PW1BLklORk9TJiZjb25zb2xlLmxvZyhgSW5mbzogJHtlfWApfWZ1bmN0aW9uIHdhcm4oZSl7Z3Q+PW1BLldBUk5JTkdTJiZjb25zb2xlLmxvZyhgV2FybmluZzogJHtlfWApfWZ1bmN0aW9uIHVucmVhY2hhYmxlKGUpe3Rocm93IG5ldyBFcnJvcihlKX1mdW5jdGlvbiBhc3NlcnQoZSx0KXtlfHx1bnJlYWNoYWJsZSh0KX1mdW5jdGlvbiBjcmVhdGVWYWxpZEFic29sdXRlVXJsKGUsdD1udWxsLGk9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2lmKGkmJiJzdHJpbmciPT10eXBlb2YgZSl7aWYoaS5hZGREZWZhdWx0UHJvdG9jb2wmJmUuc3RhcnRzV2l0aCgid3d3LiIpKXtjb25zdCB0PWUubWF0Y2goL1wuL2cpO3Q/Lmxlbmd0aD49MiYmKGU9YGh0dHA6Ly8ke2V9YCl9aWYoaS50cnlDb252ZXJ0RW5jb2RpbmcpdHJ5e2U9c3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoe319Y29uc3QgYT10P25ldyBVUkwoZSx0KTpuZXcgVVJMKGUpO2lmKGZ1bmN0aW9uIF9pc1ZhbGlkUHJvdG9jb2woZSl7c3dpdGNoKGU/LnByb3RvY29sKXtjYXNlImh0dHA6IjpjYXNlImh0dHBzOiI6Y2FzZSJmdHA6IjpjYXNlIm1haWx0bzoiOmNhc2UidGVsOiI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19KGEpKXJldHVybiBhfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBzaGFkb3coZSx0LGksYT0hMSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiFhLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMX0pO3JldHVybiBpfWNvbnN0IG90PWZ1bmN0aW9uIEJhc2VFeGNlcHRpb25DbG9zdXJlKCl7ZnVuY3Rpb24gQmFzZUV4Y2VwdGlvbihlLHQpe3RoaXMubWVzc2FnZT1lO3RoaXMubmFtZT10fUJhc2VFeGNlcHRpb24ucHJvdG90eXBlPW5ldyBFcnJvcjtCYXNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yPUJhc2VFeGNlcHRpb247cmV0dXJuIEJhc2VFeGNlcHRpb259KCk7Y2xhc3MgUGFzc3dvcmRFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsIlBhc3N3b3JkRXhjZXB0aW9uIik7dGhpcy5jb2RlPXR9fWNsYXNzIFVua25vd25FcnJvckV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5rbm93bkVycm9yRXhjZXB0aW9uIik7dGhpcy5kZXRhaWxzPXR9fWNsYXNzIEludmFsaWRQREZFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJJbnZhbGlkUERGRXhjZXB0aW9uIil9fWNsYXNzIE1pc3NpbmdQREZFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJNaXNzaW5nUERGRXhjZXB0aW9uIil9fWNsYXNzIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIik7dGhpcy5zdGF0dXM9dH19Y2xhc3MgRm9ybWF0RXJyb3IgZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJGb3JtYXRFcnJvciIpfX1jbGFzcyBBYm9ydEV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkFib3J0RXhjZXB0aW9uIil9fWZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoZSl7Im9iamVjdCI9PXR5cGVvZiBlJiZ2b2lkIDAhPT1lPy5sZW5ndGh8fHVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBieXRlc1RvU3RyaW5nIik7Y29uc3QgdD1lLmxlbmd0aCxpPTgxOTI7aWYodDxpKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSk7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPHQ7cys9aSl7Y29uc3Qgcj1NYXRoLm1pbihzK2ksdCksbj1lLnN1YmFycmF5KHMscik7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKSl9cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhlKXsic3RyaW5nIiE9dHlwZW9mIGUmJnVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzIik7Y29uc3QgdD1lLmxlbmd0aCxpPW5ldyBVaW50OEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDsrK2EpaVthXT0yNTUmZS5jaGFyQ29kZUF0KGEpO3JldHVybiBpfWZ1bmN0aW9uIHN0cmluZzMyKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIG9iamVjdFNpemUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aH1jbGFzcyBGZWF0dXJlVGVzdHtzdGF0aWMgZ2V0IGlzTGl0dGxlRW5kaWFuKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0xpdHRsZUVuZGlhbiIsZnVuY3Rpb24gaXNMaXR0bGVFbmRpYW4oKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KDQpO2VbMF09MTtyZXR1cm4gMT09PW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlciwwLDEpWzBdfSgpKX1zdGF0aWMgZ2V0IGlzRXZhbFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNFdmFsU3VwcG9ydGVkIixmdW5jdGlvbiBpc0V2YWxTdXBwb3J0ZWQoKXt0cnl7bmV3IEZ1bmN0aW9uKCIiKTtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KCkpfXN0YXRpYyBnZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkIiwidW5kZWZpbmVkIiE9dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyl9c3RhdGljIGdldCBwbGF0Zm9ybSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYic3RyaW5nIj09dHlwZW9mIG5hdmlnYXRvcj8ucGxhdGZvcm0/c2hhZG93KHRoaXMsInBsYXRmb3JtIix7aXNNYWM6bmF2aWdhdG9yLnBsYXRmb3JtLmluY2x1ZGVzKCJNYWMiKX0pOnNoYWRvdyh0aGlzLCJwbGF0Zm9ybSIse2lzTWFjOiExfSl9c3RhdGljIGdldCBpc0NTU1JvdW5kU3VwcG9ydGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0NTU1JvdW5kU3VwcG9ydGVkIixnbG9iYWxUaGlzLkNTUz8uc3VwcG9ydHM/Ligid2lkdGg6IHJvdW5kKDEuNXB4LCAxcHgpIikpfX1jb25zdCBJdD1BcnJheS5mcm9tKEFycmF5KDI1Nikua2V5cygpLChlPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpKTtjbGFzcyBVdGlse3N0YXRpYyBtYWtlSGV4Q29sb3IoZSx0LGkpe3JldHVybmAjJHtJdFtlXX0ke0l0W3RdfSR7SXRbaV19YH1zdGF0aWMgc2NhbGVNaW5NYXgoZSx0KXtsZXQgaTtpZihlWzBdKXtpZihlWzBdPDApe2k9dFswXTt0WzBdPXRbMl07dFsyXT1pfXRbMF0qPWVbMF07dFsyXSo9ZVswXTtpZihlWzNdPDApe2k9dFsxXTt0WzFdPXRbM107dFszXT1pfXRbMV0qPWVbM107dFszXSo9ZVszXX1lbHNle2k9dFswXTt0WzBdPXRbMV07dFsxXT1pO2k9dFsyXTt0WzJdPXRbM107dFszXT1pO2lmKGVbMV08MCl7aT10WzFdO3RbMV09dFszXTt0WzNdPWl9dFsxXSo9ZVsxXTt0WzNdKj1lWzFdO2lmKGVbMl08MCl7aT10WzBdO3RbMF09dFsyXTt0WzJdPWl9dFswXSo9ZVsyXTt0WzJdKj1lWzJdfXRbMF0rPWVbNF07dFsxXSs9ZVs1XTt0WzJdKz1lWzRdO3RbM10rPWVbNV19c3RhdGljIHRyYW5zZm9ybShlLHQpe3JldHVybltlWzBdKnRbMF0rZVsyXSp0WzFdLGVbMV0qdFswXStlWzNdKnRbMV0sZVswXSp0WzJdK2VbMl0qdFszXSxlWzFdKnRbMl0rZVszXSp0WzNdLGVbMF0qdFs0XStlWzJdKnRbNV0rZVs0XSxlWzFdKnRbNF0rZVszXSp0WzVdK2VbNV1dfXN0YXRpYyBhcHBseVRyYW5zZm9ybShlLHQpe3JldHVybltlWzBdKnRbMF0rZVsxXSp0WzJdK3RbNF0sZVswXSp0WzFdK2VbMV0qdFszXSt0WzVdXX1zdGF0aWMgYXBwbHlJbnZlcnNlVHJhbnNmb3JtKGUsdCl7Y29uc3QgaT10WzBdKnRbM10tdFsxXSp0WzJdO3JldHVyblsoZVswXSp0WzNdLWVbMV0qdFsyXSt0WzJdKnRbNV0tdFs0XSp0WzNdKS9pLCgtZVswXSp0WzFdK2VbMV0qdFswXSt0WzRdKnRbMV0tdFs1XSp0WzBdKS9pXX1zdGF0aWMgZ2V0QXhpYWxBbGlnbmVkQm91bmRpbmdCb3goZSx0KXtjb25zdCBpPXRoaXMuYXBwbHlUcmFuc2Zvcm0oZSx0KSxhPXRoaXMuYXBwbHlUcmFuc2Zvcm0oZS5zbGljZSgyLDQpLHQpLHM9dGhpcy5hcHBseVRyYW5zZm9ybShbZVswXSxlWzNdXSx0KSxyPXRoaXMuYXBwbHlUcmFuc2Zvcm0oW2VbMl0sZVsxXV0sdCk7cmV0dXJuW01hdGgubWluKGlbMF0sYVswXSxzWzBdLHJbMF0pLE1hdGgubWluKGlbMV0sYVsxXSxzWzFdLHJbMV0pLE1hdGgubWF4KGlbMF0sYVswXSxzWzBdLHJbMF0pLE1hdGgubWF4KGlbMV0sYVsxXSxzWzFdLHJbMV0pXX1zdGF0aWMgaW52ZXJzZVRyYW5zZm9ybShlKXtjb25zdCB0PWVbMF0qZVszXS1lWzFdKmVbMl07cmV0dXJuW2VbM10vdCwtZVsxXS90LC1lWzJdL3QsZVswXS90LChlWzJdKmVbNV0tZVs0XSplWzNdKS90LChlWzRdKmVbMV0tZVs1XSplWzBdKS90XX1zdGF0aWMgc2luZ3VsYXJWYWx1ZURlY29tcG9zZTJkU2NhbGUoZSl7Y29uc3QgdD1bZVswXSxlWzJdLGVbMV0sZVszXV0saT1lWzBdKnRbMF0rZVsxXSp0WzJdLGE9ZVswXSp0WzFdK2VbMV0qdFszXSxzPWVbMl0qdFswXStlWzNdKnRbMl0scj1lWzJdKnRbMV0rZVszXSp0WzNdLG49KGkrcikvMixnPU1hdGguc3FydCgoaStyKSoqMi00KihpKnItcyphKSkvMixvPW4rZ3x8MSxjPW4tZ3x8MTtyZXR1cm5bTWF0aC5zcXJ0KG8pLE1hdGguc3FydChjKV19c3RhdGljIG5vcm1hbGl6ZVJlY3QoZSl7Y29uc3QgdD1lLnNsaWNlKDApO2lmKGVbMF0+ZVsyXSl7dFswXT1lWzJdO3RbMl09ZVswXX1pZihlWzFdPmVbM10pe3RbMV09ZVszXTt0WzNdPWVbMV19cmV0dXJuIHR9c3RhdGljIGludGVyc2VjdChlLHQpe2NvbnN0IGk9TWF0aC5tYXgoTWF0aC5taW4oZVswXSxlWzJdKSxNYXRoLm1pbih0WzBdLHRbMl0pKSxhPU1hdGgubWluKE1hdGgubWF4KGVbMF0sZVsyXSksTWF0aC5tYXgodFswXSx0WzJdKSk7aWYoaT5hKXJldHVybiBudWxsO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5taW4oZVsxXSxlWzNdKSxNYXRoLm1pbih0WzFdLHRbM10pKSxyPU1hdGgubWluKE1hdGgubWF4KGVbMV0sZVszXSksTWF0aC5tYXgodFsxXSx0WzNdKSk7cmV0dXJuIHM+cj9udWxsOltpLHMsYSxyXX1zdGF0aWMjQShlLHQsaSxhLHMscixuLGcsbyxjKXtpZihvPD0wfHxvPj0xKXJldHVybjtjb25zdCBDPTEtbyxoPW8qbyxsPWgqbyxRPUMqKEMqKEMqZSszKm8qdCkrMypoKmkpK2wqYSxFPUMqKEMqKEMqcyszKm8qcikrMypoKm4pK2wqZztjWzBdPU1hdGgubWluKGNbMF0sUSk7Y1sxXT1NYXRoLm1pbihjWzFdLEUpO2NbMl09TWF0aC5tYXgoY1syXSxRKTtjWzNdPU1hdGgubWF4KGNbM10sRSl9c3RhdGljI2UoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKE1hdGguYWJzKG8pPDFlLTEyKXtNYXRoLmFicyhjKT49MWUtMTImJnRoaXMuI0EoZSx0LGksYSxzLHIsbixnLC1DL2MsaCk7cmV0dXJufWNvbnN0IGw9YyoqMi00KkMqbztpZihsPDApcmV0dXJuO2NvbnN0IFE9TWF0aC5zcXJ0KGwpLEU9MipvO3RoaXMuI0EoZSx0LGksYSxzLHIsbixnLCgtYytRKS9FLGgpO3RoaXMuI0EoZSx0LGksYSxzLHIsbixnLCgtYy1RKS9FLGgpfXN0YXRpYyBiZXppZXJCb3VuZGluZ0JveChlLHQsaSxhLHMscixuLGcsbyl7aWYobyl7b1swXT1NYXRoLm1pbihvWzBdLGUsbik7b1sxXT1NYXRoLm1pbihvWzFdLHQsZyk7b1syXT1NYXRoLm1heChvWzJdLGUsbik7b1szXT1NYXRoLm1heChvWzNdLHQsZyl9ZWxzZSBvPVtNYXRoLm1pbihlLG4pLE1hdGgubWluKHQsZyksTWF0aC5tYXgoZSxuKSxNYXRoLm1heCh0LGcpXTt0aGlzLiNlKGUsaSxzLG4sdCxhLHIsZywzKigzKihpLXMpLWUrbiksNiooZS0yKmkrcyksMyooaS1lKSxvKTt0aGlzLiNlKGUsaSxzLG4sdCxhLHIsZywzKigzKihhLXIpLXQrZyksNioodC0yKmErciksMyooYS10KSxvKTtyZXR1cm4gb319Y29uc3QgY3Q9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDcyOCw3MTEsNzEwLDcyOSw3MzMsNzMxLDczMCw3MzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsODIyNiw4MjI0LDgyMjUsODIzMCw4MjEyLDgyMTEsNDAyLDgyNjAsODI0OSw4MjUwLDg3MjIsODI0MCw4MjIyLDgyMjAsODIyMSw4MjE2LDgyMTcsODIxOCw4NDgyLDY0MjU3LDY0MjU4LDMyMSwzMzgsMzUyLDM3NiwzODEsMzA1LDMyMiwzMzksMzUzLDM4MiwwLDgzNjRdO2Z1bmN0aW9uIHN0cmluZ1RvUERGU3RyaW5nKGUpe2lmKGVbMF0+PSLDryIpe2xldCB0O2lmKCLDviI9PT1lWzBdJiYiw78iPT09ZVsxXSl7dD0idXRmLTE2YmUiO2UubGVuZ3RoJTI9PTEmJihlPWUuc2xpY2UoMCwtMSkpfWVsc2UgaWYoIsO/Ij09PWVbMF0mJiLDviI9PT1lWzFdKXt0PSJ1dGYtMTZsZSI7ZS5sZW5ndGglMj09MSYmKGU9ZS5zbGljZSgwLC0xKSl9ZWxzZSLDryI9PT1lWzBdJiYiwrsiPT09ZVsxXSYmIsK/Ij09PWVbMl0mJih0PSJ1dGYtOCIpO2lmKHQpdHJ5e2NvbnN0IGk9bmV3IFRleHREZWNvZGVyKHQse2ZhdGFsOiEwfSksYT1zdHJpbmdUb0J5dGVzKGUpLHM9aS5kZWNvZGUoYSk7cmV0dXJuIHMuaW5jbHVkZXMoIhsiKT9zLnJlcGxhY2VBbGwoL1x4MWJbXlx4MWJdKig/Olx4MWJ8JCkvZywiIik6c31jYXRjaChlKXt3YXJuKGBzdHJpbmdUb1BERlN0cmluZzogIiR7ZX0iLmApfX1jb25zdCB0PVtdO2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQoaSk7aWYoMjc9PT1zKXtmb3IoOysraTxhJiYyNyE9PWUuY2hhckNvZGVBdChpKTspO2NvbnRpbnVlfWNvbnN0IHI9Y3Rbc107dC5wdXNoKHI/U3RyaW5nLmZyb21DaGFyQ29kZShyKTplLmNoYXJBdChpKSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEY4U3RyaW5nKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGUpKX1mdW5jdGlvbiB1dGY4U3RyaW5nVG9TdHJpbmcoZSl7cmV0dXJuIHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSl9ZnVuY3Rpb24gaXNBcnJheUVxdWFsKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspaWYoZVtpXSE9PXRbaV0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZ2V0TW9kaWZpY2F0aW9uRGF0ZShlPW5ldyBEYXRlKXtyZXR1cm5bZS5nZXRVVENGdWxsWWVhcigpLnRvU3RyaW5nKCksKGUuZ2V0VVRDTW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0RhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxlLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENTZWNvbmRzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIildLmpvaW4oIiIpfWxldCBDdD1udWxsLGh0PW51bGw7Y29uc3QgQnQ9MCxsdD0xLFF0PTIsRXQ9Myx1dD00LGR0PTUsZnQ9NixwdD03LG10PTgseXQ9U3ltYm9sKCJDSVJDVUxBUl9SRUYiKSx3dD1TeW1ib2woIkVPRiIpO2xldCBEdD1PYmplY3QuY3JlYXRlKG51bGwpLGJ0PU9iamVjdC5jcmVhdGUobnVsbCksRnQ9T2JqZWN0LmNyZWF0ZShudWxsKTtjbGFzcyBOYW1le2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lfXN0YXRpYyBnZXQoZSl7cmV0dXJuIGJ0W2VdfHw9bmV3IE5hbWUoZSl9fWNsYXNzIENtZHtjb25zdHJ1Y3RvcihlKXt0aGlzLmNtZD1lfXN0YXRpYyBnZXQoZSl7cmV0dXJuIER0W2VdfHw9bmV3IENtZChlKX19Y29uc3QgU3Q9ZnVuY3Rpb24gbm9uU2VyaWFsaXphYmxlQ2xvc3VyZSgpe3JldHVybiBTdH07Y2xhc3MgRGljdHtjb25zdHJ1Y3RvcihlPW51bGwpe3RoaXMuX21hcD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMueHJlZj1lO3RoaXMub2JqSWQ9bnVsbDt0aGlzLnN1cHByZXNzRW5jcnlwdGlvbj0hMTt0aGlzLl9fbm9uU2VyaWFsaXphYmxlX189U3R9YXNzaWduWHJlZihlKXt0aGlzLnhyZWY9ZX1nZXQgc2l6ZSgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9tYXApLmxlbmd0aH1nZXQoZSx0LGkpe2xldCBhPXRoaXMuX21hcFtlXTtpZih2b2lkIDA9PT1hJiZ2b2lkIDAhPT10KXthPXRoaXMuX21hcFt0XTt2b2lkIDA9PT1hJiZ2b2lkIDAhPT1pJiYoYT10aGlzLl9tYXBbaV0pfXJldHVybiBhIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWY/dGhpcy54cmVmLmZldGNoKGEsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pOmF9YXN5bmMgZ2V0QXN5bmMoZSx0LGkpe2xldCBhPXRoaXMuX21hcFtlXTtpZih2b2lkIDA9PT1hJiZ2b2lkIDAhPT10KXthPXRoaXMuX21hcFt0XTt2b2lkIDA9PT1hJiZ2b2lkIDAhPT1pJiYoYT10aGlzLl9tYXBbaV0pfXJldHVybiBhIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWY/dGhpcy54cmVmLmZldGNoQXN5bmMoYSx0aGlzLnN1cHByZXNzRW5jcnlwdGlvbik6YX1nZXRBcnJheShlLHQsaSl7bGV0IGE9dGhpcy5fbWFwW2VdO2lmKHZvaWQgMD09PWEmJnZvaWQgMCE9PXQpe2E9dGhpcy5fbWFwW3RdO3ZvaWQgMD09PWEmJnZvaWQgMCE9PWkmJihhPXRoaXMuX21hcFtpXSl9YSBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmJiYoYT10aGlzLnhyZWYuZmV0Y2goYSx0aGlzLnN1cHByZXNzRW5jcnlwdGlvbikpO2lmKEFycmF5LmlzQXJyYXkoYSkpe2E9YS5zbGljZSgpO2ZvcihsZXQgZT0wLHQ9YS5sZW5ndGg7ZTx0O2UrKylhW2VdaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZiYmKGFbZV09dGhpcy54cmVmLmZldGNoKGFbZV0sdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pKX1yZXR1cm4gYX1nZXRSYXcoZSl7cmV0dXJuIHRoaXMuX21hcFtlXX1nZXRLZXlzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21hcCl9Z2V0UmF3VmFsdWVzKCl7cmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fbWFwKX1zZXQoZSx0KXt0aGlzLl9tYXBbZV09dH1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX21hcFtlXX1mb3JFYWNoKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX21hcCllKHQsdGhpcy5nZXQodCkpfXN0YXRpYyBnZXQgZW1wdHkoKXtjb25zdCBlPW5ldyBEaWN0KG51bGwpO2Uuc2V0PShlLHQpPT57dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBgc2V0YCBvbiB0aGUgZW1wdHkgZGljdGlvbmFyeS4iKX07cmV0dXJuIHNoYWRvdyh0aGlzLCJlbXB0eSIsZSl9c3RhdGljIG1lcmdlKHt4cmVmOmUsZGljdEFycmF5OnQsbWVyZ2VTdWJEaWN0czppPSExfSl7Y29uc3QgYT1uZXcgRGljdChlKSxzPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdClpZihlIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3RbdCxhXW9mIE9iamVjdC5lbnRyaWVzKGUuX21hcCkpe2xldCBlPXMuZ2V0KHQpO2lmKHZvaWQgMD09PWUpe2U9W107cy5zZXQodCxlKX1lbHNlIGlmKCEoaSYmYSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2UucHVzaChhKX1mb3IoY29uc3RbdCxpXW9mIHMpe2lmKDE9PT1pLmxlbmd0aHx8IShpWzBdaW5zdGFuY2VvZiBEaWN0KSl7YS5fbWFwW3RdPWlbMF07Y29udGludWV9Y29uc3Qgcz1uZXcgRGljdChlKTtmb3IoY29uc3QgZSBvZiBpKWZvcihjb25zdFt0LGldb2YgT2JqZWN0LmVudHJpZXMoZS5fbWFwKSl2b2lkIDA9PT1zLl9tYXBbdF0mJihzLl9tYXBbdF09aSk7cy5zaXplPjAmJihhLl9tYXBbdF09cyl9cy5jbGVhcigpO3JldHVybiBhLnNpemU+MD9hOkRpY3QuZW1wdHl9Y2xvbmUoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKGNvbnN0IHQgb2YgdGhpcy5nZXRLZXlzKCkpZS5zZXQodCx0aGlzLmdldFJhdyh0KSk7cmV0dXJuIGV9ZGVsZXRlKGUpe2RlbGV0ZSB0aGlzLl9tYXBbZV19fWNsYXNzIFJlZntjb25zdHJ1Y3RvcihlLHQpe3RoaXMubnVtPWU7dGhpcy5nZW49dH10b1N0cmluZygpe3JldHVybiAwPT09dGhpcy5nZW4/YCR7dGhpcy5udW19UmA6YCR7dGhpcy5udW19UiR7dGhpcy5nZW59YH1zdGF0aWMgZnJvbVN0cmluZyhlKXtjb25zdCB0PUZ0W2VdO2lmKHQpcmV0dXJuIHQ7Y29uc3QgaT0vXihcZCspUihcZCopJC8uZXhlYyhlKTtyZXR1cm4gaSYmIjAiIT09aVsxXT9GdFtlXT1uZXcgUmVmKHBhcnNlSW50KGlbMV0pLGlbMl0/cGFyc2VJbnQoaVsyXSk6MCk6bnVsbH1zdGF0aWMgZ2V0KGUsdCl7Y29uc3QgaT0wPT09dD9gJHtlfVJgOmAke2V9UiR7dH1gO3JldHVybiBGdFtpXXx8PW5ldyBSZWYoZSx0KX19Y2xhc3MgUmVmU2V0e2NvbnN0cnVjdG9yKGU9bnVsbCl7dGhpcy5fc2V0PW5ldyBTZXQoZT8uX3NldCl9aGFzKGUpe3JldHVybiB0aGlzLl9zZXQuaGFzKGUudG9TdHJpbmcoKSl9cHV0KGUpe3RoaXMuX3NldC5hZGQoZS50b1N0cmluZygpKX1yZW1vdmUoZSl7dGhpcy5fc2V0LmRlbGV0ZShlLnRvU3RyaW5nKCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuX3NldC52YWx1ZXMoKX1jbGVhcigpe3RoaXMuX3NldC5jbGVhcigpfX1jbGFzcyBSZWZTZXRDYWNoZXtjb25zdHJ1Y3Rvcigpe3RoaXMuX21hcD1uZXcgTWFwfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX21hcC5zaXplfWdldChlKXtyZXR1cm4gdGhpcy5fbWFwLmdldChlLnRvU3RyaW5nKCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fbWFwLmhhcyhlLnRvU3RyaW5nKCkpfXB1dChlLHQpe3RoaXMuX21hcC5zZXQoZS50b1N0cmluZygpLHQpfXB1dEFsaWFzKGUsdCl7dGhpcy5fbWFwLnNldChlLnRvU3RyaW5nKCksdGhpcy5nZXQodCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuX21hcC52YWx1ZXMoKX1jbGVhcigpe3RoaXMuX21hcC5jbGVhcigpfSppdGVtcygpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fbWFwKXlpZWxkW1JlZi5mcm9tU3RyaW5nKGUpLHRdfX1mdW5jdGlvbiBpc05hbWUoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIE5hbWUmJih2b2lkIDA9PT10fHxlLm5hbWU9PT10KX1mdW5jdGlvbiBpc0NtZChlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgQ21kJiYodm9pZCAwPT09dHx8ZS5jbWQ9PT10KX1mdW5jdGlvbiBpc0RpY3QoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIERpY3QmJih2b2lkIDA9PT10fHxpc05hbWUoZS5nZXQoIlR5cGUiKSx0KSl9ZnVuY3Rpb24gaXNSZWZzRXF1YWwoZSx0KXtyZXR1cm4gZS5udW09PT10Lm51bSYmZS5nZW49PT10Lmdlbn1jbGFzcyBCYXNlU3RyZWFte2dldCBsZW5ndGgoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgZ2V0dGVyIGBsZW5ndGhgIGFjY2Vzc2VkIil9Z2V0IGlzRW1wdHkoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgZ2V0dGVyIGBpc0VtcHR5YCBhY2Nlc3NlZCIpfWdldCBpc0RhdGFMb2FkZWQoKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzRGF0YUxvYWRlZCIsITApfWdldEJ5dGUoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBnZXRCeXRlYCBjYWxsZWQiKX1nZXRCeXRlcyhlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBnZXRCeXRlc2AgY2FsbGVkIil9YXN5bmMgZ2V0SW1hZ2VEYXRhKGUsdCl7cmV0dXJuIHRoaXMuZ2V0Qnl0ZXMoZSx0KX1hc3luYyBhc3luY0dldEJ5dGVzKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgYXN5bmNHZXRCeXRlc2AgY2FsbGVkIil9Z2V0IGlzQXN5bmMoKXtyZXR1cm4hMX1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4hMX1wZWVrQnl0ZSgpe2NvbnN0IGU9dGhpcy5nZXRCeXRlKCk7LTEhPT1lJiZ0aGlzLnBvcy0tO3JldHVybiBlfXBlZWtCeXRlcyhlKXtjb25zdCB0PXRoaXMuZ2V0Qnl0ZXMoZSk7dGhpcy5wb3MtPXQubGVuZ3RoO3JldHVybiB0fWdldFVpbnQxNigpe2NvbnN0IGU9dGhpcy5nZXRCeXRlKCksdD10aGlzLmdldEJ5dGUoKTtyZXR1cm4tMT09PWV8fC0xPT09dD8tMTooZTw8OCkrdH1nZXRJbnQzMigpe3JldHVybih0aGlzLmdldEJ5dGUoKTw8MjQpKyh0aGlzLmdldEJ5dGUoKTw8MTYpKyh0aGlzLmdldEJ5dGUoKTw8OCkrdGhpcy5nZXRCeXRlKCl9Z2V0Qnl0ZVJhbmdlKGUsdCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZVJhbmdlYCBjYWxsZWQiKX1nZXRTdHJpbmcoZSl7cmV0dXJuIGJ5dGVzVG9TdHJpbmcodGhpcy5nZXRCeXRlcyhlKSl9c2tpcChlKXt0aGlzLnBvcys9ZXx8MX1yZXNldCgpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHJlc2V0YCBjYWxsZWQiKX1tb3ZlU3RhcnQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBtb3ZlU3RhcnRgIGNhbGxlZCIpfW1ha2VTdWJTdHJlYW0oZSx0LGk9bnVsbCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgbWFrZVN1YlN0cmVhbWAgY2FsbGVkIil9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm4gbnVsbH19Y29uc3Qga3Q9L15bMS05XVwuXGQkLztmdW5jdGlvbiBnZXRMb29rdXBUYWJsZUZhY3RvcnkoZSl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoZSl7dD1PYmplY3QuY3JlYXRlKG51bGwpO2UodCk7ZT1udWxsfXJldHVybiB0fX1jbGFzcyBNaXNzaW5nRGF0YUV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYE1pc3NpbmcgZGF0YSBbJHtlfSwgJHt0fSlgLCJNaXNzaW5nRGF0YUV4Y2VwdGlvbiIpO3RoaXMuYmVnaW49ZTt0aGlzLmVuZD10fX1jbGFzcyBQYXJzZXJFT0ZFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJQYXJzZXJFT0ZFeGNlcHRpb24iKX19Y2xhc3MgWFJlZkVudHJ5RXhjZXB0aW9uIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiWFJlZkVudHJ5RXhjZXB0aW9uIil9fWNsYXNzIFhSZWZQYXJzZUV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIlhSZWZQYXJzZUV4Y2VwdGlvbiIpfX1mdW5jdGlvbiBhcnJheUJ1ZmZlcnNUb0J5dGVzKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7aWYoMD09PXQpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2lmKDE9PT10KXJldHVybiBuZXcgVWludDhBcnJheShlWzBdKTtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8dDthKyspaSs9ZVthXS5ieXRlTGVuZ3RoO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoaSk7bGV0IHM9MDtmb3IobGV0IGk9MDtpPHQ7aSsrKXtjb25zdCB0PW5ldyBVaW50OEFycmF5KGVbaV0pO2Euc2V0KHQscyk7cys9dC5ieXRlTGVuZ3RofXJldHVybiBhfWZ1bmN0aW9uIGdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6ZSxrZXk6dCxnZXRBcnJheTppPSExLHN0b3BXaGVuRm91bmQ6YT0hMH0pe2xldCBzO2NvbnN0IHI9bmV3IFJlZlNldDtmb3IoO2UgaW5zdGFuY2VvZiBEaWN0JiYoIWUub2JqSWR8fCFyLmhhcyhlLm9iaklkKSk7KXtlLm9iaklkJiZyLnB1dChlLm9iaklkKTtjb25zdCBuPWk/ZS5nZXRBcnJheSh0KTplLmdldCh0KTtpZih2b2lkIDAhPT1uKXtpZihhKXJldHVybiBuOyhzfHw9W10pLnB1c2gobil9ZT1lLmdldCgiUGFyZW50Iil9cmV0dXJuIHN9Y29uc3QgUnQ9WyIiLCJDIiwiQ0MiLCJDQ0MiLCJDRCIsIkQiLCJEQyIsIkRDQyIsIkRDQ0MiLCJDTSIsIiIsIlgiLCJYWCIsIlhYWCIsIlhMIiwiTCIsIkxYIiwiTFhYIiwiTFhYWCIsIlhDIiwiIiwiSSIsIklJIiwiSUlJIiwiSVYiLCJWIiwiVkkiLCJWSUkiLCJWSUlJIiwiSVgiXTtmdW5jdGlvbiB0b1JvbWFuTnVtZXJhbHMoZSx0PSExKXthc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihlKSYmZT4wLCJUaGUgbnVtYmVyIHNob3VsZCBiZSBhIHBvc2l0aXZlIGludGVnZXIuIik7Y29uc3QgaT1bXTtsZXQgYTtmb3IoO2U+PTFlMzspe2UtPTFlMztpLnB1c2goIk0iKX1hPWUvMTAwfDA7ZSU9MTAwO2kucHVzaChSdFthXSk7YT1lLzEwfDA7ZSU9MTA7aS5wdXNoKFJ0WzEwK2FdKTtpLnB1c2goUnRbMjArZV0pO2NvbnN0IHM9aS5qb2luKCIiKTtyZXR1cm4gdD9zLnRvTG93ZXJDYXNlKCk6c31mdW5jdGlvbiBsb2cyKGUpe3JldHVybiBlPD0wPzA6TWF0aC5jZWlsKE1hdGgubG9nMihlKSl9ZnVuY3Rpb24gcmVhZEludDgoZSx0KXtyZXR1cm4gZVt0XTw8MjQ+PjI0fWZ1bmN0aW9uIHJlYWRVaW50MTYoZSx0KXtyZXR1cm4gZVt0XTw8OHxlW3QrMV19ZnVuY3Rpb24gcmVhZFVpbnQzMihlLHQpe3JldHVybihlW3RdPDwyNHxlW3QrMV08PDE2fGVbdCsyXTw8OHxlW3QrM10pPj4+MH1mdW5jdGlvbiBpc1doaXRlU3BhY2UoZSl7cmV0dXJuIDMyPT09ZXx8OT09PWV8fDEzPT09ZXx8MTA9PT1lfWZ1bmN0aW9uIGlzTnVtYmVyQXJyYXkoZSx0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8obnVsbD09PXR8fGUubGVuZ3RoPT09dCkmJmUuZXZlcnkoKGU9PiJudW1iZXIiPT10eXBlb2YgZSkpOkFycmF5QnVmZmVyLmlzVmlldyhlKSYmKDA9PT1lLmxlbmd0aHx8Im51bWJlciI9PXR5cGVvZiBlWzBdKSYmKG51bGw9PT10fHxlLmxlbmd0aD09PXQpfWZ1bmN0aW9uIGxvb2t1cE1hdHJpeChlLHQpe3JldHVybiBpc051bWJlckFycmF5KGUsNik/ZTp0fWZ1bmN0aW9uIGxvb2t1cFJlY3QoZSx0KXtyZXR1cm4gaXNOdW1iZXJBcnJheShlLDQpP2U6dH1mdW5jdGlvbiBsb29rdXBOb3JtYWxSZWN0KGUsdCl7cmV0dXJuIGlzTnVtYmVyQXJyYXkoZSw0KT9VdGlsLm5vcm1hbGl6ZVJlY3QoZSk6dH1mdW5jdGlvbiBwYXJzZVhGQVBhdGgoZSl7Y29uc3QgdD0vKC4rKVxbKFxkKylcXSQvO3JldHVybiBlLnNwbGl0KCIuIikubWFwKChlPT57Y29uc3QgaT1lLm1hdGNoKHQpO3JldHVybiBpP3tuYW1lOmlbMV0scG9zOnBhcnNlSW50KGlbMl0sMTApfTp7bmFtZTplLHBvczowfX0pKX1mdW5jdGlvbiBlc2NhcGVQREZOYW1lKGUpe2NvbnN0IHQ9W107bGV0IGk9MDtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspe2NvbnN0IHM9ZS5jaGFyQ29kZUF0KGEpO2lmKHM8MzN8fHM+MTI2fHwzNT09PXN8fDQwPT09c3x8NDE9PT1zfHw2MD09PXN8fDYyPT09c3x8OTE9PT1zfHw5Mz09PXN8fDEyMz09PXN8fDEyNT09PXN8fDQ3PT09c3x8Mzc9PT1zKXtpPGEmJnQucHVzaChlLnN1YnN0cmluZyhpLGEpKTt0LnB1c2goYCMke3MudG9TdHJpbmcoMTYpfWApO2k9YSsxfX1pZigwPT09dC5sZW5ndGgpcmV0dXJuIGU7aTxlLmxlbmd0aCYmdC5wdXNoKGUuc3Vic3RyaW5nKGksZS5sZW5ndGgpKTtyZXR1cm4gdC5qb2luKCIiKX1mdW5jdGlvbiBlc2NhcGVTdHJpbmcoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvKFsoKVxcXG5ccl0pL2csKGU9PiJcbiI9PT1lPyJcXG4iOiJcciI9PT1lPyJcXHIiOmBcXCR7ZX1gKSl9ZnVuY3Rpb24gX2NvbGxlY3RKUyhlLHQsaSxhKXtpZighZSlyZXR1cm47bGV0IHM9bnVsbDtpZihlIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhlKSlyZXR1cm47cz1lO2EucHV0KHMpO2U9dC5mZXRjaChlKX1pZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCBzIG9mIGUpX2NvbGxlY3RKUyhzLHQsaSxhKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBEaWN0KXtpZihpc05hbWUoZS5nZXQoIlMiKSwiSmF2YVNjcmlwdCIpKXtjb25zdCB0PWUuZ2V0KCJKUyIpO2xldCBhO3QgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2E9dC5nZXRTdHJpbmcoKToic3RyaW5nIj09dHlwZW9mIHQmJihhPXQpO2EmJj1zdHJpbmdUb1BERlN0cmluZyhhKS5yZXBsYWNlQWxsKCJcMCIsIiIpO2EmJmkucHVzaChhKX1fY29sbGVjdEpTKGUuZ2V0UmF3KCJOZXh0IiksdCxpLGEpfXMmJmEucmVtb3ZlKHMpfWZ1bmN0aW9uIGNvbGxlY3RBY3Rpb25zKGUsdCxpKXtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCkscz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJBQSIsc3RvcFdoZW5Gb3VuZDohMX0pO2lmKHMpZm9yKGxldCB0PXMubGVuZ3RoLTE7dD49MDt0LS0pe2NvbnN0IHI9c1t0XTtpZihyIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3QgdCBvZiByLmdldEtleXMoKSl7Y29uc3Qgcz1pW3RdO2lmKCFzKWNvbnRpbnVlO2NvbnN0IG49W107X2NvbGxlY3RKUyhyLmdldFJhdyh0KSxlLG4sbmV3IFJlZlNldCk7bi5sZW5ndGg+MCYmKGFbc109bil9fWlmKHQuaGFzKCJBIikpe2NvbnN0IGk9W107X2NvbGxlY3RKUyh0LmdldCgiQSIpLGUsaSxuZXcgUmVmU2V0KTtpLmxlbmd0aD4wJiYoYS5BY3Rpb249aSl9cmV0dXJuIG9iamVjdFNpemUoYSk+MD9hOm51bGx9Y29uc3QgTnQ9ezYwOiImbHQ7Iiw2MjoiJmd0OyIsMzg6IiZhbXA7IiwzNDoiJnF1b3Q7IiwzOToiJmFwb3M7In07ZnVuY3Rpb24qY29kZVBvaW50SXRlcihlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ZS5jb2RlUG9pbnRBdCh0KTtpPjU1Mjk1JiYoaTw1NzM0NHx8aT42NTUzMykmJnQrKzt5aWVsZCBpfX1mdW5jdGlvbiBlbmNvZGVUb1htbFN0cmluZyhlKXtjb25zdCB0PVtdO2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWUuY29kZVBvaW50QXQoYSk7aWYoMzI8PXMmJnM8PTEyNil7Y29uc3Qgcj1OdFtzXTtpZihyKXtpPGEmJnQucHVzaChlLnN1YnN0cmluZyhpLGEpKTt0LnB1c2gocik7aT1hKzF9fWVsc2V7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKGAmI3gke3MudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9O2ApO3M+NTUyOTUmJihzPDU3MzQ0fHxzPjY1NTMzKSYmYSsrO2k9YSsxfX1pZigwPT09dC5sZW5ndGgpcmV0dXJuIGU7aTxlLmxlbmd0aCYmdC5wdXNoKGUuc3Vic3RyaW5nKGksZS5sZW5ndGgpKTtyZXR1cm4gdC5qb2luKCIiKX1mdW5jdGlvbiB2YWxpZGF0ZUZvbnROYW1lKGUsdD0hMSl7Y29uc3QgaT0vXigifCcpLiooInwnKSQvLmV4ZWMoZSk7aWYoaSYmaVsxXT09PWlbMl0pe2lmKG5ldyBSZWdFeHAoYFteXFxcXF0ke2lbMV19YCkudGVzdChlLnNsaWNlKDEsLTEpKSl7dCYmd2FybihgRm9udEZhbWlseSBjb250YWlucyB1bmVzY2FwZWQgJHtpWzFdfTogJHtlfS5gKTtyZXR1cm4hMX19ZWxzZSBmb3IoY29uc3QgaSBvZiBlLnNwbGl0KC9bIFx0XSsvKSlpZigvXihcZHwoLShcZHwtKSkpLy50ZXN0KGkpfHwhL15bXHctXFxdKyQvLnRlc3QoaSkpe3QmJndhcm4oYEZvbnRGYW1pbHkgY29udGFpbnMgaW52YWxpZCA8Y3VzdG9tLWlkZW50PjogJHtlfS5gKTtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB2YWxpZGF0ZUNTU0ZvbnQoZSl7Y29uc3QgdD1uZXcgU2V0KFsiMTAwIiwiMjAwIiwiMzAwIiwiNDAwIiwiNTAwIiwiNjAwIiwiNzAwIiwiODAwIiwiOTAwIiwiMTAwMCIsIm5vcm1hbCIsImJvbGQiLCJib2xkZXIiLCJsaWdodGVyIl0pLHtmb250RmFtaWx5OmksZm9udFdlaWdodDphLGl0YWxpY0FuZ2xlOnN9PWU7aWYoIXZhbGlkYXRlRm9udE5hbWUoaSwhMCkpcmV0dXJuITE7Y29uc3Qgcj1hP2EudG9TdHJpbmcoKToiIjtlLmZvbnRXZWlnaHQ9dC5oYXMocik/cjoiNDAwIjtjb25zdCBuPXBhcnNlRmxvYXQocyk7ZS5pdGFsaWNBbmdsZT1pc05hTihuKXx8bjwtOTB8fG4+OTA/IjE0IjpzLnRvU3RyaW5nKCk7cmV0dXJuITB9ZnVuY3Rpb24gcmVjb3ZlckpzVVJMKGUpe2NvbnN0IHQ9bmV3IFJlZ0V4cCgiXlxccyooIitbImFwcC5sYXVuY2hVUkwiLCJ3aW5kb3cub3BlbiIsInhmYS5ob3N0LmdvdG9VUkwiXS5qb2luKCJ8IikucmVwbGFjZUFsbCgiLiIsIlxcLiIpKyIpXFwoKD86J3xcIikoW14nXCJdKikoPzonfFwiKSg/OixcXHMqKFxcdyspXFwpfFxcKSkiLCJpIikuZXhlYyhlKTtpZih0Py5bMl0pe2NvbnN0IGU9dFsyXTtsZXQgaT0hMTsidHJ1ZSI9PT10WzNdJiYiYXBwLmxhdW5jaFVSTCI9PT10WzFdJiYoaT0hMCk7cmV0dXJue3VybDplLG5ld1dpbmRvdzppfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBudW1iZXJUb1N0cmluZyhlKXtpZihOdW1iZXIuaXNJbnRlZ2VyKGUpKXJldHVybiBlLnRvU3RyaW5nKCk7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKTtyZXR1cm4gdCUxMDA9PTA/KHQvMTAwKS50b1N0cmluZygpOnQlMTA9PTA/ZS50b0ZpeGVkKDEpOmUudG9GaXhlZCgyKX1mdW5jdGlvbiBnZXROZXdBbm5vdGF0aW9uc01hcChlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0W2ksYV1vZiBlKXtpZighaS5zdGFydHNXaXRoKHUpKWNvbnRpbnVlO2xldCBlPXQuZ2V0KGEucGFnZUluZGV4KTtpZighZSl7ZT1bXTt0LnNldChhLnBhZ2VJbmRleCxlKX1lLnB1c2goYSl9cmV0dXJuIHQuc2l6ZT4wP3Q6bnVsbH1mdW5jdGlvbiBzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGUpe3JldHVybiBmdW5jdGlvbiBpc0FzY2lpKGUpe3JldHVybi9eW1x4MDAtXHg3Rl0qJC8udGVzdChlKX0oZSk/ZTpzdHJpbmdUb1VURjE2U3RyaW5nKGUsITApfWZ1bmN0aW9uIHN0cmluZ1RvVVRGMTZIZXhTdHJpbmcoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9ZS5jaGFyQ29kZUF0KGkpO3QucHVzaCgoYT4+OCYyNTUpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksKDI1NSZhKS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKX1yZXR1cm4gdC5qb2luKCIiKX1mdW5jdGlvbiBzdHJpbmdUb1VURjE2U3RyaW5nKGUsdD0hMSl7Y29uc3QgaT1bXTt0JiZpLnB1c2goIsO+w78iKTtmb3IobGV0IHQ9MCxhPWUubGVuZ3RoO3Q8YTt0Kyspe2NvbnN0IGE9ZS5jaGFyQ29kZUF0KHQpO2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGE+PjgmMjU1KSxTdHJpbmcuZnJvbUNoYXJDb2RlKDI1NSZhKSl9cmV0dXJuIGkuam9pbigiIil9ZnVuY3Rpb24gZ2V0Um90YXRpb25NYXRyaXgoZSx0LGkpe3N3aXRjaChlKXtjYXNlIDkwOnJldHVyblswLDEsLTEsMCx0LDBdO2Nhc2UgMTgwOnJldHVyblstMSwwLDAsLTEsdCxpXTtjYXNlIDI3MDpyZXR1cm5bMCwtMSwxLDAsMCxpXTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCByb3RhdGlvbiIpfX1mdW5jdGlvbiBnZXRTaXplSW5CeXRlcyhlKXtyZXR1cm4gTWF0aC5jZWlsKE1hdGguY2VpbChNYXRoLmxvZzIoMStlKSkvOCl9Y2xhc3MgU3RyZWFtIGV4dGVuZHMgQmFzZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcigpO3RoaXMuYnl0ZXM9ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/ZTpuZXcgVWludDhBcnJheShlKTt0aGlzLnN0YXJ0PXR8fDA7dGhpcy5wb3M9dGhpcy5zdGFydDt0aGlzLmVuZD10K2l8fHRoaXMuYnl0ZXMubGVuZ3RoO3RoaXMuZGljdD1hfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5lbmQtdGhpcy5zdGFydH1nZXQgaXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5sZW5ndGh9Z2V0Qnl0ZSgpe3JldHVybiB0aGlzLnBvcz49dGhpcy5lbmQ/LTE6dGhpcy5ieXRlc1t0aGlzLnBvcysrXX1nZXRCeXRlcyhlKXtjb25zdCB0PXRoaXMuYnl0ZXMsaT10aGlzLnBvcyxhPXRoaXMuZW5kO2lmKCFlKXJldHVybiB0LnN1YmFycmF5KGksYSk7bGV0IHM9aStlO3M+YSYmKHM9YSk7dGhpcy5wb3M9cztyZXR1cm4gdC5zdWJhcnJheShpLHMpfWdldEJ5dGVSYW5nZShlLHQpe2U8MCYmKGU9MCk7dD50aGlzLmVuZCYmKHQ9dGhpcy5lbmQpO3JldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGUsdCl9cmVzZXQoKXt0aGlzLnBvcz10aGlzLnN0YXJ0fW1vdmVTdGFydCgpe3RoaXMuc3RhcnQ9dGhpcy5wb3N9bWFrZVN1YlN0cmVhbShlLHQsaT1udWxsKXtyZXR1cm4gbmV3IFN0cmVhbSh0aGlzLmJ5dGVzLmJ1ZmZlcixlLHQsaSl9fWNsYXNzIFN0cmluZ1N0cmVhbSBleHRlbmRzIFN0cmVhbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihzdHJpbmdUb0J5dGVzKGUpKX19Y2xhc3MgTnVsbFN0cmVhbSBleHRlbmRzIFN0cmVhbXtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyBVaW50OEFycmF5KDApKX19Y2xhc3MgQ2h1bmtlZFN0cmVhbSBleHRlbmRzIFN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIobmV3IFVpbnQ4QXJyYXkoZSksMCxlLG51bGwpO3RoaXMuY2h1bmtTaXplPXQ7dGhpcy5fbG9hZGVkQ2h1bmtzPW5ldyBTZXQ7dGhpcy5udW1DaHVua3M9TWF0aC5jZWlsKGUvdCk7dGhpcy5tYW5hZ2VyPWk7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9MDt0aGlzLmxhc3RTdWNjZXNzZnVsRW5zdXJlQnl0ZUNodW5rPS0xfWdldE1pc3NpbmdDaHVua3MoKXtjb25zdCBlPVtdO2ZvcihsZXQgdD0wLGk9dGhpcy5udW1DaHVua3M7dDxpOysrdCl0aGlzLl9sb2FkZWRDaHVua3MuaGFzKHQpfHxlLnB1c2godCk7cmV0dXJuIGV9Z2V0IG51bUNodW5rc0xvYWRlZCgpe3JldHVybiB0aGlzLl9sb2FkZWRDaHVua3Muc2l6ZX1nZXQgaXNEYXRhTG9hZGVkKCl7cmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkPT09dGhpcy5udW1DaHVua3N9b25SZWNlaXZlRGF0YShlLHQpe2NvbnN0IGk9dGhpcy5jaHVua1NpemU7aWYoZSVpIT0wKXRocm93IG5ldyBFcnJvcihgQmFkIGJlZ2luIG9mZnNldDogJHtlfWApO2NvbnN0IGE9ZSt0LmJ5dGVMZW5ndGg7aWYoYSVpIT0wJiZhIT09dGhpcy5ieXRlcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBCYWQgZW5kIG9mZnNldDogJHthfWApO3RoaXMuYnl0ZXMuc2V0KG5ldyBVaW50OEFycmF5KHQpLGUpO2NvbnN0IHM9TWF0aC5mbG9vcihlL2kpLHI9TWF0aC5mbG9vcigoYS0xKS9pKSsxO2ZvcihsZXQgZT1zO2U8cjsrK2UpdGhpcy5fbG9hZGVkQ2h1bmtzLmFkZChlKX1vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEoZSl7bGV0IHQ9dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg7Y29uc3QgaT1NYXRoLmZsb29yKHQvdGhpcy5jaHVua1NpemUpO3RoaXMuYnl0ZXMuc2V0KG5ldyBVaW50OEFycmF5KGUpLHQpO3QrPWUuYnl0ZUxlbmd0aDt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD10O2NvbnN0IGE9dD49dGhpcy5lbmQ/dGhpcy5udW1DaHVua3M6TWF0aC5mbG9vcih0L3RoaXMuY2h1bmtTaXplKTtmb3IobGV0IGU9aTtlPGE7KytlKXRoaXMuX2xvYWRlZENodW5rcy5hZGQoZSl9ZW5zdXJlQnl0ZShlKXtpZihlPHRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoKXJldHVybjtjb25zdCB0PU1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSk7aWYoISh0PnRoaXMubnVtQ2h1bmtzKSYmdCE9PXRoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bmspe2lmKCF0aGlzLl9sb2FkZWRDaHVua3MuaGFzKHQpKXRocm93IG5ldyBNaXNzaW5nRGF0YUV4Y2VwdGlvbihlLGUrMSk7dGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuaz10fX1lbnN1cmVSYW5nZShlLHQpe2lmKGU+PXQpcmV0dXJuO2lmKHQ8PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoKXJldHVybjtjb25zdCBpPU1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSk7aWYoaT50aGlzLm51bUNodW5rcylyZXR1cm47Y29uc3QgYT1NYXRoLm1pbihNYXRoLmZsb29yKCh0LTEpL3RoaXMuY2h1bmtTaXplKSsxLHRoaXMubnVtQ2h1bmtzKTtmb3IobGV0IHM9aTtzPGE7KytzKWlmKCF0aGlzLl9sb2FkZWRDaHVua3MuaGFzKHMpKXRocm93IG5ldyBNaXNzaW5nRGF0YUV4Y2VwdGlvbihlLHQpfW5leHRFbXB0eUNodW5rKGUpe2NvbnN0IHQ9dGhpcy5udW1DaHVua3M7Zm9yKGxldCBpPTA7aTx0OysraSl7Y29uc3QgYT0oZStpKSV0O2lmKCF0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGEpKXJldHVybiBhfXJldHVybiBudWxsfWhhc0NodW5rKGUpe3JldHVybiB0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGUpfWdldEJ5dGUoKXtjb25zdCBlPXRoaXMucG9zO2lmKGU+PXRoaXMuZW5kKXJldHVybi0xO2U+PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoJiZ0aGlzLmVuc3VyZUJ5dGUoZSk7cmV0dXJuIHRoaXMuYnl0ZXNbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSl7Y29uc3QgdD10aGlzLmJ5dGVzLGk9dGhpcy5wb3MsYT10aGlzLmVuZDtpZighZSl7YT50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShpLGEpO3JldHVybiB0LnN1YmFycmF5KGksYSl9bGV0IHM9aStlO3M+YSYmKHM9YSk7cz50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShpLHMpO3RoaXMucG9zPXM7cmV0dXJuIHQuc3ViYXJyYXkoaSxzKX1nZXRCeXRlUmFuZ2UoZSx0KXtlPDAmJihlPTApO3Q+dGhpcy5lbmQmJih0PXRoaXMuZW5kKTt0PnRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoJiZ0aGlzLmVuc3VyZVJhbmdlKGUsdCk7cmV0dXJuIHRoaXMuYnl0ZXMuc3ViYXJyYXkoZSx0KX1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe3Q/ZSt0PnRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoJiZ0aGlzLmVuc3VyZVJhbmdlKGUsZSt0KTplPj10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVCeXRlKGUpO2Z1bmN0aW9uIENodW5rZWRTdHJlYW1TdWJzdHJlYW0oKXt9Q2h1bmtlZFN0cmVhbVN1YnN0cmVhbS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0aGlzKTtDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZS5nZXRNaXNzaW5nQ2h1bmtzPWZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLmNodW5rU2l6ZSx0PU1hdGguZmxvb3IodGhpcy5zdGFydC9lKSxpPU1hdGguZmxvb3IoKHRoaXMuZW5kLTEpL2UpKzEsYT1bXTtmb3IobGV0IGU9dDtlPGk7KytlKXRoaXMuX2xvYWRlZENodW5rcy5oYXMoZSl8fGEucHVzaChlKTtyZXR1cm4gYX07T2JqZWN0LmRlZmluZVByb3BlcnR5KENodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlLCJpc0RhdGFMb2FkZWQiLHtnZXQoKXtyZXR1cm4gdGhpcy5udW1DaHVua3NMb2FkZWQ9PT10aGlzLm51bUNodW5rc3x8MD09PXRoaXMuZ2V0TWlzc2luZ0NodW5rcygpLmxlbmd0aH0sY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgYT1uZXcgQ2h1bmtlZFN0cmVhbVN1YnN0cmVhbTthLnBvcz1hLnN0YXJ0PWU7YS5lbmQ9ZSt0fHx0aGlzLmVuZDthLmRpY3Q9aTtyZXR1cm4gYX1nZXRCYXNlU3RyZWFtcygpe3JldHVyblt0aGlzXX19Y2xhc3MgQ2h1bmtlZFN0cmVhbU1hbmFnZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmxlbmd0aD10Lmxlbmd0aDt0aGlzLmNodW5rU2l6ZT10LnJhbmdlQ2h1bmtTaXplO3RoaXMuc3RyZWFtPW5ldyBDaHVua2VkU3RyZWFtKHRoaXMubGVuZ3RoLHRoaXMuY2h1bmtTaXplLHRoaXMpO3RoaXMucGRmTmV0d29ya1N0cmVhbT1lO3RoaXMuZGlzYWJsZUF1dG9GZXRjaD10LmRpc2FibGVBdXRvRmV0Y2g7dGhpcy5tc2dIYW5kbGVyPXQubXNnSGFuZGxlcjt0aGlzLmN1cnJSZXF1ZXN0SWQ9MDt0aGlzLl9jaHVua3NOZWVkZWRCeVJlcXVlc3Q9bmV3IE1hcDt0aGlzLl9yZXF1ZXN0c0J5Q2h1bms9bmV3IE1hcDt0aGlzLl9wcm9taXNlc0J5UmVxdWVzdD1uZXcgTWFwO3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoPTA7dGhpcy5hYm9ydGVkPSExO3RoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHk9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCl9c2VuZFJlcXVlc3QoZSx0KXtjb25zdCBpPXRoaXMucGRmTmV0d29ya1N0cmVhbS5nZXRSYW5nZVJlYWRlcihlLHQpO2kuaXNTdHJlYW1pbmdTdXBwb3J0ZWR8fChpLm9uUHJvZ3Jlc3M9dGhpcy5vblByb2dyZXNzLmJpbmQodGhpcykpO2xldCBhPVtdLHM9MDtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57Y29uc3QgcmVhZENodW5rPSh7dmFsdWU6cixkb25lOm59KT0+e3RyeXtpZihuKXtjb25zdCB0PWFycmF5QnVmZmVyc1RvQnl0ZXMoYSk7YT1udWxsO2UodCk7cmV0dXJufXMrPXIuYnl0ZUxlbmd0aDtpLmlzU3RyZWFtaW5nU3VwcG9ydGVkJiZ0aGlzLm9uUHJvZ3Jlc3Moe2xvYWRlZDpzfSk7YS5wdXNoKHIpO2kucmVhZCgpLnRoZW4ocmVhZENodW5rLHQpfWNhdGNoKGUpe3QoZSl9fTtpLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX0pKS50aGVuKCh0PT57dGhpcy5hYm9ydGVkfHx0aGlzLm9uUmVjZWl2ZURhdGEoe2NodW5rOnQsYmVnaW46ZX0pfSkpfXJlcXVlc3RBbGxDaHVua3MoZT0hMSl7aWYoIWUpe2NvbnN0IGU9dGhpcy5zdHJlYW0uZ2V0TWlzc2luZ0NodW5rcygpO3RoaXMuX3JlcXVlc3RDaHVua3MoZSl9cmV0dXJuIHRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucHJvbWlzZX1fcmVxdWVzdENodW5rcyhlKXtjb25zdCB0PXRoaXMuY3VyclJlcXVlc3RJZCsrLGk9bmV3IFNldDt0aGlzLl9jaHVua3NOZWVkZWRCeVJlcXVlc3Quc2V0KHQsaSk7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLnN0cmVhbS5oYXNDaHVuayh0KXx8aS5hZGQodCk7aWYoMD09PWkuc2l6ZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Y29uc3QgYT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5zZXQodCxhKTtjb25zdCBzPVtdO2Zvcihjb25zdCBlIG9mIGkpe2xldCBpPXRoaXMuX3JlcXVlc3RzQnlDaHVuay5nZXQoZSk7aWYoIWkpe2k9W107dGhpcy5fcmVxdWVzdHNCeUNodW5rLnNldChlLGkpO3MucHVzaChlKX1pLnB1c2godCl9aWYocy5sZW5ndGg+MCl7Y29uc3QgZT10aGlzLmdyb3VwQ2h1bmtzKHMpO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5iZWdpbkNodW5rKnRoaXMuY2h1bmtTaXplLGk9TWF0aC5taW4odC5lbmRDaHVuayp0aGlzLmNodW5rU2l6ZSx0aGlzLmxlbmd0aCk7dGhpcy5zZW5kUmVxdWVzdChlLGkpLmNhdGNoKGEucmVqZWN0KX19cmV0dXJuIGEucHJvbWlzZS5jYXRjaCgoZT0+e2lmKCF0aGlzLmFib3J0ZWQpdGhyb3cgZX0pKX1nZXRTdHJlYW0oKXtyZXR1cm4gdGhpcy5zdHJlYW19cmVxdWVzdFJhbmdlKGUsdCl7dD1NYXRoLm1pbih0LHRoaXMubGVuZ3RoKTtjb25zdCBpPXRoaXMuZ2V0QmVnaW5DaHVuayhlKSxhPXRoaXMuZ2V0RW5kQ2h1bmsodCkscz1bXTtmb3IobGV0IGU9aTtlPGE7KytlKXMucHVzaChlKTtyZXR1cm4gdGhpcy5fcmVxdWVzdENodW5rcyhzKX1yZXF1ZXN0UmFuZ2VzKGU9W10pe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT10aGlzLmdldEJlZ2luQ2h1bmsoaS5iZWdpbiksYT10aGlzLmdldEVuZENodW5rKGkuZW5kKTtmb3IobGV0IGk9ZTtpPGE7KytpKXQuaW5jbHVkZXMoaSl8fHQucHVzaChpKX10LnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUtdH0pKTtyZXR1cm4gdGhpcy5fcmVxdWVzdENodW5rcyh0KX1ncm91cENodW5rcyhlKXtjb25zdCB0PVtdO2xldCBpPS0xLGE9LTE7Zm9yKGxldCBzPTAscj1lLmxlbmd0aDtzPHI7KytzKXtjb25zdCByPWVbc107aTwwJiYoaT1yKTtpZihhPj0wJiZhKzEhPT1yKXt0LnB1c2goe2JlZ2luQ2h1bms6aSxlbmRDaHVuazphKzF9KTtpPXJ9cysxPT09ZS5sZW5ndGgmJnQucHVzaCh7YmVnaW5DaHVuazppLGVuZENodW5rOnIrMX0pO2E9cn1yZXR1cm4gdH1vblByb2dyZXNzKGUpe3RoaXMubXNnSGFuZGxlci5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDp0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQqdGhpcy5jaHVua1NpemUrZS5sb2FkZWQsdG90YWw6dGhpcy5sZW5ndGh9KX1vblJlY2VpdmVEYXRhKGUpe2NvbnN0IHQ9ZS5jaHVuayxpPXZvaWQgMD09PWUuYmVnaW4sYT1pP3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoOmUuYmVnaW4scz1hK3QuYnl0ZUxlbmd0aCxyPU1hdGguZmxvb3IoYS90aGlzLmNodW5rU2l6ZSksbj1zPHRoaXMubGVuZ3RoP01hdGguZmxvb3Iocy90aGlzLmNodW5rU2l6ZSk6TWF0aC5jZWlsKHMvdGhpcy5jaHVua1NpemUpO2lmKGkpe3RoaXMuc3RyZWFtLm9uUmVjZWl2ZVByb2dyZXNzaXZlRGF0YSh0KTt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD1zfWVsc2UgdGhpcy5zdHJlYW0ub25SZWNlaXZlRGF0YShhLHQpO3RoaXMuc3RyZWFtLmlzRGF0YUxvYWRlZCYmdGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZXNvbHZlKHRoaXMuc3RyZWFtKTtjb25zdCBnPVtdO2ZvcihsZXQgZT1yO2U8bjsrK2Upe2NvbnN0IHQ9dGhpcy5fcmVxdWVzdHNCeUNodW5rLmdldChlKTtpZih0KXt0aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuZGVsZXRlKGUpO2Zvcihjb25zdCBpIG9mIHQpe2NvbnN0IHQ9dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0LmdldChpKTt0LmhhcyhlKSYmdC5kZWxldGUoZSk7dC5zaXplPjB8fGcucHVzaChpKX19fWlmKCF0aGlzLmRpc2FibGVBdXRvRmV0Y2gmJjA9PT10aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuc2l6ZSl7bGV0IGU7aWYoMT09PXRoaXMuc3RyZWFtLm51bUNodW5rc0xvYWRlZCl7Y29uc3QgdD10aGlzLnN0cmVhbS5udW1DaHVua3MtMTt0aGlzLnN0cmVhbS5oYXNDaHVuayh0KXx8KGU9dCl9ZWxzZSBlPXRoaXMuc3RyZWFtLm5leHRFbXB0eUNodW5rKG4pO051bWJlci5pc0ludGVnZXIoZSkmJnRoaXMuX3JlcXVlc3RDaHVua3MoW2VdKX1mb3IoY29uc3QgZSBvZiBnKXtjb25zdCB0PXRoaXMuX3Byb21pc2VzQnlSZXF1ZXN0LmdldChlKTt0aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5kZWxldGUoZSk7dC5yZXNvbHZlKCl9dGhpcy5tc2dIYW5kbGVyLnNlbmQoIkRvY1Byb2dyZXNzIix7bG9hZGVkOnRoaXMuc3RyZWFtLm51bUNodW5rc0xvYWRlZCp0aGlzLmNodW5rU2l6ZSx0b3RhbDp0aGlzLmxlbmd0aH0pfW9uRXJyb3IoZSl7dGhpcy5fbG9hZGVkU3RyZWFtQ2FwYWJpbGl0eS5yZWplY3QoZSl9Z2V0QmVnaW5DaHVuayhlKXtyZXR1cm4gTWF0aC5mbG9vcihlL3RoaXMuY2h1bmtTaXplKX1nZXRFbmRDaHVuayhlKXtyZXR1cm4gTWF0aC5mbG9vcigoZS0xKS90aGlzLmNodW5rU2l6ZSkrMX1hYm9ydChlKXt0aGlzLmFib3J0ZWQ9ITA7dGhpcy5wZGZOZXR3b3JrU3RyZWFtPy5jYW5jZWxBbGxSZXF1ZXN0cyhlKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9wcm9taXNlc0J5UmVxdWVzdC52YWx1ZXMoKSl0LnJlamVjdChlKX19Y2xhc3MgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMubmFtZT1lO3RoaXMubnVtQ29tcHM9dH1nZXRSZ2IoZSx0KXtjb25zdCBpPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKTt0aGlzLmdldFJnYkl0ZW0oZSx0LGksMCk7cmV0dXJuIGl9Z2V0UmdiSXRlbShlLHQsaSxhKXt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0UmdiSXRlbSIpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXt1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIENvbG9yU3BhY2UuZ2V0UmdiQnVmZmVyIil9Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldE91dHB1dExlbmd0aCIpfWlzUGFzc3Rocm91Z2goZSl7cmV0dXJuITF9aXNEZWZhdWx0RGVjb2RlKGUsdCl7cmV0dXJuIENvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKGUsdGhpcy5udW1Db21wcyl9ZmlsbFJnYihlLHQsaSxhLHMscixuLGcsbyl7Y29uc3QgYz10Kmk7bGV0IEM9bnVsbDtjb25zdCBoPTE8PG4sbD1pIT09c3x8dCE9PWE7aWYodGhpcy5pc1Bhc3N0aHJvdWdoKG4pKUM9ZztlbHNlIGlmKDE9PT10aGlzLm51bUNvbXBzJiZjPmgmJiJEZXZpY2VHcmF5IiE9PXRoaXMubmFtZSYmIkRldmljZVJHQiIhPT10aGlzLm5hbWUpe2NvbnN0IHQ9bjw9OD9uZXcgVWludDhBcnJheShoKTpuZXcgVWludDE2QXJyYXkoaCk7Zm9yKGxldCBlPTA7ZTxoO2UrKyl0W2VdPWU7Y29uc3QgaT1uZXcgVWludDhDbGFtcGVkQXJyYXkoMypoKTt0aGlzLmdldFJnYkJ1ZmZlcih0LDAsaCxpLDAsbiwwKTtpZihsKXtDPW5ldyBVaW50OEFycmF5KDMqYyk7bGV0IGU9MDtmb3IobGV0IHQ9MDt0PGM7Kyt0KXtjb25zdCBhPTMqZ1t0XTtDW2UrK109aVthXTtDW2UrK109aVthKzFdO0NbZSsrXT1pW2ErMl19fWVsc2V7bGV0IHQ9MDtmb3IobGV0IGE9MDthPGM7KythKXtjb25zdCBzPTMqZ1thXTtlW3QrK109aVtzXTtlW3QrK109aVtzKzFdO2VbdCsrXT1pW3MrMl07dCs9b319fWVsc2UgaWYobCl7Qz1uZXcgVWludDhDbGFtcGVkQXJyYXkoMypjKTt0aGlzLmdldFJnYkJ1ZmZlcihnLDAsYyxDLDAsbiwwKX1lbHNlIHRoaXMuZ2V0UmdiQnVmZmVyKGcsMCxhKnIsZSwwLG4sbyk7aWYoQylpZihsKSFmdW5jdGlvbiByZXNpemVSZ2JJbWFnZShlLHQsaSxhLHMscixuKXtuPTEhPT1uPzA6bjtjb25zdCBnPWkvcyxvPWEvcjtsZXQgYyxDPTA7Y29uc3QgaD1uZXcgVWludDE2QXJyYXkocyksbD0zKmk7Zm9yKGxldCBlPTA7ZTxzO2UrKyloW2VdPTMqTWF0aC5mbG9vcihlKmcpO2ZvcihsZXQgaT0wO2k8cjtpKyspe2NvbnN0IGE9TWF0aC5mbG9vcihpKm8pKmw7Zm9yKGxldCBpPTA7aTxzO2krKyl7Yz1hK2hbaV07dFtDKytdPWVbYysrXTt0W0MrK109ZVtjKytdO3RbQysrXT1lW2MrK107Qys9bn19fShDLGUsdCxpLGEscyxvKTtlbHNle2xldCB0PTAsaT0wO2ZvcihsZXQgcz0wLG49YSpyO3M8bjtzKyspe2VbdCsrXT1DW2krK107ZVt0KytdPUNbaSsrXTtlW3QrK109Q1tpKytdO3QrPW99fX1nZXQgdXNlc1plcm9Ub09uZVJhbmdlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ1c2VzWmVyb1RvT25lUmFuZ2UiLCEwKX1zdGF0aWMgX2NhY2hlKGUsdCxpLGEpe2lmKCFpKXRocm93IG5ldyBFcnJvcignQ29sb3JTcGFjZS5fY2FjaGUgLSBleHBlY3RlZCAibG9jYWxDb2xvclNwYWNlQ2FjaGUiIGFyZ3VtZW50LicpO2lmKCFhKXRocm93IG5ldyBFcnJvcignQ29sb3JTcGFjZS5fY2FjaGUgLSBleHBlY3RlZCAicGFyc2VkQ29sb3JTcGFjZSIgYXJndW1lbnQuJyk7bGV0IHMscjtpZihlIGluc3RhbmNlb2YgUmVmKXtyPWU7ZT10LmZldGNoKGUpfWUgaW5zdGFuY2VvZiBOYW1lJiYocz1lLm5hbWUpOyhzfHxyKSYmaS5zZXQocyxyLGEpfXN0YXRpYyBnZXRDYWNoZWQoZSx0LGkpe2lmKCFpKXRocm93IG5ldyBFcnJvcignQ29sb3JTcGFjZS5nZXRDYWNoZWQgLSBleHBlY3RlZCAibG9jYWxDb2xvclNwYWNlQ2FjaGUiIGFyZ3VtZW50LicpO2lmKGUgaW5zdGFuY2VvZiBSZWYpe2NvbnN0IGE9aS5nZXRCeVJlZihlKTtpZihhKXJldHVybiBhO3RyeXtlPXQuZmV0Y2goZSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGV9fWlmKGUgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCB0PWkuZ2V0QnlOYW1lKGUubmFtZSk7aWYodClyZXR1cm4gdH1yZXR1cm4gbnVsbH1zdGF0aWMgYXN5bmMgcGFyc2VBc3luYyh7Y3M6ZSx4cmVmOnQscmVzb3VyY2VzOmk9bnVsbCxwZGZGdW5jdGlvbkZhY3Rvcnk6YSxsb2NhbENvbG9yU3BhY2VDYWNoZTpzfSl7Y29uc3Qgcj10aGlzLl9wYXJzZShlLHQsaSxhKTt0aGlzLl9jYWNoZShlLHQscyxyKTtyZXR1cm4gcn1zdGF0aWMgcGFyc2Uoe2NzOmUseHJlZjp0LHJlc291cmNlczppPW51bGwscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pe2NvbnN0IHI9dGhpcy5nZXRDYWNoZWQoZSx0LHMpO2lmKHIpcmV0dXJuIHI7Y29uc3Qgbj10aGlzLl9wYXJzZShlLHQsaSxhKTt0aGlzLl9jYWNoZShlLHQscyxuKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlKGUsdCxpPW51bGwsYSl7aWYoKGU9dC5mZXRjaElmUmVmKGUpKWluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIkciOmNhc2UiRGV2aWNlR3JheSI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5O2Nhc2UiUkdCIjpjYXNlIkRldmljZVJHQiI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2I7Y2FzZSJEZXZpY2VSR0JBIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLnJnYmE7Y2FzZSJDTVlLIjpjYXNlIkRldmljZUNNWUsiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuY215aztjYXNlIlBhdHRlcm4iOnJldHVybiBuZXcgUGF0dGVybkNTKG51bGwpO2RlZmF1bHQ6aWYoaSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHM9aS5nZXQoIkNvbG9yU3BhY2UiKTtpZihzIGluc3RhbmNlb2YgRGljdCl7Y29uc3Qgcj1zLmdldChlLm5hbWUpO2lmKHIpe2lmKHIgaW5zdGFuY2VvZiBOYW1lKXJldHVybiB0aGlzLl9wYXJzZShyLHQsaSxhKTtlPXI7YnJlYWt9fX13YXJuKGBVbnJlY29nbml6ZWQgQ29sb3JTcGFjZTogJHtlLm5hbWV9YCk7cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5fWlmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IHM9dC5mZXRjaElmUmVmKGVbMF0pLm5hbWU7bGV0IHIsbixnLG8sYyxDO3N3aXRjaChzKXtjYXNlIkciOmNhc2UiRGV2aWNlR3JheSI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5O2Nhc2UiUkdCIjpjYXNlIkRldmljZVJHQiI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2I7Y2FzZSJDTVlLIjpjYXNlIkRldmljZUNNWUsiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuY215aztjYXNlIkNhbEdyYXkiOnI9dC5mZXRjaElmUmVmKGVbMV0pO289ci5nZXRBcnJheSgiV2hpdGVQb2ludCIpO2M9ci5nZXRBcnJheSgiQmxhY2tQb2ludCIpO0M9ci5nZXQoIkdhbW1hIik7cmV0dXJuIG5ldyBDYWxHcmF5Q1MobyxjLEMpO2Nhc2UiQ2FsUkdCIjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtDPXIuZ2V0QXJyYXkoIkdhbW1hIik7Y29uc3QgaD1yLmdldEFycmF5KCJNYXRyaXgiKTtyZXR1cm4gbmV3IENhbFJHQkNTKG8sYyxDLGgpO2Nhc2UiSUNDQmFzZWQiOmNvbnN0IGw9dC5mZXRjaElmUmVmKGVbMV0pLmRpY3Q7bj1sLmdldCgiTiIpO2NvbnN0IFE9bC5nZXQoIkFsdGVybmF0ZSIpO2lmKFEpe2NvbnN0IGU9dGhpcy5fcGFyc2UoUSx0LGksYSk7aWYoZS5udW1Db21wcz09PW4pcmV0dXJuIGU7d2FybigiSUNDQmFzZWQgY29sb3Igc3BhY2U6IElnbm9yaW5nIGluY29ycmVjdCAvQWx0ZXJuYXRlIGVudHJ5LiIpfWlmKDE9PT1uKXJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtpZigzPT09bilyZXR1cm4gdGhpcy5zaW5nbGV0b25zLnJnYjtpZig0PT09bilyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7YnJlYWs7Y2FzZSJQYXR0ZXJuIjpnPWVbMV18fG51bGw7ZyYmKGc9dGhpcy5fcGFyc2UoZyx0LGksYSkpO3JldHVybiBuZXcgUGF0dGVybkNTKGcpO2Nhc2UiSSI6Y2FzZSJJbmRleGVkIjpnPXRoaXMuX3BhcnNlKGVbMV0sdCxpLGEpO2NvbnN0IEU9dC5mZXRjaElmUmVmKGVbMl0pKzEsdT10LmZldGNoSWZSZWYoZVszXSk7cmV0dXJuIG5ldyBJbmRleGVkQ1MoZyxFLHUpO2Nhc2UiU2VwYXJhdGlvbiI6Y2FzZSJEZXZpY2VOIjpjb25zdCBkPXQuZmV0Y2hJZlJlZihlWzFdKTtuPUFycmF5LmlzQXJyYXkoZCk/ZC5sZW5ndGg6MTtnPXRoaXMuX3BhcnNlKGVbMl0sdCxpLGEpO2NvbnN0IGY9YS5jcmVhdGUoZVszXSk7cmV0dXJuIG5ldyBBbHRlcm5hdGVDUyhuLGcsZik7Y2FzZSJMYWIiOnI9dC5mZXRjaElmUmVmKGVbMV0pO289ci5nZXRBcnJheSgiV2hpdGVQb2ludCIpO2M9ci5nZXRBcnJheSgiQmxhY2tQb2ludCIpO2NvbnN0IHA9ci5nZXRBcnJheSgiUmFuZ2UiKTtyZXR1cm4gbmV3IExhYkNTKG8sYyxwKTtkZWZhdWx0Ondhcm4oYFVuaW1wbGVtZW50ZWQgQ29sb3JTcGFjZSBvYmplY3Q6ICR7c31gKTtyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXl9fXdhcm4oYFVucmVjb2duaXplZCBDb2xvclNwYWNlIG9iamVjdDogJHtlfWApO3JldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheX1zdGF0aWMgaXNEZWZhdWx0RGVjb2RlKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuITA7aWYoMip0IT09ZS5sZW5ndGgpe3dhcm4oIlRoZSBkZWNvZGUgbWFwIGlzIG5vdCB0aGUgY29ycmVjdCBsZW5ndGgiKTtyZXR1cm4hMH1mb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz0yKWlmKDAhPT1lW3RdfHwxIT09ZVt0KzFdKXJldHVybiExO3JldHVybiEwfXN0YXRpYyBnZXQgc2luZ2xldG9ucygpe3JldHVybiBzaGFkb3codGhpcywic2luZ2xldG9ucyIse2dldCBncmF5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJncmF5IixuZXcgRGV2aWNlR3JheUNTKX0sZ2V0IHJnYigpe3JldHVybiBzaGFkb3codGhpcywicmdiIixuZXcgRGV2aWNlUmdiQ1MpfSxnZXQgcmdiYSgpe3JldHVybiBzaGFkb3codGhpcywicmdiYSIsbmV3IERldmljZVJnYmFDUyl9LGdldCBjbXlrKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjbXlrIixuZXcgRGV2aWNlQ215a0NTKX19KX19Y2xhc3MgQWx0ZXJuYXRlQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiQWx0ZXJuYXRlIixlKTt0aGlzLmJhc2U9dDt0aGlzLnRpbnRGbj1pO3RoaXMudG1wQnVmPW5ldyBGbG9hdDMyQXJyYXkodC5udW1Db21wcyl9Z2V0UmdiSXRlbShlLHQsaSxhKXtjb25zdCBzPXRoaXMudG1wQnVmO3RoaXMudGludEZuKGUsdCxzLDApO3RoaXMuYmFzZS5nZXRSZ2JJdGVtKHMsMCxpLGEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPXRoaXMudGludEZuLG89dGhpcy5iYXNlLGM9MS8oKDE8PHIpLTEpLEM9by5udW1Db21wcyxoPW8udXNlc1plcm9Ub09uZVJhbmdlLGw9KG8uaXNQYXNzdGhyb3VnaCg4KXx8IWgpJiYwPT09bjtsZXQgUT1sP3M6MDtjb25zdCBFPWw/YTpuZXcgVWludDhDbGFtcGVkQXJyYXkoQyppKSx1PXRoaXMubnVtQ29tcHMsZD1uZXcgRmxvYXQzMkFycmF5KHUpLGY9bmV3IEZsb2F0MzJBcnJheShDKTtsZXQgcCxtO2ZvcihwPTA7cDxpO3ArKyl7Zm9yKG09MDttPHU7bSsrKWRbbV09ZVt0KytdKmM7ZyhkLDAsZiwwKTtpZihoKWZvcihtPTA7bTxDO20rKylFW1ErK109MjU1KmZbbV07ZWxzZXtvLmdldFJnYkl0ZW0oZiwwLEUsUSk7USs9Q319bHx8by5nZXRSZ2JCdWZmZXIoRSwwLGksYSxzLDgsbil9Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIHRoaXMuYmFzZS5nZXRPdXRwdXRMZW5ndGgoZSp0aGlzLmJhc2UubnVtQ29tcHMvdGhpcy5udW1Db21wcyx0KX19Y2xhc3MgUGF0dGVybkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigiUGF0dGVybiIsbnVsbCk7dGhpcy5iYXNlPWV9aXNEZWZhdWx0RGVjb2RlKGUsdCl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBQYXR0ZXJuQ1MuaXNEZWZhdWx0RGVjb2RlIil9fWNsYXNzIEluZGV4ZWRDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCJJbmRleGVkIiwxKTt0aGlzLmJhc2U9ZTt0aGlzLmhpZ2hWYWw9dDtjb25zdCBhPWUubnVtQ29tcHMqdDt0aGlzLmxvb2t1cD1uZXcgVWludDhBcnJheShhKTtpZihpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1pLmdldEJ5dGVzKGEpO3RoaXMubG9va3VwLnNldChlKX1lbHNle2lmKCJzdHJpbmciIT10eXBlb2YgaSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEluZGV4ZWRDUyAtIHVucmVjb2duaXplZCBsb29rdXAgdGFibGU6ICR7aX1gKTtmb3IobGV0IGU9MDtlPGE7KytlKXRoaXMubG9va3VwW2VdPTI1NSZpLmNoYXJDb2RlQXQoZSl9fWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLmJhc2UubnVtQ29tcHMscj1lW3RdKnM7dGhpcy5iYXNlLmdldFJnYkJ1ZmZlcih0aGlzLmxvb2t1cCxyLDEsaSxhLDgsMCl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9dGhpcy5iYXNlLG89Zy5udW1Db21wcyxjPWcuZ2V0T3V0cHV0TGVuZ3RoKG8sbiksQz10aGlzLmxvb2t1cDtmb3IobGV0IHI9MDtyPGk7KytyKXtjb25zdCBpPWVbdCsrXSpvO2cuZ2V0UmdiQnVmZmVyKEMsaSwxLGEscyw4LG4pO3MrPWN9fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzLHQpfWlzRGVmYXVsdERlY29kZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiEwO2lmKDIhPT1lLmxlbmd0aCl7d2FybigiRGVjb2RlIG1hcCBsZW5ndGggaXMgbm90IGNvcnJlY3QiKTtyZXR1cm4hMH1pZighTnVtYmVyLmlzSW50ZWdlcih0KXx8dDwxKXt3YXJuKCJCaXRzIHBlciBjb21wb25lbnQgaXMgbm90IGNvcnJlY3QiKTtyZXR1cm4hMH1yZXR1cm4gMD09PWVbMF0mJmVbMV09PT0oMTw8dCktMX19Y2xhc3MgRGV2aWNlR3JheUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VHcmF5IiwxKX1nZXRSZ2JJdGVtKGUsdCxpLGEpe2NvbnN0IHM9MjU1KmVbdF07aVthXT1pW2ErMV09aVthKzJdPXN9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9MjU1LygoMTw8ciktMSk7bGV0IG89dCxjPXM7Zm9yKGxldCB0PTA7dDxpOysrdCl7Y29uc3QgdD1nKmVbbysrXTthW2MrK109dDthW2MrK109dDthW2MrK109dDtjKz1ufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KX19Y2xhc3MgRGV2aWNlUmdiQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZVJHQiIsMyl9Z2V0UmdiSXRlbShlLHQsaSxhKXtpW2FdPTI1NSplW3RdO2lbYSsxXT0yNTUqZVt0KzFdO2lbYSsyXT0yNTUqZVt0KzJdfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtpZig4PT09ciYmMD09PW4pe2Euc2V0KGUuc3ViYXJyYXkodCx0KzMqaSkscyk7cmV0dXJufWNvbnN0IGc9MjU1LygoMTw8ciktMSk7bGV0IG89dCxjPXM7Zm9yKGxldCB0PTA7dDxpOysrdCl7YVtjKytdPWcqZVtvKytdO2FbYysrXT1nKmVbbysrXTthW2MrK109ZyplW28rK107Yys9bn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCkvM3wwfWlzUGFzc3Rocm91Z2goZSl7cmV0dXJuIDg9PT1lfX1jbGFzcyBEZXZpY2VSZ2JhQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZVJHQkEiLDQpfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiA0KmV9aXNQYXNzdGhyb3VnaChlKXtyZXR1cm4gOD09PWV9fWNsYXNzIERldmljZUNteWtDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlQ01ZSyIsNCl9I3QoZSx0LGksYSxzKXtjb25zdCByPWVbdF0qaSxuPWVbdCsxXSppLGc9ZVt0KzJdKmksbz1lW3QrM10qaTthW3NdPTI1NStyKigtNC4zODczMzIzODQ2MDk5ODgqcis1NC40ODYxNTE5NDE4OTE3NipuKzE4LjgyMjkwNTAyMTY1MzAyKmcrMjEyLjI1NjYyNDUxNjM5NTg1Km8tMjg1LjIzMzEwMjYxMzcwMDQpK24qKDEuNzE0OTc2MzQ3NzM2MjEzNCpuLTUuNjA5NjczNjkwNDA0NzMxNSpnKy0xNy44NzM4NzA4NjE0MTU0NDQqby01LjQ5NzAwNjQyNzE5NjM2NikrZyooLTIuNTIxNzM0MDEzMTY4MzAzMypnLTIxLjI0ODkyMzMzNzM1MzA3MypvKzE3LjUxMTkyNzA4NDE4MTMpK28qKC0yMS44NjEyMjE0NzQ2MzYwNSpvLTE4OS40ODE4MDgzNTkyMjc0Nyk7YVtzKzFdPTI1NStyKig4Ljg0MTA0MTQyMjAzNjE0OSpyKzYwLjExODAyNzA0NTU5NzM2NipuKzYuODcxNDI1NTkyMDQ5MDA3KmcrMzEuMTU5MTAwMTMwMDU1OTIyKm8tNzkuMjk3MDg0NDgxNjU0OCkrbiooLTE1LjMxMDM2MTMwNjk2NzgxNypuKzE3LjU3NTI1MTI2MTEwOTQ4MipnKzEzMS4zNTI1MDkxMjQ5Mzk3NipvLTE5MC45NDUzMzAyNTg4OTUxKStnKig0LjQ0NDMzOTEwMjg1MjczOSpnKzkuODYzMjg2MTQ5MzQwNSpvLTI0Ljg2NzQxNTgyNTU1ODc4KStvKigtMjAuNzM3MzI1NDcxMTgxMDM0Km8tMTg3LjgwNDUzNzA5NzE5NTc4KTthW3MrMl09MjU1K3IqKC44ODQyNTIyNDMwMDAzMjk2KnIrOC4wNzg2Nzc1MDMxMTI5MjgqbiszMC44OTk3ODMwOTcwMzcyOSpnLS4yMzg4MzIzODY4OTE3ODkzNCpvLTE0LjE4MzU3Njc5OTY3MzI4NikrbiooMTAuNDk1OTMyNzM0MzIwNzIqbis2My4wMjM3ODQ5NDc1NDA1MipnKzUwLjYwNjk1NzY1NjM2MDczNCpvLTExMi4yMzg4NDI1MzcxOTI0OCkrZyooLjAzMjk2MDQxMTE0ODczMjE3KmcrMTE1LjYwMzg0NDQ5NjQ2NjQxKm8tMTkzLjU4MjA5MzU2ODYxNTA1KStvKigtMjIuMzM4MTY4MDczMDk4ODYqby0xODAuMTI2MTM5NzQ3MDgzNjcpfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsMSxpLGEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPTEvKCgxPDxyKS0xKTtmb3IobGV0IHI9MDtyPGk7cisrKXt0aGlzLiN0KGUsdCxnLGEscyk7dCs9NDtzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlLzQqKDMrdCl8MH19Y2xhc3MgQ2FsR3JheUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoIkNhbEdyYXkiLDEpO2lmKCFlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbEdyYXkiKTtbdGhpcy5YVyx0aGlzLllXLHRoaXMuWlddPWU7W3RoaXMuWEIsdGhpcy5ZQix0aGlzLlpCXT10fHxbMCwwLDBdO3RoaXMuRz1pfHwxO2lmKHRoaXMuWFc8MHx8dGhpcy5aVzwwfHwxIT09dGhpcy5ZVyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgV2hpdGVQb2ludCBjb21wb25lbnRzIGZvciAke3RoaXMubmFtZX0sIG5vIGZhbGxiYWNrIGF2YWlsYWJsZWApO2lmKHRoaXMuWEI8MHx8dGhpcy5ZQjwwfHx0aGlzLlpCPDApe2luZm8oYEludmFsaWQgQmxhY2tQb2ludCBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLlhCPXRoaXMuWUI9dGhpcy5aQj0wfTA9PT10aGlzLlhCJiYwPT09dGhpcy5ZQiYmMD09PXRoaXMuWkJ8fHdhcm4oYCR7dGhpcy5uYW1lfSwgQmxhY2tQb2ludDogWEI6ICR7dGhpcy5YQn0sIFlCOiAke3RoaXMuWUJ9LCBaQjogJHt0aGlzLlpCfSwgb25seSBkZWZhdWx0IHZhbHVlcyBhcmUgc3VwcG9ydGVkLmApO2lmKHRoaXMuRzwxKXtpbmZvKGBJbnZhbGlkIEdhbW1hOiAke3RoaXMuR30gZm9yICR7dGhpcy5uYW1lfSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuYCk7dGhpcy5HPTF9fSN0KGUsdCxpLGEscyl7Y29uc3Qgcj0oZVt0XSpzKSoqdGhpcy5HLG49dGhpcy5ZVypyLGc9TWF0aC5tYXgoMjk1LjgqbioqLjMzMzMzMzMzMzMzMzMzMzMtNDAuOCwwKTtpW2FdPWc7aVthKzFdPWc7aVthKzJdPWd9Z2V0UmdiSXRlbShlLHQsaSxhKXt0aGlzLiN0KGUsdCxpLGEsMSl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9MS8oKDE8PHIpLTEpO2ZvcihsZXQgcj0wO3I8aTsrK3Ipe3RoaXMuI3QoZSx0LGEscyxnKTt0Kz0xO3MrPTMrbn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCl9fWNsYXNzIENhbFJHQkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtzdGF0aWMjaT1uZXcgRmxvYXQzMkFycmF5KFsuODk1MSwuMjY2NCwtLjE2MTQsLS43NTAyLDEuNzEzNSwuMDM2NywuMDM4OSwtLjA2ODUsMS4wMjk2XSk7c3RhdGljI2E9bmV3IEZsb2F0MzJBcnJheShbLjk4Njk5MjksLS4xNDcwNTQzLC4xNTk5NjI3LC40MzIzMDUzLC41MTgzNjAzLC4wNDkyOTEyLC0uMDA4NTI4NywuMDQwMDQyOCwuOTY4NDg2N10pO3N0YXRpYyNzPW5ldyBGbG9hdDMyQXJyYXkoWzMuMjQwNDU0MiwtMS41MzcxMzg1LC0uNDk4NTMxNCwtLjk2OTI2NiwxLjg3NjAxMDgsLjA0MTU1NiwuMDU1NjQzNCwtLjIwNDAyNTksMS4wNTcyMjUyXSk7c3RhdGljI3I9bmV3IEZsb2F0MzJBcnJheShbMSwxLDFdKTtzdGF0aWMjbj1uZXcgRmxvYXQzMkFycmF5KDMpO3N0YXRpYyNnPW5ldyBGbG9hdDMyQXJyYXkoMyk7c3RhdGljI289bmV3IEZsb2F0MzJBcnJheSgzKTtzdGF0aWMjST0oMjQvMTE2KSoqMy84O2NvbnN0cnVjdG9yKGUsdCxpLGEpe3N1cGVyKCJDYWxSR0IiLDMpO2lmKCFlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIENhbFJHQiIpO2NvbnN0W3MscixuXT10aGlzLndoaXRlUG9pbnQ9ZSxbZyxvLGNdPXRoaXMuYmxhY2tQb2ludD10fHxuZXcgRmxvYXQzMkFycmF5KDMpO1t0aGlzLkdSLHRoaXMuR0csdGhpcy5HQl09aXx8bmV3IEZsb2F0MzJBcnJheShbMSwxLDFdKTtbdGhpcy5NWEEsdGhpcy5NWUEsdGhpcy5NWkEsdGhpcy5NWEIsdGhpcy5NWUIsdGhpcy5NWkIsdGhpcy5NWEMsdGhpcy5NWUMsdGhpcy5NWkNdPWF8fG5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMSwwLDAsMCwxXSk7aWYoczwwfHxuPDB8fDEhPT1yKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBXaGl0ZVBvaW50IGNvbXBvbmVudHMgZm9yICR7dGhpcy5uYW1lfSwgbm8gZmFsbGJhY2sgYXZhaWxhYmxlYCk7aWYoZzwwfHxvPDB8fGM8MCl7aW5mbyhgSW52YWxpZCBCbGFja1BvaW50IGZvciAke3RoaXMubmFtZX0gWyR7Z30sICR7b30sICR7Y31dLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLmJsYWNrUG9pbnQ9bmV3IEZsb2F0MzJBcnJheSgzKX1pZih0aGlzLkdSPDB8fHRoaXMuR0c8MHx8dGhpcy5HQjwwKXtpbmZvKGBJbnZhbGlkIEdhbW1hIFske3RoaXMuR1J9LCAke3RoaXMuR0d9LCAke3RoaXMuR0J9XSBmb3IgJHt0aGlzLm5hbWV9LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdC5gKTt0aGlzLkdSPXRoaXMuR0c9dGhpcy5HQj0xfX0jYyhlLHQsaSl7aVswXT1lWzBdKnRbMF0rZVsxXSp0WzFdK2VbMl0qdFsyXTtpWzFdPWVbM10qdFswXStlWzRdKnRbMV0rZVs1XSp0WzJdO2lbMl09ZVs2XSp0WzBdK2VbN10qdFsxXStlWzhdKnRbMl19I0MoZSx0LGkpe2lbMF09MSp0WzBdL2VbMF07aVsxXT0xKnRbMV0vZVsxXTtpWzJdPTEqdFsyXS9lWzJdfSNoKGUsdCxpKXtpWzBdPS45NTA0Nyp0WzBdL2VbMF07aVsxXT0xKnRbMV0vZVsxXTtpWzJdPTEuMDg4ODMqdFsyXS9lWzJdfSNCKGUpe3JldHVybiBlPD0uMDAzMTMwOD90aGlzLiNsKDAsMSwxMi45MiplKTplPj0uOTk1NTQ1MjU/MTp0aGlzLiNsKDAsMSwxLjA1NSplKiooMS8yLjQpLS4wNTUpfSNsKGUsdCxpKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbih0LGkpKX0jUShlKXtyZXR1cm4gZTwwPy10aGlzLiNRKC1lKTplPjg/KChlKzE2KS8xMTYpKiozOmUqQ2FsUkdCQ1MuI0l9I0UoZSx0LGkpe2lmKDA9PT1lWzBdJiYwPT09ZVsxXSYmMD09PWVbMl0pe2lbMF09dFswXTtpWzFdPXRbMV07aVsyXT10WzJdO3JldHVybn1jb25zdCBhPXRoaXMuI1EoMCkscz0oMS1hKS8oMS10aGlzLiNRKGVbMF0pKSxyPTEtcyxuPSgxLWEpLygxLXRoaXMuI1EoZVsxXSkpLGc9MS1uLG89KDEtYSkvKDEtdGhpcy4jUShlWzJdKSksYz0xLW87aVswXT10WzBdKnMrcjtpWzFdPXRbMV0qbitnO2lbMl09dFsyXSpvK2N9I3UoZSx0LGkpe2lmKDE9PT1lWzBdJiYxPT09ZVsyXSl7aVswXT10WzBdO2lbMV09dFsxXTtpWzJdPXRbMl07cmV0dXJufWNvbnN0IGE9aTt0aGlzLiNjKENhbFJHQkNTLiNpLHQsYSk7Y29uc3Qgcz1DYWxSR0JDUy4jbjt0aGlzLiNDKGUsYSxzKTt0aGlzLiNjKENhbFJHQkNTLiNhLHMsaSl9I2QoZSx0LGkpe2NvbnN0IGE9aTt0aGlzLiNjKENhbFJHQkNTLiNpLHQsYSk7Y29uc3Qgcz1DYWxSR0JDUy4jbjt0aGlzLiNoKGUsYSxzKTt0aGlzLiNjKENhbFJHQkNTLiNhLHMsaSl9I3QoZSx0LGksYSxzKXtjb25zdCByPXRoaXMuI2woMCwxLGVbdF0qcyksbj10aGlzLiNsKDAsMSxlW3QrMV0qcyksZz10aGlzLiNsKDAsMSxlW3QrMl0qcyksbz0xPT09cj8xOnIqKnRoaXMuR1IsYz0xPT09bj8xOm4qKnRoaXMuR0csQz0xPT09Zz8xOmcqKnRoaXMuR0IsaD10aGlzLk1YQSpvK3RoaXMuTVhCKmMrdGhpcy5NWEMqQyxsPXRoaXMuTVlBKm8rdGhpcy5NWUIqYyt0aGlzLk1ZQypDLFE9dGhpcy5NWkEqbyt0aGlzLk1aQipjK3RoaXMuTVpDKkMsRT1DYWxSR0JDUy4jZztFWzBdPWg7RVsxXT1sO0VbMl09UTtjb25zdCB1PUNhbFJHQkNTLiNvO3RoaXMuI3UodGhpcy53aGl0ZVBvaW50LEUsdSk7Y29uc3QgZD1DYWxSR0JDUy4jZzt0aGlzLiNFKHRoaXMuYmxhY2tQb2ludCx1LGQpO2NvbnN0IGY9Q2FsUkdCQ1MuI287dGhpcy4jZChDYWxSR0JDUy4jcixkLGYpO2NvbnN0IHA9Q2FsUkdCQ1MuI2c7dGhpcy4jYyhDYWxSR0JDUy4jcyxmLHApO2lbYV09MjU1KnRoaXMuI0IocFswXSk7aVthKzFdPTI1NSp0aGlzLiNCKHBbMV0pO2lbYSsyXT0yNTUqdGhpcy4jQihwWzJdKX1nZXRSZ2JJdGVtKGUsdCxpLGEpe3RoaXMuI3QoZSx0LGksYSwxKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0xLygoMTw8ciktMSk7Zm9yKGxldCByPTA7cjxpOysrcil7dGhpcy4jdChlLHQsYSxzLGcpO3QrPTM7cys9MytufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9fWNsYXNzIExhYkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoIkxhYiIsMyk7aWYoIWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJXaGl0ZVBvaW50IG1pc3NpbmcgLSByZXF1aXJlZCBmb3IgY29sb3Igc3BhY2UgTGFiIik7W3RoaXMuWFcsdGhpcy5ZVyx0aGlzLlpXXT1lO1t0aGlzLmFtaW4sdGhpcy5hbWF4LHRoaXMuYm1pbix0aGlzLmJtYXhdPWl8fFstMTAwLDEwMCwtMTAwLDEwMF07W3RoaXMuWEIsdGhpcy5ZQix0aGlzLlpCXT10fHxbMCwwLDBdO2lmKHRoaXMuWFc8MHx8dGhpcy5aVzwwfHwxIT09dGhpcy5ZVyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgV2hpdGVQb2ludCBjb21wb25lbnRzLCBubyBmYWxsYmFjayBhdmFpbGFibGUiKTtpZih0aGlzLlhCPDB8fHRoaXMuWUI8MHx8dGhpcy5aQjwwKXtpbmZvKCJJbnZhbGlkIEJsYWNrUG9pbnQsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0Iik7dGhpcy5YQj10aGlzLllCPXRoaXMuWkI9MH1pZih0aGlzLmFtaW4+dGhpcy5hbWF4fHx0aGlzLmJtaW4+dGhpcy5ibWF4KXtpbmZvKCJJbnZhbGlkIFJhbmdlLCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdHMiKTt0aGlzLmFtaW49LTEwMDt0aGlzLmFtYXg9MTAwO3RoaXMuYm1pbj0tMTAwO3RoaXMuYm1heD0xMDB9fSNmKGUpe3JldHVybiBlPj02LzI5P2UqKjM6MTA4Lzg0MSooZS00LzI5KX0jcChlLHQsaSxhKXtyZXR1cm4gaStlKihhLWkpL3R9I3QoZSx0LGksYSxzKXtsZXQgcj1lW3RdLG49ZVt0KzFdLGc9ZVt0KzJdO2lmKCExIT09aSl7cj10aGlzLiNwKHIsaSwwLDEwMCk7bj10aGlzLiNwKG4saSx0aGlzLmFtaW4sdGhpcy5hbWF4KTtnPXRoaXMuI3AoZyxpLHRoaXMuYm1pbix0aGlzLmJtYXgpfW4+dGhpcy5hbWF4P249dGhpcy5hbWF4Om48dGhpcy5hbWluJiYobj10aGlzLmFtaW4pO2c+dGhpcy5ibWF4P2c9dGhpcy5ibWF4Omc8dGhpcy5ibWluJiYoZz10aGlzLmJtaW4pO2NvbnN0IG89KHIrMTYpLzExNixjPW8rbi81MDAsQz1vLWcvMjAwLGg9dGhpcy5YVyp0aGlzLiNmKGMpLGw9dGhpcy5ZVyp0aGlzLiNmKG8pLFE9dGhpcy5aVyp0aGlzLiNmKEMpO2xldCBFLHUsZDtpZih0aGlzLlpXPDEpe0U9My4xMzM5KmgrLTEuNjE3KmwrLS40OTA2KlE7dT0tLjk3ODUqaCsxLjkxNipsKy4wMzMzKlE7ZD0uMDcyKmgrLS4yMjkqbCsxLjQwNTcqUX1lbHNle0U9My4yNDA2KmgrLTEuNTM3MipsKy0uNDk4NipRO3U9LS45Njg5KmgrMS44NzU4KmwrLjA0MTUqUTtkPS4wNTU3KmgrLS4yMDQqbCsxLjA1NypRfWFbc109MjU1Kk1hdGguc3FydChFKTthW3MrMV09MjU1Kk1hdGguc3FydCh1KTthW3MrMl09MjU1Kk1hdGguc3FydChkKX1nZXRSZ2JJdGVtKGUsdCxpLGEpe3RoaXMuI3QoZSx0LCExLGksYSl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9KDE8PHIpLTE7Zm9yKGxldCByPTA7cjxpO3IrKyl7dGhpcy4jdChlLHQsZyxhLHMpO3QrPTM7cys9MytufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZSooMyt0KS8zfDB9aXNEZWZhdWx0RGVjb2RlKGUsdCl7cmV0dXJuITB9Z2V0IHVzZXNaZXJvVG9PbmVSYW5nZSgpe3JldHVybiBzaGFkb3codGhpcywidXNlc1plcm9Ub09uZVJhbmdlIiwhMSl9fWZ1bmN0aW9uIGhleFRvSW50KGUsdCl7bGV0IGk9MDtmb3IobGV0IGE9MDthPD10O2ErKylpPWk8PDh8ZVthXTtyZXR1cm4gaT4+PjB9ZnVuY3Rpb24gaGV4VG9TdHIoZSx0KXtyZXR1cm4gMT09PXQ/U3RyaW5nLmZyb21DaGFyQ29kZShlWzBdLGVbMV0pOjM9PT10P1N0cmluZy5mcm9tQ2hhckNvZGUoZVswXSxlWzFdLGVbMl0sZVszXSk6U3RyaW5nLmZyb21DaGFyQ29kZSguLi5lLnN1YmFycmF5KDAsdCsxKSl9ZnVuY3Rpb24gYWRkSGV4KGUsdCxpKXtsZXQgYT0wO2ZvcihsZXQgcz1pO3M+PTA7cy0tKXthKz1lW3NdK3Rbc107ZVtzXT0yNTUmYTthPj49OH19ZnVuY3Rpb24gaW5jSGV4KGUsdCl7bGV0IGk9MTtmb3IobGV0IGE9dDthPj0wJiZpPjA7YS0tKXtpKz1lW2FdO2VbYV09MjU1Jmk7aT4+PTh9fWNvbnN0IEd0PTE2O2NsYXNzIEJpbmFyeUNNYXBTdHJlYW17Y29uc3RydWN0b3IoZSl7dGhpcy5idWZmZXI9ZTt0aGlzLnBvcz0wO3RoaXMuZW5kPWUubGVuZ3RoO3RoaXMudG1wQnVmPW5ldyBVaW50OEFycmF5KDE5KX1yZWFkQnl0ZSgpe3JldHVybiB0aGlzLnBvcz49dGhpcy5lbmQ/LTE6dGhpcy5idWZmZXJbdGhpcy5wb3MrK119cmVhZE51bWJlcigpe2xldCBlLHQ9MDtkb3tjb25zdCBpPXRoaXMucmVhZEJ5dGUoKTtpZihpPDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bmV4cGVjdGVkIEVPRiBpbiBiY21hcCIpO2U9ISgxMjgmaSk7dD10PDw3fDEyNyZpfXdoaWxlKCFlKTtyZXR1cm4gdH1yZWFkU2lnbmVkKCl7Y29uc3QgZT10aGlzLnJlYWROdW1iZXIoKTtyZXR1cm4gMSZlP34oZT4+PjEpOmU+Pj4xfXJlYWRIZXgoZSx0KXtlLnNldCh0aGlzLmJ1ZmZlci5zdWJhcnJheSh0aGlzLnBvcyx0aGlzLnBvcyt0KzEpKTt0aGlzLnBvcys9dCsxfXJlYWRIZXhOdW1iZXIoZSx0KXtsZXQgaTtjb25zdCBhPXRoaXMudG1wQnVmO2xldCBzPTA7ZG97Y29uc3QgZT10aGlzLnJlYWRCeXRlKCk7aWYoZTwwKXRocm93IG5ldyBGb3JtYXRFcnJvcigidW5leHBlY3RlZCBFT0YgaW4gYmNtYXAiKTtpPSEoMTI4JmUpO2FbcysrXT0xMjcmZX13aGlsZSghaSk7bGV0IHI9dCxuPTAsZz0wO2Zvcig7cj49MDspe2Zvcig7Zzw4JiZhLmxlbmd0aD4wOyl7bnw9YVstLXNdPDxnO2crPTd9ZVtyXT0yNTUmbjtyLS07bj4+PTg7Zy09OH19cmVhZEhleFNpZ25lZChlLHQpe3RoaXMucmVhZEhleE51bWJlcihlLHQpO2NvbnN0IGk9MSZlW3RdPzI1NTowO2xldCBhPTA7Zm9yKGxldCBzPTA7czw9dDtzKyspe2E9KDEmYSk8PDh8ZVtzXTtlW3NdPWE+PjFeaX19cmVhZFN0cmluZygpe2NvbnN0IGU9dGhpcy5yZWFkTnVtYmVyKCksdD1uZXcgQXJyYXkoZSk7Zm9yKGxldCBpPTA7aTxlO2krKyl0W2ldPXRoaXMucmVhZE51bWJlcigpO3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnQpfX1jbGFzcyBCaW5hcnlDTWFwUmVhZGVye2FzeW5jIHByb2Nlc3MoZSx0LGkpe2NvbnN0IGE9bmV3IEJpbmFyeUNNYXBTdHJlYW0oZSkscz1hLnJlYWRCeXRlKCk7dC52ZXJ0aWNhbD0hISgxJnMpO2xldCByPW51bGw7Y29uc3Qgbj1uZXcgVWludDhBcnJheShHdCksZz1uZXcgVWludDhBcnJheShHdCksbz1uZXcgVWludDhBcnJheShHdCksYz1uZXcgVWludDhBcnJheShHdCksQz1uZXcgVWludDhBcnJheShHdCk7bGV0IGgsbDtmb3IoOyhsPWEucmVhZEJ5dGUoKSk+PTA7KXtjb25zdCBlPWw+PjU7aWYoNz09PWUpe3N3aXRjaCgzMSZsKXtjYXNlIDA6YS5yZWFkU3RyaW5nKCk7YnJlYWs7Y2FzZSAxOnI9YS5yZWFkU3RyaW5nKCl9Y29udGludWV9Y29uc3QgaT0hISgxNiZsKSxzPTE1Jmw7aWYocysxPkd0KXRocm93IG5ldyBFcnJvcigiQmluYXJ5Q01hcFJlYWRlci5wcm9jZXNzOiBJbnZhbGlkIGRhdGFTaXplLiIpO2NvbnN0IFE9MSxFPWEucmVhZE51bWJlcigpO3N3aXRjaChlKXtjYXNlIDA6YS5yZWFkSGV4KG4scyk7YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTt0LmFkZENvZGVzcGFjZVJhbmdlKHMrMSxoZXhUb0ludChuLHMpLGhleFRvSW50KGcscykpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChnLHMpO2EucmVhZEhleE51bWJlcihuLHMpO2FkZEhleChuLGcscyk7YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTt0LmFkZENvZGVzcGFjZVJhbmdlKHMrMSxoZXhUb0ludChuLHMpLGhleFRvSW50KGcscykpfWJyZWFrO2Nhc2UgMTphLnJlYWRIZXgobixzKTthLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2EucmVhZE51bWJlcigpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChnLHMpO2EucmVhZEhleE51bWJlcihuLHMpO2FkZEhleChuLGcscyk7YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTthLnJlYWROdW1iZXIoKX1icmVhaztjYXNlIDI6YS5yZWFkSGV4KG8scyk7aD1hLnJlYWROdW1iZXIoKTt0Lm1hcE9uZShoZXhUb0ludChvLHMpLGgpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChvLHMpO2lmKCFpKXthLnJlYWRIZXhOdW1iZXIoQyxzKTthZGRIZXgobyxDLHMpfWg9YS5yZWFkU2lnbmVkKCkrKGgrMSk7dC5tYXBPbmUoaGV4VG9JbnQobyxzKSxoKX1icmVhaztjYXNlIDM6YS5yZWFkSGV4KG4scyk7YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTtoPWEucmVhZE51bWJlcigpO3QubWFwQ2lkUmFuZ2UoaGV4VG9JbnQobixzKSxoZXhUb0ludChnLHMpLGgpO2ZvcihsZXQgZT0xO2U8RTtlKyspe2luY0hleChnLHMpO2lmKGkpbi5zZXQoZyk7ZWxzZXthLnJlYWRIZXhOdW1iZXIobixzKTthZGRIZXgobixnLHMpfWEucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7aD1hLnJlYWROdW1iZXIoKTt0Lm1hcENpZFJhbmdlKGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSxoKX1icmVhaztjYXNlIDQ6YS5yZWFkSGV4KG8sUSk7YS5yZWFkSGV4KGMscyk7dC5tYXBPbmUoaGV4VG9JbnQobyxRKSxoZXhUb1N0cihjLHMpKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgobyxRKTtpZighaSl7YS5yZWFkSGV4TnVtYmVyKEMsUSk7YWRkSGV4KG8sQyxRKX1pbmNIZXgoYyxzKTthLnJlYWRIZXhTaWduZWQoQyxzKTthZGRIZXgoYyxDLHMpO3QubWFwT25lKGhleFRvSW50KG8sUSksaGV4VG9TdHIoYyxzKSl9YnJlYWs7Y2FzZSA1OmEucmVhZEhleChuLFEpO2EucmVhZEhleE51bWJlcihnLFEpO2FkZEhleChnLG4sUSk7YS5yZWFkSGV4KGMscyk7dC5tYXBCZlJhbmdlKGhleFRvSW50KG4sUSksaGV4VG9JbnQoZyxRKSxoZXhUb1N0cihjLHMpKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgoZyxRKTtpZihpKW4uc2V0KGcpO2Vsc2V7YS5yZWFkSGV4TnVtYmVyKG4sUSk7YWRkSGV4KG4sZyxRKX1hLnJlYWRIZXhOdW1iZXIoZyxRKTthZGRIZXgoZyxuLFEpO2EucmVhZEhleChjLHMpO3QubWFwQmZSYW5nZShoZXhUb0ludChuLFEpLGhleFRvSW50KGcsUSksaGV4VG9TdHIoYyxzKSl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYEJpbmFyeUNNYXBSZWFkZXIucHJvY2VzcyAtIHVua25vd24gdHlwZTogJHtlfWApfX1yZXR1cm4gcj9pKHIpOnR9fWNvbnN0IHh0PW5ldyBVaW50OEFycmF5KDApO2NsYXNzIERlY29kZVN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoKTt0aGlzLl9yYXdNaW5CdWZmZXJMZW5ndGg9ZXx8MDt0aGlzLnBvcz0wO3RoaXMuYnVmZmVyTGVuZ3RoPTA7dGhpcy5lb2Y9ITE7dGhpcy5idWZmZXI9eHQ7dGhpcy5taW5CdWZmZXJMZW5ndGg9NTEyO2lmKGUpZm9yKDt0aGlzLm1pbkJ1ZmZlckxlbmd0aDxlOyl0aGlzLm1pbkJ1ZmZlckxlbmd0aCo9Mn1nZXQgaXNFbXB0eSgpe2Zvcig7IXRoaXMuZW9mJiYwPT09dGhpcy5idWZmZXJMZW5ndGg7KXRoaXMucmVhZEJsb2NrKCk7cmV0dXJuIDA9PT10aGlzLmJ1ZmZlckxlbmd0aH1lbnN1cmVCdWZmZXIoZSl7Y29uc3QgdD10aGlzLmJ1ZmZlcjtpZihlPD10LmJ5dGVMZW5ndGgpcmV0dXJuIHQ7bGV0IGk9dGhpcy5taW5CdWZmZXJMZW5ndGg7Zm9yKDtpPGU7KWkqPTI7Y29uc3QgYT1uZXcgVWludDhBcnJheShpKTthLnNldCh0KTtyZXR1cm4gdGhpcy5idWZmZXI9YX1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztmb3IoO3RoaXMuYnVmZmVyTGVuZ3RoPD1lOyl7aWYodGhpcy5lb2YpcmV0dXJuLTE7dGhpcy5yZWFkQmxvY2soKX1yZXR1cm4gdGhpcy5idWZmZXJbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSx0PW51bGwpe2NvbnN0IGk9dGhpcy5wb3M7bGV0IGE7aWYoZSl7dGhpcy5lbnN1cmVCdWZmZXIoaStlKTthPWkrZTtmb3IoOyF0aGlzLmVvZiYmdGhpcy5idWZmZXJMZW5ndGg8YTspdGhpcy5yZWFkQmxvY2sodCk7Y29uc3Qgcz10aGlzLmJ1ZmZlckxlbmd0aDthPnMmJihhPXMpfWVsc2V7Zm9yKDshdGhpcy5lb2Y7KXRoaXMucmVhZEJsb2NrKHQpO2E9dGhpcy5idWZmZXJMZW5ndGh9dGhpcy5wb3M9YTtyZXR1cm4gdGhpcy5idWZmZXIuc3ViYXJyYXkoaSxhKX1hc3luYyBnZXRJbWFnZURhdGEoZSx0PW51bGwpe2lmKCF0aGlzLmNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKXJldHVybiB0aGlzLmdldEJ5dGVzKGUsdCk7Y29uc3QgaT1hd2FpdCB0aGlzLnN0cmVhbS5hc3luY0dldEJ5dGVzKCk7cmV0dXJuIHRoaXMuZGVjb2RlSW1hZ2UoaSx0KX1yZXNldCgpe3RoaXMucG9zPTB9bWFrZVN1YlN0cmVhbShlLHQsaT1udWxsKXtpZih2b2lkIDA9PT10KWZvcig7IXRoaXMuZW9mOyl0aGlzLnJlYWRCbG9jaygpO2Vsc2V7Y29uc3QgaT1lK3Q7Zm9yKDt0aGlzLmJ1ZmZlckxlbmd0aDw9aSYmIXRoaXMuZW9mOyl0aGlzLnJlYWRCbG9jaygpfXJldHVybiBuZXcgU3RyZWFtKHRoaXMuYnVmZmVyLGUsdCxpKX1nZXRCYXNlU3RyZWFtcygpe3JldHVybiB0aGlzLnN0cj90aGlzLnN0ci5nZXRCYXNlU3RyZWFtcygpOm51bGx9fWNsYXNzIFN0cmVhbXNTZXF1ZW5jZVN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQ9bnVsbCl7bGV0IGk9MDtmb3IoY29uc3QgdCBvZiBlKWkrPXQgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0/dC5fcmF3TWluQnVmZmVyTGVuZ3RoOnQubGVuZ3RoO3N1cGVyKGkpO3RoaXMuc3RyZWFtcz1lO3RoaXMuX29uRXJyb3I9dH1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyZWFtcztpZigwPT09ZS5sZW5ndGgpe3RoaXMuZW9mPSEwO3JldHVybn1jb25zdCB0PWUuc2hpZnQoKTtsZXQgaTt0cnl7aT10LmdldEJ5dGVzKCl9Y2F0Y2goZSl7aWYodGhpcy5fb25FcnJvcil7dGhpcy5fb25FcnJvcihlLHQuZGljdD8ub2JqSWQpO3JldHVybn10aHJvdyBlfWNvbnN0IGE9dGhpcy5idWZmZXJMZW5ndGgscz1hK2kubGVuZ3RoO3RoaXMuZW5zdXJlQnVmZmVyKHMpLnNldChpLGEpO3RoaXMuYnVmZmVyTGVuZ3RoPXN9Z2V0QmFzZVN0cmVhbXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuc3RyZWFtcyl7Y29uc3QgaT10LmdldEJhc2VTdHJlYW1zKCk7aSYmZS5wdXNoKC4uLmkpfXJldHVybiBlLmxlbmd0aD4wP2U6bnVsbH19Y2xhc3MgQXNjaWk4NVN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3QmJih0Kj0uOCk7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoNSl9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0cjtsZXQgdD1lLmdldEJ5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZSh0KTspdD1lLmdldEJ5dGUoKTtpZigtMT09PXR8fDEyNj09PXQpe3RoaXMuZW9mPSEwO3JldHVybn1jb25zdCBpPXRoaXMuYnVmZmVyTGVuZ3RoO2xldCBhLHM7aWYoMTIyPT09dCl7YT10aGlzLmVuc3VyZUJ1ZmZlcihpKzQpO2ZvcihzPTA7czw0OysrcylhW2krc109MDt0aGlzLmJ1ZmZlckxlbmd0aCs9NH1lbHNle2NvbnN0IHI9dGhpcy5pbnB1dDtyWzBdPXQ7Zm9yKHM9MTtzPDU7KytzKXt0PWUuZ2V0Qnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKHQpOyl0PWUuZ2V0Qnl0ZSgpO3Jbc109dDtpZigtMT09PXR8fDEyNj09PXQpYnJlYWt9YT10aGlzLmVuc3VyZUJ1ZmZlcihpK3MtMSk7dGhpcy5idWZmZXJMZW5ndGgrPXMtMTtpZihzPDUpe2Zvcig7czw1OysrcylyW3NdPTExNzt0aGlzLmVvZj0hMH1sZXQgbj0wO2ZvcihzPTA7czw1OysrcyluPTg1Km4rKHJbc10tMzMpO2ZvcihzPTM7cz49MDstLXMpe2FbaStzXT0yNTUmbjtuPj49OH19fX1jbGFzcyBBc2NpaUhleFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3QmJih0Kj0uNSk7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuZmlyc3REaWdpdD0tMX1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKDhlMyk7aWYoIWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgdD1lLmxlbmd0aCsxPj4xLGk9dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrdCk7bGV0IGE9dGhpcy5idWZmZXJMZW5ndGgscz10aGlzLmZpcnN0RGlnaXQ7Zm9yKGNvbnN0IHQgb2YgZSl7bGV0IGU7aWYodD49NDgmJnQ8PTU3KWU9MTUmdDtlbHNle2lmKCEodD49NjUmJnQ8PTcwfHx0Pj05NyYmdDw9MTAyKSl7aWYoNjI9PT10KXt0aGlzLmVvZj0hMDticmVha31jb250aW51ZX1lPTkrKDE1JnQpfWlmKHM8MClzPWU7ZWxzZXtpW2ErK109czw8NHxlO3M9LTF9fWlmKHM+PTAmJnRoaXMuZW9mKXtpW2ErK109czw8NDtzPS0xfXRoaXMuZmlyc3REaWdpdD1zO3RoaXMuYnVmZmVyTGVuZ3RoPWF9fWNvbnN0IFV0PS0xLE10PVtbLTEsLTFdLFstMSwtMV0sWzcsOF0sWzcsN10sWzYsNl0sWzYsNl0sWzYsNV0sWzYsNV0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzQsMF0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsMV0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsNF0sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzMsM10sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl0sWzEsMl1dLEx0PVtbLTEsLTFdLFsxMiwtMl0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzEyLDE5ODRdLFsxMiwyMDQ4XSxbMTIsMjExMl0sWzEyLDIxNzZdLFsxMiwyMjQwXSxbMTIsMjMwNF0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMiwyMzY4XSxbMTIsMjQzMl0sWzEyLDI0OTZdLFsxMiwyNTYwXV0sSHQ9W1stMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWzgsMjldLFs4LDI5XSxbOCwzMF0sWzgsMzBdLFs4LDQ1XSxbOCw0NV0sWzgsNDZdLFs4LDQ2XSxbNywyMl0sWzcsMjJdLFs3LDIyXSxbNywyMl0sWzcsMjNdLFs3LDIzXSxbNywyM10sWzcsMjNdLFs4LDQ3XSxbOCw0N10sWzgsNDhdLFs4LDQ4XSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs3LDIwXSxbNywyMF0sWzcsMjBdLFs3LDIwXSxbOCwzM10sWzgsMzNdLFs4LDM0XSxbOCwzNF0sWzgsMzVdLFs4LDM1XSxbOCwzNl0sWzgsMzZdLFs4LDM3XSxbOCwzN10sWzgsMzhdLFs4LDM4XSxbNywxOV0sWzcsMTldLFs3LDE5XSxbNywxOV0sWzgsMzFdLFs4LDMxXSxbOCwzMl0sWzgsMzJdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDFdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzgsNTNdLFs4LDUzXSxbOCw1NF0sWzgsNTRdLFs3LDI2XSxbNywyNl0sWzcsMjZdLFs3LDI2XSxbOCwzOV0sWzgsMzldLFs4LDQwXSxbOCw0MF0sWzgsNDFdLFs4LDQxXSxbOCw0Ml0sWzgsNDJdLFs4LDQzXSxbOCw0M10sWzgsNDRdLFs4LDQ0XSxbNywyMV0sWzcsMjFdLFs3LDIxXSxbNywyMV0sWzcsMjhdLFs3LDI4XSxbNywyOF0sWzcsMjhdLFs4LDYxXSxbOCw2MV0sWzgsNjJdLFs4LDYyXSxbOCw2M10sWzgsNjNdLFs4LDBdLFs4LDBdLFs4LDMyMF0sWzgsMzIwXSxbOCwzODRdLFs4LDM4NF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNywyN10sWzcsMjddLFs3LDI3XSxbNywyN10sWzgsNTldLFs4LDU5XSxbOCw2MF0sWzgsNjBdLFs5LDE0NzJdLFs5LDE1MzZdLFs5LDE2MDBdLFs5LDE3MjhdLFs3LDE4XSxbNywxOF0sWzcsMThdLFs3LDE4XSxbNywyNF0sWzcsMjRdLFs3LDI0XSxbNywyNF0sWzgsNDldLFs4LDQ5XSxbOCw1MF0sWzgsNTBdLFs4LDUxXSxbOCw1MV0sWzgsNTJdLFs4LDUyXSxbNywyNV0sWzcsMjVdLFs3LDI1XSxbNywyNV0sWzgsNTVdLFs4LDU1XSxbOCw1Nl0sWzgsNTZdLFs4LDU3XSxbOCw1N10sWzgsNThdLFs4LDU4XSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzYsMTY2NF0sWzgsNDQ4XSxbOCw0NDhdLFs4LDUxMl0sWzgsNTEyXSxbOSw3MDRdLFs5LDc2OF0sWzgsNjQwXSxbOCw2NDBdLFs4LDU3Nl0sWzgsNTc2XSxbOSw4MzJdLFs5LDg5Nl0sWzksOTYwXSxbOSwxMDI0XSxbOSwxMDg4XSxbOSwxMTUyXSxbOSwxMjE2XSxbOSwxMjgwXSxbOSwxMzQ0XSxbOSwxNDA4XSxbNywyNTZdLFs3LDI1Nl0sWzcsMjU2XSxbNywyNTZdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDJdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs0LDNdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOF0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzUsOV0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDRdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsNl0sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN10sWzQsN11dLEp0PVtbLTEsLTFdLFstMSwtMV0sWzEyLC0yXSxbMTIsLTJdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWzExLDE3OTJdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMiwxOTg0XSxbMTIsMTk4NF0sWzEyLDIwNDhdLFsxMiwyMDQ4XSxbMTIsMjExMl0sWzEyLDIxMTJdLFsxMiwyMTc2XSxbMTIsMjE3Nl0sWzEyLDIyNDBdLFsxMiwyMjQwXSxbMTIsMjMwNF0sWzEyLDIzMDRdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTEsMTkyMF0sWzEyLDIzNjhdLFsxMiwyMzY4XSxbMTIsMjQzMl0sWzEyLDI0MzJdLFsxMiwyNDk2XSxbMTIsMjQ5Nl0sWzEyLDI1NjBdLFsxMiwyNTYwXSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEyLDUyXSxbMTIsNTJdLFsxMyw2NDBdLFsxMyw3MDRdLFsxMyw3NjhdLFsxMyw4MzJdLFsxMiw1NV0sWzEyLDU1XSxbMTIsNTZdLFsxMiw1Nl0sWzEzLDEyODBdLFsxMywxMzQ0XSxbMTMsMTQwOF0sWzEzLDE0NzJdLFsxMiw1OV0sWzEyLDU5XSxbMTIsNjBdLFsxMiw2MF0sWzEzLDE1MzZdLFsxMywxNjAwXSxbMTEsMjRdLFsxMSwyNF0sWzExLDI0XSxbMTEsMjRdLFsxMSwyNV0sWzExLDI1XSxbMTEsMjVdLFsxMSwyNV0sWzEzLDE2NjRdLFsxMywxNzI4XSxbMTIsMzIwXSxbMTIsMzIwXSxbMTIsMzg0XSxbMTIsMzg0XSxbMTIsNDQ4XSxbMTIsNDQ4XSxbMTMsNTEyXSxbMTMsNTc2XSxbMTIsNTNdLFsxMiw1M10sWzEyLDU0XSxbMTIsNTRdLFsxMyw4OTZdLFsxMyw5NjBdLFsxMywxMDI0XSxbMTMsMTA4OF0sWzEzLDExNTJdLFsxMywxMjE2XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF1dLFl0PVtbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzExLDIzXSxbMTEsMjNdLFsxMiw1MF0sWzEyLDUxXSxbMTIsNDRdLFsxMiw0NV0sWzEyLDQ2XSxbMTIsNDddLFsxMiw1N10sWzEyLDU4XSxbMTIsNjFdLFsxMiwyNTZdLFsxMCwxNl0sWzEwLDE2XSxbMTAsMTZdLFsxMCwxNl0sWzEwLDE3XSxbMTAsMTddLFsxMCwxN10sWzEwLDE3XSxbMTIsNDhdLFsxMiw0OV0sWzEyLDYyXSxbMTIsNjNdLFsxMiwzMF0sWzEyLDMxXSxbMTIsMzJdLFsxMiwzM10sWzEyLDQwXSxbMTIsNDFdLFsxMSwyMl0sWzExLDIyXSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzEyLDEyOF0sWzEyLDE5Ml0sWzEyLDI2XSxbMTIsMjddLFsxMiwyOF0sWzEyLDI5XSxbMTEsMTldLFsxMSwxOV0sWzExLDIwXSxbMTEsMjBdLFsxMiwzNF0sWzEyLDM1XSxbMTIsMzZdLFsxMiwzN10sWzEyLDM4XSxbMTIsMzldLFsxMSwyMV0sWzExLDIxXSxbMTIsNDJdLFsxMiw0M10sWzEwLDBdLFsxMCwwXSxbMTAsMF0sWzEwLDBdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl1dLHZ0PVtbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFs2LDldLFs2LDhdLFs1LDddLFs1LDddLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDVdLFs0LDVdLFs0LDVdLFs0LDVdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDNdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdLFsyLDJdXTtjbGFzcyBDQ0lUVEZheERlY29kZXJ7Y29uc3RydWN0b3IoZSx0PXt9KXtpZighZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUubmV4dCl0aHJvdyBuZXcgRXJyb3IoJ0NDSVRURmF4RGVjb2RlciAtIGludmFsaWQgInNvdXJjZSIgcGFyYW1ldGVyLicpO3RoaXMuc291cmNlPWU7dGhpcy5lb2Y9ITE7dGhpcy5lbmNvZGluZz10Lkt8fDA7dGhpcy5lb2xpbmU9dC5FbmRPZkxpbmV8fCExO3RoaXMuYnl0ZUFsaWduPXQuRW5jb2RlZEJ5dGVBbGlnbnx8ITE7dGhpcy5jb2x1bW5zPXQuQ29sdW1uc3x8MTcyODt0aGlzLnJvd3M9dC5Sb3dzfHwwO3RoaXMuZW9ibG9jaz10LkVuZE9mQmxvY2s/PyEwO3RoaXMuYmxhY2s9dC5CbGFja0lzMXx8ITE7dGhpcy5jb2RpbmdMaW5lPW5ldyBVaW50MzJBcnJheSh0aGlzLmNvbHVtbnMrMSk7dGhpcy5yZWZMaW5lPW5ldyBVaW50MzJBcnJheSh0aGlzLmNvbHVtbnMrMik7dGhpcy5jb2RpbmdMaW5lWzBdPXRoaXMuY29sdW1uczt0aGlzLmNvZGluZ1Bvcz0wO3RoaXMucm93PTA7dGhpcy5uZXh0TGluZTJEPXRoaXMuZW5jb2Rpbmc8MDt0aGlzLmlucHV0Qml0cz0wO3RoaXMuaW5wdXRCdWY9MDt0aGlzLm91dHB1dEJpdHM9MDt0aGlzLnJvd3NEb25lPSExO2xldCBpO2Zvcig7MD09PShpPXRoaXMuX2xvb2tCaXRzKDEyKSk7KXRoaXMuX2VhdEJpdHMoMSk7MT09PWkmJnRoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5uZXh0TGluZTJEPSF0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfX1yZWFkTmV4dENoYXIoKXtpZih0aGlzLmVvZilyZXR1cm4tMTtjb25zdCBlPXRoaXMucmVmTGluZSx0PXRoaXMuY29kaW5nTGluZSxpPXRoaXMuY29sdW1ucztsZXQgYSxzLHIsbixnO2lmKDA9PT10aGlzLm91dHB1dEJpdHMpe3RoaXMucm93c0RvbmUmJih0aGlzLmVvZj0hMCk7aWYodGhpcy5lb2YpcmV0dXJuLTE7dGhpcy5lcnI9ITE7bGV0IHIsZyxvO2lmKHRoaXMubmV4dExpbmUyRCl7Zm9yKG49MDt0W25dPGk7KytuKWVbbl09dFtuXTtlW24rK109aTtlW25dPWk7dFswXT0wO3RoaXMuY29kaW5nUG9zPTA7YT0wO3M9MDtmb3IoO3RbdGhpcy5jb2RpbmdQb3NdPGk7KXtyPXRoaXMuX2dldFR3b0RpbUNvZGUoKTtzd2l0Y2gocil7Y2FzZSAwOnRoaXMuX2FkZFBpeGVscyhlW2ErMV0scyk7ZVthKzFdPGkmJihhKz0yKTticmVhaztjYXNlIDE6cj1nPTA7aWYocyl7ZG97cis9bz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShvPj02NCk7ZG97Zys9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCl9ZWxzZXtkb3tyKz1vPXRoaXMuX2dldFdoaXRlQ29kZSgpfXdoaWxlKG8+PTY0KTtkb3tnKz1vPXRoaXMuX2dldEJsYWNrQ29kZSgpfXdoaWxlKG8+PTY0KX10aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rcixzKTt0W3RoaXMuY29kaW5nUG9zXTxpJiZ0aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rZywxXnMpO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9MjticmVhaztjYXNlIDc6dGhpcy5fYWRkUGl4ZWxzKGVbYV0rMyxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpeysrYTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTJ9YnJlYWs7Y2FzZSA1OnRoaXMuX2FkZFBpeGVscyhlW2FdKzIscyk7c149MTtpZih0W3RoaXMuY29kaW5nUG9zXTxpKXsrK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgMzp0aGlzLl9hZGRQaXhlbHMoZVthXSsxLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDI6dGhpcy5fYWRkUGl4ZWxzKGVbYV0scyk7c149MTtpZih0W3RoaXMuY29kaW5nUG9zXTxpKXsrK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgODp0aGlzLl9hZGRQaXhlbHNOZWcoZVthXS0zLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7YT4wPy0tYTorK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgNjp0aGlzLl9hZGRQaXhlbHNOZWcoZVthXS0yLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7YT4wPy0tYTorK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgNDp0aGlzLl9hZGRQaXhlbHNOZWcoZVthXS0xLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7YT4wPy0tYTorK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgVXQ6dGhpcy5fYWRkUGl4ZWxzKGksMCk7dGhpcy5lb2Y9ITA7YnJlYWs7ZGVmYXVsdDppbmZvKCJiYWQgMmQgY29kZSIpO3RoaXMuX2FkZFBpeGVscyhpLDApO3RoaXMuZXJyPSEwfX19ZWxzZXt0WzBdPTA7dGhpcy5jb2RpbmdQb3M9MDtzPTA7Zm9yKDt0W3RoaXMuY29kaW5nUG9zXTxpOyl7cj0wO2lmKHMpZG97cis9bz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShvPj02NCk7ZWxzZSBkb3tyKz1vPXRoaXMuX2dldFdoaXRlQ29kZSgpfXdoaWxlKG8+PTY0KTt0aGlzLl9hZGRQaXhlbHModFt0aGlzLmNvZGluZ1Bvc10rcixzKTtzXj0xfX1sZXQgYz0hMTt0aGlzLmJ5dGVBbGlnbiYmKHRoaXMuaW5wdXRCaXRzJj0tOCk7aWYodGhpcy5lb2Jsb2NrfHx0aGlzLnJvdyE9PXRoaXMucm93cy0xKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTtpZih0aGlzLmVvbGluZSlmb3IoO3IhPT1VdCYmMSE9PXI7KXt0aGlzLl9lYXRCaXRzKDEpO3I9dGhpcy5fbG9va0JpdHMoMTIpfWVsc2UgZm9yKDswPT09cjspe3RoaXMuX2VhdEJpdHMoMSk7cj10aGlzLl9sb29rQml0cygxMil9aWYoMT09PXIpe3RoaXMuX2VhdEJpdHMoMTIpO2M9ITB9ZWxzZSByPT09VXQmJih0aGlzLmVvZj0hMCl9ZWxzZSB0aGlzLnJvd3NEb25lPSEwO2lmKCF0aGlzLmVvZiYmdGhpcy5lbmNvZGluZz4wJiYhdGhpcy5yb3dzRG9uZSl7dGhpcy5uZXh0TGluZTJEPSF0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfWlmKHRoaXMuZW9ibG9jayYmYyYmdGhpcy5ieXRlQWxpZ24pe3I9dGhpcy5fbG9va0JpdHMoMTIpO2lmKDE9PT1yKXt0aGlzLl9lYXRCaXRzKDEyKTtpZih0aGlzLmVuY29kaW5nPjApe3RoaXMuX2xvb2tCaXRzKDEpO3RoaXMuX2VhdEJpdHMoMSl9aWYodGhpcy5lbmNvZGluZz49MClmb3Iobj0wO248NDsrK24pe3I9dGhpcy5fbG9va0JpdHMoMTIpOzEhPT1yJiZpbmZvKCJiYWQgcnRjIGNvZGU6ICIrcik7dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfX10aGlzLmVvZj0hMH19ZWxzZSBpZih0aGlzLmVyciYmdGhpcy5lb2xpbmUpe2Zvcig7Oyl7cj10aGlzLl9sb29rQml0cygxMyk7aWYocj09PVV0KXt0aGlzLmVvZj0hMDtyZXR1cm4tMX1pZihyPj4xPT0xKWJyZWFrO3RoaXMuX2VhdEJpdHMoMSl9dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9lYXRCaXRzKDEpO3RoaXMubmV4dExpbmUyRD0hKDEmcil9fXRoaXMub3V0cHV0Qml0cz10WzBdPjA/dFt0aGlzLmNvZGluZ1Bvcz0wXTp0W3RoaXMuY29kaW5nUG9zPTFdO3RoaXMucm93Kyt9aWYodGhpcy5vdXRwdXRCaXRzPj04KXtnPTEmdGhpcy5jb2RpbmdQb3M/MDoyNTU7dGhpcy5vdXRwdXRCaXRzLT04O2lmKDA9PT10aGlzLm91dHB1dEJpdHMmJnRbdGhpcy5jb2RpbmdQb3NdPGkpe3RoaXMuY29kaW5nUG9zKys7dGhpcy5vdXRwdXRCaXRzPXRbdGhpcy5jb2RpbmdQb3NdLXRbdGhpcy5jb2RpbmdQb3MtMV19fWVsc2V7cj04O2c9MDtkb3tpZigibnVtYmVyIiE9dHlwZW9mIHRoaXMub3V0cHV0Qml0cyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ0ludmFsaWQgL0NDSVRURmF4RGVjb2RlIGRhdGEsICJvdXRwdXRCaXRzIiBtdXN0IGJlIGEgbnVtYmVyLicpO2lmKHRoaXMub3V0cHV0Qml0cz5yKXtnPDw9cjsxJnRoaXMuY29kaW5nUG9zfHwoZ3w9MjU1Pj44LXIpO3RoaXMub3V0cHV0Qml0cy09cjtyPTB9ZWxzZXtnPDw9dGhpcy5vdXRwdXRCaXRzOzEmdGhpcy5jb2RpbmdQb3N8fChnfD0yNTU+PjgtdGhpcy5vdXRwdXRCaXRzKTtyLT10aGlzLm91dHB1dEJpdHM7dGhpcy5vdXRwdXRCaXRzPTA7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7dGhpcy5jb2RpbmdQb3MrKzt0aGlzLm91dHB1dEJpdHM9dFt0aGlzLmNvZGluZ1Bvc10tdFt0aGlzLmNvZGluZ1Bvcy0xXX1lbHNlIGlmKHI+MCl7Zzw8PXI7cj0wfX19d2hpbGUocil9dGhpcy5ibGFjayYmKGdePTI1NSk7cmV0dXJuIGd9X2FkZFBpeGVscyhlLHQpe2NvbnN0IGk9dGhpcy5jb2RpbmdMaW5lO2xldCBhPXRoaXMuY29kaW5nUG9zO2lmKGU+aVthXSl7aWYoZT50aGlzLmNvbHVtbnMpe2luZm8oInJvdyBpcyB3cm9uZyBsZW5ndGgiKTt0aGlzLmVycj0hMDtlPXRoaXMuY29sdW1uc30xJmFedCYmKythO2lbYV09ZX10aGlzLmNvZGluZ1Bvcz1hfV9hZGRQaXhlbHNOZWcoZSx0KXtjb25zdCBpPXRoaXMuY29kaW5nTGluZTtsZXQgYT10aGlzLmNvZGluZ1BvcztpZihlPmlbYV0pe2lmKGU+dGhpcy5jb2x1bW5zKXtpbmZvKCJyb3cgaXMgd3JvbmcgbGVuZ3RoIik7dGhpcy5lcnI9ITA7ZT10aGlzLmNvbHVtbnN9MSZhXnQmJisrYTtpW2FdPWV9ZWxzZSBpZihlPGlbYV0pe2lmKGU8MCl7aW5mbygiaW52YWxpZCBjb2RlIik7dGhpcy5lcnI9ITA7ZT0wfWZvcig7YT4wJiZlPGlbYS0xXTspLS1hO2lbYV09ZX10aGlzLmNvZGluZ1Bvcz1hfV9maW5kVGFibGVDb2RlKGUsdCxpLGEpe2NvbnN0IHM9YXx8MDtmb3IobGV0IGE9ZTthPD10OysrYSl7bGV0IGU9dGhpcy5fbG9va0JpdHMoYSk7aWYoZT09PVV0KXJldHVyblshMCwxLCExXTthPHQmJihlPDw9dC1hKTtpZighc3x8ZT49cyl7Y29uc3QgdD1pW2Utc107aWYodFswXT09PWEpe3RoaXMuX2VhdEJpdHMoYSk7cmV0dXJuWyEwLHRbMV0sITBdfX19cmV0dXJuWyExLDAsITFdfV9nZXRUd29EaW1Db2RlKCl7bGV0IGUsdD0wO2lmKHRoaXMuZW9ibG9jayl7dD10aGlzLl9sb29rQml0cyg3KTtlPU10W3RdO2lmKGU/LlswXT4wKXt0aGlzLl9lYXRCaXRzKGVbMF0pO3JldHVybiBlWzFdfX1lbHNle2NvbnN0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgxLDcsTXQpO2lmKGVbMF0mJmVbMl0pcmV0dXJuIGVbMV19aW5mbygiQmFkIHR3byBkaW0gY29kZSIpO3JldHVybiBVdH1fZ2V0V2hpdGVDb2RlKCl7bGV0IGUsdD0wO2lmKHRoaXMuZW9ibG9jayl7dD10aGlzLl9sb29rQml0cygxMik7aWYodD09PVV0KXJldHVybiAxO2U9dD4+NT09MD9MdFt0XTpIdFt0Pj4zXTtpZihlWzBdPjApe3RoaXMuX2VhdEJpdHMoZVswXSk7cmV0dXJuIGVbMV19fWVsc2V7bGV0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgxLDksSHQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDExLDEyLEx0KTtpZihlWzBdKXJldHVybiBlWzFdfWluZm8oImJhZCB3aGl0ZSBjb2RlIik7dGhpcy5fZWF0Qml0cygxKTtyZXR1cm4gMX1fZ2V0QmxhY2tDb2RlKCl7bGV0IGUsdDtpZih0aGlzLmVvYmxvY2spe2U9dGhpcy5fbG9va0JpdHMoMTMpO2lmKGU9PT1VdClyZXR1cm4gMTt0PWU+Pjc9PTA/SnRbZV06ZT4+OT09MCYmZT4+NyE9MD9ZdFsoZT4+MSktNjRdOnZ0W2U+PjddO2lmKHRbMF0+MCl7dGhpcy5fZWF0Qml0cyh0WzBdKTtyZXR1cm4gdFsxXX19ZWxzZXtsZXQgZT10aGlzLl9maW5kVGFibGVDb2RlKDIsNix2dCk7aWYoZVswXSlyZXR1cm4gZVsxXTtlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoNywxMixZdCw2NCk7aWYoZVswXSlyZXR1cm4gZVsxXTtlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMTAsMTMsSnQpO2lmKGVbMF0pcmV0dXJuIGVbMV19aW5mbygiYmFkIGJsYWNrIGNvZGUiKTt0aGlzLl9lYXRCaXRzKDEpO3JldHVybiAxfV9sb29rQml0cyhlKXtsZXQgdDtmb3IoO3RoaXMuaW5wdXRCaXRzPGU7KXtpZigtMT09PSh0PXRoaXMuc291cmNlLm5leHQoKSkpcmV0dXJuIDA9PT10aGlzLmlucHV0Qml0cz9VdDp0aGlzLmlucHV0QnVmPDxlLXRoaXMuaW5wdXRCaXRzJjY1NTM1Pj4xNi1lO3RoaXMuaW5wdXRCdWY9dGhpcy5pbnB1dEJ1Zjw8OHx0O3RoaXMuaW5wdXRCaXRzKz04fXJldHVybiB0aGlzLmlucHV0QnVmPj50aGlzLmlucHV0Qml0cy1lJjY1NTM1Pj4xNi1lfV9lYXRCaXRzKGUpeyh0aGlzLmlucHV0Qml0cy09ZSk8MCYmKHRoaXMuaW5wdXRCaXRzPTApfX1jbGFzcyBDQ0lUVEZheFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O2kgaW5zdGFuY2VvZiBEaWN0fHwoaT1EaWN0LmVtcHR5KTtjb25zdCBhPXtuZXh0OigpPT5lLmdldEJ5dGUoKX07dGhpcy5jY2l0dEZheERlY29kZXI9bmV3IENDSVRURmF4RGVjb2RlcihhLHtLOmkuZ2V0KCJLIiksRW5kT2ZMaW5lOmkuZ2V0KCJFbmRPZkxpbmUiKSxFbmNvZGVkQnl0ZUFsaWduOmkuZ2V0KCJFbmNvZGVkQnl0ZUFsaWduIiksQ29sdW1uczppLmdldCgiQ29sdW1ucyIpLFJvd3M6aS5nZXQoIlJvd3MiKSxFbmRPZkJsb2NrOmkuZ2V0KCJFbmRPZkJsb2NrIiksQmxhY2tJczE6aS5nZXQoIkJsYWNrSXMxIil9KX1yZWFkQmxvY2soKXtmb3IoOyF0aGlzLmVvZjspe2NvbnN0IGU9dGhpcy5jY2l0dEZheERlY29kZXIucmVhZE5leHRDaGFyKCk7aWYoLTE9PT1lKXt0aGlzLmVvZj0hMDtyZXR1cm59dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrMSk7dGhpcy5idWZmZXJbdGhpcy5idWZmZXJMZW5ndGgrK109ZX19fWNvbnN0IEt0PW5ldyBJbnQzMkFycmF5KFsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSksVHQ9bmV3IEludDMyQXJyYXkoWzMsNCw1LDYsNyw4LDksMTAsNjU1NDcsNjU1NDksNjU1NTEsNjU1NTMsMTMxMDkxLDEzMTA5NSwxMzEwOTksMTMxMTAzLDE5NjY0MywxOTY2NTEsMTk2NjU5LDE5NjY2NywyNjIyMTEsMjYyMjI3LDI2MjI0MywyNjIyNTksMzI3ODExLDMyNzg0MywzMjc4NzUsMzI3OTA3LDI1OCwyNTgsMjU4XSkscXQ9bmV3IEludDMyQXJyYXkoWzEsMiwzLDQsNjU1NDEsNjU1NDMsMTMxMDgxLDEzMTA4NSwxOTY2MjUsMTk2NjMzLDI2MjE3NywyNjIxOTMsMzI3NzQ1LDMyNzc3NywzOTMzNDUsMzkzNDA5LDQ1OTAwOSw0NTkxMzcsNTI0ODAxLDUyNTA1Nyw1OTA4NDksNTkxMzYxLDY1NzQwOSw2NTg0MzMsNzI0OTkzLDcyNzA0MSw3OTQ2MjUsNzk4NzIxLDg2ODM1Myw4NzY1NDVdKSxPdD1bbmV3IEludDMyQXJyYXkoWzQ1OTAwOCw1MjQzNjgsNTI0MzA0LDUyNDU2OCw0NTkwMjQsNTI0NDAwLDUyNDMzNiw1OTAwMTYsNDU5MDE2LDUyNDM4NCw1MjQzMjAsNTg5OTg0LDUyNDI4OCw1MjQ0MTYsNTI0MzUyLDU5MDA0OCw0NTkwMTIsNTI0Mzc2LDUyNDMxMiw1ODk5NjgsNDU5MDI4LDUyNDQwOCw1MjQzNDQsNTkwMDMyLDQ1OTAyMCw1MjQzOTIsNTI0MzI4LDU5ZTQsNTI0Mjk2LDUyNDQyNCw1MjQzNjAsNTkwMDY0LDQ1OTAxMCw1MjQzNzIsNTI0MzA4LDUyNDU3Miw0NTkwMjYsNTI0NDA0LDUyNDM0MCw1OTAwMjQsNDU5MDE4LDUyNDM4OCw1MjQzMjQsNTg5OTkyLDUyNDI5Miw1MjQ0MjAsNTI0MzU2LDU5MDA1Niw0NTkwMTQsNTI0MzgwLDUyNDMxNiw1ODk5NzYsNDU5MDMwLDUyNDQxMiw1MjQzNDgsNTkwMDQwLDQ1OTAyMiw1MjQzOTYsNTI0MzMyLDU5MDAwOCw1MjQzMDAsNTI0NDI4LDUyNDM2NCw1OTAwNzIsNDU5MDA5LDUyNDM3MCw1MjQzMDYsNTI0NTcwLDQ1OTAyNSw1MjQ0MDIsNTI0MzM4LDU5MDAyMCw0NTkwMTcsNTI0Mzg2LDUyNDMyMiw1ODk5ODgsNTI0MjkwLDUyNDQxOCw1MjQzNTQsNTkwMDUyLDQ1OTAxMyw1MjQzNzgsNTI0MzE0LDU4OTk3Miw0NTkwMjksNTI0NDEwLDUyNDM0Niw1OTAwMzYsNDU5MDIxLDUyNDM5NCw1MjQzMzAsNTkwMDA0LDUyNDI5OCw1MjQ0MjYsNTI0MzYyLDU5MDA2OCw0NTkwMTEsNTI0Mzc0LDUyNDMxMCw1MjQ1NzQsNDU5MDI3LDUyNDQwNiw1MjQzNDIsNTkwMDI4LDQ1OTAxOSw1MjQzOTAsNTI0MzI2LDU4OTk5Niw1MjQyOTQsNTI0NDIyLDUyNDM1OCw1OTAwNjAsNDU5MDE1LDUyNDM4Miw1MjQzMTgsNTg5OTgwLDQ1OTAzMSw1MjQ0MTQsNTI0MzUwLDU5MDA0NCw0NTkwMjMsNTI0Mzk4LDUyNDMzNCw1OTAwMTIsNTI0MzAyLDUyNDQzMCw1MjQzNjYsNTkwMDc2LDQ1OTAwOCw1MjQzNjksNTI0MzA1LDUyNDU2OSw0NTkwMjQsNTI0NDAxLDUyNDMzNyw1OTAwMTgsNDU5MDE2LDUyNDM4NSw1MjQzMjEsNTg5OTg2LDUyNDI4OSw1MjQ0MTcsNTI0MzUzLDU5MDA1MCw0NTkwMTIsNTI0Mzc3LDUyNDMxMyw1ODk5NzAsNDU5MDI4LDUyNDQwOSw1MjQzNDUsNTkwMDM0LDQ1OTAyMCw1MjQzOTMsNTI0MzI5LDU5MDAwMiw1MjQyOTcsNTI0NDI1LDUyNDM2MSw1OTAwNjYsNDU5MDEwLDUyNDM3Myw1MjQzMDksNTI0NTczLDQ1OTAyNiw1MjQ0MDUsNTI0MzQxLDU5MDAyNiw0NTkwMTgsNTI0Mzg5LDUyNDMyNSw1ODk5OTQsNTI0MjkzLDUyNDQyMSw1MjQzNTcsNTkwMDU4LDQ1OTAxNCw1MjQzODEsNTI0MzE3LDU4OTk3OCw0NTkwMzAsNTI0NDEzLDUyNDM0OSw1OTAwNDIsNDU5MDIyLDUyNDM5Nyw1MjQzMzMsNTkwMDEwLDUyNDMwMSw1MjQ0MjksNTI0MzY1LDU5MDA3NCw0NTkwMDksNTI0MzcxLDUyNDMwNyw1MjQ1NzEsNDU5MDI1LDUyNDQwMyw1MjQzMzksNTkwMDIyLDQ1OTAxNyw1MjQzODcsNTI0MzIzLDU4OTk5MCw1MjQyOTEsNTI0NDE5LDUyNDM1NSw1OTAwNTQsNDU5MDEzLDUyNDM3OSw1MjQzMTUsNTg5OTc0LDQ1OTAyOSw1MjQ0MTEsNTI0MzQ3LDU5MDAzOCw0NTkwMjEsNTI0Mzk1LDUyNDMzMSw1OTAwMDYsNTI0Mjk5LDUyNDQyNyw1MjQzNjMsNTkwMDcwLDQ1OTAxMSw1MjQzNzUsNTI0MzExLDUyNDU3NSw0NTkwMjcsNTI0NDA3LDUyNDM0Myw1OTAwMzAsNDU5MDE5LDUyNDM5MSw1MjQzMjcsNTg5OTk4LDUyNDI5NSw1MjQ0MjMsNTI0MzU5LDU5MDA2Miw0NTkwMTUsNTI0MzgzLDUyNDMxOSw1ODk5ODIsNDU5MDMxLDUyNDQxNSw1MjQzNTEsNTkwMDQ2LDQ1OTAyMyw1MjQzOTksNTI0MzM1LDU5MDAxNCw1MjQzMDMsNTI0NDMxLDUyNDM2Nyw1OTAwNzgsNDU5MDA4LDUyNDM2OCw1MjQzMDQsNTI0NTY4LDQ1OTAyNCw1MjQ0MDAsNTI0MzM2LDU5MDAxNyw0NTkwMTYsNTI0Mzg0LDUyNDMyMCw1ODk5ODUsNTI0Mjg4LDUyNDQxNiw1MjQzNTIsNTkwMDQ5LDQ1OTAxMiw1MjQzNzYsNTI0MzEyLDU4OTk2OSw0NTkwMjgsNTI0NDA4LDUyNDM0NCw1OTAwMzMsNDU5MDIwLDUyNDM5Miw1MjQzMjgsNTkwMDAxLDUyNDI5Niw1MjQ0MjQsNTI0MzYwLDU5MDA2NSw0NTkwMTAsNTI0MzcyLDUyNDMwOCw1MjQ1NzIsNDU5MDI2LDUyNDQwNCw1MjQzNDAsNTkwMDI1LDQ1OTAxOCw1MjQzODgsNTI0MzI0LDU4OTk5Myw1MjQyOTIsNTI0NDIwLDUyNDM1Niw1OTAwNTcsNDU5MDE0LDUyNDM4MCw1MjQzMTYsNTg5OTc3LDQ1OTAzMCw1MjQ0MTIsNTI0MzQ4LDU5MDA0MSw0NTkwMjIsNTI0Mzk2LDUyNDMzMiw1OTAwMDksNTI0MzAwLDUyNDQyOCw1MjQzNjQsNTkwMDczLDQ1OTAwOSw1MjQzNzAsNTI0MzA2LDUyNDU3MCw0NTkwMjUsNTI0NDAyLDUyNDMzOCw1OTAwMjEsNDU5MDE3LDUyNDM4Niw1MjQzMjIsNTg5OTg5LDUyNDI5MCw1MjQ0MTgsNTI0MzU0LDU5MDA1Myw0NTkwMTMsNTI0Mzc4LDUyNDMxNCw1ODk5NzMsNDU5MDI5LDUyNDQxMCw1MjQzNDYsNTkwMDM3LDQ1OTAyMSw1MjQzOTQsNTI0MzMwLDU5MDAwNSw1MjQyOTgsNTI0NDI2LDUyNDM2Miw1OTAwNjksNDU5MDExLDUyNDM3NCw1MjQzMTAsNTI0NTc0LDQ1OTAyNyw1MjQ0MDYsNTI0MzQyLDU5MDAyOSw0NTkwMTksNTI0MzkwLDUyNDMyNiw1ODk5OTcsNTI0Mjk0LDUyNDQyMiw1MjQzNTgsNTkwMDYxLDQ1OTAxNSw1MjQzODIsNTI0MzE4LDU4OTk4MSw0NTkwMzEsNTI0NDE0LDUyNDM1MCw1OTAwNDUsNDU5MDIzLDUyNDM5OCw1MjQzMzQsNTkwMDEzLDUyNDMwMiw1MjQ0MzAsNTI0MzY2LDU5MDA3Nyw0NTkwMDgsNTI0MzY5LDUyNDMwNSw1MjQ1NjksNDU5MDI0LDUyNDQwMSw1MjQzMzcsNTkwMDE5LDQ1OTAxNiw1MjQzODUsNTI0MzIxLDU4OTk4Nyw1MjQyODksNTI0NDE3LDUyNDM1Myw1OTAwNTEsNDU5MDEyLDUyNDM3Nyw1MjQzMTMsNTg5OTcxLDQ1OTAyOCw1MjQ0MDksNTI0MzQ1LDU5MDAzNSw0NTkwMjAsNTI0MzkzLDUyNDMyOSw1OTAwMDMsNTI0Mjk3LDUyNDQyNSw1MjQzNjEsNTkwMDY3LDQ1OTAxMCw1MjQzNzMsNTI0MzA5LDUyNDU3Myw0NTkwMjYsNTI0NDA1LDUyNDM0MSw1OTAwMjcsNDU5MDE4LDUyNDM4OSw1MjQzMjUsNTg5OTk1LDUyNDI5Myw1MjQ0MjEsNTI0MzU3LDU5MDA1OSw0NTkwMTQsNTI0MzgxLDUyNDMxNyw1ODk5NzksNDU5MDMwLDUyNDQxMyw1MjQzNDksNTkwMDQzLDQ1OTAyMiw1MjQzOTcsNTI0MzMzLDU5MDAxMSw1MjQzMDEsNTI0NDI5LDUyNDM2NSw1OTAwNzUsNDU5MDA5LDUyNDM3MSw1MjQzMDcsNTI0NTcxLDQ1OTAyNSw1MjQ0MDMsNTI0MzM5LDU5MDAyMyw0NTkwMTcsNTI0Mzg3LDUyNDMyMyw1ODk5OTEsNTI0MjkxLDUyNDQxOSw1MjQzNTUsNTkwMDU1LDQ1OTAxMyw1MjQzNzksNTI0MzE1LDU4OTk3NSw0NTkwMjksNTI0NDExLDUyNDM0Nyw1OTAwMzksNDU5MDIxLDUyNDM5NSw1MjQzMzEsNTkwMDA3LDUyNDI5OSw1MjQ0MjcsNTI0MzYzLDU5MDA3MSw0NTkwMTEsNTI0Mzc1LDUyNDMxMSw1MjQ1NzUsNDU5MDI3LDUyNDQwNyw1MjQzNDMsNTkwMDMxLDQ1OTAxOSw1MjQzOTEsNTI0MzI3LDU4OTk5OSw1MjQyOTUsNTI0NDIzLDUyNDM1OSw1OTAwNjMsNDU5MDE1LDUyNDM4Myw1MjQzMTksNTg5OTgzLDQ1OTAzMSw1MjQ0MTUsNTI0MzUxLDU5MDA0Nyw0NTkwMjMsNTI0Mzk5LDUyNDMzNSw1OTAwMTUsNTI0MzAzLDUyNDQzMSw1MjQzNjcsNTkwMDc5XSksOV0sUHQ9W25ldyBJbnQzMkFycmF5KFszMjc2ODAsMzI3Njk2LDMyNzY4OCwzMjc3MDQsMzI3Njg0LDMyNzcwMCwzMjc2OTIsMzI3NzA4LDMyNzY4MiwzMjc2OTgsMzI3NjkwLDMyNzcwNiwzMjc2ODYsMzI3NzAyLDMyNzY5NCwwLDMyNzY4MSwzMjc2OTcsMzI3Njg5LDMyNzcwNSwzMjc2ODUsMzI3NzAxLDMyNzY5MywzMjc3MDksMzI3NjgzLDMyNzY5OSwzMjc2OTEsMzI3NzA3LDMyNzY4NywzMjc3MDMsMzI3Njk1LDBdKSw1XTtjbGFzcyBGbGF0ZVN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtjb25zdCBpPWUuZ2V0Qnl0ZSgpLGE9ZS5nZXRCeXRlKCk7aWYoLTE9PT1pfHwtMT09PWEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW06ICR7aX0sICR7YX1gKTtpZig4IT0oMTUmaSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCBpbiBmbGF0ZSBzdHJlYW06ICR7aX0sICR7YX1gKTtpZigoKGk8PDgpK2EpJTMxIT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQmFkIEZDSEVDSyBpbiBmbGF0ZSBzdHJlYW06ICR7aX0sICR7YX1gKTtpZigzMiZhKXRocm93IG5ldyBGb3JtYXRFcnJvcihgRkRJQ1QgYml0IHNldCBpbiBmbGF0ZSBzdHJlYW06ICR7aX0sICR7YX1gKTt0aGlzLmNvZGVTaXplPTA7dGhpcy5jb2RlQnVmPTB9YXN5bmMgZ2V0SW1hZ2VEYXRhKGUsdCl7Y29uc3QgaT1hd2FpdCB0aGlzLmFzeW5jR2V0Qnl0ZXMoKTtyZXR1cm4gaT8uc3ViYXJyYXkoMCxlKXx8dGhpcy5nZXRCeXRlcyhlKX1hc3luYyBhc3luY0dldEJ5dGVzKCl7dGhpcy5zdHIucmVzZXQoKTtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKCk7dHJ5e2NvbnN0e3JlYWRhYmxlOnQsd3JpdGFibGU6aX09bmV3IERlY29tcHJlc3Npb25TdHJlYW0oImRlZmxhdGUiKSxhPWkuZ2V0V3JpdGVyKCk7YS53cml0ZShlKTthLmNsb3NlKCk7Y29uc3Qgcz1bXTtsZXQgcj0wO2ZvciBhd2FpdChjb25zdCBlIG9mIHQpe3MucHVzaChlKTtyKz1lLmJ5dGVMZW5ndGh9Y29uc3Qgbj1uZXcgVWludDhBcnJheShyKTtsZXQgZz0wO2Zvcihjb25zdCBlIG9mIHMpe24uc2V0KGUsZyk7Zys9ZS5ieXRlTGVuZ3RofXJldHVybiBufWNhdGNoe3RoaXMuc3RyPW5ldyBTdHJlYW0oZSwyLGUubGVuZ3RoLHRoaXMuc3RyLmRpY3QpO3RoaXMucmVzZXQoKTtyZXR1cm4gbnVsbH19Z2V0IGlzQXN5bmMoKXtyZXR1cm4hMH1nZXRCaXRzKGUpe2NvbnN0IHQ9dGhpcy5zdHI7bGV0IGksYT10aGlzLmNvZGVTaXplLHM9dGhpcy5jb2RlQnVmO2Zvcig7YTxlOyl7aWYoLTE9PT0oaT10LmdldEJ5dGUoKSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYWQgZW5jb2RpbmcgaW4gZmxhdGUgc3RyZWFtIik7c3w9aTw8YTthKz04fWk9cyYoMTw8ZSktMTt0aGlzLmNvZGVCdWY9cz4+ZTt0aGlzLmNvZGVTaXplPWEtPWU7cmV0dXJuIGl9Z2V0Q29kZShlKXtjb25zdCB0PXRoaXMuc3RyLGk9ZVswXSxhPWVbMV07bGV0IHMscj10aGlzLmNvZGVTaXplLG49dGhpcy5jb2RlQnVmO2Zvcig7cjxhJiYtMSE9PShzPXQuZ2V0Qnl0ZSgpKTspe258PXM8PHI7cis9OH1jb25zdCBnPWlbbiYoMTw8YSktMV0sbz1nPj4xNixjPTY1NTM1Jmc7aWYobzwxfHxyPG8pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYWQgZW5jb2RpbmcgaW4gZmxhdGUgc3RyZWFtIik7dGhpcy5jb2RlQnVmPW4+Pm87dGhpcy5jb2RlU2l6ZT1yLW87cmV0dXJuIGN9Z2VuZXJhdGVIdWZmbWFuVGFibGUoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaSxhPTA7Zm9yKGk9MDtpPHQ7KytpKWVbaV0+YSYmKGE9ZVtpXSk7Y29uc3Qgcz0xPDxhLHI9bmV3IEludDMyQXJyYXkocyk7Zm9yKGxldCBuPTEsZz0wLG89MjtuPD1hOysrbixnPDw9MSxvPDw9MSlmb3IobGV0IGE9MDthPHQ7KythKWlmKGVbYV09PT1uKXtsZXQgZT0wLHQ9Zztmb3IoaT0wO2k8bjsrK2kpe2U9ZTw8MXwxJnQ7dD4+PTF9Zm9yKGk9ZTtpPHM7aSs9bylyW2ldPW48PDE2fGE7KytnfXJldHVybltyLGFdfSNtKGUpe2luZm8oZSk7dGhpcy5lb2Y9ITB9cmVhZEJsb2NrKCl7bGV0IGUsdCxpO2NvbnN0IGE9dGhpcy5zdHI7dHJ5e3Q9dGhpcy5nZXRCaXRzKDMpfWNhdGNoKGUpe3RoaXMuI20oZS5tZXNzYWdlKTtyZXR1cm59MSZ0JiYodGhpcy5lb2Y9ITApO3Q+Pj0xO2lmKDA9PT10KXtsZXQgdDtpZigtMT09PSh0PWEuZ2V0Qnl0ZSgpKSl7dGhpcy4jbSgiQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0iKTtyZXR1cm59bGV0IGk9dDtpZigtMT09PSh0PWEuZ2V0Qnl0ZSgpKSl7dGhpcy4jbSgiQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0iKTtyZXR1cm59aXw9dDw8ODtpZigtMT09PSh0PWEuZ2V0Qnl0ZSgpKSl7dGhpcy4jbSgiQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0iKTtyZXR1cm59bGV0IHM9dDtpZigtMT09PSh0PWEuZ2V0Qnl0ZSgpKSl7dGhpcy4jbSgiQmFkIGJsb2NrIGhlYWRlciBpbiBmbGF0ZSBzdHJlYW0iKTtyZXR1cm59c3w9dDw8ODtpZihzIT09KDY1NTM1Jn5pKSYmKDAhPT1pfHwwIT09cykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYWQgdW5jb21wcmVzc2VkIGJsb2NrIGxlbmd0aCBpbiBmbGF0ZSBzdHJlYW0iKTt0aGlzLmNvZGVCdWY9MDt0aGlzLmNvZGVTaXplPTA7Y29uc3Qgcj10aGlzLmJ1ZmZlckxlbmd0aCxuPXIraTtlPXRoaXMuZW5zdXJlQnVmZmVyKG4pO3RoaXMuYnVmZmVyTGVuZ3RoPW47aWYoMD09PWkpLTE9PT1hLnBlZWtCeXRlKCkmJih0aGlzLmVvZj0hMCk7ZWxzZXtjb25zdCB0PWEuZ2V0Qnl0ZXMoaSk7ZS5zZXQodCxyKTt0Lmxlbmd0aDxpJiYodGhpcy5lb2Y9ITApfXJldHVybn1sZXQgcyxyO2lmKDE9PT10KXtzPU90O3I9UHR9ZWxzZXtpZigyIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gYmxvY2sgdHlwZSBpbiBmbGF0ZSBzdHJlYW0iKTt7Y29uc3QgZT10aGlzLmdldEJpdHMoNSkrMjU3LHQ9dGhpcy5nZXRCaXRzKDUpKzEsYT10aGlzLmdldEJpdHMoNCkrNCxuPW5ldyBVaW50OEFycmF5KEt0Lmxlbmd0aCk7bGV0IGc7Zm9yKGc9MDtnPGE7KytnKW5bS3RbZ11dPXRoaXMuZ2V0Qml0cygzKTtjb25zdCBvPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUobik7aT0wO2c9MDtjb25zdCBjPWUrdCxDPW5ldyBVaW50OEFycmF5KGMpO2xldCBoLGwsUTtmb3IoO2c8Yzspe2NvbnN0IGU9dGhpcy5nZXRDb2RlKG8pO2lmKDE2PT09ZSl7aD0yO2w9MztRPWl9ZWxzZSBpZigxNz09PWUpe2g9MztsPTM7UT1pPTB9ZWxzZXtpZigxOCE9PWUpe0NbZysrXT1pPWU7Y29udGludWV9aD03O2w9MTE7UT1pPTB9bGV0IHQ9dGhpcy5nZXRCaXRzKGgpK2w7Zm9yKDt0LS0gPjA7KUNbZysrXT1RfXM9dGhpcy5nZW5lcmF0ZUh1ZmZtYW5UYWJsZShDLnN1YmFycmF5KDAsZSkpO3I9dGhpcy5nZW5lcmF0ZUh1ZmZtYW5UYWJsZShDLnN1YmFycmF5KGUsYykpfX1lPXRoaXMuYnVmZmVyO2xldCBuPWU/ZS5sZW5ndGg6MCxnPXRoaXMuYnVmZmVyTGVuZ3RoO2Zvcig7Oyl7bGV0IHQ9dGhpcy5nZXRDb2RlKHMpO2lmKHQ8MjU2KXtpZihnKzE+PW4pe2U9dGhpcy5lbnN1cmVCdWZmZXIoZysxKTtuPWUubGVuZ3RofWVbZysrXT10O2NvbnRpbnVlfWlmKDI1Nj09PXQpe3RoaXMuYnVmZmVyTGVuZ3RoPWc7cmV0dXJufXQtPTI1Nzt0PVR0W3RdO2xldCBhPXQ+PjE2O2E+MCYmKGE9dGhpcy5nZXRCaXRzKGEpKTtpPSg2NTUzNSZ0KSthO3Q9dGhpcy5nZXRDb2RlKHIpO3Q9cXRbdF07YT10Pj4xNjthPjAmJihhPXRoaXMuZ2V0Qml0cyhhKSk7Y29uc3Qgbz0oNjU1MzUmdCkrYTtpZihnK2k+PW4pe2U9dGhpcy5lbnN1cmVCdWZmZXIoZytpKTtuPWUubGVuZ3RofWZvcihsZXQgdD0wO3Q8aTsrK3QsKytnKWVbZ109ZVtnLW9dfX19Y29uc3QgV3Q9W3txZToyMjAxNyxubXBzOjEsbmxwczoxLHN3aXRjaEZsYWc6MX0se3FlOjEzMzEzLG5tcHM6MixubHBzOjYsc3dpdGNoRmxhZzowfSx7cWU6NjE0NSxubXBzOjMsbmxwczo5LHN3aXRjaEZsYWc6MH0se3FlOjI3NTMsbm1wczo0LG5scHM6MTIsc3dpdGNoRmxhZzowfSx7cWU6MTMxMyxubXBzOjUsbmxwczoyOSxzd2l0Y2hGbGFnOjB9LHtxZTo1NDUsbm1wczozOCxubHBzOjMzLHN3aXRjaEZsYWc6MH0se3FlOjIyMDE3LG5tcHM6NyxubHBzOjYsc3dpdGNoRmxhZzoxfSx7cWU6MjE1MDUsbm1wczo4LG5scHM6MTQsc3dpdGNoRmxhZzowfSx7cWU6MTg0MzMsbm1wczo5LG5scHM6MTQsc3dpdGNoRmxhZzowfSx7cWU6MTQzMzcsbm1wczoxMCxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjEyMjg5LG5tcHM6MTEsbmxwczoxNyxzd2l0Y2hGbGFnOjB9LHtxZTo5MjE3LG5tcHM6MTIsbmxwczoxOCxzd2l0Y2hGbGFnOjB9LHtxZTo3MTY5LG5tcHM6MTMsbmxwczoyMCxzd2l0Y2hGbGFnOjB9LHtxZTo1NjMzLG5tcHM6MjksbmxwczoyMSxzd2l0Y2hGbGFnOjB9LHtxZToyMjAxNyxubXBzOjE1LG5scHM6MTQsc3dpdGNoRmxhZzoxfSx7cWU6MjE1MDUsbm1wczoxNixubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjIwNzM3LG5tcHM6MTcsbmxwczoxNSxzd2l0Y2hGbGFnOjB9LHtxZToxODQzMyxubXBzOjE4LG5scHM6MTYsc3dpdGNoRmxhZzowfSx7cWU6MTQzMzcsbm1wczoxOSxubHBzOjE3LHN3aXRjaEZsYWc6MH0se3FlOjEzMzEzLG5tcHM6MjAsbmxwczoxOCxzd2l0Y2hGbGFnOjB9LHtxZToxMjI4OSxubXBzOjIxLG5scHM6MTksc3dpdGNoRmxhZzowfSx7cWU6MTAyNDEsbm1wczoyMixubHBzOjE5LHN3aXRjaEZsYWc6MH0se3FlOjkyMTcsbm1wczoyMyxubHBzOjIwLHN3aXRjaEZsYWc6MH0se3FlOjg3MDUsbm1wczoyNCxubHBzOjIxLHN3aXRjaEZsYWc6MH0se3FlOjcxNjksbm1wczoyNSxubHBzOjIyLHN3aXRjaEZsYWc6MH0se3FlOjYxNDUsbm1wczoyNixubHBzOjIzLHN3aXRjaEZsYWc6MH0se3FlOjU2MzMsbm1wczoyNyxubHBzOjI0LHN3aXRjaEZsYWc6MH0se3FlOjUxMjEsbm1wczoyOCxubHBzOjI1LHN3aXRjaEZsYWc6MH0se3FlOjQ2MDksbm1wczoyOSxubHBzOjI2LHN3aXRjaEZsYWc6MH0se3FlOjQzNTMsbm1wczozMCxubHBzOjI3LHN3aXRjaEZsYWc6MH0se3FlOjI3NTMsbm1wczozMSxubHBzOjI4LHN3aXRjaEZsYWc6MH0se3FlOjI0OTcsbm1wczozMixubHBzOjI5LHN3aXRjaEZsYWc6MH0se3FlOjIyMDksbm1wczozMyxubHBzOjMwLHN3aXRjaEZsYWc6MH0se3FlOjEzMTMsbm1wczozNCxubHBzOjMxLHN3aXRjaEZsYWc6MH0se3FlOjEwODksbm1wczozNSxubHBzOjMyLHN3aXRjaEZsYWc6MH0se3FlOjY3MyxubXBzOjM2LG5scHM6MzMsc3dpdGNoRmxhZzowfSx7cWU6NTQ1LG5tcHM6MzcsbmxwczozNCxzd2l0Y2hGbGFnOjB9LHtxZTozMjEsbm1wczozOCxubHBzOjM1LHN3aXRjaEZsYWc6MH0se3FlOjI3MyxubXBzOjM5LG5scHM6MzYsc3dpdGNoRmxhZzowfSx7cWU6MTMzLG5tcHM6NDAsbmxwczozNyxzd2l0Y2hGbGFnOjB9LHtxZTo3MyxubXBzOjQxLG5scHM6Mzgsc3dpdGNoRmxhZzowfSx7cWU6Mzcsbm1wczo0MixubHBzOjM5LHN3aXRjaEZsYWc6MH0se3FlOjIxLG5tcHM6NDMsbmxwczo0MCxzd2l0Y2hGbGFnOjB9LHtxZTo5LG5tcHM6NDQsbmxwczo0MSxzd2l0Y2hGbGFnOjB9LHtxZTo1LG5tcHM6NDUsbmxwczo0Mixzd2l0Y2hGbGFnOjB9LHtxZToxLG5tcHM6NDUsbmxwczo0Myxzd2l0Y2hGbGFnOjB9LHtxZToyMjAxNyxubXBzOjQ2LG5scHM6NDYsc3dpdGNoRmxhZzowfV07Y2xhc3MgQXJpdGhtZXRpY0RlY29kZXJ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuZGF0YT1lO3RoaXMuYnA9dDt0aGlzLmRhdGFFbmQ9aTt0aGlzLmNoaWdoPWVbdF07dGhpcy5jbG93PTA7dGhpcy5ieXRlSW4oKTt0aGlzLmNoaWdoPXRoaXMuY2hpZ2g8PDcmNjU1MzV8dGhpcy5jbG93Pj45JjEyNzt0aGlzLmNsb3c9dGhpcy5jbG93PDw3JjY1NTM1O3RoaXMuY3QtPTc7dGhpcy5hPTMyNzY4fWJ5dGVJbigpe2NvbnN0IGU9dGhpcy5kYXRhO2xldCB0PXRoaXMuYnA7aWYoMjU1PT09ZVt0XSlpZihlW3QrMV0+MTQzKXt0aGlzLmNsb3crPTY1MjgwO3RoaXMuY3Q9OH1lbHNle3QrKzt0aGlzLmNsb3crPWVbdF08PDk7dGhpcy5jdD03O3RoaXMuYnA9dH1lbHNle3QrKzt0aGlzLmNsb3crPXQ8dGhpcy5kYXRhRW5kP2VbdF08PDg6NjUyODA7dGhpcy5jdD04O3RoaXMuYnA9dH1pZih0aGlzLmNsb3c+NjU1MzUpe3RoaXMuY2hpZ2grPXRoaXMuY2xvdz4+MTY7dGhpcy5jbG93Jj02NTUzNX19cmVhZEJpdChlLHQpe2xldCBpPWVbdF0+PjEsYT0xJmVbdF07Y29uc3Qgcz1XdFtpXSxyPXMucWU7bGV0IG4sZz10aGlzLmEtcjtpZih0aGlzLmNoaWdoPHIpaWYoZzxyKXtnPXI7bj1hO2k9cy5ubXBzfWVsc2V7Zz1yO249MV5hOzE9PT1zLnN3aXRjaEZsYWcmJihhPW4pO2k9cy5ubHBzfWVsc2V7dGhpcy5jaGlnaC09cjtpZigwIT0oMzI3NjgmZykpe3RoaXMuYT1nO3JldHVybiBhfWlmKGc8cil7bj0xXmE7MT09PXMuc3dpdGNoRmxhZyYmKGE9bik7aT1zLm5scHN9ZWxzZXtuPWE7aT1zLm5tcHN9fWRvezA9PT10aGlzLmN0JiZ0aGlzLmJ5dGVJbigpO2c8PD0xO3RoaXMuY2hpZ2g9dGhpcy5jaGlnaDw8MSY2NTUzNXx0aGlzLmNsb3c+PjE1JjE7dGhpcy5jbG93PXRoaXMuY2xvdzw8MSY2NTUzNTt0aGlzLmN0LS19d2hpbGUoMD09KDMyNzY4JmcpKTt0aGlzLmE9ZztlW3RdPWk8PDF8YTtyZXR1cm4gbn19Y2xhc3MgSmJpZzJFcnJvciBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpiaWcyRXJyb3IiKX19Y2xhc3MgQ29udGV4dENhY2hle2dldENvbnRleHRzKGUpe3JldHVybiBlIGluIHRoaXM/dGhpc1tlXTp0aGlzW2VdPW5ldyBJbnQ4QXJyYXkoNjU1MzYpfX1jbGFzcyBEZWNvZGluZ0NvbnRleHR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuZGF0YT1lO3RoaXMuc3RhcnQ9dDt0aGlzLmVuZD1pfWdldCBkZWNvZGVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZWNvZGVyIixuZXcgQXJpdGhtZXRpY0RlY29kZXIodGhpcy5kYXRhLHRoaXMuc3RhcnQsdGhpcy5lbmQpKX1nZXQgY29udGV4dENhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjb250ZXh0Q2FjaGUiLG5ldyBDb250ZXh0Q2FjaGUpfX1jb25zdCBqdD0yKiozMS0xLFh0PS0oMioqMzEpO2Z1bmN0aW9uIGRlY29kZUludGVnZXIoZSx0LGkpe2NvbnN0IGE9ZS5nZXRDb250ZXh0cyh0KTtsZXQgcz0xO2Z1bmN0aW9uIHJlYWRCaXRzKGUpe2xldCB0PTA7Zm9yKGxldCByPTA7cjxlO3IrKyl7Y29uc3QgZT1pLnJlYWRCaXQoYSxzKTtzPXM8MjU2P3M8PDF8ZTo1MTEmKHM8PDF8ZSl8MjU2O3Q9dDw8MXxlfXJldHVybiB0Pj4+MH1jb25zdCByPXJlYWRCaXRzKDEpLG49cmVhZEJpdHMoMSk/cmVhZEJpdHMoMSk/cmVhZEJpdHMoMSk/cmVhZEJpdHMoMSk/cmVhZEJpdHMoMSk/cmVhZEJpdHMoMzIpKzQ0MzY6cmVhZEJpdHMoMTIpKzM0MDpyZWFkQml0cyg4KSs4NDpyZWFkQml0cyg2KSsyMDpyZWFkQml0cyg0KSs0OnJlYWRCaXRzKDIpO2xldCBnOzA9PT1yP2c9bjpuPjAmJihnPS1uKTtyZXR1cm4gZz49WHQmJmc8PWp0P2c6bnVsbH1mdW5jdGlvbiBkZWNvZGVJQUlEKGUsdCxpKXtjb25zdCBhPWUuZ2V0Q29udGV4dHMoIklBSUQiKTtsZXQgcz0xO2ZvcihsZXQgZT0wO2U8aTtlKyspe3M9czw8MXx0LnJlYWRCaXQoYSxzKX1yZXR1cm4gaTwzMT9zJigxPDxpKS0xOjIxNDc0ODM2NDcmc31jb25zdCBadD1bIlN5bWJvbERpY3Rpb25hcnkiLG51bGwsbnVsbCxudWxsLCJJbnRlcm1lZGlhdGVUZXh0UmVnaW9uIixudWxsLCJJbW1lZGlhdGVUZXh0UmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NUZXh0UmVnaW9uIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIlBhdHRlcm5EaWN0aW9uYXJ5IixudWxsLG51bGwsbnVsbCwiSW50ZXJtZWRpYXRlSGFsZnRvbmVSZWdpb24iLG51bGwsIkltbWVkaWF0ZUhhbGZ0b25lUmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbiIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIkludGVybWVkaWF0ZUdlbmVyaWNSZWdpb24iLG51bGwsIkltbWVkaWF0ZUdlbmVyaWNSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb24iLCJJbnRlcm1lZGlhdGVHZW5lcmljUmVmaW5lbWVudFJlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlR2VuZXJpY1JlZmluZW1lbnRSZWdpb24iLCJJbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWZpbmVtZW50UmVnaW9uIixudWxsLG51bGwsbnVsbCxudWxsLCJQYWdlSW5mb3JtYXRpb24iLCJFbmRPZlBhZ2UiLCJFbmRPZlN0cmlwZSIsIkVuZE9mRmlsZSIsIlByb2ZpbGVzIiwiVGFibGVzIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIkV4dGVuc2lvbiJdLFZ0PVtbe3g6LTEseTotMn0se3g6MCx5Oi0yfSx7eDoxLHk6LTJ9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDoyLHk6LTF9LHt4Oi00LHk6MH0se3g6LTMseTowfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dLFt7eDotMSx5Oi0yfSx7eDowLHk6LTJ9LHt4OjEseTotMn0se3g6Mix5Oi0yfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6Mix5Oi0xfSx7eDotMyx5OjB9LHt4Oi0yLHk6MH0se3g6LTEseTowfV0sW3t4Oi0xLHk6LTJ9LHt4OjAseTotMn0se3g6MSx5Oi0yfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTIseTowfSx7eDotMSx5OjB9XSxbe3g6LTMseTotMX0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi00LHk6MH0se3g6LTMseTowfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dXSx6dD1be2NvZGluZzpbe3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0xLHk6MH1dLHJlZmVyZW5jZTpbe3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0xLHk6MH0se3g6MCx5OjB9LHt4OjEseTowfSx7eDotMSx5OjF9LHt4OjAseToxfSx7eDoxLHk6MX1dfSx7Y29kaW5nOlt7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6LTEseTowfV0scmVmZXJlbmNlOlt7eDowLHk6LTF9LHt4Oi0xLHk6MH0se3g6MCx5OjB9LHt4OjEseTowfSx7eDowLHk6MX0se3g6MSx5OjF9XX1dLF90PVszOTcxNywxOTQxLDIyOSw0MDVdLCR0PVszMiw4XTtmdW5jdGlvbiBkZWNvZGVCaXRtYXAoZSx0LGksYSxzLHIsbixnKXtpZihlKXtyZXR1cm4gZGVjb2RlTU1SQml0bWFwKG5ldyBSZWFkZXIoZy5kYXRhLGcuc3RhcnQsZy5lbmQpLHQsaSwhMSl9aWYoMD09PWEmJiFyJiYhcyYmND09PW4ubGVuZ3RoJiYzPT09blswXS54JiYtMT09PW5bMF0ueSYmLTM9PT1uWzFdLngmJi0xPT09blsxXS55JiYyPT09blsyXS54JiYtMj09PW5bMl0ueSYmLTI9PT1uWzNdLngmJi0yPT09blszXS55KXJldHVybiBmdW5jdGlvbiBkZWNvZGVCaXRtYXBUZW1wbGF0ZTAoZSx0LGkpe2NvbnN0IGE9aS5kZWNvZGVyLHM9aS5jb250ZXh0Q2FjaGUuZ2V0Q29udGV4dHMoIkdCIikscj1bXTtsZXQgbixnLG8sYyxDLGgsbDtmb3IoZz0wO2c8dDtnKyspe0M9cltnXT1uZXcgVWludDhBcnJheShlKTtoPWc8MT9DOnJbZy0xXTtsPWc8Mj9DOnJbZy0yXTtuPWxbMF08PDEzfGxbMV08PDEyfGxbMl08PDExfGhbMF08PDd8aFsxXTw8NnxoWzJdPDw1fGhbM108PDQ7Zm9yKG89MDtvPGU7bysrKXtDW29dPWM9YS5yZWFkQml0KHMsbik7bj0oMzE3MzUmbik8PDF8KG8rMzxlP2xbbyszXTw8MTE6MCl8KG8rNDxlP2hbbys0XTw8NDowKXxjfX1yZXR1cm4gcn0odCxpLGcpO2NvbnN0IG89ISFyLGM9VnRbYV0uY29uY2F0KG4pO2Muc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS55LXQueXx8ZS54LXQueH0pKTtjb25zdCBDPWMubGVuZ3RoLGg9bmV3IEludDhBcnJheShDKSxsPW5ldyBJbnQ4QXJyYXkoQyksUT1bXTtsZXQgRSx1LGQ9MCxmPTAscD0wLG09MDtmb3IodT0wO3U8Qzt1Kyspe2hbdV09Y1t1XS54O2xbdV09Y1t1XS55O2Y9TWF0aC5taW4oZixjW3VdLngpO3A9TWF0aC5tYXgocCxjW3VdLngpO209TWF0aC5taW4obSxjW3VdLnkpO3U8Qy0xJiZjW3VdLnk9PT1jW3UrMV0ueSYmY1t1XS54PT09Y1t1KzFdLngtMT9kfD0xPDxDLTEtdTpRLnB1c2godSl9Y29uc3QgeT1RLmxlbmd0aCx3PW5ldyBJbnQ4QXJyYXkoeSksRD1uZXcgSW50OEFycmF5KHkpLGI9bmV3IFVpbnQxNkFycmF5KHkpO2ZvcihFPTA7RTx5O0UrKyl7dT1RW0VdO3dbRV09Y1t1XS54O0RbRV09Y1t1XS55O2JbRV09MTw8Qy0xLXV9Y29uc3QgRj0tZixTPS1tLGs9dC1wLFI9X3RbYV07bGV0IE49bmV3IFVpbnQ4QXJyYXkodCk7Y29uc3QgRz1bXSx4PWcuZGVjb2RlcixVPWcuY29udGV4dENhY2hlLmdldENvbnRleHRzKCJHQiIpO2xldCBNLEwsSCxKLFksdj0wLEs9MDtmb3IobGV0IGU9MDtlPGk7ZSsrKXtpZihzKXt2Xj14LnJlYWRCaXQoVSxSKTtpZih2KXtHLnB1c2goTik7Y29udGludWV9fU49bmV3IFVpbnQ4QXJyYXkoTik7Ry5wdXNoKE4pO2ZvcihNPTA7TTx0O00rKyl7aWYobyYmcltlXVtNXSl7TltNXT0wO2NvbnRpbnVlfWlmKE0+PUYmJk08ayYmZT49Uyl7Sz1LPDwxJmQ7Zm9yKHU9MDt1PHk7dSsrKXtMPWUrRFt1XTtIPU0rd1t1XTtKPUdbTF1bSF07aWYoSil7Sj1iW3VdO0t8PUp9fX1lbHNle0s9MDtZPUMtMTtmb3IodT0wO3U8Qzt1KyssWS0tKXtIPU0raFt1XTtpZihIPj0wJiZIPHQpe0w9ZStsW3VdO2lmKEw+PTApe0o9R1tMXVtIXTtKJiYoS3w9Sjw8WSl9fX19Y29uc3QgaT14LnJlYWRCaXQoVSxLKTtOW01dPWl9fXJldHVybiBHfWZ1bmN0aW9uIGRlY29kZVJlZmluZW1lbnQoZSx0LGksYSxzLHIsbixnLG8pe2xldCBjPXp0W2ldLmNvZGluZzswPT09aSYmKGM9Yy5jb25jYXQoW2dbMF1dKSk7Y29uc3QgQz1jLmxlbmd0aCxoPW5ldyBJbnQzMkFycmF5KEMpLGw9bmV3IEludDMyQXJyYXkoQyk7bGV0IFE7Zm9yKFE9MDtRPEM7USsrKXtoW1FdPWNbUV0ueDtsW1FdPWNbUV0ueX1sZXQgRT16dFtpXS5yZWZlcmVuY2U7MD09PWkmJihFPUUuY29uY2F0KFtnWzFdXSkpO2NvbnN0IHU9RS5sZW5ndGgsZD1uZXcgSW50MzJBcnJheSh1KSxmPW5ldyBJbnQzMkFycmF5KHUpO2ZvcihRPTA7UTx1O1ErKyl7ZFtRXT1FW1FdLng7ZltRXT1FW1FdLnl9Y29uc3QgcD1hWzBdLmxlbmd0aCxtPWEubGVuZ3RoLHk9JHRbaV0sdz1bXSxEPW8uZGVjb2RlcixiPW8uY29udGV4dENhY2hlLmdldENvbnRleHRzKCJHUiIpO2xldCBGPTA7Zm9yKGxldCBpPTA7aTx0O2krKyl7aWYobil7Rl49RC5yZWFkQml0KGIseSk7aWYoRil0aHJvdyBuZXcgSmJpZzJFcnJvcigicHJlZGljdGlvbiBpcyBub3Qgc3VwcG9ydGVkIil9Y29uc3QgdD1uZXcgVWludDhBcnJheShlKTt3LnB1c2godCk7Zm9yKGxldCBuPTA7bjxlO24rKyl7bGV0IGcsbyxjPTA7Zm9yKFE9MDtRPEM7USsrKXtnPWkrbFtRXTtvPW4raFtRXTtnPDB8fG88MHx8bz49ZT9jPDw9MTpjPWM8PDF8d1tnXVtvXX1mb3IoUT0wO1E8dTtRKyspe2c9aStmW1FdLXI7bz1uK2RbUV0tcztnPDB8fGc+PW18fG88MHx8bz49cD9jPDw9MTpjPWM8PDF8YVtnXVtvXX1jb25zdCBFPUQucmVhZEJpdChiLGMpO3Rbbl09RX19cmV0dXJuIHd9ZnVuY3Rpb24gZGVjb2RlVGV4dFJlZ2lvbihlLHQsaSxhLHMscixuLGcsbyxjLEMsaCxsLFEsRSx1LGQsZixwKXtpZihlJiZ0KXRocm93IG5ldyBKYmlnMkVycm9yKCJyZWZpbmVtZW50IHdpdGggSHVmZm1hbiBpcyBub3Qgc3VwcG9ydGVkIik7Y29uc3QgbT1bXTtsZXQgeSx3O2Zvcih5PTA7eTxhO3krKyl7dz1uZXcgVWludDhBcnJheShpKTtpZihzKWZvcihsZXQgZT0wO2U8aTtlKyspd1tlXT1zO20ucHVzaCh3KX1jb25zdCBEPWQuZGVjb2RlcixiPWQuY29udGV4dENhY2hlO2xldCBGPWU/LVEudGFibGVEZWx0YVQuZGVjb2RlKHApOi1kZWNvZGVJbnRlZ2VyKGIsIklBRFQiLEQpLFM9MDt5PTA7Zm9yKDt5PHI7KXtGKz1lP1EudGFibGVEZWx0YVQuZGVjb2RlKHApOmRlY29kZUludGVnZXIoYiwiSUFEVCIsRCk7Uys9ZT9RLnRhYmxlRmlyc3RTLmRlY29kZShwKTpkZWNvZGVJbnRlZ2VyKGIsIklBRlMiLEQpO2xldCBhPVM7Zm9yKDs7KXtsZXQgcz0wO24+MSYmKHM9ZT9wLnJlYWRCaXRzKGYpOmRlY29kZUludGVnZXIoYiwiSUFJVCIsRCkpO2NvbnN0IHI9bipGK3MsUz1lP1Euc3ltYm9sSURUYWJsZS5kZWNvZGUocCk6ZGVjb2RlSUFJRChiLEQsbyksaz10JiYoZT9wLnJlYWRCaXQoKTpkZWNvZGVJbnRlZ2VyKGIsIklBUkkiLEQpKTtsZXQgUj1nW1NdLE49UlswXS5sZW5ndGgsRz1SLmxlbmd0aDtpZihrKXtjb25zdCBlPWRlY29kZUludGVnZXIoYiwiSUFSRFciLEQpLHQ9ZGVjb2RlSW50ZWdlcihiLCJJQVJESCIsRCk7Tis9ZTtHKz10O1I9ZGVjb2RlUmVmaW5lbWVudChOLEcsRSxSLChlPj4xKStkZWNvZGVJbnRlZ2VyKGIsIklBUkRYIixEKSwodD4+MSkrZGVjb2RlSW50ZWdlcihiLCJJQVJEWSIsRCksITEsdSxkKX1sZXQgeD0wO2M/MSZoP3g9Ry0xOmErPUctMTpoPjE/YSs9Ti0xOng9Ti0xO2NvbnN0IFU9ci0oMSZoPzA6Ry0xKSxNPWEtKDImaD9OLTE6MCk7bGV0IEwsSCxKO2lmKGMpZm9yKEw9MDtMPEc7TCsrKXt3PW1bTStMXTtpZighdyljb250aW51ZTtKPVJbTF07Y29uc3QgZT1NYXRoLm1pbihpLVUsTik7c3dpdGNoKGwpe2Nhc2UgMDpmb3IoSD0wO0g8ZTtIKyspd1tVK0hdfD1KW0hdO2JyZWFrO2Nhc2UgMjpmb3IoSD0wO0g8ZTtIKyspd1tVK0hdXj1KW0hdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICR7bH0gaXMgbm90IHN1cHBvcnRlZGApfX1lbHNlIGZvcihIPTA7SDxHO0grKyl7dz1tW1UrSF07aWYodyl7Sj1SW0hdO3N3aXRjaChsKXtjYXNlIDA6Zm9yKEw9MDtMPE47TCsrKXdbTStMXXw9SltMXTticmVhaztjYXNlIDI6Zm9yKEw9MDtMPE47TCsrKXdbTStMXV49SltMXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAke2x9IGlzIG5vdCBzdXBwb3J0ZWRgKX19fXkrKztjb25zdCBZPWU/US50YWJsZURlbHRhUy5kZWNvZGUocCk6ZGVjb2RlSW50ZWdlcihiLCJJQURTIixEKTtpZihudWxsPT09WSlicmVhazthKz14K1krQ319cmV0dXJuIG19ZnVuY3Rpb24gcmVhZFNlZ21lbnRIZWFkZXIoZSx0KXtjb25zdCBpPXt9O2kubnVtYmVyPXJlYWRVaW50MzIoZSx0KTtjb25zdCBhPWVbdCs0XSxzPTYzJmE7aWYoIVp0W3NdKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHNlZ21lbnQgdHlwZTogIitzKTtpLnR5cGU9cztpLnR5cGVOYW1lPVp0W3NdO2kuZGVmZXJyZWROb25SZXRhaW49ISEoMTI4JmEpO2NvbnN0IHI9ISEoNjQmYSksbj1lW3QrNV07bGV0IGc9bj4+NSY3O2NvbnN0IG89WzMxJm5dO2xldCBjPXQrNjtpZig3PT09bil7Zz01MzY4NzA5MTEmcmVhZFVpbnQzMihlLGMtMSk7Yys9MztsZXQgdD1nKzc+PjM7b1swXT1lW2MrK107Zm9yKDstLXQ+MDspby5wdXNoKGVbYysrXSl9ZWxzZSBpZig1PT09bnx8Nj09PW4pdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgcmVmZXJyZWQtdG8gZmxhZ3MiKTtpLnJldGFpbkJpdHM9bztsZXQgQz00O2kubnVtYmVyPD0yNTY/Qz0xOmkubnVtYmVyPD02NTUzNiYmKEM9Mik7Y29uc3QgaD1bXTtsZXQgbCxRO2ZvcihsPTA7bDxnO2wrKyl7bGV0IHQ7dD0xPT09Qz9lW2NdOjI9PT1DP3JlYWRVaW50MTYoZSxjKTpyZWFkVWludDMyKGUsYyk7aC5wdXNoKHQpO2MrPUN9aS5yZWZlcnJlZFRvPWg7aWYocil7aS5wYWdlQXNzb2NpYXRpb249cmVhZFVpbnQzMihlLGMpO2MrPTR9ZWxzZSBpLnBhZ2VBc3NvY2lhdGlvbj1lW2MrK107aS5sZW5ndGg9cmVhZFVpbnQzMihlLGMpO2MrPTQ7aWYoNDI5NDk2NzI5NT09PWkubGVuZ3RoKXtpZigzOCE9PXMpdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgdW5rbm93biBzZWdtZW50IGxlbmd0aCIpO3tjb25zdCB0PXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZSxjKSxhPSEhKDEmZVtjK0FpXSkscz02LHI9bmV3IFVpbnQ4QXJyYXkocyk7aWYoIWEpe3JbMF09MjU1O3JbMV09MTcyfXJbMl09dC5oZWlnaHQ+Pj4yNCYyNTU7clszXT10LmhlaWdodD4+MTYmMjU1O3JbNF09dC5oZWlnaHQ+PjgmMjU1O3JbNV09MjU1JnQuaGVpZ2h0O2ZvcihsPWMsUT1lLmxlbmd0aDtsPFE7bCsrKXtsZXQgdD0wO2Zvcig7dDxzJiZyW3RdPT09ZVtsK3RdOyl0Kys7aWYodD09PXMpe2kubGVuZ3RoPWwrczticmVha319aWYoNDI5NDk2NzI5NT09PWkubGVuZ3RoKXRocm93IG5ldyBKYmlnMkVycm9yKCJzZWdtZW50IGVuZCB3YXMgbm90IGZvdW5kIil9fWkuaGVhZGVyRW5kPWM7cmV0dXJuIGl9ZnVuY3Rpb24gcmVhZFNlZ21lbnRzKGUsdCxpLGEpe2NvbnN0IHM9W107bGV0IHI9aTtmb3IoO3I8YTspe2NvbnN0IGk9cmVhZFNlZ21lbnRIZWFkZXIodCxyKTtyPWkuaGVhZGVyRW5kO2NvbnN0IGE9e2hlYWRlcjppLGRhdGE6dH07aWYoIWUucmFuZG9tQWNjZXNzKXthLnN0YXJ0PXI7cis9aS5sZW5ndGg7YS5lbmQ9cn1zLnB1c2goYSk7aWYoNTE9PT1pLnR5cGUpYnJlYWt9aWYoZS5yYW5kb21BY2Nlc3MpZm9yKGxldCBlPTAsdD1zLmxlbmd0aDtlPHQ7ZSsrKXtzW2VdLnN0YXJ0PXI7cis9c1tlXS5oZWFkZXIubGVuZ3RoO3NbZV0uZW5kPXJ9cmV0dXJuIHN9ZnVuY3Rpb24gcmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihlLHQpe3JldHVybnt3aWR0aDpyZWFkVWludDMyKGUsdCksaGVpZ2h0OnJlYWRVaW50MzIoZSx0KzQpLHg6cmVhZFVpbnQzMihlLHQrOCkseTpyZWFkVWludDMyKGUsdCsxMiksY29tYmluYXRpb25PcGVyYXRvcjo3JmVbdCsxNl19fWNvbnN0IEFpPTE3O2Z1bmN0aW9uIHByb2Nlc3NTZWdtZW50KGUsdCl7Y29uc3QgaT1lLmhlYWRlcixhPWUuZGF0YSxzPWUuZW5kO2xldCByLG4sZyxvLGM9ZS5zdGFydDtzd2l0Y2goaS50eXBlKXtjYXNlIDA6Y29uc3QgZT17fSx0PXJlYWRVaW50MTYoYSxjKTtlLmh1ZmZtYW49ISEoMSZ0KTtlLnJlZmluZW1lbnQ9ISEoMiZ0KTtlLmh1ZmZtYW5ESFNlbGVjdG9yPXQ+PjImMztlLmh1ZmZtYW5EV1NlbGVjdG9yPXQ+PjQmMztlLmJpdG1hcFNpemVTZWxlY3Rvcj10Pj42JjE7ZS5hZ2dyZWdhdGlvbkluc3RhbmNlc1NlbGVjdG9yPXQ+PjcmMTtlLmJpdG1hcENvZGluZ0NvbnRleHRVc2VkPSEhKDI1NiZ0KTtlLmJpdG1hcENvZGluZ0NvbnRleHRSZXRhaW5lZD0hISg1MTImdCk7ZS50ZW1wbGF0ZT10Pj4xMCYzO2UucmVmaW5lbWVudFRlbXBsYXRlPXQ+PjEyJjE7Yys9MjtpZighZS5odWZmbWFuKXtvPTA9PT1lLnRlbXBsYXRlPzQ6MTtuPVtdO2ZvcihnPTA7ZzxvO2crKyl7bi5wdXNoKHt4OnJlYWRJbnQ4KGEsYykseTpyZWFkSW50OChhLGMrMSl9KTtjKz0yfWUuYXQ9bn1pZihlLnJlZmluZW1lbnQmJiFlLnJlZmluZW1lbnRUZW1wbGF0ZSl7bj1bXTtmb3IoZz0wO2c8MjtnKyspe24ucHVzaCh7eDpyZWFkSW50OChhLGMpLHk6cmVhZEludDgoYSxjKzEpfSk7Yys9Mn1lLnJlZmluZW1lbnRBdD1ufWUubnVtYmVyT2ZFeHBvcnRlZFN5bWJvbHM9cmVhZFVpbnQzMihhLGMpO2MrPTQ7ZS5udW1iZXJPZk5ld1N5bWJvbHM9cmVhZFVpbnQzMihhLGMpO2MrPTQ7cj1bZSxpLm51bWJlcixpLnJlZmVycmVkVG8sYSxjLHNdO2JyZWFrO2Nhc2UgNjpjYXNlIDc6Y29uc3QgQz17fTtDLmluZm89cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihhLGMpO2MrPUFpO2NvbnN0IGg9cmVhZFVpbnQxNihhLGMpO2MrPTI7Qy5odWZmbWFuPSEhKDEmaCk7Qy5yZWZpbmVtZW50PSEhKDImaCk7Qy5sb2dTdHJpcFNpemU9aD4+MiYzO0Muc3RyaXBTaXplPTE8PEMubG9nU3RyaXBTaXplO0MucmVmZXJlbmNlQ29ybmVyPWg+PjQmMztDLnRyYW5zcG9zZWQ9ISEoNjQmaCk7Qy5jb21iaW5hdGlvbk9wZXJhdG9yPWg+PjcmMztDLmRlZmF1bHRQaXhlbFZhbHVlPWg+PjkmMTtDLmRzT2Zmc2V0PWg8PDE3Pj4yNztDLnJlZmluZW1lbnRUZW1wbGF0ZT1oPj4xNSYxO2lmKEMuaHVmZm1hbil7Y29uc3QgZT1yZWFkVWludDE2KGEsYyk7Yys9MjtDLmh1ZmZtYW5GUz0zJmU7Qy5odWZmbWFuRFM9ZT4+MiYzO0MuaHVmZm1hbkRUPWU+PjQmMztDLmh1ZmZtYW5SZWZpbmVtZW50RFc9ZT4+NiYzO0MuaHVmZm1hblJlZmluZW1lbnRESD1lPj44JjM7Qy5odWZmbWFuUmVmaW5lbWVudERYPWU+PjEwJjM7Qy5odWZmbWFuUmVmaW5lbWVudERZPWU+PjEyJjM7Qy5odWZmbWFuUmVmaW5lbWVudFNpemVTZWxlY3Rvcj0hISgxNjM4NCZlKX1pZihDLnJlZmluZW1lbnQmJiFDLnJlZmluZW1lbnRUZW1wbGF0ZSl7bj1bXTtmb3IoZz0wO2c8MjtnKyspe24ucHVzaCh7eDpyZWFkSW50OChhLGMpLHk6cmVhZEludDgoYSxjKzEpfSk7Yys9Mn1DLnJlZmluZW1lbnRBdD1ufUMubnVtYmVyT2ZTeW1ib2xJbnN0YW5jZXM9cmVhZFVpbnQzMihhLGMpO2MrPTQ7cj1bQyxpLnJlZmVycmVkVG8sYSxjLHNdO2JyZWFrO2Nhc2UgMTY6Y29uc3QgbD17fSxRPWFbYysrXTtsLm1tcj0hISgxJlEpO2wudGVtcGxhdGU9UT4+MSYzO2wucGF0dGVybldpZHRoPWFbYysrXTtsLnBhdHRlcm5IZWlnaHQ9YVtjKytdO2wubWF4UGF0dGVybkluZGV4PXJlYWRVaW50MzIoYSxjKTtjKz00O3I9W2wsaS5udW1iZXIsYSxjLHNdO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpjb25zdCBFPXt9O0UuaW5mbz1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGEsYyk7Yys9QWk7Y29uc3QgdT1hW2MrK107RS5tbXI9ISEoMSZ1KTtFLnRlbXBsYXRlPXU+PjEmMztFLmVuYWJsZVNraXA9ISEoOCZ1KTtFLmNvbWJpbmF0aW9uT3BlcmF0b3I9dT4+NCY3O0UuZGVmYXVsdFBpeGVsVmFsdWU9dT4+NyYxO0UuZ3JpZFdpZHRoPXJlYWRVaW50MzIoYSxjKTtjKz00O0UuZ3JpZEhlaWdodD1yZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRPZmZzZXRYPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihhLGMpO2MrPTQ7RS5ncmlkT2Zmc2V0WT00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoYSxjKTtjKz00O0UuZ3JpZFZlY3Rvclg9cmVhZFVpbnQxNihhLGMpO2MrPTI7RS5ncmlkVmVjdG9yWT1yZWFkVWludDE2KGEsYyk7Yys9MjtyPVtFLGkucmVmZXJyZWRUbyxhLGMsc107YnJlYWs7Y2FzZSAzODpjYXNlIDM5OmNvbnN0IGQ9e307ZC5pbmZvPXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oYSxjKTtjKz1BaTtjb25zdCBmPWFbYysrXTtkLm1tcj0hISgxJmYpO2QudGVtcGxhdGU9Zj4+MSYzO2QucHJlZGljdGlvbj0hISg4JmYpO2lmKCFkLm1tcil7bz0wPT09ZC50ZW1wbGF0ZT80OjE7bj1bXTtmb3IoZz0wO2c8bztnKyspe24ucHVzaCh7eDpyZWFkSW50OChhLGMpLHk6cmVhZEludDgoYSxjKzEpfSk7Yys9Mn1kLmF0PW59cj1bZCxhLGMsc107YnJlYWs7Y2FzZSA0ODpjb25zdCBwPXt3aWR0aDpyZWFkVWludDMyKGEsYyksaGVpZ2h0OnJlYWRVaW50MzIoYSxjKzQpLHJlc29sdXRpb25YOnJlYWRVaW50MzIoYSxjKzgpLHJlc29sdXRpb25ZOnJlYWRVaW50MzIoYSxjKzEyKX07NDI5NDk2NzI5NT09PXAuaGVpZ2h0JiZkZWxldGUgcC5oZWlnaHQ7Y29uc3QgbT1hW2MrMTZdO3JlYWRVaW50MTYoYSxjKzE3KTtwLmxvc3NsZXNzPSEhKDEmbSk7cC5yZWZpbmVtZW50PSEhKDImbSk7cC5kZWZhdWx0UGl4ZWxWYWx1ZT1tPj4yJjE7cC5jb21iaW5hdGlvbk9wZXJhdG9yPW0+PjMmMztwLnJlcXVpcmVzQnVmZmVyPSEhKDMyJm0pO3AuY29tYmluYXRpb25PcGVyYXRvck92ZXJyaWRlPSEhKDY0Jm0pO3I9W3BdO2JyZWFrO2Nhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNjI6YnJlYWs7Y2FzZSA1MzpyPVtpLm51bWJlcixhLGMsc107YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgc2VnbWVudCB0eXBlICR7aS50eXBlTmFtZX0oJHtpLnR5cGV9KSBpcyBub3QgaW1wbGVtZW50ZWRgKX1jb25zdCBDPSJvbiIraS50eXBlTmFtZTtDIGluIHQmJnRbQ10uYXBwbHkodCxyKX1mdW5jdGlvbiBwcm9jZXNzU2VnbWVudHMoZSx0KXtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspcHJvY2Vzc1NlZ21lbnQoZVtpXSx0KX1jbGFzcyBTaW1wbGVTZWdtZW50VmlzaXRvcntvblBhZ2VJbmZvcm1hdGlvbihlKXt0aGlzLmN1cnJlbnRQYWdlSW5mbz1lO2NvbnN0IHQ9ZS53aWR0aCs3Pj4zLGk9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHQqZS5oZWlnaHQpO2UuZGVmYXVsdFBpeGVsVmFsdWUmJmkuZmlsbCgyNTUpO3RoaXMuYnVmZmVyPWl9ZHJhd0JpdG1hcChlLHQpe2NvbnN0IGk9dGhpcy5jdXJyZW50UGFnZUluZm8sYT1lLndpZHRoLHM9ZS5oZWlnaHQscj1pLndpZHRoKzc+PjMsbj1pLmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZT9lLmNvbWJpbmF0aW9uT3BlcmF0b3I6aS5jb21iaW5hdGlvbk9wZXJhdG9yLGc9dGhpcy5idWZmZXIsbz0xMjg+Pig3JmUueCk7bGV0IGMsQyxoLGwsUT1lLnkqcisoZS54Pj4zKTtzd2l0Y2gobil7Y2FzZSAwOmZvcihjPTA7YzxzO2MrKyl7aD1vO2w9UTtmb3IoQz0wO0M8YTtDKyspe3RbY11bQ10mJihnW2xdfD1oKTtoPj49MTtpZighaCl7aD0xMjg7bCsrfX1RKz1yfWJyZWFrO2Nhc2UgMjpmb3IoYz0wO2M8cztjKyspe2g9bztsPVE7Zm9yKEM9MDtDPGE7QysrKXt0W2NdW0NdJiYoZ1tsXV49aCk7aD4+PTE7aWYoIWgpe2g9MTI4O2wrK319USs9cn1icmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAke259IGlzIG5vdCBzdXBwb3J0ZWRgKX19b25JbW1lZGlhdGVHZW5lcmljUmVnaW9uKGUsdCxpLGEpe2NvbnN0IHM9ZS5pbmZvLHI9bmV3IERlY29kaW5nQ29udGV4dCh0LGksYSksbj1kZWNvZGVCaXRtYXAoZS5tbXIscy53aWR0aCxzLmhlaWdodCxlLnRlbXBsYXRlLGUucHJlZGljdGlvbixudWxsLGUuYXQscik7dGhpcy5kcmF3Qml0bWFwKHMsbil9b25JbW1lZGlhdGVMb3NzbGVzc0dlbmVyaWNSZWdpb24oKXt0aGlzLm9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbiguLi5hcmd1bWVudHMpfW9uU3ltYm9sRGljdGlvbmFyeShlLHQsaSxhLHMscil7bGV0IG4sZztpZihlLmh1ZmZtYW4pe249ZnVuY3Rpb24gZ2V0U3ltYm9sRGljdGlvbmFyeUh1ZmZtYW5UYWJsZXMoZSx0LGkpe2xldCBhLHMscixuLGc9MDtzd2l0Y2goZS5odWZmbWFuREhTZWxlY3Rvcil7Y2FzZSAwOmNhc2UgMTphPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuREhTZWxlY3Rvcis0KTticmVhaztjYXNlIDM6YT1nZXRDdXN0b21IdWZmbWFuVGFibGUoZyx0LGkpO2crKzticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gREggc2VsZWN0b3IiKX1zd2l0Y2goZS5odWZmbWFuRFdTZWxlY3Rvcil7Y2FzZSAwOmNhc2UgMTpzPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFdTZWxlY3RvcisyKTticmVhaztjYXNlIDM6cz1nZXRDdXN0b21IdWZmbWFuVGFibGUoZyx0LGkpO2crKzticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gRFcgc2VsZWN0b3IiKX1pZihlLmJpdG1hcFNpemVTZWxlY3Rvcil7cj1nZXRDdXN0b21IdWZmbWFuVGFibGUoZyx0LGkpO2crK31lbHNlIHI9Z2V0U3RhbmRhcmRUYWJsZSgxKTtuPWUuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3Rvcj9nZXRDdXN0b21IdWZmbWFuVGFibGUoZyx0LGkpOmdldFN0YW5kYXJkVGFibGUoMSk7cmV0dXJue3RhYmxlRGVsdGFIZWlnaHQ6YSx0YWJsZURlbHRhV2lkdGg6cyx0YWJsZUJpdG1hcFNpemU6cix0YWJsZUFnZ3JlZ2F0ZUluc3RhbmNlczpufX0oZSxpLHRoaXMuY3VzdG9tVGFibGVzKTtnPW5ldyBSZWFkZXIoYSxzLHIpfWxldCBvPXRoaXMuc3ltYm9scztvfHwodGhpcy5zeW1ib2xzPW89e30pO2NvbnN0IGM9W107Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgdD1vW2VdO3QmJmMucHVzaCguLi50KX1jb25zdCBDPW5ldyBEZWNvZGluZ0NvbnRleHQoYSxzLHIpO29bdF09ZnVuY3Rpb24gZGVjb2RlU3ltYm9sRGljdGlvbmFyeShlLHQsaSxhLHMscixuLGcsbyxjLEMsaCl7aWYoZSYmdCl0aHJvdyBuZXcgSmJpZzJFcnJvcigic3ltYm9sIHJlZmluZW1lbnQgd2l0aCBIdWZmbWFuIGlzIG5vdCBzdXBwb3J0ZWQiKTtjb25zdCBsPVtdO2xldCBRPTAsRT1sb2cyKGkubGVuZ3RoK2EpO2NvbnN0IHU9Qy5kZWNvZGVyLGQ9Qy5jb250ZXh0Q2FjaGU7bGV0IGYscDtpZihlKXtmPWdldFN0YW5kYXJkVGFibGUoMSk7cD1bXTtFPU1hdGgubWF4KEUsMSl9Zm9yKDtsLmxlbmd0aDxhOyl7USs9ZT9yLnRhYmxlRGVsdGFIZWlnaHQuZGVjb2RlKGgpOmRlY29kZUludGVnZXIoZCwiSUFESCIsdSk7bGV0IGE9MCxzPTA7Y29uc3QgZj1lP3AubGVuZ3RoOjA7Zm9yKDs7KXtjb25zdCBmPWU/ci50YWJsZURlbHRhV2lkdGguZGVjb2RlKGgpOmRlY29kZUludGVnZXIoZCwiSUFEVyIsdSk7aWYobnVsbD09PWYpYnJlYWs7YSs9ZjtzKz1hO2xldCBtO2lmKHQpe2NvbnN0IHM9ZGVjb2RlSW50ZWdlcihkLCJJQUFJIix1KTtpZihzPjEpbT1kZWNvZGVUZXh0UmVnaW9uKGUsdCxhLFEsMCxzLDEsaS5jb25jYXQobCksRSwwLDAsMSwwLHIsbyxjLEMsMCxoKTtlbHNle2NvbnN0IGU9ZGVjb2RlSUFJRChkLHUsRSksdD1kZWNvZGVJbnRlZ2VyKGQsIklBUkRYIix1KSxzPWRlY29kZUludGVnZXIoZCwiSUFSRFkiLHUpO209ZGVjb2RlUmVmaW5lbWVudChhLFEsbyxlPGkubGVuZ3RoP2lbZV06bFtlLWkubGVuZ3RoXSx0LHMsITEsYyxDKX1sLnB1c2gobSl9ZWxzZSBpZihlKXAucHVzaChhKTtlbHNle209ZGVjb2RlQml0bWFwKCExLGEsUSxuLCExLG51bGwsZyxDKTtsLnB1c2gobSl9fWlmKGUmJiF0KXtjb25zdCBlPXIudGFibGVCaXRtYXBTaXplLmRlY29kZShoKTtoLmJ5dGVBbGlnbigpO2xldCB0O2lmKDA9PT1lKXQ9cmVhZFVuY29tcHJlc3NlZEJpdG1hcChoLHMsUSk7ZWxzZXtjb25zdCBpPWguZW5kLGE9aC5wb3NpdGlvbitlO2guZW5kPWE7dD1kZWNvZGVNTVJCaXRtYXAoaCxzLFEsITEpO2guZW5kPWk7aC5wb3NpdGlvbj1hfWNvbnN0IGk9cC5sZW5ndGg7aWYoZj09PWktMSlsLnB1c2godCk7ZWxzZXtsZXQgZSxhLHMscixuLGc9MDtmb3IoZT1mO2U8aTtlKyspe3I9cFtlXTtzPWcrcjtuPVtdO2ZvcihhPTA7YTxRO2ErKyluLnB1c2godFthXS5zdWJhcnJheShnLHMpKTtsLnB1c2gobik7Zz1zfX19fWNvbnN0IG09W10seT1bXTtsZXQgdyxELGI9ITE7Y29uc3QgRj1pLmxlbmd0aCthO2Zvcig7eS5sZW5ndGg8Rjspe2xldCB0PWU/Zi5kZWNvZGUoaCk6ZGVjb2RlSW50ZWdlcihkLCJJQUVYIix1KTtmb3IoO3QtLTspeS5wdXNoKGIpO2I9IWJ9Zm9yKHc9MCxEPWkubGVuZ3RoO3c8RDt3KyspeVt3XSYmbS5wdXNoKGlbd10pO2ZvcihsZXQgZT0wO2U8YTt3KyssZSsrKXlbd10mJm0ucHVzaChsW2VdKTtyZXR1cm4gbX0oZS5odWZmbWFuLGUucmVmaW5lbWVudCxjLGUubnVtYmVyT2ZOZXdTeW1ib2xzLGUubnVtYmVyT2ZFeHBvcnRlZFN5bWJvbHMsbixlLnRlbXBsYXRlLGUuYXQsZS5yZWZpbmVtZW50VGVtcGxhdGUsZS5yZWZpbmVtZW50QXQsQyxnKX1vbkltbWVkaWF0ZVRleHRSZWdpb24oZSx0LGksYSxzKXtjb25zdCByPWUuaW5mbztsZXQgbixnO2NvbnN0IG89dGhpcy5zeW1ib2xzLGM9W107Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1vW2VdO3QmJmMucHVzaCguLi50KX1jb25zdCBDPWxvZzIoYy5sZW5ndGgpO2lmKGUuaHVmZm1hbil7Zz1uZXcgUmVhZGVyKGksYSxzKTtuPWZ1bmN0aW9uIGdldFRleHRSZWdpb25IdWZmbWFuVGFibGVzKGUsdCxpLGEscyl7Y29uc3Qgcj1bXTtmb3IobGV0IGU9MDtlPD0zNDtlKyspe2NvbnN0IHQ9cy5yZWFkQml0cyg0KTtyLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtlLHQsMCwwXSkpfWNvbnN0IG49bmV3IEh1ZmZtYW5UYWJsZShyLCExKTtyLmxlbmd0aD0wO2ZvcihsZXQgZT0wO2U8YTspe2NvbnN0IHQ9bi5kZWNvZGUocyk7aWYodD49MzIpe2xldCBpLGEsbjtzd2l0Y2godCl7Y2FzZSAzMjppZigwPT09ZSl0aHJvdyBuZXcgSmJpZzJFcnJvcigibm8gcHJldmlvdXMgdmFsdWUgaW4gc3ltYm9sIElEIHRhYmxlIik7YT1zLnJlYWRCaXRzKDIpKzM7aT1yW2UtMV0ucHJlZml4TGVuZ3RoO2JyZWFrO2Nhc2UgMzM6YT1zLnJlYWRCaXRzKDMpKzM7aT0wO2JyZWFrO2Nhc2UgMzQ6YT1zLnJlYWRCaXRzKDcpKzExO2k9MDticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIGNvZGUgbGVuZ3RoIGluIHN5bWJvbCBJRCB0YWJsZSIpfWZvcihuPTA7bjxhO24rKyl7ci5wdXNoKG5ldyBIdWZmbWFuTGluZShbZSxpLDAsMF0pKTtlKyt9fWVsc2V7ci5wdXNoKG5ldyBIdWZmbWFuTGluZShbZSx0LDAsMF0pKTtlKyt9fXMuYnl0ZUFsaWduKCk7Y29uc3QgZz1uZXcgSHVmZm1hblRhYmxlKHIsITEpO2xldCBvLGMsQyxoPTA7c3dpdGNoKGUuaHVmZm1hbkZTKXtjYXNlIDA6Y2FzZSAxOm89Z2V0U3RhbmRhcmRUYWJsZShlLmh1ZmZtYW5GUys2KTticmVhaztjYXNlIDM6bz1nZXRDdXN0b21IdWZmbWFuVGFibGUoaCx0LGkpO2grKzticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gRlMgc2VsZWN0b3IiKX1zd2l0Y2goZS5odWZmbWFuRFMpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAyOmM9Z2V0U3RhbmRhcmRUYWJsZShlLmh1ZmZtYW5EUys4KTticmVhaztjYXNlIDM6Yz1nZXRDdXN0b21IdWZmbWFuVGFibGUoaCx0LGkpO2grKzticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIEh1ZmZtYW4gRFMgc2VsZWN0b3IiKX1zd2l0Y2goZS5odWZmbWFuRFQpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAyOkM9Z2V0U3RhbmRhcmRUYWJsZShlLmh1ZmZtYW5EVCsxMSk7YnJlYWs7Y2FzZSAzOkM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGgsdCxpKTtoKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERUIHNlbGVjdG9yIil9aWYoZS5yZWZpbmVtZW50KXRocm93IG5ldyBKYmlnMkVycm9yKCJyZWZpbmVtZW50IHdpdGggSHVmZm1hbiBpcyBub3Qgc3VwcG9ydGVkIik7cmV0dXJue3N5bWJvbElEVGFibGU6Zyx0YWJsZUZpcnN0UzpvLHRhYmxlRGVsdGFTOmMsdGFibGVEZWx0YVQ6Q319KGUsdCx0aGlzLmN1c3RvbVRhYmxlcyxjLmxlbmd0aCxnKX1jb25zdCBoPW5ldyBEZWNvZGluZ0NvbnRleHQoaSxhLHMpLGw9ZGVjb2RlVGV4dFJlZ2lvbihlLmh1ZmZtYW4sZS5yZWZpbmVtZW50LHIud2lkdGgsci5oZWlnaHQsZS5kZWZhdWx0UGl4ZWxWYWx1ZSxlLm51bWJlck9mU3ltYm9sSW5zdGFuY2VzLGUuc3RyaXBTaXplLGMsQyxlLnRyYW5zcG9zZWQsZS5kc09mZnNldCxlLnJlZmVyZW5jZUNvcm5lcixlLmNvbWJpbmF0aW9uT3BlcmF0b3IsbixlLnJlZmluZW1lbnRUZW1wbGF0ZSxlLnJlZmluZW1lbnRBdCxoLGUubG9nU3RyaXBTaXplLGcpO3RoaXMuZHJhd0JpdG1hcChyLGwpfW9uSW1tZWRpYXRlTG9zc2xlc3NUZXh0UmVnaW9uKCl7dGhpcy5vbkltbWVkaWF0ZVRleHRSZWdpb24oLi4uYXJndW1lbnRzKX1vblBhdHRlcm5EaWN0aW9uYXJ5KGUsdCxpLGEscyl7bGV0IHI9dGhpcy5wYXR0ZXJucztyfHwodGhpcy5wYXR0ZXJucz1yPXt9KTtjb25zdCBuPW5ldyBEZWNvZGluZ0NvbnRleHQoaSxhLHMpO3JbdF09ZnVuY3Rpb24gZGVjb2RlUGF0dGVybkRpY3Rpb25hcnkoZSx0LGksYSxzLHIpe2NvbnN0IG49W107aWYoIWUpe24ucHVzaCh7eDotdCx5OjB9KTswPT09cyYmbi5wdXNoKHt4Oi0zLHk6LTF9LHt4OjIseTotMn0se3g6LTIseTotMn0pfWNvbnN0IGc9ZGVjb2RlQml0bWFwKGUsKGErMSkqdCxpLHMsITEsbnVsbCxuLHIpLG89W107Zm9yKGxldCBlPTA7ZTw9YTtlKyspe2NvbnN0IGE9W10scz10KmUscj1zK3Q7Zm9yKGxldCBlPTA7ZTxpO2UrKylhLnB1c2goZ1tlXS5zdWJhcnJheShzLHIpKTtvLnB1c2goYSl9cmV0dXJuIG99KGUubW1yLGUucGF0dGVybldpZHRoLGUucGF0dGVybkhlaWdodCxlLm1heFBhdHRlcm5JbmRleCxlLnRlbXBsYXRlLG4pfW9uSW1tZWRpYXRlSGFsZnRvbmVSZWdpb24oZSx0LGksYSxzKXtjb25zdCByPXRoaXMucGF0dGVybnNbdFswXV0sbj1lLmluZm8sZz1uZXcgRGVjb2RpbmdDb250ZXh0KGksYSxzKSxvPWZ1bmN0aW9uIGRlY29kZUhhbGZ0b25lUmVnaW9uKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoLGwsUSxFKXtpZihuKXRocm93IG5ldyBKYmlnMkVycm9yKCJza2lwIGlzIG5vdCBzdXBwb3J0ZWQiKTtpZigwIT09Zyl0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgIiR7Z30iIGlzIG5vdCBzdXBwb3J0ZWQgaW4gaGFsZnRvbmUgcmVnaW9uYCk7Y29uc3QgdT1bXTtsZXQgZCxmLHA7Zm9yKGQ9MDtkPHM7ZCsrKXtwPW5ldyBVaW50OEFycmF5KGEpO2lmKHIpZm9yKGY9MDtmPGE7ZisrKXBbZl09cjt1LnB1c2gocCl9Y29uc3QgbT10Lmxlbmd0aCx5PXRbMF0sdz15WzBdLmxlbmd0aCxEPXkubGVuZ3RoLGI9bG9nMihtKSxGPVtdO2lmKCFlKXtGLnB1c2goe3g6aTw9MT8zOjIseTotMX0pOzA9PT1pJiZGLnB1c2goe3g6LTMseTotMX0se3g6Mix5Oi0yfSx7eDotMix5Oi0yfSl9Y29uc3QgUz1bXTtsZXQgayxSLE4sRyx4LFUsTSxMLEgsSixZO2UmJihrPW5ldyBSZWFkZXIoRS5kYXRhLEUuc3RhcnQsRS5lbmQpKTtmb3IoZD1iLTE7ZD49MDtkLS0pe1I9ZT9kZWNvZGVNTVJCaXRtYXAoayxvLGMsITApOmRlY29kZUJpdG1hcCghMSxvLGMsaSwhMSxudWxsLEYsRSk7U1tkXT1SfWZvcihOPTA7TjxjO04rKylmb3IoRz0wO0c8bztHKyspe3g9MDtVPTA7Zm9yKGY9Yi0xO2Y+PTA7Zi0tKXt4Xj1TW2ZdW05dW0ddO1V8PXg8PGZ9TT10W1VdO0w9QytOKlErRypsPj44O0g9aCtOKmwtRypRPj44O2lmKEw+PTAmJkwrdzw9YSYmSD49MCYmSCtEPD1zKWZvcihkPTA7ZDxEO2QrKyl7WT11W0grZF07Sj1NW2RdO2ZvcihmPTA7Zjx3O2YrKylZW0wrZl18PUpbZl19ZWxzZXtsZXQgZSx0O2ZvcihkPTA7ZDxEO2QrKyl7dD1IK2Q7aWYoISh0PDB8fHQ+PXMpKXtZPXVbdF07Sj1NW2RdO2ZvcihmPTA7Zjx3O2YrKyl7ZT1MK2Y7ZT49MCYmZTxhJiYoWVtlXXw9SltmXSl9fX19fXJldHVybiB1fShlLm1tcixyLGUudGVtcGxhdGUsbi53aWR0aCxuLmhlaWdodCxlLmRlZmF1bHRQaXhlbFZhbHVlLGUuZW5hYmxlU2tpcCxlLmNvbWJpbmF0aW9uT3BlcmF0b3IsZS5ncmlkV2lkdGgsZS5ncmlkSGVpZ2h0LGUuZ3JpZE9mZnNldFgsZS5ncmlkT2Zmc2V0WSxlLmdyaWRWZWN0b3JYLGUuZ3JpZFZlY3RvclksZyk7dGhpcy5kcmF3Qml0bWFwKG4sbyl9b25JbW1lZGlhdGVMb3NzbGVzc0hhbGZ0b25lUmVnaW9uKCl7dGhpcy5vbkltbWVkaWF0ZUhhbGZ0b25lUmVnaW9uKC4uLmFyZ3VtZW50cyl9b25UYWJsZXMoZSx0LGksYSl7bGV0IHM9dGhpcy5jdXN0b21UYWJsZXM7c3x8KHRoaXMuY3VzdG9tVGFibGVzPXM9e30pO3NbZV09ZnVuY3Rpb24gZGVjb2RlVGFibGVzU2VnbWVudChlLHQsaSl7Y29uc3QgYT1lW3RdLHM9NDI5NDk2NzI5NSZyZWFkVWludDMyKGUsdCsxKSxyPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihlLHQrNSksbj1uZXcgUmVhZGVyKGUsdCs5LGkpLGc9MSsoYT4+MSY3KSxvPTErKGE+PjQmNyksYz1bXTtsZXQgQyxoLGw9cztkb3tDPW4ucmVhZEJpdHMoZyk7aD1uLnJlYWRCaXRzKG8pO2MucHVzaChuZXcgSHVmZm1hbkxpbmUoW2wsQyxoLDBdKSk7bCs9MTw8aH13aGlsZShsPHIpO0M9bi5yZWFkQml0cyhnKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtzLTEsQywzMiwwLCJsb3dlciJdKSk7Qz1uLnJlYWRCaXRzKGcpO2MucHVzaChuZXcgSHVmZm1hbkxpbmUoW3IsQywzMiwwXSkpO2lmKDEmYSl7Qz1uLnJlYWRCaXRzKGcpO2MucHVzaChuZXcgSHVmZm1hbkxpbmUoW0MsMF0pKX1yZXR1cm4gbmV3IEh1ZmZtYW5UYWJsZShjLCExKX0odCxpLGEpfX1jbGFzcyBIdWZmbWFuTGluZXtjb25zdHJ1Y3RvcihlKXtpZigyPT09ZS5sZW5ndGgpe3RoaXMuaXNPT0I9ITA7dGhpcy5yYW5nZUxvdz0wO3RoaXMucHJlZml4TGVuZ3RoPWVbMF07dGhpcy5yYW5nZUxlbmd0aD0wO3RoaXMucHJlZml4Q29kZT1lWzFdO3RoaXMuaXNMb3dlclJhbmdlPSExfWVsc2V7dGhpcy5pc09PQj0hMTt0aGlzLnJhbmdlTG93PWVbMF07dGhpcy5wcmVmaXhMZW5ndGg9ZVsxXTt0aGlzLnJhbmdlTGVuZ3RoPWVbMl07dGhpcy5wcmVmaXhDb2RlPWVbM107dGhpcy5pc0xvd2VyUmFuZ2U9Imxvd2VyIj09PWVbNF19fX1jbGFzcyBIdWZmbWFuVHJlZU5vZGV7Y29uc3RydWN0b3IoZSl7dGhpcy5jaGlsZHJlbj1bXTtpZihlKXt0aGlzLmlzTGVhZj0hMDt0aGlzLnJhbmdlTGVuZ3RoPWUucmFuZ2VMZW5ndGg7dGhpcy5yYW5nZUxvdz1lLnJhbmdlTG93O3RoaXMuaXNMb3dlclJhbmdlPWUuaXNMb3dlclJhbmdlO3RoaXMuaXNPT0I9ZS5pc09PQn1lbHNlIHRoaXMuaXNMZWFmPSExfWJ1aWxkVHJlZShlLHQpe2NvbnN0IGk9ZS5wcmVmaXhDb2RlPj50JjE7aWYodDw9MCl0aGlzLmNoaWxkcmVuW2ldPW5ldyBIdWZmbWFuVHJlZU5vZGUoZSk7ZWxzZXtsZXQgYT10aGlzLmNoaWxkcmVuW2ldO2F8fCh0aGlzLmNoaWxkcmVuW2ldPWE9bmV3IEh1ZmZtYW5UcmVlTm9kZShudWxsKSk7YS5idWlsZFRyZWUoZSx0LTEpfX1kZWNvZGVOb2RlKGUpe2lmKHRoaXMuaXNMZWFmKXtpZih0aGlzLmlzT09CKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5yZWFkQml0cyh0aGlzLnJhbmdlTGVuZ3RoKTtyZXR1cm4gdGhpcy5yYW5nZUxvdysodGhpcy5pc0xvd2VyUmFuZ2U/LXQ6dCl9Y29uc3QgdD10aGlzLmNoaWxkcmVuW2UucmVhZEJpdCgpXTtpZighdCl0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIGRhdGEiKTtyZXR1cm4gdC5kZWNvZGVOb2RlKGUpfX1jbGFzcyBIdWZmbWFuVGFibGV7Y29uc3RydWN0b3IoZSx0KXt0fHx0aGlzLmFzc2lnblByZWZpeENvZGVzKGUpO3RoaXMucm9vdE5vZGU9bmV3IEh1ZmZtYW5UcmVlTm9kZShudWxsKTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ZVt0XTtpLnByZWZpeExlbmd0aD4wJiZ0aGlzLnJvb3ROb2RlLmJ1aWxkVHJlZShpLGkucHJlZml4TGVuZ3RoLTEpfX1kZWNvZGUoZSl7cmV0dXJuIHRoaXMucm9vdE5vZGUuZGVjb2RlTm9kZShlKX1hc3NpZ25QcmVmaXhDb2RlcyhlKXtjb25zdCB0PWUubGVuZ3RoO2xldCBpPTA7Zm9yKGxldCBhPTA7YTx0O2ErKylpPU1hdGgubWF4KGksZVthXS5wcmVmaXhMZW5ndGgpO2NvbnN0IGE9bmV3IFVpbnQzMkFycmF5KGkrMSk7Zm9yKGxldCBpPTA7aTx0O2krKylhW2VbaV0ucHJlZml4TGVuZ3RoXSsrO2xldCBzLHIsbixnPTEsbz0wO2FbMF09MDtmb3IoO2c8PWk7KXtvPW8rYVtnLTFdPDwxO3M9bztyPTA7Zm9yKDtyPHQ7KXtuPWVbcl07aWYobi5wcmVmaXhMZW5ndGg9PT1nKXtuLnByZWZpeENvZGU9cztzKyt9cisrfWcrK319fWNvbnN0IGVpPXt9O2Z1bmN0aW9uIGdldFN0YW5kYXJkVGFibGUoZSl7bGV0IHQsaT1laVtlXTtpZihpKXJldHVybiBpO3N3aXRjaChlKXtjYXNlIDE6dD1bWzAsMSw0LDBdLFsxNiwyLDgsMl0sWzI3MiwzLDE2LDZdLFs2NTgwOCwzLDMyLDddXTticmVhaztjYXNlIDI6dD1bWzAsMSwwLDBdLFsxLDIsMCwyXSxbMiwzLDAsNl0sWzMsNCwzLDE0XSxbMTEsNSw2LDMwXSxbNzUsNiwzMiw2Ml0sWzYsNjNdXTticmVhaztjYXNlIDM6dD1bWy0yNTYsOCw4LDI1NF0sWzAsMSwwLDBdLFsxLDIsMCwyXSxbMiwzLDAsNl0sWzMsNCwzLDE0XSxbMTEsNSw2LDMwXSxbLTI1Nyw4LDMyLDI1NSwibG93ZXIiXSxbNzUsNywzMiwxMjZdLFs2LDYyXV07YnJlYWs7Y2FzZSA0OnQ9W1sxLDEsMCwwXSxbMiwyLDAsMl0sWzMsMywwLDZdLFs0LDQsMywxNF0sWzEyLDUsNiwzMF0sWzc2LDUsMzIsMzFdXTticmVhaztjYXNlIDU6dD1bWy0yNTUsNyw4LDEyNl0sWzEsMSwwLDBdLFsyLDIsMCwyXSxbMywzLDAsNl0sWzQsNCwzLDE0XSxbMTIsNSw2LDMwXSxbLTI1Niw3LDMyLDEyNywibG93ZXIiXSxbNzYsNiwzMiw2Ml1dO2JyZWFrO2Nhc2UgNjp0PVtbLTIwNDgsNSwxMCwyOF0sWy0xMDI0LDQsOSw4XSxbLTUxMiw0LDgsOV0sWy0yNTYsNCw3LDEwXSxbLTEyOCw1LDYsMjldLFstNjQsNSw1LDMwXSxbLTMyLDQsNSwxMV0sWzAsMiw3LDBdLFsxMjgsMyw3LDJdLFsyNTYsMyw4LDNdLFs1MTIsNCw5LDEyXSxbMTAyNCw0LDEwLDEzXSxbLTIwNDksNiwzMiw2MiwibG93ZXIiXSxbMjA0OCw2LDMyLDYzXV07YnJlYWs7Y2FzZSA3OnQ9W1stMTAyNCw0LDksOF0sWy01MTIsMyw4LDBdLFstMjU2LDQsNyw5XSxbLTEyOCw1LDYsMjZdLFstNjQsNSw1LDI3XSxbLTMyLDQsNSwxMF0sWzAsNCw1LDExXSxbMzIsNSw1LDI4XSxbNjQsNSw2LDI5XSxbMTI4LDQsNywxMl0sWzI1NiwzLDgsMV0sWzUxMiwzLDksMl0sWzEwMjQsMywxMCwzXSxbLTEwMjUsNSwzMiwzMCwibG93ZXIiXSxbMjA0OCw1LDMyLDMxXV07YnJlYWs7Y2FzZSA4OnQ9W1stMTUsOCwzLDI1Ml0sWy03LDksMSw1MDhdLFstNSw4LDEsMjUzXSxbLTMsOSwwLDUwOV0sWy0yLDcsMCwxMjRdLFstMSw0LDAsMTBdLFswLDIsMSwwXSxbMiw1LDAsMjZdLFszLDYsMCw1OF0sWzQsMyw0LDRdLFsyMCw2LDEsNTldLFsyMiw0LDQsMTFdLFszOCw0LDUsMTJdLFs3MCw1LDYsMjddLFsxMzQsNSw3LDI4XSxbMjYyLDYsNyw2MF0sWzM5MCw3LDgsMTI1XSxbNjQ2LDYsMTAsNjFdLFstMTYsOSwzMiw1MTAsImxvd2VyIl0sWzE2NzAsOSwzMiw1MTFdLFsyLDFdXTticmVhaztjYXNlIDk6dD1bWy0zMSw4LDQsMjUyXSxbLTE1LDksMiw1MDhdLFstMTEsOCwyLDI1M10sWy03LDksMSw1MDldLFstNSw3LDEsMTI0XSxbLTMsNCwxLDEwXSxbLTEsMywxLDJdLFsxLDMsMSwzXSxbMyw1LDEsMjZdLFs1LDYsMSw1OF0sWzcsMyw1LDRdLFszOSw2LDIsNTldLFs0Myw0LDUsMTFdLFs3NSw0LDYsMTJdLFsxMzksNSw3LDI3XSxbMjY3LDUsOCwyOF0sWzUyMyw2LDgsNjBdLFs3NzksNyw5LDEyNV0sWzEyOTEsNiwxMSw2MV0sWy0zMiw5LDMyLDUxMCwibG93ZXIiXSxbMzMzOSw5LDMyLDUxMV0sWzIsMF1dO2JyZWFrO2Nhc2UgMTA6dD1bWy0yMSw3LDQsMTIyXSxbLTUsOCwwLDI1Ml0sWy00LDcsMCwxMjNdLFstMyw1LDAsMjRdLFstMiwyLDIsMF0sWzIsNSwwLDI1XSxbMyw2LDAsNTRdLFs0LDcsMCwxMjRdLFs1LDgsMCwyNTNdLFs2LDIsNiwxXSxbNzAsNSw1LDI2XSxbMTAyLDYsNSw1NV0sWzEzNCw2LDYsNTZdLFsxOTgsNiw3LDU3XSxbMzI2LDYsOCw1OF0sWzU4Miw2LDksNTldLFsxMDk0LDYsMTAsNjBdLFsyMTE4LDcsMTEsMTI1XSxbLTIyLDgsMzIsMjU0LCJsb3dlciJdLFs0MTY2LDgsMzIsMjU1XSxbMiwyXV07YnJlYWs7Y2FzZSAxMTp0PVtbMSwxLDAsMF0sWzIsMiwxLDJdLFs0LDQsMCwxMl0sWzUsNCwxLDEzXSxbNyw1LDEsMjhdLFs5LDUsMiwyOV0sWzEzLDYsMiw2MF0sWzE3LDcsMiwxMjJdLFsyMSw3LDMsMTIzXSxbMjksNyw0LDEyNF0sWzQ1LDcsNSwxMjVdLFs3Nyw3LDYsMTI2XSxbMTQxLDcsMzIsMTI3XV07YnJlYWs7Y2FzZSAxMjp0PVtbMSwxLDAsMF0sWzIsMiwwLDJdLFszLDMsMSw2XSxbNSw1LDAsMjhdLFs2LDUsMSwyOV0sWzgsNiwxLDYwXSxbMTAsNywwLDEyMl0sWzExLDcsMSwxMjNdLFsxMyw3LDIsMTI0XSxbMTcsNywzLDEyNV0sWzI1LDcsNCwxMjZdLFs0MSw4LDUsMjU0XSxbNzMsOCwzMiwyNTVdXTticmVhaztjYXNlIDEzOnQ9W1sxLDEsMCwwXSxbMiwzLDAsNF0sWzMsNCwwLDEyXSxbNCw1LDAsMjhdLFs1LDQsMSwxM10sWzcsMywzLDVdLFsxNSw2LDEsNThdLFsxNyw2LDIsNTldLFsyMSw2LDMsNjBdLFsyOSw2LDQsNjFdLFs0NSw2LDUsNjJdLFs3Nyw3LDYsMTI2XSxbMTQxLDcsMzIsMTI3XV07YnJlYWs7Y2FzZSAxNDp0PVtbLTIsMywwLDRdLFstMSwzLDAsNV0sWzAsMSwwLDBdLFsxLDMsMCw2XSxbMiwzLDAsN11dO2JyZWFrO2Nhc2UgMTU6dD1bWy0yNCw3LDQsMTI0XSxbLTgsNiwyLDYwXSxbLTQsNSwxLDI4XSxbLTIsNCwwLDEyXSxbLTEsMywwLDRdLFswLDEsMCwwXSxbMSwzLDAsNV0sWzIsNCwwLDEzXSxbMyw1LDEsMjldLFs1LDYsMiw2MV0sWzksNyw0LDEyNV0sWy0yNSw3LDMyLDEyNiwibG93ZXIiXSxbMjUsNywzMiwxMjddXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBzdGFuZGFyZCB0YWJsZSBCLiR7ZX0gZG9lcyBub3QgZXhpc3RgKX1mb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspdFtlXT1uZXcgSHVmZm1hbkxpbmUodFtlXSk7aT1uZXcgSHVmZm1hblRhYmxlKHQsITApO2VpW2VdPWk7cmV0dXJuIGl9Y2xhc3MgUmVhZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLnN0YXJ0PXQ7dGhpcy5lbmQ9aTt0aGlzLnBvc2l0aW9uPXQ7dGhpcy5zaGlmdD0tMTt0aGlzLmN1cnJlbnRCeXRlPTB9cmVhZEJpdCgpe2lmKHRoaXMuc2hpZnQ8MCl7aWYodGhpcy5wb3NpdGlvbj49dGhpcy5lbmQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoImVuZCBvZiBkYXRhIHdoaWxlIHJlYWRpbmcgYml0Iik7dGhpcy5jdXJyZW50Qnl0ZT10aGlzLmRhdGFbdGhpcy5wb3NpdGlvbisrXTt0aGlzLnNoaWZ0PTd9Y29uc3QgZT10aGlzLmN1cnJlbnRCeXRlPj50aGlzLnNoaWZ0JjE7dGhpcy5zaGlmdC0tO3JldHVybiBlfXJlYWRCaXRzKGUpe2xldCB0LGk9MDtmb3IodD1lLTE7dD49MDt0LS0paXw9dGhpcy5yZWFkQml0KCk8PHQ7cmV0dXJuIGl9Ynl0ZUFsaWduKCl7dGhpcy5zaGlmdD0tMX1uZXh0KCl7cmV0dXJuIHRoaXMucG9zaXRpb24+PXRoaXMuZW5kPy0xOnRoaXMuZGF0YVt0aGlzLnBvc2l0aW9uKytdfX1mdW5jdGlvbiBnZXRDdXN0b21IdWZmbWFuVGFibGUoZSx0LGkpe2xldCBhPTA7Zm9yKGxldCBzPTAscj10Lmxlbmd0aDtzPHI7cysrKXtjb25zdCByPWlbdFtzXV07aWYocil7aWYoZT09PWEpcmV0dXJuIHI7YSsrfX10aHJvdyBuZXcgSmJpZzJFcnJvcigiY2FuJ3QgZmluZCBjdXN0b20gSHVmZm1hbiB0YWJsZSIpfWZ1bmN0aW9uIHJlYWRVbmNvbXByZXNzZWRCaXRtYXAoZSx0LGkpe2NvbnN0IGE9W107Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT1uZXcgVWludDhBcnJheSh0KTthLnB1c2goaSk7Zm9yKGxldCBhPTA7YTx0O2ErKylpW2FdPWUucmVhZEJpdCgpO2UuYnl0ZUFsaWduKCl9cmV0dXJuIGF9ZnVuY3Rpb24gZGVjb2RlTU1SQml0bWFwKGUsdCxpLGEpe2NvbnN0IHM9bmV3IENDSVRURmF4RGVjb2RlcihlLHtLOi0xLENvbHVtbnM6dCxSb3dzOmksQmxhY2tJczE6ITAsRW5kT2ZCbG9jazphfSkscj1bXTtsZXQgbixnPSExO2ZvcihsZXQgZT0wO2U8aTtlKyspe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkodCk7ci5wdXNoKGUpO2xldCBpPS0xO2ZvcihsZXQgYT0wO2E8dDthKyspe2lmKGk8MCl7bj1zLnJlYWROZXh0Q2hhcigpO2lmKC0xPT09bil7bj0wO2c9ITB9aT03fWVbYV09bj4+aSYxO2ktLX19aWYoYSYmIWcpe2NvbnN0IGU9NTtmb3IobGV0IHQ9MDt0PGUmJi0xIT09cy5yZWFkTmV4dENoYXIoKTt0KyspO31yZXR1cm4gcn1jbGFzcyBKYmlnMkltYWdle3BhcnNlQ2h1bmtzKGUpe3JldHVybiBmdW5jdGlvbiBwYXJzZUpiaWcyQ2h1bmtzKGUpe2NvbnN0IHQ9bmV3IFNpbXBsZVNlZ21lbnRWaXNpdG9yO2ZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT1lW2ldO3Byb2Nlc3NTZWdtZW50cyhyZWFkU2VnbWVudHMoe30sYS5kYXRhLGEuc3RhcnQsYS5lbmQpLHQpfXJldHVybiB0LmJ1ZmZlcn0oZSl9cGFyc2UoZSl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQ6IEpiaWcySW1hZ2UucGFyc2UiKX19Y2xhc3MgSmJpZzJTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyZWFtPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLm1heWJlTGVuZ3RoPXQ7dGhpcy5wYXJhbXM9aX1nZXQgYnl0ZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImJ5dGVzIix0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSl9ZW5zdXJlQnVmZmVyKGUpe31yZWFkQmxvY2soKXt0aGlzLmRlY29kZUltYWdlKCl9ZGVjb2RlSW1hZ2UoZSl7aWYodGhpcy5lb2YpcmV0dXJuIHRoaXMuYnVmZmVyO2V8fD10aGlzLmJ5dGVzO2NvbnN0IHQ9bmV3IEpiaWcySW1hZ2UsaT1bXTtpZih0aGlzLnBhcmFtcyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9dGhpcy5wYXJhbXMuZ2V0KCJKQklHMkdsb2JhbHMiKTtpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgdD1lLmdldEJ5dGVzKCk7aS5wdXNoKHtkYXRhOnQsc3RhcnQ6MCxlbmQ6dC5sZW5ndGh9KX19aS5wdXNoKHtkYXRhOmUsc3RhcnQ6MCxlbmQ6ZS5sZW5ndGh9KTtjb25zdCBhPXQucGFyc2VDaHVua3MoaSkscz1hLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKWFbZV1ePTI1NTt0aGlzLmJ1ZmZlcj1hO3RoaXMuYnVmZmVyTGVuZ3RoPXM7dGhpcy5lb2Y9ITA7cmV0dXJuIHRoaXMuYnVmZmVyfWdldCBjYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcigpe3JldHVybiB0aGlzLnN0cmVhbS5pc0FzeW5jfX1mdW5jdGlvbiBjb252ZXJ0VG9SR0JBKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2UgYjpyZXR1cm4gY29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoZSk7Y2FzZSBGOnJldHVybiBmdW5jdGlvbiBjb252ZXJ0UkdCVG9SR0JBKHtzcmM6ZSxzcmNQb3M6dD0wLGRlc3Q6aSxkZXN0UG9zOmE9MCx3aWR0aDpzLGhlaWdodDpyfSl7bGV0IG49MDtjb25zdCBnPWUubGVuZ3RoPj4yLG89bmV3IFVpbnQzMkFycmF5KGUuYnVmZmVyLHQsZyk7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pe2Zvcig7bjxnLTI7bis9MyxhKz00KXtjb25zdCBlPW9bbl0sdD1vW24rMV0scz1vW24rMl07aVthXT00Mjc4MTkwMDgwfGU7aVthKzFdPWU+Pj4yNHx0PDw4fDQyNzgxOTAwODA7aVthKzJdPXQ+Pj4xNnxzPDwxNnw0Mjc4MTkwMDgwO2lbYSszXT1zPj4+OHw0Mjc4MTkwMDgwfWZvcihsZXQgdD00Km4scz1lLmxlbmd0aDt0PHM7dCs9MylpW2ErK109ZVt0XXxlW3QrMV08PDh8ZVt0KzJdPDwxNnw0Mjc4MTkwMDgwfWVsc2V7Zm9yKDtuPGctMjtuKz0zLGErPTQpe2NvbnN0IGU9b1tuXSx0PW9bbisxXSxzPW9bbisyXTtpW2FdPTI1NXxlO2lbYSsxXT1lPDwyNHx0Pj4+OHwyNTU7aVthKzJdPXQ8PDE2fHM+Pj4xNnwyNTU7aVthKzNdPXM8PDh8MjU1fWZvcihsZXQgdD00Km4scz1lLmxlbmd0aDt0PHM7dCs9MylpW2ErK109ZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8MjU1fXJldHVybntzcmNQb3M6dCxkZXN0UG9zOmF9fShlKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBjb252ZXJ0QmxhY2tBbmRXaGl0ZVRvUkdCQSh7c3JjOmUsc3JjUG9zOnQ9MCxkZXN0Omksd2lkdGg6YSxoZWlnaHQ6cyxub25CbGFja0NvbG9yOnI9NDI5NDk2NzI5NSxpbnZlcnNlRGVjb2RlOm49ITF9KXtjb25zdCBnPUZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzQyNzgxOTAwODA6MjU1LFtvLGNdPW4/W3IsZ106W2cscl0sQz1hPj4zLGg9NyZhLGw9ZS5sZW5ndGg7aT1uZXcgVWludDMyQXJyYXkoaS5idWZmZXIpO2xldCBRPTA7Zm9yKGxldCBhPTA7YTxzO2ErKyl7Zm9yKGNvbnN0IGE9dCtDO3Q8YTt0Kyspe2NvbnN0IGE9dDxsP2VbdF06MjU1O2lbUSsrXT0xMjgmYT9jOm87aVtRKytdPTY0JmE/YzpvO2lbUSsrXT0zMiZhP2M6bztpW1ErK109MTYmYT9jOm87aVtRKytdPTgmYT9jOm87aVtRKytdPTQmYT9jOm87aVtRKytdPTImYT9jOm87aVtRKytdPTEmYT9jOm99aWYoMD09PWgpY29udGludWU7Y29uc3QgYT10PGw/ZVt0KytdOjI1NTtmb3IobGV0IGU9MDtlPGg7ZSsrKWlbUSsrXT1hJjE8PDctZT9jOm99cmV0dXJue3NyY1Bvczp0LGRlc3RQb3M6UX19Y2xhc3MgSnBlZ0Vycm9yIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiSnBlZ0Vycm9yIil9fWNsYXNzIEROTE1hcmtlckVycm9yIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLCJETkxNYXJrZXJFcnJvciIpO3RoaXMuc2NhbkxpbmVzPXR9fWNsYXNzIEVPSU1hcmtlckVycm9yIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiRU9JTWFya2VyRXJyb3IiKX19Y29uc3QgdGk9bmV3IFVpbnQ4QXJyYXkoWzAsMSw4LDE2LDksMiwzLDEwLDE3LDI0LDMyLDI1LDE4LDExLDQsNSwxMiwxOSwyNiwzMyw0MCw0OCw0MSwzNCwyNywyMCwxMyw2LDcsMTQsMjEsMjgsMzUsNDIsNDksNTYsNTcsNTAsNDMsMzYsMjksMjIsMTUsMjMsMzAsMzcsNDQsNTEsNTgsNTksNTIsNDUsMzgsMzEsMzksNDYsNTMsNjAsNjEsNTQsNDcsNTUsNjIsNjNdKSxpaT00MDE3LGFpPTc5OSxzaT0zNDA2LHJpPTIyNzYsbmk9MTU2NyxnaT0zNzg0LG9pPTU3OTMsSWk9Mjg5NjtmdW5jdGlvbiBidWlsZEh1ZmZtYW5UYWJsZShlLHQpe2xldCBpLGEscz0wLHI9MTY7Zm9yKDtyPjAmJiFlW3ItMV07KXItLTtjb25zdCBuPVt7Y2hpbGRyZW46W10saW5kZXg6MH1dO2xldCBnLG89blswXTtmb3IoaT0wO2k8cjtpKyspe2ZvcihhPTA7YTxlW2ldO2ErKyl7bz1uLnBvcCgpO28uY2hpbGRyZW5bby5pbmRleF09dFtzXTtmb3IoO28uaW5kZXg+MDspbz1uLnBvcCgpO28uaW5kZXgrKztuLnB1c2gobyk7Zm9yKDtuLmxlbmd0aDw9aTspe24ucHVzaChnPXtjaGlsZHJlbjpbXSxpbmRleDowfSk7by5jaGlsZHJlbltvLmluZGV4XT1nLmNoaWxkcmVuO289Z31zKyt9aWYoaSsxPHIpe24ucHVzaChnPXtjaGlsZHJlbjpbXSxpbmRleDowfSk7by5jaGlsZHJlbltvLmluZGV4XT1nLmNoaWxkcmVuO289Z319cmV0dXJuIG5bMF0uY2hpbGRyZW59ZnVuY3Rpb24gZ2V0QmxvY2tCdWZmZXJPZmZzZXQoZSx0LGkpe3JldHVybiA2NCooKGUuYmxvY2tzUGVyTGluZSsxKSp0K2kpfWZ1bmN0aW9uIGRlY29kZVNjYW4oZSx0LGksYSxzLHIsbixnLG8sYz0hMSl7Y29uc3QgQz1pLm1jdXNQZXJMaW5lLGg9aS5wcm9ncmVzc2l2ZSxsPXQ7bGV0IFE9MCxFPTA7ZnVuY3Rpb24gcmVhZEJpdCgpe2lmKEU+MCl7RS0tO3JldHVybiBRPj5FJjF9UT1lW3QrK107aWYoMjU1PT09USl7Y29uc3QgYT1lW3QrK107aWYoYSl7aWYoMjIwPT09YSYmYyl7Y29uc3QgYT1yZWFkVWludDE2KGUsdCs9Mik7dCs9MjtpZihhPjAmJmEhPT1pLnNjYW5MaW5lcyl0aHJvdyBuZXcgRE5MTWFya2VyRXJyb3IoIkZvdW5kIEROTCBtYXJrZXIgKDB4RkZEQykgd2hpbGUgcGFyc2luZyBzY2FuIGRhdGEiLGEpfWVsc2UgaWYoMjE3PT09YSl7aWYoYyl7Y29uc3QgZT1wKig4PT09aS5wcmVjaXNpb24/ODowKTtpZihlPjAmJk1hdGgucm91bmQoaS5zY2FuTGluZXMvZSk+PTUpdGhyb3cgbmV3IEROTE1hcmtlckVycm9yKCJGb3VuZCBFT0kgbWFya2VyICgweEZGRDkpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhLCBwb3NzaWJseSBjYXVzZWQgYnkgaW5jb3JyZWN0IGBzY2FuTGluZXNgIHBhcmFtZXRlciIsZSl9dGhyb3cgbmV3IEVPSU1hcmtlckVycm9yKCJGb3VuZCBFT0kgbWFya2VyICgweEZGRDkpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhIil9dGhyb3cgbmV3IEpwZWdFcnJvcihgdW5leHBlY3RlZCBtYXJrZXIgJHsoUTw8OHxhKS50b1N0cmluZygxNil9YCl9fUU9NztyZXR1cm4gUT4+Pjd9ZnVuY3Rpb24gZGVjb2RlSHVmZm1hbihlKXtsZXQgdD1lO2Zvcig7Oyl7dD10W3JlYWRCaXQoKV07c3dpdGNoKHR5cGVvZiB0KXtjYXNlIm51bWJlciI6cmV0dXJuIHQ7Y2FzZSJvYmplY3QiOmNvbnRpbnVlfXRocm93IG5ldyBKcGVnRXJyb3IoImludmFsaWQgaHVmZm1hbiBzZXF1ZW5jZSIpfX1mdW5jdGlvbiByZWNlaXZlKGUpe2xldCB0PTA7Zm9yKDtlPjA7KXt0PXQ8PDF8cmVhZEJpdCgpO2UtLX1yZXR1cm4gdH1mdW5jdGlvbiByZWNlaXZlQW5kRXh0ZW5kKGUpe2lmKDE9PT1lKXJldHVybiAxPT09cmVhZEJpdCgpPzE6LTE7Y29uc3QgdD1yZWNlaXZlKGUpO3JldHVybiB0Pj0xPDxlLTE/dDp0KygtMTw8ZSkrMX1sZXQgdT0wO2xldCBkLGY9MDtsZXQgcD0wO2Z1bmN0aW9uIGRlY29kZU1jdShlLHQsaSxhLHMpe2NvbnN0IHI9aSVDO3A9KGkvQ3wwKSplLnYrYTtjb25zdCBuPXIqZS5oK3M7dChlLGdldEJsb2NrQnVmZmVyT2Zmc2V0KGUscCxuKSl9ZnVuY3Rpb24gZGVjb2RlQmxvY2soZSx0LGkpe3A9aS9lLmJsb2Nrc1BlckxpbmV8MDtjb25zdCBhPWklZS5ibG9ja3NQZXJMaW5lO3QoZSxnZXRCbG9ja0J1ZmZlck9mZnNldChlLHAsYSkpfWNvbnN0IG09YS5sZW5ndGg7bGV0IHksdyxELGIsRixTO1M9aD8wPT09cj8wPT09Zz9mdW5jdGlvbiBkZWNvZGVEQ0ZpcnN0KGUsdCl7Y29uc3QgaT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlREMpLGE9MD09PWk/MDpyZWNlaXZlQW5kRXh0ZW5kKGkpPDxvO2UuYmxvY2tEYXRhW3RdPWUucHJlZCs9YX06ZnVuY3Rpb24gZGVjb2RlRENTdWNjZXNzaXZlKGUsdCl7ZS5ibG9ja0RhdGFbdF18PXJlYWRCaXQoKTw8b306MD09PWc/ZnVuY3Rpb24gZGVjb2RlQUNGaXJzdChlLHQpe2lmKHU+MCl7dS0tO3JldHVybn1sZXQgaT1yO2NvbnN0IGE9bjtmb3IoO2k8PWE7KXtjb25zdCBhPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQykscz0xNSZhLHI9YT4+NDtpZigwPT09cyl7aWYocjwxNSl7dT1yZWNlaXZlKHIpKygxPDxyKS0xO2JyZWFrfWkrPTE2O2NvbnRpbnVlfWkrPXI7Y29uc3Qgbj10aVtpXTtlLmJsb2NrRGF0YVt0K25dPXJlY2VpdmVBbmRFeHRlbmQocykqKDE8PG8pO2krK319OmZ1bmN0aW9uIGRlY29kZUFDU3VjY2Vzc2l2ZShlLHQpe2xldCBpPXI7Y29uc3QgYT1uO2xldCBzLGcsYz0wO2Zvcig7aTw9YTspe2NvbnN0IGE9dCt0aVtpXSxyPWUuYmxvY2tEYXRhW2FdPDA/LTE6MTtzd2l0Y2goZil7Y2FzZSAwOmc9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZUFDKTtzPTE1Jmc7Yz1nPj40O2lmKDA9PT1zKWlmKGM8MTUpe3U9cmVjZWl2ZShjKSsoMTw8Yyk7Zj00fWVsc2V7Yz0xNjtmPTF9ZWxzZXtpZigxIT09cyl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJpbnZhbGlkIEFDbiBlbmNvZGluZyIpO2Q9cmVjZWl2ZUFuZEV4dGVuZChzKTtmPWM/MjozfWNvbnRpbnVlO2Nhc2UgMTpjYXNlIDI6aWYoZS5ibG9ja0RhdGFbYV0pZS5ibG9ja0RhdGFbYV0rPXIqKHJlYWRCaXQoKTw8byk7ZWxzZXtjLS07MD09PWMmJihmPTI9PT1mPzM6MCl9YnJlYWs7Y2FzZSAzOmlmKGUuYmxvY2tEYXRhW2FdKWUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pO2Vsc2V7ZS5ibG9ja0RhdGFbYV09ZDw8bztmPTB9YnJlYWs7Y2FzZSA0OmUuYmxvY2tEYXRhW2FdJiYoZS5ibG9ja0RhdGFbYV0rPXIqKHJlYWRCaXQoKTw8bykpfWkrK31pZig0PT09Zil7dS0tOzA9PT11JiYoZj0wKX19OmZ1bmN0aW9uIGRlY29kZUJhc2VsaW5lKGUsdCl7Y29uc3QgaT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlREMpLGE9MD09PWk/MDpyZWNlaXZlQW5kRXh0ZW5kKGkpO2UuYmxvY2tEYXRhW3RdPWUucHJlZCs9YTtsZXQgcz0xO2Zvcig7czw2NDspe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZUFDKSxhPTE1Jmkscj1pPj40O2lmKDA9PT1hKXtpZihyPDE1KWJyZWFrO3MrPTE2O2NvbnRpbnVlfXMrPXI7Y29uc3Qgbj10aVtzXTtlLmJsb2NrRGF0YVt0K25dPXJlY2VpdmVBbmRFeHRlbmQoYSk7cysrfX07bGV0IGssUj0wO2NvbnN0IE49MT09PW0/YVswXS5ibG9ja3NQZXJMaW5lKmFbMF0uYmxvY2tzUGVyQ29sdW1uOkMqaS5tY3VzUGVyQ29sdW1uO2xldCBHLHg7Zm9yKDtSPD1OOyl7Y29uc3QgaT1zP01hdGgubWluKE4tUixzKTpOO2lmKGk+MCl7Zm9yKHc9MDt3PG07dysrKWFbd10ucHJlZD0wO3U9MDtpZigxPT09bSl7eT1hWzBdO2ZvcihGPTA7RjxpO0YrKyl7ZGVjb2RlQmxvY2soeSxTLFIpO1IrK319ZWxzZSBmb3IoRj0wO0Y8aTtGKyspe2Zvcih3PTA7dzxtO3crKyl7eT1hW3ddO0c9eS5oO3g9eS52O2ZvcihEPTA7RDx4O0QrKylmb3IoYj0wO2I8RztiKyspZGVjb2RlTWN1KHksUyxSLEQsYil9UisrfX1FPTA7az1maW5kTmV4dEZpbGVNYXJrZXIoZSx0KTtpZighaylicmVhaztpZihrLmludmFsaWQpe3dhcm4oYGRlY29kZVNjYW4gLSAke2k+MD8idW5leHBlY3RlZCI6ImV4Y2Vzc2l2ZSJ9IE1DVSBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogJHtrLmludmFsaWR9YCk7dD1rLm9mZnNldH1pZighKGsubWFya2VyPj02NTQ4OCYmay5tYXJrZXI8PTY1NDk1KSlicmVhazt0Kz0yfXJldHVybiB0LWx9ZnVuY3Rpb24gcXVhbnRpemVBbmRJbnZlcnNlKGUsdCxpKXtjb25zdCBhPWUucXVhbnRpemF0aW9uVGFibGUscz1lLmJsb2NrRGF0YTtsZXQgcixuLGcsbyxjLEMsaCxsLFEsRSx1LGQsZixwLG0seSx3O2lmKCFhKXRocm93IG5ldyBKcGVnRXJyb3IoIm1pc3NpbmcgcmVxdWlyZWQgUXVhbnRpemF0aW9uIFRhYmxlLiIpO2ZvcihsZXQgZT0wO2U8NjQ7ZSs9OCl7UT1zW3QrZV07RT1zW3QrZSsxXTt1PXNbdCtlKzJdO2Q9c1t0K2UrM107Zj1zW3QrZSs0XTtwPXNbdCtlKzVdO209c1t0K2UrNl07eT1zW3QrZSs3XTtRKj1hW2VdO2lmKDAhPShFfHV8ZHxmfHB8bXx5KSl7RSo9YVtlKzFdO3UqPWFbZSsyXTtkKj1hW2UrM107Zio9YVtlKzRdO3AqPWFbZSs1XTttKj1hW2UrNl07eSo9YVtlKzddO3I9b2kqUSsxMjg+Pjg7bj1vaSpmKzEyOD4+ODtnPXU7bz1tO2M9SWkqKEUteSkrMTI4Pj44O2w9SWkqKEUreSkrMTI4Pj44O0M9ZDw8NDtoPXA8PDQ7cj1yK24rMT4+MTtuPXItbjt3PWcqZ2krbypuaSsxMjg+Pjg7Zz1nKm5pLW8qZ2krMTI4Pj44O289dztjPWMraCsxPj4xO2g9Yy1oO2w9bCtDKzE+PjE7Qz1sLUM7cj1yK28rMT4+MTtvPXItbztuPW4rZysxPj4xO2c9bi1nO3c9YypyaStsKnNpKzIwNDg+PjEyO2M9YypzaS1sKnJpKzIwNDg+PjEyO2w9dzt3PUMqYWkraCppaSsyMDQ4Pj4xMjtDPUMqaWktaCphaSsyMDQ4Pj4xMjtoPXc7aVtlXT1yK2w7aVtlKzddPXItbDtpW2UrMV09bitoO2lbZSs2XT1uLWg7aVtlKzJdPWcrQztpW2UrNV09Zy1DO2lbZSszXT1vK2M7aVtlKzRdPW8tY31lbHNle3c9b2kqUSs1MTI+PjEwO2lbZV09dztpW2UrMV09dztpW2UrMl09dztpW2UrM109dztpW2UrNF09dztpW2UrNV09dztpW2UrNl09dztpW2UrN109d319Zm9yKGxldCBlPTA7ZTw4OysrZSl7UT1pW2VdO0U9aVtlKzhdO3U9aVtlKzE2XTtkPWlbZSsyNF07Zj1pW2UrMzJdO3A9aVtlKzQwXTttPWlbZSs0OF07eT1pW2UrNTZdO2lmKDAhPShFfHV8ZHxmfHB8bXx5KSl7cj1vaSpRKzIwNDg+PjEyO249b2kqZisyMDQ4Pj4xMjtnPXU7bz1tO2M9SWkqKEUteSkrMjA0OD4+MTI7bD1JaSooRSt5KSsyMDQ4Pj4xMjtDPWQ7aD1wO3I9NDExMisocituKzE+PjEpO249ci1uO3c9ZypnaStvKm5pKzIwNDg+PjEyO2c9ZypuaS1vKmdpKzIwNDg+PjEyO289dztjPWMraCsxPj4xO2g9Yy1oO2w9bCtDKzE+PjE7Qz1sLUM7cj1yK28rMT4+MTtvPXItbztuPW4rZysxPj4xO2c9bi1nO3c9YypyaStsKnNpKzIwNDg+PjEyO2M9YypzaS1sKnJpKzIwNDg+PjEyO2w9dzt3PUMqYWkraCppaSsyMDQ4Pj4xMjtDPUMqaWktaCphaSsyMDQ4Pj4xMjtoPXc7UT1yK2w7eT1yLWw7RT1uK2g7bT1uLWg7dT1nK0M7cD1nLUM7ZD1vK2M7Zj1vLWM7UTwxNj9RPTA6UT49NDA4MD9RPTI1NTpRPj49NDtFPDE2P0U9MDpFPj00MDgwP0U9MjU1OkU+Pj00O3U8MTY/dT0wOnU+PTQwODA/dT0yNTU6dT4+PTQ7ZDwxNj9kPTA6ZD49NDA4MD9kPTI1NTpkPj49NDtmPDE2P2Y9MDpmPj00MDgwP2Y9MjU1OmY+Pj00O3A8MTY/cD0wOnA+PTQwODA/cD0yNTU6cD4+PTQ7bTwxNj9tPTA6bT49NDA4MD9tPTI1NTptPj49NDt5PDE2P3k9MDp5Pj00MDgwP3k9MjU1Onk+Pj00O3NbdCtlXT1RO3NbdCtlKzhdPUU7c1t0K2UrMTZdPXU7c1t0K2UrMjRdPWQ7c1t0K2UrMzJdPWY7c1t0K2UrNDBdPXA7c1t0K2UrNDhdPW07c1t0K2UrNTZdPXl9ZWxzZXt3PW9pKlErODE5Mj4+MTQ7dz13PC0yMDQwPzA6dz49MjAyND8yNTU6dysyMDU2Pj40O3NbdCtlXT13O3NbdCtlKzhdPXc7c1t0K2UrMTZdPXc7c1t0K2UrMjRdPXc7c1t0K2UrMzJdPXc7c1t0K2UrNDBdPXc7c1t0K2UrNDhdPXc7c1t0K2UrNTZdPXd9fX1mdW5jdGlvbiBidWlsZENvbXBvbmVudERhdGEoZSx0KXtjb25zdCBpPXQuYmxvY2tzUGVyTGluZSxhPXQuYmxvY2tzUGVyQ29sdW1uLHM9bmV3IEludDE2QXJyYXkoNjQpO2ZvcihsZXQgZT0wO2U8YTtlKyspZm9yKGxldCBhPTA7YTxpO2ErKyl7cXVhbnRpemVBbmRJbnZlcnNlKHQsZ2V0QmxvY2tCdWZmZXJPZmZzZXQodCxlLGEpLHMpfXJldHVybiB0LmJsb2NrRGF0YX1mdW5jdGlvbiBmaW5kTmV4dEZpbGVNYXJrZXIoZSx0LGk9dCl7Y29uc3QgYT1lLmxlbmd0aC0xO2xldCBzPWk8dD9pOnQ7aWYodD49YSlyZXR1cm4gbnVsbDtjb25zdCByPXJlYWRVaW50MTYoZSx0KTtpZihyPj02NTQ3MiYmcjw9NjU1MzQpcmV0dXJue2ludmFsaWQ6bnVsbCxtYXJrZXI6cixvZmZzZXQ6dH07bGV0IG49cmVhZFVpbnQxNihlLHMpO2Zvcig7IShuPj02NTQ3MiYmbjw9NjU1MzQpOyl7aWYoKytzPj1hKXJldHVybiBudWxsO249cmVhZFVpbnQxNihlLHMpfXJldHVybntpbnZhbGlkOnIudG9TdHJpbmcoMTYpLG1hcmtlcjpuLG9mZnNldDpzfX1jbGFzcyBKcGVnSW1hZ2V7Y29uc3RydWN0b3Ioe2RlY29kZVRyYW5zZm9ybTplPW51bGwsY29sb3JUcmFuc2Zvcm06dD0tMX09e30pe3RoaXMuX2RlY29kZVRyYW5zZm9ybT1lO3RoaXMuX2NvbG9yVHJhbnNmb3JtPXR9cGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQ9bnVsbH09e30pe2Z1bmN0aW9uIHJlYWREYXRhQmxvY2soKXtjb25zdCB0PXJlYWRVaW50MTYoZSxzKTtzKz0yO2xldCBpPXMrdC0yO2NvbnN0IGE9ZmluZE5leHRGaWxlTWFya2VyKGUsaSxzKTtpZihhPy5pbnZhbGlkKXt3YXJuKCJyZWFkRGF0YUJsb2NrIC0gaW5jb3JyZWN0IGxlbmd0aCwgY3VycmVudCBtYXJrZXIgaXM6ICIrYS5pbnZhbGlkKTtpPWEub2Zmc2V0fWNvbnN0IHI9ZS5zdWJhcnJheShzLGkpO3MrPXIubGVuZ3RoO3JldHVybiByfWZ1bmN0aW9uIHByZXBhcmVDb21wb25lbnRzKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUuc2FtcGxlc1BlckxpbmUvOC9lLm1heEgpLGk9TWF0aC5jZWlsKGUuc2NhbkxpbmVzLzgvZS5tYXhWKTtmb3IoY29uc3QgYSBvZiBlLmNvbXBvbmVudHMpe2NvbnN0IHM9TWF0aC5jZWlsKE1hdGguY2VpbChlLnNhbXBsZXNQZXJMaW5lLzgpKmEuaC9lLm1heEgpLHI9TWF0aC5jZWlsKE1hdGguY2VpbChlLnNjYW5MaW5lcy84KSphLnYvZS5tYXhWKSxuPXQqYS5oLGc9NjQqKGkqYS52KSoobisxKTthLmJsb2NrRGF0YT1uZXcgSW50MTZBcnJheShnKTthLmJsb2Nrc1BlckxpbmU9czthLmJsb2Nrc1BlckNvbHVtbj1yfWUubWN1c1BlckxpbmU9dDtlLm1jdXNQZXJDb2x1bW49aX1sZXQgaSxhLHM9MCxyPW51bGwsbj1udWxsLGc9MDtjb25zdCBvPVtdLGM9W10sQz1bXTtsZXQgaD1yZWFkVWludDE2KGUscyk7cys9MjtpZig2NTQ5NiE9PWgpdGhyb3cgbmV3IEpwZWdFcnJvcigiU09JIG5vdCBmb3VuZCIpO2g9cmVhZFVpbnQxNihlLHMpO3MrPTI7QTpmb3IoOzY1NDk3IT09aDspe2xldCBsLFEsRTtzd2l0Y2goaCl7Y2FzZSA2NTUwNDpjYXNlIDY1NTA1OmNhc2UgNjU1MDY6Y2FzZSA2NTUwNzpjYXNlIDY1NTA4OmNhc2UgNjU1MDk6Y2FzZSA2NTUxMDpjYXNlIDY1NTExOmNhc2UgNjU1MTI6Y2FzZSA2NTUxMzpjYXNlIDY1NTE0OmNhc2UgNjU1MTU6Y2FzZSA2NTUxNjpjYXNlIDY1NTE3OmNhc2UgNjU1MTg6Y2FzZSA2NTUxOTpjYXNlIDY1NTM0OmNvbnN0IHU9cmVhZERhdGFCbG9jaygpOzY1NTA0PT09aCYmNzQ9PT11WzBdJiY3MD09PXVbMV0mJjczPT09dVsyXSYmNzA9PT11WzNdJiYwPT09dVs0XSYmKHI9e3ZlcnNpb246e21ham9yOnVbNV0sbWlub3I6dVs2XX0sZGVuc2l0eVVuaXRzOnVbN10seERlbnNpdHk6dVs4XTw8OHx1WzldLHlEZW5zaXR5OnVbMTBdPDw4fHVbMTFdLHRodW1iV2lkdGg6dVsxMl0sdGh1bWJIZWlnaHQ6dVsxM10sdGh1bWJEYXRhOnUuc3ViYXJyYXkoMTQsMTQrMyp1WzEyXSp1WzEzXSl9KTs2NTUxOD09PWgmJjY1PT09dVswXSYmMTAwPT09dVsxXSYmMTExPT09dVsyXSYmOTg9PT11WzNdJiYxMDE9PT11WzRdJiYobj17dmVyc2lvbjp1WzVdPDw4fHVbNl0sZmxhZ3MwOnVbN108PDh8dVs4XSxmbGFnczE6dVs5XTw8OHx1WzEwXSx0cmFuc2Zvcm1Db2RlOnVbMTFdfSk7YnJlYWs7Y2FzZSA2NTQ5OTpjb25zdCBkPXJlYWRVaW50MTYoZSxzKTtzKz0yO2NvbnN0IGY9ZCtzLTI7bGV0IHA7Zm9yKDtzPGY7KXtjb25zdCB0PWVbcysrXSxpPW5ldyBVaW50MTZBcnJheSg2NCk7aWYodD4+ND09MClmb3IoUT0wO1E8NjQ7USsrKXtwPXRpW1FdO2lbcF09ZVtzKytdfWVsc2V7aWYodD4+NCE9MSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJEUVQgLSBpbnZhbGlkIHRhYmxlIHNwZWMiKTtmb3IoUT0wO1E8NjQ7USsrKXtwPXRpW1FdO2lbcF09cmVhZFVpbnQxNihlLHMpO3MrPTJ9fW9bMTUmdF09aX1icmVhaztjYXNlIDY1NDcyOmNhc2UgNjU0NzM6Y2FzZSA2NTQ3NDppZihpKXRocm93IG5ldyBKcGVnRXJyb3IoIk9ubHkgc2luZ2xlIGZyYW1lIEpQRUdzIHN1cHBvcnRlZCIpO3MrPTI7aT17fTtpLmV4dGVuZGVkPTY1NDczPT09aDtpLnByb2dyZXNzaXZlPTY1NDc0PT09aDtpLnByZWNpc2lvbj1lW3MrK107Y29uc3QgbT1yZWFkVWludDE2KGUscyk7cys9MjtpLnNjYW5MaW5lcz10fHxtO2kuc2FtcGxlc1BlckxpbmU9cmVhZFVpbnQxNihlLHMpO3MrPTI7aS5jb21wb25lbnRzPVtdO2kuY29tcG9uZW50SWRzPXt9O2NvbnN0IHk9ZVtzKytdO2xldCB3PTAsRD0wO2ZvcihsPTA7bDx5O2wrKyl7Y29uc3QgdD1lW3NdLGE9ZVtzKzFdPj40LHI9MTUmZVtzKzFdO3c8YSYmKHc9YSk7RDxyJiYoRD1yKTtjb25zdCBuPWVbcysyXTtFPWkuY29tcG9uZW50cy5wdXNoKHtoOmEsdjpyLHF1YW50aXphdGlvbklkOm4scXVhbnRpemF0aW9uVGFibGU6bnVsbH0pO2kuY29tcG9uZW50SWRzW3RdPUUtMTtzKz0zfWkubWF4SD13O2kubWF4Vj1EO3ByZXBhcmVDb21wb25lbnRzKGkpO2JyZWFrO2Nhc2UgNjU0NzY6Y29uc3QgYj1yZWFkVWludDE2KGUscyk7cys9Mjtmb3IobD0yO2w8Yjspe2NvbnN0IHQ9ZVtzKytdLGk9bmV3IFVpbnQ4QXJyYXkoMTYpO2xldCBhPTA7Zm9yKFE9MDtRPDE2O1ErKyxzKyspYSs9aVtRXT1lW3NdO2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkoYSk7Zm9yKFE9MDtRPGE7USsrLHMrKylyW1FdPWVbc107bCs9MTcrYTsodD4+ND09MD9DOmMpWzE1JnRdPWJ1aWxkSHVmZm1hblRhYmxlKGkscil9YnJlYWs7Y2FzZSA2NTUwMTpzKz0yO2E9cmVhZFVpbnQxNihlLHMpO3MrPTI7YnJlYWs7Y2FzZSA2NTQ5ODpjb25zdCBGPTE9PSsrZyYmIXQ7cys9Mjtjb25zdCBTPWVbcysrXSxrPVtdO2ZvcihsPTA7bDxTO2wrKyl7Y29uc3QgdD1lW3MrK10sYT1pLmNvbXBvbmVudElkc1t0XSxyPWkuY29tcG9uZW50c1thXTtyLmluZGV4PXQ7Y29uc3Qgbj1lW3MrK107ci5odWZmbWFuVGFibGVEQz1DW24+PjRdO3IuaHVmZm1hblRhYmxlQUM9Y1sxNSZuXTtrLnB1c2gocil9Y29uc3QgUj1lW3MrK10sTj1lW3MrK10sRz1lW3MrK107dHJ5e2NvbnN0IHQ9ZGVjb2RlU2NhbihlLHMsaSxrLGEsUixOLEc+PjQsMTUmRyxGKTtzKz10fWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBETkxNYXJrZXJFcnJvcil7d2FybihgJHt0Lm1lc3NhZ2V9IC0tIGF0dGVtcHRpbmcgdG8gcmUtcGFyc2UgdGhlIEpQRUcgaW1hZ2UuYCk7cmV0dXJuIHRoaXMucGFyc2UoZSx7ZG5sU2NhbkxpbmVzOnQuc2NhbkxpbmVzfSl9aWYodCBpbnN0YW5jZW9mIEVPSU1hcmtlckVycm9yKXt3YXJuKGAke3QubWVzc2FnZX0gLS0gaWdub3JpbmcgdGhlIHJlc3Qgb2YgdGhlIGltYWdlIGRhdGEuYCk7YnJlYWsgQX10aHJvdyB0fWJyZWFrO2Nhc2UgNjU1MDA6cys9NDticmVhaztjYXNlIDY1NTM1OjI1NSE9PWVbc10mJnMtLTticmVhaztkZWZhdWx0OmNvbnN0IHg9ZmluZE5leHRGaWxlTWFya2VyKGUscy0yLHMtMyk7aWYoeD8uaW52YWxpZCl7d2FybigiSnBlZ0ltYWdlLnBhcnNlIC0gdW5leHBlY3RlZCBkYXRhLCBjdXJyZW50IG1hcmtlciBpczogIit4LmludmFsaWQpO3M9eC5vZmZzZXQ7YnJlYWt9aWYoIXh8fHM+PWUubGVuZ3RoLTEpe3dhcm4oIkpwZWdJbWFnZS5wYXJzZSAtIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW1hZ2UgZGF0YSB3aXRob3V0IGZpbmRpbmcgYW4gRU9JIG1hcmtlciAoMHhGRkQ5KS4iKTticmVhayBBfXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIHVua25vd24gbWFya2VyOiAiK2gudG9TdHJpbmcoMTYpKX1oPXJlYWRVaW50MTYoZSxzKTtzKz0yfWlmKCFpKXRocm93IG5ldyBKcGVnRXJyb3IoIkpwZWdJbWFnZS5wYXJzZSAtIG5vIGZyYW1lIGRhdGEgZm91bmQuIik7dGhpcy53aWR0aD1pLnNhbXBsZXNQZXJMaW5lO3RoaXMuaGVpZ2h0PWkuc2NhbkxpbmVzO3RoaXMuamZpZj1yO3RoaXMuYWRvYmU9bjt0aGlzLmNvbXBvbmVudHM9W107Zm9yKGNvbnN0IGUgb2YgaS5jb21wb25lbnRzKXtjb25zdCB0PW9bZS5xdWFudGl6YXRpb25JZF07dCYmKGUucXVhbnRpemF0aW9uVGFibGU9dCk7dGhpcy5jb21wb25lbnRzLnB1c2goe2luZGV4OmUuaW5kZXgsb3V0cHV0OmJ1aWxkQ29tcG9uZW50RGF0YSgwLGUpLHNjYWxlWDplLmgvaS5tYXhILHNjYWxlWTplLnYvaS5tYXhWLGJsb2Nrc1BlckxpbmU6ZS5ibG9ja3NQZXJMaW5lLGJsb2Nrc1BlckNvbHVtbjplLmJsb2Nrc1BlckNvbHVtbn0pfXRoaXMubnVtQ29tcG9uZW50cz10aGlzLmNvbXBvbmVudHMubGVuZ3RofV9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxpPSExKXtjb25zdCBhPXRoaXMud2lkdGgvZSxzPXRoaXMuaGVpZ2h0L3Q7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkPTA7Y29uc3QgZj10aGlzLmNvbXBvbmVudHMubGVuZ3RoLHA9ZSp0KmYsbT1uZXcgVWludDhDbGFtcGVkQXJyYXkocCkseT1uZXcgVWludDMyQXJyYXkoZSksdz00Mjk0OTY3Mjg4O2xldCBEO2ZvcihoPTA7aDxmO2grKyl7cj10aGlzLmNvbXBvbmVudHNbaF07bj1yLnNjYWxlWCphO2c9ci5zY2FsZVkqcztkPWg7dT1yLm91dHB1dDtvPXIuYmxvY2tzUGVyTGluZSsxPDwzO2lmKG4hPT1EKXtmb3IoYz0wO2M8ZTtjKyspe2w9MHxjKm47eVtjXT0obCZ3KTw8M3w3Jmx9RD1ufWZvcihDPTA7Qzx0O0MrKyl7bD0wfEMqZztFPW8qKGwmdyl8KDcmbCk8PDM7Zm9yKGM9MDtjPGU7YysrKXttW2RdPXVbRSt5W2NdXTtkKz1mfX19bGV0IGI9dGhpcy5fZGVjb2RlVHJhbnNmb3JtO2l8fDQhPT1mfHxifHwoYj1uZXcgSW50MzJBcnJheShbLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTUsLTI1NiwyNTVdKSk7aWYoYilmb3IoaD0wO2g8cDspZm9yKGw9MCxRPTA7bDxmO2wrKyxoKyssUSs9MiltW2hdPShtW2hdKmJbUV0+PjgpK2JbUSsxXTtyZXR1cm4gbX1nZXQgX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKCl7cmV0dXJuIHRoaXMuYWRvYmU/ISF0aGlzLmFkb2JlLnRyYW5zZm9ybUNvZGU6Mz09PXRoaXMubnVtQ29tcG9uZW50cz8wIT09dGhpcy5fY29sb3JUcmFuc2Zvcm0mJig4MiE9PXRoaXMuY29tcG9uZW50c1swXS5pbmRleHx8NzEhPT10aGlzLmNvbXBvbmVudHNbMV0uaW5kZXh8fDY2IT09dGhpcy5jb21wb25lbnRzWzJdLmluZGV4KToxPT09dGhpcy5fY29sb3JUcmFuc2Zvcm19X2NvbnZlcnRZY2NUb1JnYihlKXtsZXQgdCxpLGE7Zm9yKGxldCBzPTAscj1lLmxlbmd0aDtzPHI7cys9Myl7dD1lW3NdO2k9ZVtzKzFdO2E9ZVtzKzJdO2Vbc109dC0xNzkuNDU2KzEuNDAyKmE7ZVtzKzFdPXQrMTM1LjQ1OS0uMzQ0KmktLjcxNCphO2VbcysyXT10LTIyNi44MTYrMS43NzIqaX1yZXR1cm4gZX1fY29udmVydFljY1RvUmdiYShlLHQpe2ZvcihsZXQgaT0wLGE9MCxzPWUubGVuZ3RoO2k8cztpKz0zLGErPTQpe2NvbnN0IHM9ZVtpXSxyPWVbaSsxXSxuPWVbaSsyXTt0W2FdPXMtMTc5LjQ1NisxLjQwMipuO3RbYSsxXT1zKzEzNS40NTktLjM0NCpyLS43MTQqbjt0W2ErMl09cy0yMjYuODE2KzEuNzcyKnI7dFthKzNdPTI1NX1yZXR1cm4gdH1fY29udmVydFljY2tUb1JnYihlKXtsZXQgdCxpLGEscyxyPTA7Zm9yKGxldCBuPTAsZz1lLmxlbmd0aDtuPGc7bis9NCl7dD1lW25dO2k9ZVtuKzFdO2E9ZVtuKzJdO3M9ZVtuKzNdO2VbcisrXT1pKigtNjYwNjM1NjY5NDIwMzY0ZS0xOSppKy4wMDA0MzcxMzA0NzU5MjYyMzIqYS01NDA4MDYxMDA2NDU5OWUtMTgqdCsuMDAwNDg0NDk3OTcxMjAyODEqcy0uMTU0MzYyMTUxODcxMTI2KS0xMjIuNjcxOTU0MDY4OTQrYSooLS4wMDA5NTc5NjQzNzg0NDU3NzMqYSsuMDAwODE3MDc2OTExMzQ2NjI1KnQtLjAwNDc3MjcxNDA1NDA4NzQ3KnMrMS41MzM4MDI1MzIyMTczNCkrdCooLjAwMDk2MTI1MDE4NDEzMDY4OCp0LS4wMDI2NjI1NzMzMjI4MzkzMypzKy40ODM1NzA4ODQ1MTI2NSkrcyooLS4wMDAzMzYxOTcxNzc2MTgzOTQqcysuNDg0NzkxNTYxNDkwNzc2KTtlW3IrK109MTA3LjI2ODAzOTM5NzcyNCtpKigyMTk5MjcxMDQ1MjU3NDFlLTE5KmktLjAwMDY0MDk5MjAxODI5Nzk0NSphKy4wMDA2NTkzOTcwMDEyNDU1NzcqdCsuMDAwNDI2MTA1NjUyOTM4ODM3KnMtLjE3NjQ5MTc5MjQ2Mjg3NSkrYSooLS4wMDA3NzgyNjk5NDE1MTM2ODMqYSsuMDAxMzA4NzIyNjE0MDgyNzUqdCsuMDAwNzcwNDgyNjMxODAxMTMyKnMtLjE1MTA1MTQ5Mjc3NTU2MikrdCooLjAwMTI2OTM1MzY4MTE0ODQzKnQtLjAwMjY1MDkwMTg5MDEwODk4KnMrLjI1ODAyOTEwMjA2ODQ1KStzKigtLjAwMDMxODkxMzExNzU4ODMyOCpzLS4yMTM3NDI0MDAzMjM2NjUpO2VbcisrXT1pKigtLjAwMDU3MDExNTE5Njk3MzY3NyppLTI2MzQwOTA1MTAwNDU4OWUtMTkqYSsuMDAyMDc0MTA4ODExNTAxMip0LS4wMDI4ODI2MDIzNjg1MzQ0MipzKy44MTQyNzI5NjgzNTkyOTUpLTIwLjgxMDAxMjU0Njk0NythKigtMTUzNDk2MDU3NDQwOTc1ZS0xOSphLS4wMDAxMzI2ODkwNDM5NjE0NDYqdCsuMDAwNTYwODMzNjkxMjQyODEyKnMtLjE5NTE1MjAyNzUzNDA0OSkrdCooLjAwMTc0NDE4MTMyOTI3NTgyKnQtLjAwMjU1MjQzMzIxNDM5MzQ3KnMrLjExNjkzNTAyMDQ2NTE0NSkrcyooLS4wMDAzNDM1MzE5OTY1MTA1NTUqcysuMjQxNjUyNjAyMzI0MDcpfXJldHVybiBlLnN1YmFycmF5KDAscil9X2NvbnZlcnRZY2NrVG9SZ2JhKGUpe2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGg7dDxpO3QrPTQpe2NvbnN0IGk9ZVt0XSxhPWVbdCsxXSxzPWVbdCsyXSxyPWVbdCszXTtlW3RdPWEqKC02NjA2MzU2Njk0MjAzNjRlLTE5KmErLjAwMDQzNzEzMDQ3NTkyNjIzMipzLTU0MDgwNjEwMDY0NTk5ZS0xOCppKy4wMDA0ODQ0OTc5NzEyMDI4MSpyLS4xNTQzNjIxNTE4NzExMjYpLTEyMi42NzE5NTQwNjg5NCtzKigtLjAwMDk1Nzk2NDM3ODQ0NTc3MypzKy4wMDA4MTcwNzY5MTEzNDY2MjUqaS0uMDA0NzcyNzE0MDU0MDg3NDcqcisxLjUzMzgwMjUzMjIxNzM0KStpKiguMDAwOTYxMjUwMTg0MTMwNjg4KmktLjAwMjY2MjU3MzMyMjgzOTMzKnIrLjQ4MzU3MDg4NDUxMjY1KStyKigtLjAwMDMzNjE5NzE3NzYxODM5NCpyKy40ODQ3OTE1NjE0OTA3NzYpO2VbdCsxXT0xMDcuMjY4MDM5Mzk3NzI0K2EqKDIxOTkyNzEwNDUyNTc0MWUtMTkqYS0uMDAwNjQwOTkyMDE4Mjk3OTQ1KnMrLjAwMDY1OTM5NzAwMTI0NTU3NyppKy4wMDA0MjYxMDU2NTI5Mzg4Mzcqci0uMTc2NDkxNzkyNDYyODc1KStzKigtLjAwMDc3ODI2OTk0MTUxMzY4MypzKy4wMDEzMDg3MjI2MTQwODI3NSppKy4wMDA3NzA0ODI2MzE4MDExMzIqci0uMTUxMDUxNDkyNzc1NTYyKStpKiguMDAxMjY5MzUzNjgxMTQ4NDMqaS0uMDAyNjUwOTAxODkwMTA4OTgqcisuMjU4MDI5MTAyMDY4NDUpK3IqKC0uMDAwMzE4OTEzMTE3NTg4MzI4KnItLjIxMzc0MjQwMDMyMzY2NSk7ZVt0KzJdPWEqKC0uMDAwNTcwMTE1MTk2OTczNjc3KmEtMjYzNDA5MDUxMDA0NTg5ZS0xOSpzKy4wMDIwNzQxMDg4MTE1MDEyKmktLjAwMjg4MjYwMjM2ODUzNDQyKnIrLjgxNDI3Mjk2ODM1OTI5NSktMjAuODEwMDEyNTQ2OTQ3K3MqKC0xNTM0OTYwNTc0NDA5NzVlLTE5KnMtLjAwMDEzMjY4OTA0Mzk2MTQ0NippKy4wMDA1NjA4MzM2OTEyNDI4MTIqci0uMTk1MTUyMDI3NTM0MDQ5KStpKiguMDAxNzQ0MTgxMzI5Mjc1ODIqaS0uMDAyNTUyNDMzMjE0MzkzNDcqcisuMTE2OTM1MDIwNDY1MTQ1KStyKigtLjAwMDM0MzUzMTk5NjUxMDU1NSpyKy4yNDE2NTI2MDIzMjQwNyk7ZVt0KzNdPTI1NX1yZXR1cm4gZX1fY29udmVydFljY2tUb0NteWsoZSl7bGV0IHQsaSxhO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrPTQpe3Q9ZVtzXTtpPWVbcysxXTthPWVbcysyXTtlW3NdPTQzNC40NTYtdC0xLjQwMiphO2VbcysxXT0xMTkuNTQxLXQrLjM0NCppKy43MTQqYTtlW3MrMl09NDgxLjgxNi10LTEuNzcyKml9cmV0dXJuIGV9X2NvbnZlcnRDbXlrVG9SZ2IoZSl7bGV0IHQsaSxhLHMscj0wO2ZvcihsZXQgbj0wLGc9ZS5sZW5ndGg7bjxnO24rPTQpe3Q9ZVtuXTtpPWVbbisxXTthPWVbbisyXTtzPWVbbiszXTtlW3IrK109MjU1K3QqKC02NzQ3MTQ3MDczNjAyNDQxZS0yMCp0Ky4wMDA4Mzc5MjYyMTIxMDEzNzI3KmkrLjAwMDI4OTQ3MTgxODg2NDMyOTQqYSsuMDAzMjY0MjMxMDU3NTM3ODA2KnMtMS4xMTg1NjExODY3MjAzOTM3KStpKigyNjM3NDEwNzYxNjA4OTQwNWUtMjEqaS04NjI2OTQ5MTU4NjM4NTcyZS0yMCphLS4wMDAyNzQ4NzY5MDY3NDk5NDkxKnMtLjAyMTU1Njg4Nzk0OTc4OTY3KSthKigtMzg3ODA5OTIxMjg2OTM2M2UtMjAqYS0uMDAwMzI2NzgwODI3OTQ4NTI4NipzKy4wNjg2NzQyMjM4NTk1MzQ1KS1zKiguMDAwMzM2MTk3MTc3NjE4MzkzNypzKy43NDMwNjU5MTUxMzQyMjU0KTtlW3IrK109MjU1K3QqKC4wMDAxMzU5NjM3MjgxMzU4ODg0OCp0Ky4wMDA5MjQ1MzcxMzI1NzM1ODUqaSsuMDAwMTA1NjczNTk2MTg2ODM1OTMqYSsuMDAwNDc5MTg2NDY4NzQzNjUxMipzLS4zMTA5Njg5NTg3NTE1ODc1KStpKigtLjAwMDIzNTQ1MzQ2MTA4MzcwMzQ0KmkrLjAwMDI3MDI4NDUyNTM1MzQ3MTQqYSsuMDAyMDIwMDMwODk3NzMwNzE1NipzLS43NDg4MDUyMTY3MDE1NDk0KSthKig2ODM0ODE1OTk4MjM1NjYyZS0yMCphKy4wMDAxNTE2ODQ1MjM2MzQ2MDk3MypzLS4wOTc1MTkyNzc3NDcyODkzMyktcyooLjAwMDMxODkxMzExNzU4ODMyODEqcysuNzM2NDg4MzgwNzczMzE2OCk7ZVtyKytdPTI1NSt0KigxMzU5ODY1MDQxMTM4NTMwN2UtMjEqdCsuMDAwMTI0MjM5NTYxNzU0OTA4NTEqaSsuMDAwNDc1MTk4NTA5NzU4MzU4OSphLTM2NzI5MzE3NDc2NjMwNDIyZS0yMipzLS4wNTU2MjE4Njk4MDI2NDAzNCkraSooLjAwMDE2MTQxMzgwNTk4NzI0Njc2KmkrLjAwMDk2OTIyMzkxMzA3MjUxODYqYSsuMDAwNzc4MjY5MjQ1MDAzNjI1MypzLS40NDAxNTIzMjM2NzUyNjQ2MykrYSooNS4wNjg4ODI5MTQwNjg3NjllLTcqYSsuMDAxNzc3ODM2OTAxMTM3NTA3MSpzLS43NTkxNDU0NjQ5NzQ5NjA5KS1zKiguMDAwMzQzNTMxOTk2NTEwNTU1MypzKy43MDYzNzcwMTg2MTYwMTQ0KX1yZXR1cm4gZS5zdWJhcnJheSgwLHIpfV9jb252ZXJ0Q215a1RvUmdiYShlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz00KXtjb25zdCBpPWVbdF0sYT1lW3QrMV0scz1lW3QrMl0scj1lW3QrM107ZVt0XT0yNTUraSooLTY3NDcxNDcwNzM2MDI0NDFlLTIwKmkrLjAwMDgzNzkyNjIxMjEwMTM3MjcqYSsuMDAwMjg5NDcxODE4ODY0MzI5NCpzKy4wMDMyNjQyMzEwNTc1Mzc4MDYqci0xLjExODU2MTE4NjcyMDM5MzcpK2EqKDI2Mzc0MTA3NjE2MDg5NDA1ZS0yMSphLTg2MjY5NDkxNTg2Mzg1NzJlLTIwKnMtLjAwMDI3NDg3NjkwNjc0OTk0OTEqci0uMDIxNTU2ODg3OTQ5Nzg5NjcpK3MqKC0zODc4MDk5MjEyODY5MzYzZS0yMCpzLS4wMDAzMjY3ODA4Mjc5NDg1Mjg2KnIrLjA2ODY3NDIyMzg1OTUzNDUpLXIqKC4wMDAzMzYxOTcxNzc2MTgzOTM3KnIrLjc0MzA2NTkxNTEzNDIyNTQpO2VbdCsxXT0yNTUraSooLjAwMDEzNTk2MzcyODEzNTg4ODQ4KmkrLjAwMDkyNDUzNzEzMjU3MzU4NSphKy4wMDAxMDU2NzM1OTYxODY4MzU5MypzKy4wMDA0NzkxODY0Njg3NDM2NTEyKnItLjMxMDk2ODk1ODc1MTU4NzUpK2EqKC0uMDAwMjM1NDUzNDYxMDgzNzAzNDQqYSsuMDAwMjcwMjg0NTI1MzUzNDcxNCpzKy4wMDIwMjAwMzA4OTc3MzA3MTU2KnItLjc0ODgwNTIxNjcwMTU0OTQpK3MqKDY4MzQ4MTU5OTgyMzU2NjJlLTIwKnMrLjAwMDE1MTY4NDUyMzYzNDYwOTczKnItLjA5NzUxOTI3Nzc0NzI4OTMzKS1yKiguMDAwMzE4OTEzMTE3NTg4MzI4MSpyKy43MzY0ODgzODA3NzMzMTY4KTtlW3QrMl09MjU1K2kqKDEzNTk4NjUwNDExMzg1MzA3ZS0yMSppKy4wMDAxMjQyMzk1NjE3NTQ5MDg1MSphKy4wMDA0NzUxOTg1MDk3NTgzNTg5KnMtMzY3MjkzMTc0NzY2MzA0MjJlLTIyKnItLjA1NTYyMTg2OTgwMjY0MDM0KSthKiguMDAwMTYxNDEzODA1OTg3MjQ2NzYqYSsuMDAwOTY5MjIzOTEzMDcyNTE4NipzKy4wMDA3NzgyNjkyNDUwMDM2MjUzKnItLjQ0MDE1MjMyMzY3NTI2NDYzKStzKig1LjA2ODg4MjkxNDA2ODc2OWUtNypzKy4wMDE3Nzc4MzY5MDExMzc1MDcxKnItLjc1OTE0NTQ2NDk3NDk2MDkpLXIqKC4wMDAzNDM1MzE5OTY1MTA1NTUzKnIrLjcwNjM3NzAxODYxNjAxNDQpO2VbdCszXT0yNTV9cmV0dXJuIGV9Z2V0RGF0YSh7d2lkdGg6ZSxoZWlnaHQ6dCxmb3JjZVJHQkE6aT0hMSxmb3JjZVJHQjphPSExLGlzU291cmNlUERGOnM9ITF9KXtpZih0aGlzLm51bUNvbXBvbmVudHM+NCl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJVbnN1cHBvcnRlZCBjb2xvciBtb2RlIik7Y29uc3Qgcj10aGlzLl9nZXRMaW5lYXJpemVkQmxvY2tEYXRhKGUsdCxzKTtpZigxPT09dGhpcy5udW1Db21wb25lbnRzJiYoaXx8YSkpe2NvbnN0IGU9ci5sZW5ndGgqKGk/NDozKSx0PW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtsZXQgYT0wO2lmKGkpIWZ1bmN0aW9uIGdyYXlUb1JHQkEoZSx0KXtpZihGZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbilmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT02NTc5MyplW2ldfDQyNzgxOTAwODA7ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspdFtpXT0xNjg0MzAwOCplW2ldfDI1NX0ocixuZXcgVWludDMyQXJyYXkodC5idWZmZXIpKTtlbHNlIGZvcihjb25zdCBlIG9mIHIpe3RbYSsrXT1lO3RbYSsrXT1lO3RbYSsrXT1lfXJldHVybiB0fWlmKDM9PT10aGlzLm51bUNvbXBvbmVudHMmJnRoaXMuX2lzQ29sb3JDb252ZXJzaW9uTmVlZGVkKXtpZihpKXtjb25zdCBlPW5ldyBVaW50OENsYW1wZWRBcnJheShyLmxlbmd0aC8zKjQpO3JldHVybiB0aGlzLl9jb252ZXJ0WWNjVG9SZ2JhKHIsZSl9cmV0dXJuIHRoaXMuX2NvbnZlcnRZY2NUb1JnYihyKX1pZig0PT09dGhpcy5udW1Db21wb25lbnRzKXtpZih0aGlzLl9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZClyZXR1cm4gaT90aGlzLl9jb252ZXJ0WWNja1RvUmdiYShyKTphP3RoaXMuX2NvbnZlcnRZY2NrVG9SZ2Iocik6dGhpcy5fY29udmVydFljY2tUb0NteWsocik7aWYoaSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYmEocik7aWYoYSlyZXR1cm4gdGhpcy5fY29udmVydENteWtUb1JnYihyKX1yZXR1cm4gcn19Y2xhc3MgSnBlZ1N0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jaygpe3RoaXMuZGVjb2RlSW1hZ2UoKX1kZWNvZGVJbWFnZShlKXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZXx8PXRoaXMuYnl0ZXM7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aC0xO3Q8aTt0KyspaWYoMjU1PT09ZVt0XSYmMjE2PT09ZVt0KzFdKXt0PjAmJihlPWUuc3ViYXJyYXkodCkpO2JyZWFrfWNvbnN0IHQ9e2RlY29kZVRyYW5zZm9ybTp2b2lkIDAsY29sb3JUcmFuc2Zvcm06dm9pZCAwfSxpPXRoaXMuZGljdC5nZXRBcnJheSgiRCIsIkRlY29kZSIpO2lmKCh0aGlzLmZvcmNlUkdCQXx8dGhpcy5mb3JjZVJHQikmJkFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IGU9dGhpcy5kaWN0LmdldCgiQlBDIiwiQml0c1BlckNvbXBvbmVudCIpfHw4LGE9aS5sZW5ndGgscz1uZXcgSW50MzJBcnJheShhKTtsZXQgcj0hMTtjb25zdCBuPSgxPDxlKS0xO2ZvcihsZXQgZT0wO2U8YTtlKz0yKXtzW2VdPTI1NiooaVtlKzFdLWlbZV0pfDA7c1tlKzFdPWlbZV0qbnwwOzI1Nj09PXNbZV0mJjA9PT1zW2UrMV18fChyPSEwKX1yJiYodC5kZWNvZGVUcmFuc2Zvcm09cyl9aWYodGhpcy5wYXJhbXMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXRoaXMucGFyYW1zLmdldCgiQ29sb3JUcmFuc2Zvcm0iKTtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYodC5jb2xvclRyYW5zZm9ybT1lKX1jb25zdCBhPW5ldyBKcGVnSW1hZ2UodCk7YS5wYXJzZShlKTtjb25zdCBzPWEuZ2V0RGF0YSh7d2lkdGg6dGhpcy5kcmF3V2lkdGgsaGVpZ2h0OnRoaXMuZHJhd0hlaWdodCxmb3JjZVJHQkE6dGhpcy5mb3JjZVJHQkEsZm9yY2VSR0I6dGhpcy5mb3JjZVJHQixpc1NvdXJjZVBERjohMH0pO3RoaXMuYnVmZmVyPXM7dGhpcy5idWZmZXJMZW5ndGg9cy5sZW5ndGg7dGhpcy5lb2Y9ITA7cmV0dXJuIHRoaXMuYnVmZmVyfWdldCBjYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcigpe3JldHVybiB0aGlzLnN0cmVhbS5pc0FzeW5jfX12YXIgY2ksQ2k9KGNpPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdD8uc3JjOnZvaWQgMCxmdW5jdGlvbihlPXt9KXt2YXIgdCxpLGE9ZTtuZXcgUHJvbWlzZSgoKGUsYSk9Pnt0PWU7aT1hfSkpO2EuZGVjb2RlPWZ1bmN0aW9uKGUse251bUNvbXBvbmVudHM6dD00LGlzSW5kZXhlZENvbG9ybWFwOmk9ITEsc21hc2tJbkRhdGE6cz0hMX0pe2NvbnN0IHI9ZS5sZW5ndGgsbj1hLl9tYWxsb2Mocik7YS5IRUFQVTguc2V0KGUsbik7Y29uc3QgZz1hLl9qcDJfZGVjb2RlKG4scix0PjA/dDowLCEhaSwhIXMpO2EuX2ZyZWUobik7aWYoZyl7Y29uc3R7ZXJyb3JNZXNzYWdlczplfT1hO2lmKGUpe2RlbGV0ZSBhLmVycm9yTWVzc2FnZXM7cmV0dXJuIGV9cmV0dXJuIlVua25vd24gZXJyb3IifWNvbnN0e2ltYWdlRGF0YTpvfT1hO2EuaW1hZ2VEYXRhPW51bGw7cmV0dXJuIG99O3ZhciBzLHI9T2JqZWN0LmFzc2lnbih7fSxhKSxuPSIuL3RoaXMucHJvZ3JhbSIsZz0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0JiYoZz1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYyk7Y2kmJihnPWNpKTtnPWcuc3RhcnRzV2l0aCgiYmxvYjoiKT8iIjpnLnN1YnN0cigwLGcucmVwbGFjZSgvWz8jXS4qLywiIikubGFzdEluZGV4T2YoIi8iKSsxKTt2YXIgbyxjLEMsaCxsLFE9YS5wcmludHx8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSxFPWEucHJpbnRFcnJ8fGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKTtPYmplY3QuYXNzaWduKGEscik7cj1udWxsO2EuYXJndW1lbnRzJiZhLmFyZ3VtZW50czthLnRoaXNQcm9ncmFtJiYobj1hLnRoaXNQcm9ncmFtKTthLnF1aXQmJmEucXVpdDthLndhc21CaW5hcnkmJihvPWEud2FzbUJpbmFyeSk7ZnVuY3Rpb24gdHJ5UGFyc2VBc0RhdGFVUkkoZSl7aWYoaXNEYXRhVVJJKGUpKXJldHVybiBmdW5jdGlvbiBpbnRBcnJheUZyb21CYXNlNjQoZSl7Zm9yKHZhciB0PWF0b2IoZSksaT1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCksYT0wO2E8dC5sZW5ndGg7KythKWlbYV09dC5jaGFyQ29kZUF0KGEpO3JldHVybiBpfShlLnNsaWNlKEQubGVuZ3RoKSl9ZnVuY3Rpb24gdXBkYXRlTWVtb3J5Vmlld3MoKXt2YXIgZT1jLmJ1ZmZlcjthLkhFQVA4PUM9bmV3IEludDhBcnJheShlKTthLkhFQVAxNj1uZXcgSW50MTZBcnJheShlKTthLkhFQVBVOD1oPW5ldyBVaW50OEFycmF5KGUpO2EuSEVBUFUxNj1uZXcgVWludDE2QXJyYXkoZSk7YS5IRUFQMzI9bmV3IEludDMyQXJyYXkoZSk7YS5IRUFQVTMyPWw9bmV3IFVpbnQzMkFycmF5KGUpO2EuSEVBUEYzMj1uZXcgRmxvYXQzMkFycmF5KGUpO2EuSEVBUEY2ND1uZXcgRmxvYXQ2NEFycmF5KGUpfXZhciB1LGQ9W10sZj1bXSxwPVtdLG09MCx5PW51bGwsdz1udWxsLEQ9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiLGlzRGF0YVVSST1lPT5lLnN0YXJ0c1dpdGgoRCk7ZnVuY3Rpb24gaW5zdGFudGlhdGVTeW5jKGUsdCl7dmFyIGksYT1mdW5jdGlvbiBnZXRCaW5hcnlTeW5jKGUpe2lmKGU9PXUmJm8pcmV0dXJuIG5ldyBVaW50OEFycmF5KG8pO3ZhciB0PXRyeVBhcnNlQXNEYXRhVVJJKGUpO2lmKHQpcmV0dXJuIHQ7aWYocylyZXR1cm4gcyhlKTt0aHJvdydzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZDogeW91IGNhbiBwcmVsb2FkIGl0IHRvIE1vZHVsZVsid2FzbUJpbmFyeSJdIG1hbnVhbGx5LCBvciBlbWNjLnB5IHdpbGwgZG8gdGhhdCBmb3IgeW91IHdoZW4gZ2VuZXJhdGluZyBIVE1MIChidXQgbm90IEpTKSd9KGUpO2k9bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShhKTtyZXR1cm5bbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKGksdCksaV19dmFyIGNhbGxSdW50aW1lQ2FsbGJhY2tzPWU9Pntmb3IoO2UubGVuZ3RoPjA7KWUuc2hpZnQoKShhKX07YS5ub0V4aXRSdW50aW1lO3ZhciBiLGdyb3dNZW1vcnk9ZT0+e3ZhciB0PShlLWMuYnVmZmVyLmJ5dGVMZW5ndGgrNjU1MzUpLzY1NTM2O3RyeXtjLmdyb3codCk7dXBkYXRlTWVtb3J5Vmlld3MoKTtyZXR1cm4gMX1jYXRjaChlKXt9fSxGPXt9LGdldEVudlN0cmluZ3M9KCk9PntpZighZ2V0RW52U3RyaW5ncy5zdHJpbmdzKXt2YXIgZT17VVNFUjoid2ViX3VzZXIiLExPR05BTUU6IndlYl91c2VyIixQQVRIOiIvIixQV0Q6Ii8iLEhPTUU6Ii9ob21lL3dlYl91c2VyIixMQU5HOigib2JqZWN0Ij09dHlwZW9mIG5hdmlnYXRvciYmbmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlc1swXXx8IkMiKS5yZXBsYWNlKCItIiwiXyIpKyIuVVRGLTgiLF86bnx8Ii4vdGhpcy5wcm9ncmFtIn07Zm9yKHZhciB0IGluIEYpdm9pZCAwPT09Rlt0XT9kZWxldGUgZVt0XTplW3RdPUZbdF07dmFyIGk9W107Zm9yKHZhciB0IGluIGUpaS5wdXNoKGAke3R9PSR7ZVt0XX1gKTtnZXRFbnZTdHJpbmdzLnN0cmluZ3M9aX1yZXR1cm4gZ2V0RW52U3RyaW5ncy5zdHJpbmdzfSxTPVtudWxsLFtdLFtdXSxrPSJ1bmRlZmluZWQiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dm9pZCAwLFVURjhBcnJheVRvU3RyaW5nPShlLHQsaSk9Pntmb3IodmFyIGE9dCtpLHM9dDtlW3NdJiYhKHM+PWEpOykrK3M7aWYocy10PjE2JiZlLmJ1ZmZlciYmaylyZXR1cm4gay5kZWNvZGUoZS5zdWJhcnJheSh0LHMpKTtmb3IodmFyIHI9IiI7dDxzOyl7dmFyIG49ZVt0KytdO2lmKDEyOCZuKXt2YXIgZz02MyZlW3QrK107aWYoMTkyIT0oMjI0Jm4pKXt2YXIgbz02MyZlW3QrK107aWYoKG49MjI0PT0oMjQwJm4pPygxNSZuKTw8MTJ8Zzw8NnxvOig3Jm4pPDwxOHxnPDwxMnxvPDw2fDYzJmVbdCsrXSk8NjU1MzYpcis9U3RyaW5nLmZyb21DaGFyQ29kZShuKTtlbHNle3ZhciBjPW4tNjU1MzY7cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxjPj4xMCw1NjMyMHwxMDIzJmMpfX1lbHNlIHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJm4pPDw2fGcpfWVsc2Ugcis9U3RyaW5nLmZyb21DaGFyQ29kZShuKX1yZXR1cm4gcn0scHJpbnRDaGFyPShlLHQpPT57dmFyIGk9U1tlXTtpZigwPT09dHx8MTA9PT10KXsoMT09PWU/UTpFKShVVEY4QXJyYXlUb1N0cmluZyhpLDApKTtpLmxlbmd0aD0wfWVsc2UgaS5wdXNoKHQpfSxVVEY4VG9TdHJpbmc9KGUsdCk9PmU/VVRGOEFycmF5VG9TdHJpbmcoaCxlLHQpOiIiLFI9e2M6KGUsdCxpKT0+aC5jb3B5V2l0aGluKGUsdCx0K2kpLGc6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzEoZSx0KXtlPj49Mjtjb25zdCBpPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KSxzPWEuSEVBUDMyLnN1YmFycmF5KGUsZSt0KTtpLnNldChzKX0sZjpmdW5jdGlvbiBfY29weV9waXhlbHNfMyhlLHQsaSxzKXtlPj49Mjt0Pj49MjtpPj49Mjtjb25zdCByPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKnMpLG49YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3MpLGc9YS5IRUFQMzIuc3ViYXJyYXkodCx0K3MpLG89YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3MpO2ZvcihsZXQgZT0wO2U8cztlKyspe3JbMyplXT1uW2VdO3JbMyplKzFdPWdbZV07clszKmUrMl09b1tlXX19LGU6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzQoZSx0LGkscyxyKXtlPj49Mjt0Pj49MjtpPj49MjtzPj49Mjtjb25zdCBuPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KnIpLGc9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3IpLG89YS5IRUFQMzIuc3ViYXJyYXkodCx0K3IpLGM9YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3IpLEM9YS5IRUFQMzIuc3ViYXJyYXkocyxzK3IpO2ZvcihsZXQgZT0wO2U8cjtlKyspe25bNCplXT1nW2VdO25bNCplKzFdPW9bZV07bls0KmUrMl09Y1tlXTtuWzQqZSszXT1DW2VdfX0sazplPT57dmFyIHQ9aC5sZW5ndGgsaT0yMTQ3NDgzNjQ4O2lmKChlPj4+PTApPmkpcmV0dXJuITE7Zm9yKHZhciBhLHMscj0xO3I8PTQ7cio9Mil7dmFyIG49dCooMSsuMi9yKTtuPU1hdGgubWluKG4sZSsxMDA2NjMyOTYpO3ZhciBnPU1hdGgubWluKGksKGE9TWF0aC5tYXgoZSxuKSkrKChzPTY1NTM2KS1hJXMpJXMpO2lmKGdyb3dNZW1vcnkoZykpcmV0dXJuITB9cmV0dXJuITF9LGw6KGUsdCk9Pnt2YXIgaT0wO2dldEVudlN0cmluZ3MoKS5mb3JFYWNoKCgoYSxzKT0+e3ZhciByPXQraTtsW2UrNCpzPj4yXT1yOygoZSx0KT0+e2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7KytpKUNbdCsrXT1lLmNoYXJDb2RlQXQoaSk7Q1t0XT0wfSkoYSxyKTtpKz1hLmxlbmd0aCsxfSkpO3JldHVybiAwfSxtOihlLHQpPT57dmFyIGk9Z2V0RW52U3RyaW5ncygpO2xbZT4+Ml09aS5sZW5ndGg7dmFyIGE9MDtpLmZvckVhY2goKGU9PmErPWUubGVuZ3RoKzEpKTtsW3Q+PjJdPWE7cmV0dXJuIDB9LG46ZT0+NTIsajpmdW5jdGlvbiBfZmRfc2VlayhlLHQsaSxhLHMpe3JldHVybiA3MH0sYjooZSx0LGksYSk9Pntmb3IodmFyIHM9MCxyPTA7cjxpO3IrKyl7dmFyIG49bFt0Pj4yXSxnPWxbdCs0Pj4yXTt0Kz04O2Zvcih2YXIgbz0wO288ZztvKyspcHJpbnRDaGFyKGUsaFtuK29dKTtzKz1nfWxbYT4+Ml09cztyZXR1cm4gMH0sbzpmdW5jdGlvbiBfZ3JheV90b19yZ2JhKGUsdCl7ZT4+PTI7Y29uc3QgaT1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoNCp0KSxzPWEuSEVBUDMyLnN1YmFycmF5KGUsZSt0KTtmb3IobGV0IGU9MDtlPHQ7ZSsrKXtpWzQqZV09aVs0KmUrMV09aVs0KmUrMl09c1tlXTtpWzQqZSszXT0yNTV9fSxpOmZ1bmN0aW9uIF9ncmF5YV90b19yZ2JhKGUsdCxpKXtlPj49Mjt0Pj49Mjtjb25zdCBzPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KmkpLHI9YS5IRUFQMzIuc3ViYXJyYXkoZSxlK2kpLG49YS5IRUFQMzIuc3ViYXJyYXkodCx0K2kpO2ZvcihsZXQgZT0wO2U8aTtlKyspe3NbNCplXT1zWzQqZSsxXT1zWzQqZSsyXT1yW2VdO3NbNCplKzNdPW5bZV19fSxkOmZ1bmN0aW9uIF9qc1ByaW50V2FybmluZyhlKXtjb25zdCB0PVVURjhUb1N0cmluZyhlKTsoYS53YXJufHxjb25zb2xlLndhcm4pKGBPcGVuSlBFRzogJHt0fWApfSxoOmZ1bmN0aW9uIF9yZ2JfdG9fcmdiYShlLHQsaSxzKXtlPj49Mjt0Pj49MjtpPj49Mjtjb25zdCByPWEuaW1hZ2VEYXRhPW5ldyBVaW50OENsYW1wZWRBcnJheSg0KnMpLG49YS5IRUFQMzIuc3ViYXJyYXkoZSxlK3MpLGc9YS5IRUFQMzIuc3ViYXJyYXkodCx0K3MpLG89YS5IRUFQMzIuc3ViYXJyYXkoaSxpK3MpO2ZvcihsZXQgZT0wO2U8cztlKyspe3JbNCplXT1uW2VdO3JbNCplKzFdPWdbZV07cls0KmUrMl09b1tlXTtyWzQqZSszXT0yNTV9fSxhOmZ1bmN0aW9uIF9zdG9yZUVycm9yTWVzc2FnZShlKXtjb25zdCB0PVVURjhUb1N0cmluZyhlKTthLmVycm9yTWVzc2FnZXM/YS5lcnJvck1lc3NhZ2VzKz0iXG4iK3Q6YS5lcnJvck1lc3NhZ2VzPXR9fSxOPWZ1bmN0aW9uIGNyZWF0ZVdhc20oKXt2YXIgZT1mdW5jdGlvbiBnZXRXYXNtSW1wb3J0cygpe3JldHVybnthOlJ9fSgpO2Z1bmN0aW9uIHJlY2VpdmVJbnN0YW5jZShlLHQpe049ZS5leHBvcnRzO2M9Ti5wO3VwZGF0ZU1lbW9yeVZpZXdzKCk7IWZ1bmN0aW9uIGFkZE9uSW5pdChlKXtmLnVuc2hpZnQoZSl9KE4ucSk7IWZ1bmN0aW9uIHJlbW92ZVJ1bkRlcGVuZGVuY3koZSl7bS0tO2EubW9uaXRvclJ1bkRlcGVuZGVuY2llcz8uKG0pO2lmKDA9PW0pe2lmKG51bGwhPT15KXtjbGVhckludGVydmFsKHkpO3k9bnVsbH1pZih3KXt2YXIgdD13O3c9bnVsbDt0KCl9fX0oKTtyZXR1cm4gTn0hZnVuY3Rpb24gYWRkUnVuRGVwZW5kZW5jeShlKXttKys7YS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzPy4obSl9KCk7aWYoYS5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBhLmluc3RhbnRpYXRlV2FzbShlLHJlY2VpdmVJbnN0YW5jZSl9Y2F0Y2goZSl7RShgTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogJHtlfWApO2koZSl9dXx8KHU9ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJ6Z0VhWUFOL2YzOEJmMkFFZjM5L2Z3Ri9ZQUYvQUdBQ2YzOEFZQUYvQVg5Z0EzOS9md0JnQW45L0FYOWdCSDkvZjM4QVlBTi9mbjhCZm1BRmYzOS9mMzhCZjJBQ2ZuOEJmMkFDZm44QmZtQUZmMzkvZjM4QVlBTi9mbjhCZjJBQUFYOWdCMzkvZjM5L2YzOEJmMkFKZjM5L2YzOS9mMzkvQVg5Z0MzOS9mMzkvZjM5L2YzOS9BWDlnQm45L2YzOS9md0YvWUFaL2ZIOS9mMzhCZjJBSWYzOS9mMzkvZjM4QVlBaC9mMzkvZjM5L2Z3Ri9ZQUFBWUFaL2YzOS9mMzhBWUFkL2YzOS9mMzkvQUdBQ2ZIOEJmQUpiRHdGaEFXRUFBZ0ZoQVdJQUFRRmhBV01BQlFGaEFXUUFBZ0ZoQVdVQURBRmhBV1lBQndGaEFXY0FBd0ZoQVdnQUJ3RmhBV2tBQlFGaEFXb0FDUUZoQVdzQUJBRmhBV3dBQmdGaEFXMEFCZ0ZoQVc0QUJBRmhBVzhBQXdQQUFiNEJCd0lGQUFZRUFBVUdCQVVCQkF3RkZBWUNBZ0lDQUFZUUVRUUNDaElDQlFJRUJ3UUNEZ0lDRFFZQ0ZRTUhBQUFFQXdFV0NRa0RBQWtHQVFRRUJRVU9Ed0VCQXdBREJnSVFCQmNZQWdjR0F3Y0hBUUVDQUFRWkJBWUhCQThNQUFRQ0FnSUFCZ0FHQVFFQkFRRUJBUUVBQUFBQUFBWURBZ0lDQXdNREF3TUFBeE1JQkE0RUFBZ0RBd2tFQ0FvTENBQUFBUUVCQVFFQkFRRU5BUUFFQkFVSkR3RVNFUUVBQUFZREF3RUZCUVVGQlFVRkJRRUxBUUVCQVFFQkFRRUJDZ1FGQVhBQmJtNEZCd0VCZ2dLQWdBSUdDQUYvQVVHUTJRVUxCeHNHQVhBQ0FBRnhBRUVCY2dDWUFRRnpBQkFCZEFFQUFYVUFsd0VKdlFFQkFFRUJDMjFSekFIQ0FYTnpOcWNCbkFHWkFZc0JpZ0dKQVlnQmh3R0dBWVVCaEFGU2dRR0FBWDkrZlh4N2VubDRkM1oxeXdIS0Fja0J5QUhIQWNZQlFNVUJ4QUZBUU1NQndRSEFBYjhCdmdHOUFid0J1d0c2QWJrQnN3R29BYVlCcFFHa0FhTUJvZ0doQWFBQm53R2VBWjBCbXdHYUFVbEtURkpJZ3dGVE9GQ0NBVTlGUms0cko2c0JxZ0dzQWJRQnVBRzFBYThCcVFHdEFhNEJ0Z0czQVhDd0FiRUJzZ0ZSbGdHVkFZd0JqZ0dOQVpJQmt3R1VBWkFCandFS2tab092Z0dDQWdFRGZ5TUFRWkFFYXlJRUpBQUNRQ0FBUlEwQUFrQUNRQUpBQWtBZ0FVRUJhdzRFQUFFRUFnUUxJQUJCREdvaEFRd0NDeUFBUVJCcUlRRWdBRUVFYWlFQURBRUxJQUJCRkdvaEFTQUFRUWhxSVFBTElBRW9BZ0FpQlVVTkFDQUNSUTBBSUFBb0FnQWhCaUFFUVFCQmdBUVFGU0lCSUFNMkFvd0VJd0JCb0FGcklnQWtBQ0FBSUFFMkFwUUJJQUJCL3dNMkFwZ0JJQUJCQUVHUUFSQVZJZ0JCZnpZQ1RDQUFRZVlBTmdJa0lBQkJmellDVUNBQUlBQkJud0ZxTmdJc0lBQWdBRUdVQVdvMkFsUWdBVUVBT2dBQUlBQWdBaUFEUWVjQVFlZ0FFR3NnQUVHZ0FXb2tBQ0FCUVFBNkFQOERJQUVnQmlBRkVRTUFDeUFFUVpBRWFpUUFDOUFDQVFWL0lBQUVRQ0FBUVFScklnTW9BZ0FpQkNFQklBTWhBaUFBUVFocktBSUFJZ0FnQUVGK2NTSUFSd1JBSUFJZ0FHc2lBaWdDQkNJQklBSW9BZ2dpQlRZQ0NDQUZJQUUyQWdRZ0FDQUVhaUVCQ3lBRElBUnFJZ0FvQWdBaUF5QUFJQU5xUVFScktBSUFSd1JBSUFBb0FnUWlCQ0FBS0FJSUlnQTJBZ2dnQUNBRU5nSUVJQUVnQTJvaEFRc2dBaUFCTmdJQUlBSWdBVUY4Y1dwQkJHc2dBVUVCY2pZQ0FDQUNBbjhnQWlnQ0FFRUlheUlBUWY4QVRRUkFJQUJCQTNaQkFXc01BUXNnQUdjaEF5QUFRUjBnQTJ0MlFRUnpJQU5CQW5SclFlNEFhaUFBUWY4ZlRRMEFHa0UvSUFCQkhpQURhM1pCQW5NZ0EwRUJkR3RCeHdCcUlnQWdBRUUvVHhzTElnRkJCSFFpQUVHZ3h3RnFOZ0lFSUFJZ0FFR294d0ZxSWdBb0FnQTJBZ2dnQUNBQ05nSUFJQUlvQWdnZ0FqWUNCRUdvendGQnFNOEJLUU1BUWdFZ0FhMkdoRGNEQUFzTHlRSUJCSDhnQVVFQU5nSUFBa0FnQWtVTkFDQUJJQUpxSVFNQ1FDQUNRUkJKQkVBZ0FDRUJEQUVMQWtBZ0FDQUNhaUFCVFEwQUlBQWdBMDhOQUNBQUlRRU1BUXNnQTBFUWF5RUdJQUFnQWtGd2NTSUZhaUVCSUFNZ0JXc2hBd05BSUFZZ0JHc2dBQ0FFYXYwQUFBRDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlEUThPRFF3TENna0lCd1lGQkFNQ0FRRDlDd0FBSUFSQkVHb2lCQ0FGUncwQUN5QUNJQVZHRFFFTEFrQWdBa0VEY1NJR1JRUkFJQVVoQkF3QkMwRUFJUUFnQlNFRUEwQWdBMEVCYXlJRElBRXRBQUE2QUFBZ0JFRUJhaUVFSUFGQkFXb2hBU0FBUVFGcUlnQWdCa2NOQUFzTElBVWdBbXRCZkVzTkFBTkFJQU5CQVdzZ0FTMEFBRG9BQUNBRFFRSnJJQUV0QUFFNkFBQWdBMEVEYXlBQkxRQUNPZ0FBSUFOQkJHc2lBeUFCTFFBRE9nQUFJQUZCQkdvaEFTQUVRUVJxSWdRZ0FrY05BQXNMQzRBRUFRTi9JQUpCZ0FSUEJFQWdBQ0FCSUFJUUFpQUFEd3NnQUNBQ2FpRURBa0FnQUNBQmMwRURjVVVFUUFKQUlBQkJBM0ZGQkVBZ0FDRUNEQUVMSUFKRkJFQWdBQ0VDREFFTElBQWhBZ05BSUFJZ0FTMEFBRG9BQUNBQlFRRnFJUUVnQWtFQmFpSUNRUU54UlEwQklBSWdBMGtOQUFzTEFrQWdBMEY4Y1NJRVFjQUFTUTBBSUFJZ0JFRkFhaUlGU3cwQUEwQWdBaUFCS0FJQU5nSUFJQUlnQVNnQ0JEWUNCQ0FDSUFFb0FnZzJBZ2dnQWlBQktBSU1OZ0lNSUFJZ0FTZ0NFRFlDRUNBQ0lBRW9BaFEyQWhRZ0FpQUJLQUlZTmdJWUlBSWdBU2dDSERZQ0hDQUNJQUVvQWlBMkFpQWdBaUFCS0FJa05nSWtJQUlnQVNnQ0tEWUNLQ0FDSUFFb0FpdzJBaXdnQWlBQktBSXdOZ0l3SUFJZ0FTZ0NORFlDTkNBQ0lBRW9BamcyQWpnZ0FpQUJLQUk4TmdJOElBRkJRR3NoQVNBQ1FVQnJJZ0lnQlUwTkFBc0xJQUlnQkU4TkFRTkFJQUlnQVNnQ0FEWUNBQ0FCUVFScUlRRWdBa0VFYWlJQ0lBUkpEUUFMREFFTElBTkJCRWtFUUNBQUlRSU1BUXNnQUNBRFFRUnJJZ1JMQkVBZ0FDRUNEQUVMSUFBaEFnTkFJQUlnQVMwQUFEb0FBQ0FDSUFFdEFBRTZBQUVnQWlBQkxRQUNPZ0FDSUFJZ0FTMEFBem9BQXlBQlFRUnFJUUVnQWtFRWFpSUNJQVJORFFBTEN5QUNJQU5KQkVBRFFDQUNJQUV0QUFBNkFBQWdBVUVCYWlFQklBSkJBV29pQWlBRFJ3MEFDd3NnQUFzd0FRRi9Ba0FnQUVVTkFDQUJSUTBBUVFnZ0FDQUJiQ0lCRUNVaUFBUkFJQUJCQUNBQkVCVWFDeUFBSVFJTElBSUxFUUFnQUVVRVFFRUFEd3RCQ0NBQUVDVUw4Z0lDQW44QmZnSkFJQUpGRFFBZ0FDQUJPZ0FBSUFBZ0Ftb2lBMEVCYXlBQk9nQUFJQUpCQTBrTkFDQUFJQUU2QUFJZ0FDQUJPZ0FCSUFOQkEyc2dBVG9BQUNBRFFRSnJJQUU2QUFBZ0FrRUhTUTBBSUFBZ0FUb0FBeUFEUVFScklBRTZBQUFnQWtFSlNRMEFJQUJCQUNBQWEwRURjU0lFYWlJRElBRkIvd0Z4UVlHQ2hBaHNJZ0UyQWdBZ0F5QUNJQVJyUVh4eElnUnFJZ0pCQkdzZ0FUWUNBQ0FFUVFsSkRRQWdBeUFCTmdJSUlBTWdBVFlDQkNBQ1FRaHJJQUUyQWdBZ0FrRU1heUFCTmdJQUlBUkJHVWtOQUNBRElBRTJBaGdnQXlBQk5nSVVJQU1nQVRZQ0VDQURJQUUyQWd3Z0FrRVFheUFCTmdJQUlBSkJGR3NnQVRZQ0FDQUNRUmhySUFFMkFnQWdBa0VjYXlBQk5nSUFJQVFnQTBFRWNVRVljaUlFYXlJQ1FTQkpEUUFnQWExQ2dZQ0FnQkIrSVFVZ0F5QUVhaUVCQTBBZ0FTQUZOd01ZSUFFZ0JUY0RFQ0FCSUFVM0F3Z2dBU0FGTndNQUlBRkJJR29oQVNBQ1FTQnJJZ0pCSDBzTkFBc0xJQUFMSndFQmZ5TUFRUkJySWdNa0FDQURJQUkyQWd3Z0FDQUJJQUpCQUVFQUVHc2dBMEVRYWlRQUMrZ0ZBUWwvSUFGRkJFQkJBQThMQW44Z0FFVUVRRUVJSUFFUUpRd0JDeUFCUlFSQUlBQVFFRUVBREFFTEFrQWdBVUZIU3cwQUlBQUNmMEVJSUFGQkEycEJmSEVnQVVFSVRSc2lCMEVJYWlFQkFrQUNmd0pBSUFCQkJHc2lDaUlFS0FJQUlnVWdCR29pQWlnQ0FDSUpJQUlnQ1dvaUNFRUVheWdDQUVjRVFDQUlJQUVnQkdvaUEwRVFhazhFUUNBQ0tBSUVJZ1VnQWlnQ0NDSUNOZ0lJSUFJZ0JUWUNCQ0FESUFnZ0Eyc2lBallDQUNBRElBSkJmSEZxUVFScklBSkJBWEkyQWdBZ0F3Si9JQU1vQWdCQkNHc2lBa0gvQUUwRVFDQUNRUU4yUVFGckRBRUxJQUpCSFNBQ1p5SUZhM1pCQkhNZ0JVRUNkR3RCN2dCcUlBSkIveDlORFFBYVFUOGdBa0VlSUFWcmRrRUNjeUFGUVFGMGEwSEhBR29pQWlBQ1FUOVBHd3NpQWtFRWRDSUZRYURIQVdvMkFnUWdBeUFGUWFqSEFXb2lCU2dDQURZQ0NDQUZJQU0yQWdBZ0F5Z0NDQ0FETmdJRVFhalBBVUdvendFcEF3QkNBU0FDcllhRU53TUFJQVFnQVRZQ0FBd0VDeUFESUFoTERRRWdBaWdDQkNJQklBSW9BZ2dpQXpZQ0NDQURJQUUyQWdRZ0JDQUZJQWxxSWdFMkFnQU1Bd3NnQlNBQlFSQnFUd1JBSUFRZ0FUWUNBQ0FFSUFGQmZIRnFRUVJySUFFMkFnQWdBU0FFYWlJRElBVWdBV3NpQVRZQ0FDQURJQUZCZkhGcVFRUnJJQUZCQVhJMkFnQWdBd0ovSUFNb0FnQkJDR3NpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGQkhTQUJaeUlFYTNaQkJITWdCRUVDZEd0QjdnQnFJQUZCL3g5TkRRQWFRVDhnQVVFZUlBUnJka0VDY3lBRVFRRjBhMEhIQUdvaUFTQUJRVDlQR3dzaUFVRUVkQ0lFUWFESEFXbzJBZ1FnQXlBRVFhakhBV29pQkNnQ0FEWUNDQ0FFSUFNMkFnQWdBeWdDQ0NBRE5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQnJZYUVOd01BUVFFTUJBdEJBU0FCSUFWTkRRRWFDMEVBQ3d3QkN5QUVJQUZCZkhGcVFRUnJJQUUyQWdCQkFRc05BUnBCQ0NBSEVDVWlBVVVOQUNBQklBQWdCeUFLS0FJQVFRaHJJZ1lnQmlBSFN4c1FFaG9nQUJBUUlBRWhCZ3NnQmdzTE53RUNmeU1BUVJCcklnRWtBQ0FBQkg4Z0FVRU1ha0VRSUFBUWJDRUFRUUFnQVNnQ0RDQUFHd1ZCQUFzaEFpQUJRUkJxSkFBZ0Fnc1hBQ0FBTFFBQVFTQnhSUVJBSUFFZ0FpQUFFRDBhQ3d1OEJBRUZmeUFDSUFBb0FqQWlCVTBFUUNBQklBQW9BaVFnQWhBU0dpQUFJQUFvQWlRZ0FtbzJBaVFnQUNBQUtBSXdJQUpyTmdJd0lBQWdBQ2tET0NBQ3JYdzNBemdnQWc4TElBQXRBRVJCQkhFRVFDQUJJQUFvQWlRZ0JSQVNHaUFBS0FJd0lRRWdBRUVBTmdJd0lBQWdBU0FBS0FJa2FqWUNKQ0FBSUFBcEF6Z2dBYTE4TndNNElBVkJmeUFGR3c4TEFrQWdCUVJBSUFFZ0FDZ0NKQ0FGRUJJaEJDQUFJQUFvQWlBaUJ6WUNKQ0FBS0FJd0lRRWdBRUVBTmdJd0lBQWdBQ2tET0NBQnJYdzNBemdnQWlBQmF5RUNJQUVnQkdvaEFRd0JDeUFBSUFBb0FpQWlCellDSkFzQ1FBSkFBMEFDUUNBQUtBSUFJUVFnQUNnQ0VDRUdBa0FnQUNnQ1FDSUlJQUpMQkVBZ0FDQUhJQWdnQkNBR0VRQUFJZ1kyQWpBZ0JrRi9SZ1JBREFZTElBSWdCazBOQWlBQklBQW9BaVFnQmhBU0dpQUFJQUFvQWlBaUJ6WUNKQ0FBS0FJd0lRUU1BUXNnQUNBQklBSWdCQ0FHRVFBQUlnUTJBakFnQkVGL1JnUkFEQVVMSUFJZ0JFME5BeUFBSUFBb0FpQWlCellDSkNBRUlRWUxJQUJCQURZQ01DQUFJQUFwQXpnZ0JLMThOd000SUFFZ0JHb2hBU0FDSUFScklRSWdCU0FHYWlFRkRBRUxDeUFCSUFBb0FpUWdBaEFTR2lBQUlBQW9BaVFnQW1vMkFpUWdBQ0FBS0FJd0lBSnJOZ0l3SUFBZ0FDa0RPQ0FDclh3M0F6Z2dBaUFGYWc4TElBQkJBRFlDTUNBQUlBQW9BaUEyQWlRZ0FDQUFLUU00SUFTdGZEY0RPQ0FFSUFWcUR3c2dBMEVFUVp2MUFFRUFFQThnQUVFQU5nSXdJQUFnQUNnQ1JFRUVjallDUkNBRlFYOGdCUnNMaXdjQ0RYOEJmaUFBS0FJUUlnZEJJRThFUUNBQUtRTUlwdzhMQWtBZ0FDZ0NHQ0lDUVFST0JFQWdBQ2dDQUNJQktBSUFJUVFnQUNBQ1FRUnJJZ1UyQWhnZ0FDQUJRUVJxTmdJQURBRUxRWDlCQUNBQUtBSWNHeUVFSUFKQkFFd0VRQ0FDSVFVTUFRc2dBa0VCY1NFTUlBQW9BZ0FoQVFKQUlBSkJBVVlFUUNBQklRWU1BUXNnQWtIKy8vLy9CM0VoQ2dOQUlBQWdBVUVCYWpZQ0FDQUJMUUFBSVFrZ0FDQUJRUUpxSWdZMkFnQWdBQ0FDUVFGck5nSVlJQUV0QUFFaEFTQUFJQUpCQW1zaUFqWUNHQ0FFUWY4QklBTjBRWDl6Y1NBSklBTjBja0dBL2dNZ0EzUkJmM054SUFFZ0EwRUljblJ5SVFRZ0EwRVFhaUVESUFZaEFTQUZRUUpxSWdVZ0NrY05BQXNMUVFBaEJTQU1SUTBBSUFBZ0JrRUJhallDQUNBR0xRQUFJUUVnQUNBQ1FRRnJOZ0lZSUFSQi93RWdBM1JCZjNOeElBRWdBM1J5SVFRTElBQW9BaFFoQVNBQUlBUkJHSFlpQ2tIL0FVWTJBaFFnQUVFSFFRZ2dBUnNpQVVFSFFRZ2dCRUgvQVhFaUJrSC9BVVliYWlJQ1FRZEJDQ0FFUVFoMlFmOEJjU0lEUWY4QlJodHFJZ2xCQjBFSUlBUkJFSFpCL3dGeElnUkIvd0ZHR3lBSGFtb2lDRFlDRUNBQUlBQXBBd2dnQXlBQmRDQUVJQUowY2lBS0lBbDBjaUFHY3EwZ0I2MkdoQ0lPTndNSUlBaEJIMDBFUUFKQUlBVkJCRTRFUUNBQUtBSUFJZ0VvQWdBaEFpQUFJQVZCQkdzMkFoZ2dBQ0FCUVFScU5nSUFEQUVMUVFBaEEwRi9RUUFnQUNnQ0hCc2hBaUFGUVFCTURRQWdCVUVCY1NFTklBQW9BZ0FoQVFKQUlBVkJBVVlFUUNBQklRUU1BUXNnQlVIKy8vLy9CM0VoQ1VFQUlRWURRQ0FBSUFGQkFXbzJBZ0FnQVMwQUFDRUxJQUFnQVVFQ2FpSUVOZ0lBSUFBZ0JVRUJhellDR0NBQkxRQUJJUUVnQUNBRlFRSnJJZ1UyQWhnZ0FrSC9BU0FEZEVGL2MzRWdDeUFEZEhKQmdQNERJQU4wUVg5emNTQUJJQU5CQ0hKMGNpRUNJQU5CRUdvaEF5QUVJUUVnQmtFQ2FpSUdJQWxIRFFBTEN5QU5SUTBBSUFBZ0JFRUJhallDQUNBRUxRQUFJUUVnQUNBRlFRRnJOZ0lZSUFKQi93RWdBM1JCZjNOeElBRWdBM1J5SVFJTElBQWdBa0VZZGlJQlFmOEJSallDRkNBQVFRZEJDQ0FLUWY4QlJoc2lCRUVIUVFnZ0FrSC9BWEVpQmtIL0FVWWJhaUlGUVFkQkNDQUNRUWgyUWY4QmNTSURRZjhCUmh0cUlnZEJCMEVJSUFKQkVIWkIvd0Z4SWdKQi93RkdHeUFJYW1vMkFoQWdBQ0FESUFSMElBSWdCWFJ5SUFFZ0IzUnlJQVp5clNBSXJZWWdEb1FpRGpjRENBc2dEcWNMYXdFQmZ5TUFRWUFDYXlJRkpBQUNRQ0FDSUFOTURRQWdCRUdBd0FSeERRQWdCU0FCSUFJZ0Eyc2lBMEdBQWlBRFFZQUNTU0lCR3hBVkdpQUJSUVJBQTBBZ0FDQUZRWUFDRUJrZ0EwR0FBbXNpQTBIL0FVc05BQXNMSUFBZ0JTQURFQmtMSUFWQmdBSnFKQUFMTVFBZ0FRSi9JQUlvQWt4QkFFZ0VRQ0FBSUFFZ0FoQTlEQUVMSUFBZ0FTQUNFRDBMSWdCR0JFQVBDeUFBSUFGdUdnc1hBQ0FBSUFFZ0FpQURJQVFnQlNBR0lBZEJBUkFtR2d1aEFRRUVmeUFCUVFCTUJFQkJBQThMSUFBb0Fnd2hBaUFBS0FJUUlRTURRQ0FCSVFVQ1FDQUREUUFnQUNBQ1FRaDBRWUQrQTNFaUFqWUNEQ0FBUVFkQkNDQUNRWUQrQTBZYklnTTJBaEFnQUNnQ0NDSUJJQUFvQWdSUERRQWdBQ0FCUVFGcU5nSUlJQUFnQWlBQkxRQUFjaUlDTmdJTUN5QUFJQU5CQVdzaUF6WUNFQ0FDSUFOMlFRRnhJQVZCQVdzaUFYUWdCSEloQkNBRlFRRkxEUUFMSUFRTEhnQWdBQ2dDREFSQUlBQkJBRFlDS0FOQUlBQW9BaGhCQUVvTkFBc0xDMm9CQTM4Z0FBUkFJQUFvQWhnaUFRUkFJQUFvQWhBaUFnUi9RUUFoQVFOQUlBQW9BaGdnQVVFMGJHb29BaXdpQXdSQUlBTVFFQ0FBS0FJUUlRSUxJQUZCQVdvaUFTQUNTUTBBQ3lBQUtBSVlCU0FCQ3hBUUN5QUFLQUljSWdFRVFDQUJFQkFMSUFBUUVBc0xraFVCRDM4Q1FBSkFJQUFvQWd4RkJFQkJBU0VQSUFBb0FnUkJBRW9OQVNBQUtBSUlRUUZLRFFFTUFndEJBU0VOSUFBb0FnaEJBRW9OQUNBQUtBSUVRUUpJRFFFTElBQW9BZ0FpQ0NBTlFRVjBhaUVFQWtBZ0FDZ0NFQ0lISUFBb0FoUWlDazhOQUNBRUlBZEJCblJxSVFFQ1FDQUtJQWRyUVFOeElnWkZCRUFnQnlFQ0RBRUxJQWNoQWdOQUlBRWdBZjBBQkFEOURGaDJuVDlZZHAwL1dIYWRQMWgyblQvOTVnSDlDd1FBSUFFZ0FmMEFCQkQ5REZoMm5UOVlkcDAvV0hhZFAxaDJuVC85NWdIOUN3UVFJQUZCUUdzaEFTQUNRUUZxSVFJZ0EwRUJhaUlESUFaSERRQUxDeUFISUFwclFYeExEUUFEUUNBQklBSDlBQVFBL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VBQ0FCSUFIOUFBUVEvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRUVDQUJJQUg5QUFSQS9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFUUNBQklBSDlBQVJRL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VVQ0FCSUFIOUFBU0FBZjBNV0hhZFAxaDJuVDlZZHAwL1dIYWRQLzNtQWYwTEJJQUJJQUVnQWYwQUJKQUIvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRWtBRWdBU0FCL1FBRXdBSDlERmgyblQ5WWRwMC9XSGFkUDFoMm5ULzk1Z0g5Q3dUQUFTQUJJQUg5QUFUUUFmME1XSGFkUDFoMm5UOVlkcDAvV0hhZFAvM21BZjBMQk5BQklBRkJnQUpxSVFFZ0FrRUVhaUlDSUFwSERRQUxDeUFJSUE5QkJYUnFJUVVDUUNBQUtBSVlJZ1lnQUNnQ0hDSUxUdzBBSUFVZ0JrRUdkR29oQVFKQUlBc2dCbXRCQTNFaUNFVUVRQ0FHSVFJTUFRdEJBQ0VESUFZaEFnTkFJQUVnQWYwQUJBRDlEQUFZMEQ4QUdOQS9BQmpRUHdBWTBELzk1Z0g5Q3dRQUlBRWdBZjBBQkJEOURBQVkwRDhBR05BL0FCalFQd0FZMEQvOTVnSDlDd1FRSUFGQlFHc2hBU0FDUVFGcUlRSWdBMEVCYWlJRElBaEhEUUFMQ3lBR0lBdHJRWHhMRFFBRFFDQUJJQUg5QUFRQS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFQUNBQklBSDlBQVFRL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VFQ0FCSUFIOUFBUkEvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRVFDQUJJQUg5QUFSUS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFVUNBQklBSDlBQVNBQWYwTUFCalFQd0FZMEQ4QUdOQS9BQmpRUC8zbUFmMExCSUFCSUFFZ0FmMEFCSkFCL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VrQUVnQVNBQi9RQUV3QUg5REFBWTBEOEFHTkEvQUJqUVB3QVkwRC85NWdIOUN3VEFBU0FCSUFIOUFBVFFBZjBNQUJqUVB3QVkwRDhBR05BL0FCalFQLzNtQWYwTEJOQUJJQUZCZ0FKcUlRRWdBa0VFYWlJQ0lBdEhEUUFMQ3lBS0lBQW9BZ2dpQ1NBQUtBSUVJZzRnRFdzaUFDQUFJQWxLR3lJSUlBZ2dDa3NiSVF3Z0JFRWdhaUVCQW44Z0IwVUVRQ0FNUlFSQVFRQWhBeUFCREFJTElBUWdCUDBBQkFBZ0JmMEFCQUFnQlAwQUJDRDk1QUg5REZVVDR6NVZFK00rVlJQalBsVVQ0ejc5NWdIOTVRSDlDd1FBSUFRZ0JQMEFCQkFnQmYwQUJCQWdCUDBBQkREOTVBSDlERlVUNHo1VkUrTStWUlBqUGxVVDR6Nzk1Z0g5NVFIOUN3UVFRUUVoQXlBRVFlQUFhZ3dCQ3lBQklBY2lBMEVHZEdvTElRSWdBeUFNU1FSQUEwQWdBa0VnYXlJQUlBRDlBQVFBSUFKQlFHcjlBQVFBSUFMOUFBUUEvZVFCL1F4VkUrTStWUlBqUGxVVDR6NVZFK00rL2VZQi9lVUIvUXNFQUNBQ1FSQnJJZ0FnQVAwQUJBQWdBa0V3YS8wQUJBQWdBdjBBQkJEOTVBSDlERlVUNHo1VkUrTStWUlBqUGxVVDR6Nzk1Z0g5NVFIOUN3UUFJQUpCUUdzaEFpQURRUUZxSWdNZ0RFY05BQXNMSUFnZ0NrOGlEVVVFUUNBQ1FTQnJJZ0FnQVAwQUJBQWdBa0ZBYXYwQUJBRDlERlVUWXo5VkUyTS9WUk5qUDFVVFl6Lzk1Z0g5NVFIOUN3UUFJQUpCRUdzaUFDQUEvUUFFQUNBQ1FUQnIvUUFFQVAwTVZSTmpQMVVUWXo5VkUyTS9WUk5qUC8zbUFmM2xBZjBMQkFBTElBc2dEaUFKSUE5cklnQWdBQ0FPU2hzaURpQUxJQTVKR3lFSklBVkJJR29oQWlBSkFuOGdCa1VFUUNBSlJRUkFJQUloQTBFQURBSUxJQVVnQmYwQUJBQWdCUDBBQkFBZ0JmMEFCQ0Q5NUFIOURIWUdZajkyQm1JL2RnWmlQM1lHWWovOTVnSDk1UUg5Q3dRQUlBVWdCZjBBQkJBZ0JQMEFCQkFnQmYwQUJERDk1QUg5REhZR1lqOTJCbUkvZGdaaVAzWUdZai85NWdIOTVRSDlDd1FRSUFWQjRBQnFJUU5CQVF3QkN5QUNJQVpCQm5ScUlRTWdCZ3NpQUVzRVFBTkFJQU5CSUdzaUNDQUkvUUFFQUNBRFFVQnEvUUFFQUNBRC9RQUVBUDNrQWYwTWRnWmlQM1lHWWo5MkJtSS9kZ1ppUC8zbUFmM2xBZjBMQkFBZ0EwRVFheUlJSUFqOUFBUUFJQU5CTUd2OUFBUUFJQVA5QUFRUS9lUUIvUXgyQm1JL2RnWmlQM1lHWWo5MkJtSS8vZVlCL2VVQi9Rc0VBQ0FEUVVCcklRTWdBRUVCYWlJQUlBbEhEUUFMQ3lBTElBNU5JZ2hGQkVBZ0EwRWdheUlBSUFEOUFBUUFJQU5CUUdyOUFBUUEvUXgyQnVJL2RnYmlQM1lHNGo5MkJ1SS8vZVlCL2VVQi9Rc0VBQ0FEUVJCcklnQWdBUDBBQkFBZ0EwRXdhLzBBQkFEOURIWUc0ajkyQnVJL2RnYmlQM1lHNGovOTVnSDk1UUg5Q3dRQUN3SkFJQWRGQkVBZ0RFVUVRRUVBSVFjTUFnc2dCQ0FFL1FBRUFDQUYvUUFFQUNBRS9RQUVJUDNrQWYwTXJnRlpQYTRCV1QydUFWazlyZ0ZaUGYzbUFmM2tBZjBMQkFBZ0JDQUUvUUFFRUNBRi9RQUVFQ0FFL1FBRU1QM2tBZjBNcmdGWlBhNEJXVDJ1QVZrOXJnRlpQZjNtQWYza0FmMExCQkFnQkVIZ0FHb2hBVUVCSVFjTUFRc2dBU0FIUVFaMGFpRUJDeUFISUF4SkJFQURRQ0FCUVNCcklnQWdBUDBBQkFBZ0FVRkFhdjBBQkFBZ0FmMEFCQUQ5NUFIOURLNEJXVDJ1QVZrOXJnRlpQYTRCV1QzOTVnSDk1QUg5Q3dRQUlBRkJFR3NpQUNBQS9RQUVBQ0FCUVRCci9RQUVBQ0FCL1FBRUVQM2tBZjBNcmdGWlBhNEJXVDJ1QVZrOXJnRlpQZjNtQWYza0FmMExCQUFnQVVGQWF5RUJJQWRCQVdvaUJ5QU1SdzBBQ3dzZ0RVVUVRQ0FCUVNCcklnQWdBUDBBQkFBZ0FVRkFhdjBBQkFEOURLNEIyVDJ1QWRrOXJnSFpQYTRCMlQzOTVnSDk1QUg5Q3dRQUlBRkJFR3NpQUNBQS9RQUVBQ0FCUVRCci9RQUVBUDBNcmdIWlBhNEIyVDJ1QWRrOXJnSFpQZjNtQWYza0FmMExCQUFMQWtBZ0JrVUVRQ0FKUlFSQVFRQWhCZ3dDQ3lBRklBWDlBQVFBSUFUOUFBUUFJQVg5QUFRZy9lUUIvUXh6QnNzL2N3YkxQM01HeXo5ekJzcy8vZVlCL2VRQi9Rc0VBQ0FGSUFYOUFBUVFJQVQ5QUFRUUlBWDlBQVF3L2VRQi9ReHpCc3MvY3diTFAzTUd5ejl6QnNzLy9lWUIvZVFCL1FzRUVDQUZRZUFBYWlFQ1FRRWhCZ3dCQ3lBQ0lBWkJCblJxSVFJTElBWWdDVWtFUUFOQUlBSkJJR3NpQUNBQS9RQUVBQ0FDUVVCcS9RQUVBQ0FDL1FBRUFQM2tBZjBNY3diTFAzTUd5ejl6QnNzL2N3YkxQLzNtQWYza0FmMExCQUFnQWtFUWF5SUFJQUQ5QUFRQUlBSkJNR3Y5QUFRQUlBTDlBQVFRL2VRQi9ReHpCc3MvY3diTFAzTUd5ejl6QnNzLy9lWUIvZVFCL1FzRUFDQUNRVUJySVFJZ0JrRUJhaUlHSUFsSERRQUxDeUFJRFFBZ0FrRWdheUlBSUFEOUFBUUFJQUpCUUdyOUFBUUEvUXh6Qmt0QWN3WkxRSE1HUzBCekJrdEEvZVlCL2VRQi9Rc0VBQ0FDUVJCcklnQWdBUDBBQkFBZ0FrRXdhLzBBQkFEOURITUdTMEJ6Qmt0QWN3WkxRSE1HUzBEOTVnSDk1QUg5Q3dRQUN3dGRBUVIvSUFBRVFDQUFLQUlVSWdFZ0FDZ0NFQ0lDYkFSQUEwQWdBQ2dDR0NBRFFRSjBhaWdDQUNJRUJFQWdCQkFRSUFBb0FoQWhBaUFBS0FJVUlRRUxJQU5CQVdvaUF5QUJJQUpzU1EwQUN3c2dBQ2dDR0JBUUlBQVFFQXNMaFFFQkFuOENRQUpBSUFBb0FnUWlBeUFBS0FJQUlnUkhCRUFnQUNnQ0NDRUREQUVMSUFBZ0EwRUthaUlFTmdJRUlBQW9BZ2dnQkVFQ2RCQVhJZ05GRFFFZ0FDQUROZ0lJSUFBb0FnQWhCQXNnQXlBRVFRSjBhaUFCTmdJQUlBQWdCRUVCYWpZQ0FFRUJEd3NnQUNnQ0NCQVFJQUJDQURjQ0FDQUNRUUZCMGk1QkFCQVBRUUFMa3dRQ0JuOENmZ0pBQWtBRFFDQUFJQUJCQVd0eERRRWdBVUZIU3cwQklBQkJDQ0FBUVFoTElnY2JJUUJCcU04QktRTUFJZ2dDZjBFSUlBRkJBMnBCZkhFZ0FVRUlUUnNpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGbklRTWdBVUVkSUFOcmRrRUVjeUFEUVFKMGEwSHVBR29nQVVIL0gwME5BQnBCUHlBQlFSNGdBMnQyUVFKeklBTkJBWFJyUWNjQWFpSURJQU5CUDA4YkN5SURyWWdpQ1VJQVVnUkFBMEFnQ1NBSmVpSUlpQ0VKQW40Z0F5QUlwMm9pQTBFRWRDSUVRYWpIQVdvb0FnQWlBaUFFUWFESEFXb2lCVWNFUUNBQ0lBQWdBUkE4SWdRTkJpQUNLQUlFSWdRZ0FpZ0NDQ0lHTmdJSUlBWWdCRFlDQkNBQ0lBVTJBZ2dnQWlBRktBSUVOZ0lFSUFVZ0FqWUNCQ0FDS0FJRUlBSTJBZ2dnQTBFQmFpRURJQWxDQVlnTUFRdEJxTThCUWFqUEFTa0RBRUorSUFPdGlZTTNBd0FnQ1VJQmhRc2lDVUlBVWcwQUMwR296d0VwQXdBaENBdEJQeUFJZWFkcklRVUNRQ0FJVUFSQVFRQWhBZ3dCQ3lBRlFRUjBJZ1JCcU1jQmFpZ0NBQ0VDSUFoQ2dJQ0FnQVJVRFFCQjR3QWhBeUFDSUFSQm9NY0JhaUlHUmcwQUEwQWdBMFVOQVNBQ0lBQWdBUkE4SWdRTkJDQURRUUZySVFNZ0FpZ0NDQ0lDSUFaSERRQUxDeUFCSUFCQk1HcEJNQ0FIRzJvUWJRMEFDeUFDUlEwQUlBSWdCVUVFZEVHZ3h3RnFJZ05HRFFBRFFDQUNJQUFnQVJBOElnUU5BaUFDS0FJSUlnSWdBMGNOQUFzTFFRQWhCQXNnQkF2YUl3SXJmd043QWtBZ0FDZ0NBQ0lKSUFOSkRRQWdBU0FEVHcwQUlBRWdDVThOQUNBQUtBSUVJZ2tnQkVrTkFDQUNJQVJQRFFBZ0FpQUpUdzBBSUFWQkhHc2hKeUFBS0FJSUlobEJBblFoRVNBSFFRSjBJUThnQmtFQ2RDRWZJQVZCQkdzaEtDQUNJQUFvQWd4dUlSNGdHU0FaSUFFZ0dXNGlLV3dnQVd0cUlTb2dCa0VJUnlFaklBSWhIUU5BSUFBb0Fnd2lDU0VLSUFJZ0hVWUVRQ0FKSUFJZ0NYQnJJUW9MSUFvZ0JDQWRheUlNSUFvZ0RFa2JJaE5CZkhFaEd5QVRRUU54SVJZZ0UwRjRjU0VySUJOQkIzRWhKQ0FUUVFGcklSb2dHU0FKUVFKMElBcEJBblJyUVFScWJDRWdJQVpCQWtZZ0UwRUJSbkVoTENBSklBcHJJQmxzSVNVZ0p5QVBJQjBnQW1zaURHd2lDV29oSmlBSklDaHFJUzBnQlNBSmFpRXVJQVVnQnlBTWJFRUNkR29oSENBcElTRWdBU0VZQTBBZ0tpQVpJQUVnR0VZYklnd2dBeUFZYXlJSklBa2dERXNiSVJBZ0dTQU1heUVKSUNGQkFuUWlEU0FBS0FJWUlBQW9BaEFnSG14QkFuUnFhaWdDQUNFU0FrQUNRQ0FJQkVBQ1FBSkFBa0FDUUFKQUlCSUVRQ0FTSUNWQkFuUnFJQWxCQW5ScUlRb2dHQ0FCYXlFTklBWkJBVVlOQkNBY0lBWWdEV3hCQW5ScUlRc2dFRUVCUmcwRElDd05BaUFqRFFFZ0VFRUhUUTBCSUJORkRRZ2dKaUFOSUI5c2FpQVFRUVYwYWlFVklCSWdJQ0FRUVFKMGFpQU1RUUowYTJvaElpQVFRWHh4SVExQkFDRVNEQVVMSUFaQkFVY0VRQ0FUUlEwSUlCQkJmSEVoRFNBUVFRTnhJUXdnSENBWUlBRnJJQVpzUVFKMGFpRUxRUUFoRWlBUVFRRnJRUU5KSVJRRFFBSkFJQkJGRFFCQkFDRUpRUUFoQ2tFQUlRNGdGRVVFUUFOQUlBc2dCaUFLYkVFQ2RHcEJBRFlDQUNBTElBcEJBWElnQm14QkFuUnFRUUEyQWdBZ0N5QUtRUUp5SUFac1FRSjBha0VBTmdJQUlBc2dDa0VEY2lBR2JFRUNkR3BCQURZQ0FDQUtRUVJxSVFvZ0RrRUVhaUlPSUExSERRQUxDeUFNUlEwQUEwQWdDeUFHSUFwc1FRSjBha0VBTmdJQUlBcEJBV29oQ2lBSlFRRnFJZ2tnREVjTkFBc0xJQXNnRDJvaEN5QVRJQkpCQVdvaUVrY05BQXNNQ0FzZ0UwVU5CeUFRUVFKMElRd2dIQ0FZSUFGclFRSjBhaUVMUVFBaENTQWFRUWRQQkVBRFFDQUxRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFRUUFnREJBVklBOXFJUXNnQ1VFSWFpSUpJQ3RIRFFBTEMwRUFJUWtnSkVVTkJ3TkFJQXRCQUNBTUVCVWdEMm9oQ3lBSlFRRnFJZ2tnSkVjTkFBc01Cd3NnRTBVTkJpQVFRWHh4SVJRZ0VFRURjU0VTUVFBaERTQVFRUUZyUVFOSklSY01CUXRCQUNFSklCQkJmSEVpRGdSQUEwQWdDeUFKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFzZ0NVRUNjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFzZ0NVRURjaUlVUVFOMGFpQUtJQlJCQW5ScUtBSUFOZ0lBSUFsQkJHb2lDU0FPU1EwQUN3c2dDU0FRVHcwRkFrQWdFQ0FKYXlJVVFSQkpEUUFnTGlBTklCOXNJZzFxSUFsQkEzUnFJQklnSUdvaURpQVFJQXhyUVFKMGFra0VRQ0FPSUFrZ0RHdEJBblJxSUEwZ0xXb2dFRUVEZEdwSkRRRUxJQW9nQ1VFQ2RHb2hEU0FKL1JIOURBQUFBQUFCQUFBQUFnQUFBQU1BQUFEOXJnRWhOQ0FKSUJSQmZIRWlER29oQ1VFQUlRNERRQ0FMSURSQkFmMnJBU0kxL1JzQVFRSjBhaUFOSUE1QkFuUnEvUUFDQUNJMi9Wb0NBQUFnQ3lBMS9Sc0JRUUowYWlBMi9Wb0NBQUVnQ3lBMS9Sc0NRUUowYWlBMi9Wb0NBQUlnQ3lBMS9Sc0RRUUowYWlBMi9Wb0NBQU1nTlAwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRTBJQTVCQkdvaURpQU1SdzBBQ3lBTUlCUkdEUVlMUVFBaERDQUpJUTRnRUNBSmEwRURjU0lOQkVBRFFDQUxJQTVCQTNScUlBb2dEa0VDZEdvb0FnQTJBZ0FnRGtFQmFpRU9JQXhCQVdvaURDQU5SdzBBQ3dzZ0NTQVFhMEY4U3cwRkEwQWdDeUFPUVFOMGFpQUtJQTVCQW5ScUtBSUFOZ0lBSUFzZ0RrRUJhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0RrRUNhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0RrRURhaUlKUVFOMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUE1QkJHb2lEaUFRUncwQUN3d0ZDeUFUUlEwRVFRQWhDU0FhUVFOUEJFQURRQ0FMSUFvb0FnQTJBZ0FnQ3lBUGFpSU1JQW9nRVdvaURTZ0NBRFlDQUNBTUlBOXFJZ3dnRFNBUmFpSU5LQUlBTmdJQUlBd2dEMm9pRENBTklCRnFJZzBvQWdBMkFnQWdEU0FSYWlFS0lBd2dEMm9oQ3lBSlFRUnFJZ2tnRzBjTkFBc0xRUUFoQ1NBV1JRMEVBMEFnQ3lBS0tBSUFOZ0lBSUFvZ0VXb2hDaUFMSUE5cUlRc2dDVUVCYWlJSklCWkhEUUFMREFRTElCd2dEVUVDZEdvaEN5QVFRUVJIQkVBZ0UwVU5CQ0FRUVFKMElRbEJBQ0VPSUJwQkEwOEVRQU5BSUFzZ0NpQUpFQkloTUNBS0lCRnFJZzBnRVdvaUN5QVJhaUlTSUJGcUlRb2dNQ0FQYWlBTklBa1FFaUFQYWlBTElBa1FFaUFQYWlBU0lBa1FFaUFQYWlFTElBNUJCR29pRGlBYlJ3MEFDd3RCQUNFT0lCWkZEUVFEUUNBTElBb2dDUkFTSVRFZ0NpQVJhaUVLSURFZ0Qyb2hDeUFPUVFGcUlnNGdGa2NOQUFzTUJBc2dFMFVOQTBFQUlRa2dHa0VEVHdSQUEwQWdDeUFLL1FBQ0FQMExBZ0FnQ3lBUGFpSU1JQW9nRVdvaURmMEFBZ0Q5Q3dJQUlBd2dEMm9pRENBTklCRnFJZzM5QUFJQS9Rc0NBQ0FNSUE5cUlnd2dEU0FSYWlJTi9RQUNBUDBMQWdBZ0RTQVJhaUVLSUF3Z0Qyb2hDeUFKUVFScUlna2dHMGNOQUFzTFFRQWhDU0FXUlEwREEwQWdDeUFLL1FBQ0FQMExBZ0FnQ2lBUmFpRUtJQXNnRDJvaEN5QUpRUUZxSWdrZ0ZrY05BQXNNQXdzRFFFRUFJUWtnRFFSQUEwQWdDeUFKUVFWMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFzZ0NVRUNjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFzZ0NVRURjaUlNUVFWMGFpQUtJQXhCQW5ScUtBSUFOZ0lBSUFsQkJHb2lDU0FOU1EwQUN3c0NRQ0FKSUJCUERRQUNRQ0FRSUFsckloUkJDRThFUUFKQUlBc2dDVUVGZEdvZ0lpQVJJQkpzYWs4TkFDQUtJQWxCQW5ScUlCVWdEeUFTYkdwUERRQWdDU0VNREFJTElBbjlFZjBNQUFBQUFBRUFBQUFDQUFBQUF3QUFBUDJ1QVNFMElBa2dGRUY4Y1NJWGFpRU1RUUFoRGdOQUlBc2dORUVEL2FzQklqWDlHd0JCQW5ScUlBb2dDU0FPYWtFQ2RHcjlBQUlBSWpiOVdnSUFBQ0FMSURYOUd3RkJBblJxSURiOVdnSUFBU0FMSURYOUd3SkJBblJxSURiOVdnSUFBaUFMSURYOUd3TkJBblJxSURiOVdnSUFBeUEwL1F3RUFBQUFCQUFBQUFRQUFBQUVBQUFBL2E0QklUUWdEa0VFYWlJT0lCZEhEUUFMSUJRZ0YwWU5BZ3dCQ3lBSklRd0xRUUFoRGlBUUlBd2lDV3RCQTNFaUZBUkFBMEFnQ3lBSlFRVjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBbEJBV29oQ1NBT1FRRnFJZzRnRkVjTkFBc0xJQXdnRUd0QmZFc05BQU5BSUFzZ0NVRUZkR29nQ2lBSlFRSjBhaWdDQURZQ0FDQUxJQWxCQVdvaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUxJQWxCQW1vaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUxJQWxCQTJvaURFRUZkR29nQ2lBTVFRSjBhaWdDQURZQ0FDQUpRUVJxSWdrZ0VFY05BQXNMSUFvZ0VXb2hDaUFMSUE5cUlRc2dFeUFTUVFGcUloSkhEUUFMREFJTElCSkZCRUJCQVNBQUtBSUlJQUFvQWd4c1FRSjBFQk1pRWtVRVFFRUFEd3NnQUNnQ0dDQUFLQUlRSUI1c1FRSjBhaUFOYWlBU05nSUFDeUFTSUNWQkFuUnFJQWxCQW5ScUlRc2dHQ0FCYXlFSkFrQUNRQUpBQWtBZ0JrRUJSd1JBSUJ3Z0JpQUpiRUVDZEdvaENpQVFRUUZHRFFFZ0l3MENJQkJCQjAwTkFpQVRSUTBHSUNZZ0NTQWZiR29nRUVFRmRHb2hJaUFnSUJCQkFuUnFJQXhCQW5ScklTOGdFRUY4Y1NFVVFRQWhEQU5BUVFBaENTQVVCRUFEUUNBTElBbEJBblJxSUFvZ0NVRUZkR29vQWdBMkFnQWdDeUFKUVFGeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDeUFKUVFKeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDeUFKUVFOeUlnMUJBblJxSUFvZ0RVRUZkR29vQWdBMkFnQWdDVUVFYWlJSklCUkpEUUFMQ3dKQUlBa2dFRThOQUFKQUlCQWdDV3NpRjBFSVR3UkFBa0FnQ3lBSlFRSjBhaUFpSUF3Z0QyeHFUdzBBSUFvZ0NVRUZkR29nRWlBdklBd2dFV3hxYWs4TkFDQUpJUTBNQWdzZ0NmMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVRRZ0NTQVhRWHh4SWhWcUlRMUJBQ0VPQTBBZ0N5QUpJQTVxUVFKMGFpQUtJRFJCQS8yckFTSTEvUnNEUVFKMGFpQUtJRFg5R3dKQkFuUnFJQW9nTmYwYkFVRUNkR29nQ2lBMS9Sc0FRUUowYXYwSkFnRDlWZ0lBQWYxV0FnQUMvVllDQUFQOUN3SUFJRFQ5REFRQUFBQUVBQUFBQkFBQUFBUUFBQUQ5cmdFaE5DQU9RUVJxSWc0Z0ZVY05BQXNnRlNBWFJnMENEQUVMSUFraERRdEJBQ0VPSUJBZ0RTSUphMEVEY1NJWEJFQURRQ0FMSUFsQkFuUnFJQW9nQ1VFRmRHb29BZ0EyQWdBZ0NVRUJhaUVKSUE1QkFXb2lEaUFYUncwQUN3c2dEU0FRYTBGOFN3MEFBMEFnQ3lBSlFRSjBhaUFLSUFsQkJYUnFLQUlBTmdJQUlBc2dDVUVCYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBc2dDVUVDYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBc2dDVUVEYWlJTlFRSjBhaUFLSUExQkJYUnFLQUlBTmdJQUlBbEJCR29pQ1NBUVJ3MEFDd3NnQ3lBUmFpRUxJQW9nRDJvaENpQVRJQXhCQVdvaURFY05BQXNNQmdzZ0hDQUpRUUowYWlFS0lCQkJCRVlOQWlBVFJRMEZJQkJCQW5RaENVRUFJUTRnR2tFRFR3UkFBMEFnQ3lBS0lBa1FFaUV5SUFvZ0Qyb2lEU0FQYWlJTElBOXFJaElnRDJvaENpQXlJQkZxSUEwZ0NSQVNJQkZxSUFzZ0NSQVNJQkZxSUJJZ0NSQVNJQkZxSVFzZ0RrRUVhaUlPSUJ0SERRQUxDMEVBSVE0Z0ZrVU5CUU5BSUFzZ0NpQUpFQkloTXlBS0lBOXFJUW9nTXlBUmFpRUxJQTVCQVdvaURpQVdSdzBBQ3d3RkN5QVRSUTBFUVFBaENTQWFRUU5QQkVBRFFDQUxJQW9vQWdBMkFnQWdDeUFSYWlJTUlBb2dEMm9pRFNnQ0FEWUNBQ0FNSUJGcUlnd2dEU0FQYWlJTktBSUFOZ0lBSUF3Z0VXb2lEQ0FOSUE5cUlnMG9BZ0EyQWdBZ0RDQVJhaUVMSUEwZ0Qyb2hDaUFKUVFScUlna2dHMGNOQUFzTFFRQWhDU0FXUlEwRUEwQWdDeUFLS0FJQU5nSUFJQXNnRVdvaEN5QUtJQTlxSVFvZ0NVRUJhaUlKSUJaSERRQUxEQVFMSUJORkRRTWdFRUY4Y1NFVUlCQkJBM0VoRWtFQUlRMGdFRUVCYTBFRFNTRVhEQUVMSUJORkRRSkJBQ0VKSUJwQkEwOEVRQU5BSUFzZ0N2MEFBZ0Q5Q3dJQUlBc2dFV29pRENBS0lBOXFJZzM5QUFJQS9Rc0NBQ0FNSUJGcUlnd2dEU0FQYWlJTi9RQUNBUDBMQWdBZ0RDQVJhaUlNSUEwZ0Qyb2lEZjBBQWdEOUN3SUFJQTBnRDJvaENpQU1JQkZxSVFzZ0NVRUVhaUlKSUJ0SERRQUxDMEVBSVFrZ0ZrVU5BZ05BSUFzZ0N2MEFBZ0Q5Q3dJQUlBb2dEMm9oQ2lBTElCRnFJUXNnQ1VFQmFpSUpJQlpIRFFBTERBSUxBMEFDUUNBUVJRMEFRUUFoRGtFQUlRbEJBQ0VNSUJkRkJFQURRQ0FMSUFsQkFuUnFJQW9nQmlBSmJFRUNkR29vQWdBMkFnQWdDeUFKUVFGeUloVkJBblJxSUFvZ0JpQVZiRUVDZEdvb0FnQTJBZ0FnQ3lBSlFRSnlJaFZCQW5ScUlBb2dCaUFWYkVFQ2RHb29BZ0EyQWdBZ0N5QUpRUU55SWhWQkFuUnFJQW9nQmlBVmJFRUNkR29vQWdBMkFnQWdDVUVFYWlFSklBeEJCR29pRENBVVJ3MEFDd3NnRWtVTkFBTkFJQXNnQ1VFQ2RHb2dDaUFHSUFsc1FRSjBhaWdDQURZQ0FDQUpRUUZxSVFrZ0RrRUJhaUlPSUJKSERRQUxDeUFMSUJGcUlRc2dDaUFQYWlFS0lCTWdEVUVCYWlJTlJ3MEFDd3dCQ3dOQUFrQWdFRVVOQUVFQUlRNUJBQ0VKUVFBaERDQVhSUVJBQTBBZ0N5QUdJQWxzUVFKMGFpQUtJQWxCQW5ScUtBSUFOZ0lBSUFzZ0NVRUJjaUlWSUFac1FRSjBhaUFLSUJWQkFuUnFLQUlBTmdJQUlBc2dDVUVDY2lJVklBWnNRUUowYWlBS0lCVkJBblJxS0FJQU5nSUFJQXNnQ1VFRGNpSVZJQVpzUVFKMGFpQUtJQlZCQW5ScUtBSUFOZ0lBSUFsQkJHb2hDU0FNUVFScUlnd2dGRWNOQUFzTElCSkZEUUFEUUNBTElBWWdDV3hCQW5ScUlBb2dDVUVDZEdvb0FnQTJBZ0FnQ1VFQmFpRUpJQTVCQVdvaURpQVNSdzBBQ3dzZ0NpQVJhaUVLSUFzZ0Qyb2hDeUFOUVFGcUlnMGdFMGNOQUFzTElDRkJBV29oSVNBUUlCaHFJaGdnQTBrTkFBc2dIa0VCYWlFZUlCTWdIV29pSFNBRVNRMEFDd3RCQVF2RE13VW1mdzkrQVhzQmZRRjhJd0JCMEFCcklnNGtBQ0FPUVpEL0F6WUNLQ0FBS0FKc0lBQW9BbWhzSVJjQ2Z3SkFBa0FDUUNBQUtBSUlJZ3RCQ0VjRVFFRUFJQXRCZ0FKSERRUWFJQTVCMmY4RE5nSW9EQUVMSUFBdEFFUkJBWEVOQUNBWFFRRnhJU0lnRjBGOGNTRVBJQmRCQVd1dFFvd3NmaUl4UWlDSXAwRUFSeUVqSURHbklTUWdEa0hOQUdvaEpTQU9RY3dBYWlFb0lBNUJ5QUJxSVNrZ0YwRWtTU0VxUVpEL0F5RUxBa0FDUUFKQUEwQUNRQ0FMUVpQL0EwWU5BQUpBQTBBZ0NTa0RDQ0l4VUFSK1FnQUZJREVnQ1NrRE9IMExVQVJBSUFCQndBQTJBZ2dNQXdzZ0NTQUFLQUlRUVFJZ0NoQWFRUUpIQkVBZ0NrRUJRWllTUVFBUUQwRUFEQXNMSUFBb0FoQWdEa0VrYWtFQ0VCRWdEaWdDSkNJTFFRRk5CRUFnQ2tFQlFZY3VRUUFRRDBFQURBc0xBa0FnRGlnQ0tFR0FnUUpHQkVBZ0NTa0RDQ0l4VUFSK1FnQUZJREVnQ1NrRE9IMExVQTBCSUE0b0FpUWhDd3NnQUNnQ0NDSVVRUkJ4QkVBZ0FDQUFLQUlZSUF0clFRSnJOZ0lZQ3lBT0lBdEJBbXNpRWpZQ0pFSGd2UUVoRENBT0tBSW9JUTBEUUNBTUlnc29BZ0FpR0FSQUlBdEJER29oRENBTklCaEhEUUVMQ3lBTEtBSUVJQlJ4UlFSQUlBcEJBVUg4S0VFQUVBOUJBQXdNQ3dKQUlBQW9BaFFnRWs4RVFDQUFLQUlRSVF3TUFRc2dDU2tEQ0NJeFVBUitRZ0FGSURFZ0NTa0RPSDBMSUJLdFV3UkFJQXBCQVVHTUxFRUFFQTlCQUF3TkN5QUFLQUlRSUE0b0FpUVFGeUlNUlFSQUlBQW9BaEFRRUNBQVFnQTNBeEFnQ2tFQlFkUWxRUUFRRDBFQURBMExJQUFnRERZQ0VDQUFJQTRvQWlRaUVqWUNGQXNnQ1NBTUlCSWdDaEFhSWd3Z0RpZ0NKRWNFUUNBS1FRRkJsaEpCQUJBUFFRQU1EQXNnQ3lnQ0NDSUxSUVJBSUFwQkFVSGExZ0JCQUJBUFFRQU1EQXNnQUNBQUtBSVFJQXdnQ2lBTEVRRUFSUVJBSUE0Z0RpZ0NLRFlDSUNBS1FRRkJsT2dBSUE1QklHb1FEMEVBREF3TElBa3BBemdoTVNBT0tBSWtJUkVnQUNnQ3lBRWlGQ2dDS0NJU0lBQW9Bc3dCSWd4QktHd2lEV29pRmlnQ0ZDSWNRUUZxSWgwZ0ZpZ0NIQ0lMU3dSQUlCWUNmeUFMczBNQUFNaENraUpCUXdBQWdFOWRJRUZEQUFBQUFHQnhCRUFnUWFrTUFRdEJBQXNpQ3pZQ0hDQVdLQUlZSUF0QkdHd1FGeUVMSUJRb0FpZ2lFaUFOYWlFV0lBdEZEUU1nRmlBTE5nSVlJQllvQWhRaUhFRUJhaUVkQ3lBTklCSnFJZzBvQWhnZ0hFRVliR29pQ3lBUlFRUnFOZ0lRSUFzZ01hY2dFV3RCQkdzaURLdzNBd2dnQ3lBWU93RUFJQTBnSFRZQ0ZBSkFJQmhCa1A4RFJ3MEFJQTBvQWhBaUN3UkFJQXNnRFNnQ0RFRVliR29nREswM0F3QUxJQWtwQXppbklBNG9BaVJyUVFScnJTSXhJQUFwQXpCWERRQWdBQ0F4TndNd0N5QUFMUUJFUVFSeEJFQWdDU0FBTlFJWUlBb2dDU2dDS0JFSUFDQUFOUUlZVWdSQUlBcEJBVUdXRWtFQUVBOUJBQXdOQ3lBT1FaUC9BellDS0F3RUN5QUpJQUFvQWhCQkFpQUtFQnBCQWtjRVFDQUtRUUZCbGhKQkFCQVBRUUFNREFzZ0FDZ0NFQ0FPUVNocVFRSVFFU0FPS0FJb1FaUC9BMGNOQVF3REN3c2dBRUhBQURZQ0NBd0JDeUFXS0FJWUVCQWdGQ2dDS0NBTVFTaHNhaUlBUVFBMkFod2dBRUlBTndJVUlBcEJBVUdGSFVFQUVBOUJBQXdJQ3dKQUlBa3BBd2dpTVZBRWZrSUFCU0F4SUFrcEF6aDlDMUFFUUNBQUtBSUlRY0FBUmcwQkN3SkFBa0FnQUMwQVJDSUxRUVJ4UlFSQUlBQW9Bc3dCUVl3c2JDRU1JQUFvQXB3QklTNENRQUpBSUFBb0FqZ0VRQ0FKS1FNSUlqRlFCSDVDQUFVZ01TQUpLUU00ZlF1bklSTU1BUXNnQUNnQ0dDSVRRUUpKRFFFTElBQWdFMEVDYXlJVE5nSVlDeUF1SUF4cUlSZ2dFMFVOQVNBSktRTUlJakZRQkg1Q0FBVWdNU0FKS1FNNGZRc2dFNjFUQkVBZ0FDZ0N1QUVFUUNBS1FRRkJ1U3hCQUJBUFFRQU1EUXNnQ2tFQ1Fia3NRUUFRRHdzZ0FDZ0NHQ0lOUVg1UEJFQWdDa0VCUWY0S1FRQVFEMEVBREF3TEFrQWdHQ2dDM0NzaURBUkFJQmdvQXVBcklndEJmU0FOYTBzRVFDQUtRUUZCbGdsQkFCQVBRUUFNRGdzZ0RDQUxJQTFxUVFKcUVCY2lDd1JBSUJnZ0N6WUMzQ3NNQkFzZ0dDZ0MzQ3NRRUNBWVFRQTJBdHdyREFFTElCZ2dEVUVDYWhBVUlnczJBdHdySUFzTkFnc2dDa0VCUVljdlFRQVFEMEVBREFzTElBQkJDRFlDQ0NBQUlBdEIrZ0Z4T2dCRURBRUxJQUFvQXNnQkloWUVRQ0FXS0FJb0loSWdBQ2dDekFFaUZFRW9iQ0lSYWlJTUtBSVFJQXdvQWd4QkdHeHFJZ3NnQ1NrRE9DSXlRZ0o5SWpFM0F3Z2dDeUF5SUFBMUFoaDhOd01RSUFBb0FoZ2hEUUpBSUF3b0FoUWlIRUVCYWlJZElBd29BaHdpQzAwRVFDQU1LQUlZSVF3TUFRc2dEQUovSUF1elF3QUF5RUtTSWtGREFBQ0FUMTBnUVVNQUFBQUFZSEVFUUNCQnFRd0JDMEVBQ3lJTE5nSWNJQXdvQWhnZ0MwRVliQkFYSVF3Z0ZpZ0NLQ0lTSUJGcUlRc2dERVVOQmlBTElBdzJBaGdnQ3lnQ0ZDSWNRUUZxSVIwTElBd2dIRUVZYkdvaUN5QU5RUUpxTmdJUUlBc2dNY1EzQXdnZ0MwR1Qvd003QVFBZ0VTQVNhaUFkTmdJVUN5QUFLQUlZSVF3Q1FDQVRSUVJBUVFBaEV3d0JDeUFKSUJnb0F0d3JJQmdvQXVBcmFpQU1JQW9RR2lFVElBQW9BaGdoREFzZ0FFRUlRY0FBSUF3Z0UwWWJOZ0lJSUJnZ0dDZ0M0Q3NnRTJvMkF1QXJJQUF0QUVRaUMwRUpjVUVCUncwQUlBQWdDMEVJY2pvQVJDQUFLQUxNQVNFTklBa29BaHhCQWtZTkFDQUpLUU00SWpGQ2YxRU5BQUpBQTBCQkFDRU1JQWtnRGtIR0FHb2lDMEVDSUFvUUdrRUNSdzBCSUFzZ0RrRkFhMEVDRUJFZ0RpZ0NRRUdRL3dOSERRRkJsaEloRWlBSklBdEJBaUFLRUJwQkFrY05DU0FMSUE1QlBHcEJBaEFSSUE0b0FqeEJDa2NFUUVHSExpRVNEQW9MSUE1QkNEWUNQQ0FKSUE1QnhnQnFRUWdnQ2hBYUlnc2dEaWdDUEVjTkNTQUxRUWhIQkVCQnZSNGhFZ3dLQ3lBT1FjWUFhaUFPUVRocVFRSVFFU0FwSUE1Qk5HcEJCQkFSSUNnZ0RrRXdha0VCRUJFZ0pTQU9RU3hxUVFFUUVTQU5JQTRvQWpoSEJFQWdEaWdDTkNJTFFRNUpEUUlnRGlBTFFReHJJZ3MyQWpRZ0NTQUxyU0FLSUFrb0FpZ1JDQUFnRGpVQ05GRU5BUXdDQ3dzZ0RpZ0NNQ0FPS0FJc1JpRU1DeUFKSURFZ0NpQUpLQUlzRVEwQVJRMElJQXhGRFFBZ0FDQUFMUUJFUWU0QmNVRVFjam9BUkFKQUlCZEZEUUFnQUNnQ25BRWhFMEVBSVFzQ1FDQXFEUUFnRTBIWUsyb2lEQ0FrYWlBTVNTQWpjZzBBQTBBZ0V5QUxRWXdzYkdvaUhDZ0MyQ3NpSGYwUklCTWdDMEVCY2tHTUxHeHFJaGdvQXRnckloYjlIQUVnRXlBTFFRSnlRWXdzYkdvaUVTZ0MyQ3NpRlAwY0FpQVRJQXRCQTNKQmpDeHNhaUlOS0FMWUt5SU0vUndEL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RnaVFQMGJBRUVCY1FSQUlCeEIyQ3RxSUIxQkFXbzJBZ0FMSUVEOUd3RkJBWEVFUUNBWVFkZ3JhaUFXUVFGcU5nSUFDeUJBL1JzQ1FRRnhCRUFnRVVIWUsyb2dGRUVCYWpZQ0FBc2dRUDBiQTBFQmNRUkFJQTFCMkN0cUlBeEJBV28yQWdBTElBdEJCR29pQ3lBUFJ3MEFDeUFYSUE4aUMwWU5BUXNnQzBFQmNpRU1JQ0lFUUNBVElBdEJqQ3hzYWlJTktBTFlLeUlMQkVBZ0RVSFlLMm9nQzBFQmFqWUNBQXNnRENFTEN5QU1JQmRHRFFBRFFDQVRJQXRCakN4c2FpSU5LQUxZS3lJTUJFQWdEVUhZSzJvZ0RFRUJhallDQUFzZ0RVSGsxd0JxSWcwb0FnQWlEQVJBSUEwZ0RFRUJhallDQUFzZ0MwRUNhaUlMSUJkSERRQUxDeUFLUVFKQmxNUUFRUUFRRHdzZ0FDMEFSRUVCY1EwQUlBa2dBQ2dDRUVFQ0lBb1FHa0VDUndSQUFrQWdBQ2dDekFGQkFXb2dGMGNOQUNBWFJRMEFJQUFvQXB3QklReEJBQ0VMQTBBZ0RDQUxRWXdzYkdvaUNTZ0MxQ3RGQkVBZ0NTZ0MyQ3RGRFFnTElBdEJBV29pQ3lBWFJ3MEFDd3NnQ2tFQlFaWVNRUUFRRDBFQURBa0xJQUFvQWhBZ0RrRW9ha0VDRUJFZ0RpZ0NLQ0VMSUFBdEFFUkJBWEVOQWlBTFFkbi9BMGNOQVF3Q0N3c2dEaWdDS0NFTEN5QUxRZG4vQTBjTkFpQUFLQUlJUVlBQ1JnMENJQUJCZ0FJMkFnZ2dBRUVBTmdMTUFRd0NDeUFMS0FJWUVCQWdGaWdDS0NBVVFTaHNhaUlBUVFBMkFod2dBRUlBTndJVUlBcEJBVUdGSFVFQUVBOUJBQXdFQ3lBT0lBczJBaEFnQ2tFRVFlZlJBQ0FPUVJCcUVBOGdBQ0FMTmdMTUFTQU9RZG4vQXpZQ0tDQUFRWUFDTmdJSUN5QUFLQUxNQVNFTElBQW9BcHdCSVFrQ1FBSkFJQUF0QUVSQkFYRU5BQUpBQWtBZ0N5QVhUdzBBSUFrZ0MwR01MR3hxSVJNRFFDQVRLQUxjS3cwQklBQWdDMEVCYWlJTE5nTE1BU0FUUVl3c2FpRVRJQXNnRjBjTkFBc01BUXNnQ3lBWFJ3MEJDeUFJUVFBMkFnQU1BUXNDUUFKQUlBcEJBU0FKSUF0QmpDeHNhaUlSS0FLMEtBUi9RWncwQlNBUkxRQ0lMRUVDY1VVTkFnSkFJQkVvQXFnb0lnOUZCRUJCQUNFTURBRUxJQkVvQXF3b0lRbEJBQ0VNUVFBaEN5QVBRUVJQQkVBZ0QwRjhjU0VML1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSVVCQkFDRVNBMEFnQ1NBU1FRTjBhaUlNUVJ4cUlBeEJGR29nREVFTWFpQU0vUWtDQlAxV0FnQUIvVllDQUFMOVZnSUFBeUJBL2E0QklVQWdFa0VFYWlJU0lBdEhEUUFMSUVBZ1FDQkEvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvYTRCSWtBZ1FDQkEvUTBFQlFZSEFBRUNBd0FCQWdNQUFRSUQvYTRCL1JzQUlRd2dDeUFQUmcwQkN3TkFJQWtnQzBFRGRHb29BZ1FnREdvaERDQUxRUUZxSWdzZ0QwY05BQXNMSUJFZ0RCQVVJZ2syQXJRb0lBa05BVUdYSGd0QkFCQVBJQXBCQVVIMVBFRUFFQTlCQUF3RkN5QVJJQXcyQXJ3b0lCRW9BcXdvSVFrZ0VTZ0NxQ2dpREFSQVFRQWhFa0VBSVFzRFFDQUpJQXRCQTNRaUZHb2lEU2dDQUNJUEJFQWdFU2dDdENnZ0Vtb2dEeUFOS0FJRUVCSWFJQkVvQXF3b0lCUnFJZ2tvQWdRaEx5QUpLQUlBRUJBZ0VTZ0NyQ2dpQ1NBVWFrSUFOd0lBSUM4Z0Vtb2hFaUFSS0FLb0tDRU1DeUFMUVFGcUlnc2dERWtOQUFzTElCRkJBRFlDcUNnZ0NSQVFJQkZCQURZQ3JDZ2dFU0FSS0FLMEtEWUNzQ2dnRVNBUktBSzhLRFlDdUNnTEFuOUJBQ0VvSUFBb0F0QUJJZ3NvQWh3aUppZ0NUQ0FBS0FMTUFTSUpRWXdzYkdvb0F0QXJJUnNnQ3lnQ0dDSVVLQUlZSVNjZ0N5Z0NGQ2dDQUNJZUlDWW9BZ1FnSmlnQ0RDSUxJQWtnQ1NBbUtBSVlJZ2x1SWd3Z0NXeHJiR29pRFNBVUtBSUFJZ2tnQ1NBTlNSc2lEellDQUNBZVFYOGdDeUFOYWlJSklBa2dEVWtiSWdzZ0ZDZ0NDQ0lKSUFrZ0Mwc2JJZ2syQWdnQ1FDQUpJQTlLSUE5QkFFNXhSUVJBSUFwQkFVR0JNMEVBRUE4TUFRc2dIaWdDRkNFUUlCNGdKaWdDQ0NBTUlDWW9BaEFpQzJ4cUlnOGdGQ2dDQkNJSklBa2dEMGtiSWd3MkFnUWdIa0YvSUFzZ0Qyb2lDU0FKSUE5Skd5SUxJQlFvQWd3aUNTQUpJQXRMR3lJSk5nSU1JQWtnREVvZ0RFRUFUbkZGQkVBZ0NrRUJRZHN5UVFBUUR3d0JDd0pBSUJzb0FnUUVRQ0FlS0FJUURRRkJBUXdEQ3lBS1FRRkIxU2hCQUJBUERBRUxBa0FDUUFOQUlDZEJBRFlDSkNBUUlDYzBBZ0FpTlVJQmZTSXhJQjQwQWdCOElEVi9QZ0lBSUJBZ0p6UUNCQ0kwUWdGOUlqSWdIalFDQkh3Z05IOCtBZ1FnRUNBeElCNDBBZ2g4SURWL1BnSUlJQjQwQWd3aE1TQVFJQ2cyQWhBZ0VDQXhJREo4SURSL1BnSU1JQkFnR3lnQ0JDSUxOZ0lVSUJCQkFTQUxJQ1lvQWxBaUNXc2dDU0FMU3hzMkFoZ2dFQ2dDTkJBUUlCQkJBRFlDUkNBUS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NOQ0FMUVpnQmJDRU1Ba0FnRUNnQ0hDSUpSUVJBSUJBZ0RCQVVJZ2syQWh3Z0NVVU5CU0FRSUF3MkFpQWdDVUVBSUF3UUZSb01BUXNnRENBUUtBSWdUUTBBSUFrZ0RCQVhJZ3RGQkVBZ0NrRUJRWUFYUVFBUUR5QVFLQUljRUJBZ0VFSUFOd0ljREFVTElCQWdDellDSENBTElCQW9BaUFpQ1dwQkFDQU1JQWxyRUJVYUlCQWdERFlDSUFzZ0VDZ0NGQ0lMQkVBZ0cwR3dCMm9oSFNBYlFhd0dhaUVZSUJ0QkhHb2hGeUFRS0FJY0lScEJBQ0VyQTBBZ0drSi9JQXRCQVdzaUNhMGlNNFpDZjRVaU1pQVFOQUlBZkNBemg2Y2lGallDQUNBYUlESWdFRFFDQkh3Z000ZW5JaEUyQWdRZ0dpQXlJQkEwQWdoOElET0hJakduSWhRMkFnZ2dHaUF5SUJBMEFneDhJRE9ISWpTbklnMDJBZ3dnTWNSQ0FTQVlJQ3RCQW5RaURHb29BZ0FpSDYwaU1ZWjhRZ0Y5SURHSHB5QWZkQ0lQUVFCSURRUWdOTVJDZnlBTUlCMXFLQUlBSWlDdElqR0dRbitGZkNBeGg2Y2dJSFFpREVFQVNBMEVJQm9nREVGL0lDQjBJQkZ4SWhOcklDQjFRUUFnRFNBUlJ4c2lERFlDRkNBYUlBOUJmeUFmZENBV2NTSWlheUFmZFVFQUlCUWdGa2NiSWc4MkFoQUNRQ0FQUlEwQUlBK3RJQXl0ZmtJZ2lGQU5BQXdFQ3lBTUlBOXNJaU5CNTh5Wk0wOE5BeUFqUVNoc0lTRWdHaUFyQkg4Z0lFRUJheUVnSUI5QkFXc2hIeUFUckVJQmZFSUJpS2NoRXlBaXJFSUJmRUlCaUtjaElrRURCVUVCQ3pZQ0dDQWFRUnhxSVJWQ0FTQUxyU0kyaGlFM1FuOGdHeWdDRENJTElDQWdDeUFnU1JzaUxLMGlQSVpDZjRVaFBVSi9JQnNvQWdnaUN5QWZJQXNnSDBrYklpMnRJajZHUW4rRklUOUJBQ0VwQTBBQ2ZpQXJSUVJBSURJZ0VEUUNCSHdnTTRjaE9DQXlJQkEwQWdCOElET0hJVGxCQUNFTElESWlNU0U2SURNTUFRc2dOeUFwUVFGcUlndEJBWGF0SURPR1FuK0ZmQ0k2SUJBMEFnUjhJRGFISVRnZ055QUxRUUZ4clNBemhrSi9oWHdpTVNBUU5BSUFmQ0EyaHlFNUlEWUxJVHNnRURRQ0NDRTFJQkEwQWd3aE5DQVZJRGcrQWdRZ0ZTQTVQZ0lBSUJVZ0N6WUNFQ0FWSURRZ09ud2dPNGMrQWd3Z0ZTQXhJRFY4SUR1SFBnSUlRUUFoREFKQUlCc29BaFJGRFFBZ0MwVU5BRUVDUVFFZ0MwRURSaHNoREF0RUFBQUFBQUFBOEQ4aFFnSkFJQ2NvQWhnZ0RHb2dGeWdDQUNJTWF5SUxRWUFJVGdSQVJBQUFBQUFBQU9CL0lVSWdDMEgvRDBrRVFDQUxRZjhIYXlFTERBSUxSQUFBQUFBQUFQQi9JVUpCL1JjZ0N5QUxRZjBYVHh0Qi9nOXJJUXNNQVFzZ0MwR0JlRW9OQUVRQUFBQUFBQUJnQXlGQ0lBdEJ1SEJMQkVBZ0MwSEpCMm9oQ3d3QkMwUUFBQUFBQUFBQUFDRkNRZkJvSUFzZ0MwSHdhRTBiUVpJUGFpRUxDeUFWSUJjb0FnUzNSQUFBQUFBQUFFQS9va1FBQUFBQUFBRHdQNkFnUWlBTFFmOEhhcTFDTklhL29xSzJPQUlnSUJVZ0RDQWJLQUtrQm1wQkFXczJBaHdnRlNnQ0ZDRUxBa0FDUUFKQUlDTkZEUUFnQ3cwQUlCVWdJUkFVSWdzMkFoUWdDMFVFUUNBS1FRRkJsQlZCQUJBUERBb0xJQXRCQUNBaEVCVWFJQlVnSVRZQ0dBd0JDeUFoSUJVb0FoaExCRUFnQ3lBaEVCY2lERVVFUUNBS1FRRkJsQlZCQUJBUElCVW9BaFFRRUNBVlFnQTNBaFFNQ2dzZ0ZTQU1OZ0lVSUF3Z0ZTZ0NHQ0lMYWtFQUlDRWdDMnNRRlJvZ0ZTQWhOZ0lZQ3lBalJRMEJDeUFWS0FJVUlRdEJBQ0VrQTBBZ0N5QWtJQ1FnR2lnQ0VDSU1iaUlXSUF4c2F5SU5JQjkwSUNKcUlnOGdGU2dDQUNJTUlBd2dEMGdiSWhFMkFnQWdDeUFXSUNCMElCTnFJZzhnRlNnQ0JDSU1JQXdnRDBnYkloUTJBZ1FnQ3lBTlFRRnFJQjkwSUNKcUlnOGdGU2dDQ0NJTUlBd2dEMG9iSWcwMkFnZ2dDeUFXUVFGcUlDQjBJQk5xSWc4Z0ZTZ0NEQ0lNSUF3Z0Qwb2JJZ3cyQWd3Z0N5QS9JQTJzZkNBK2g2Y2dFU0F0ZFNJV2F5QXRkQ0F0ZFNJUE5nSVFJQXNnUFNBTXJId2dQSWVuSUJRZ0xIVWlFV3NnTEhRZ0xIVWlERFlDRkNBTUlBOXNJaVd0UWdhR1FpQ0lRZ0JTQkVBZ0NrRUJRZVVWUVFBUUR3d0pDeUFsUVFaMElRMENRQUovQWtBZ0N5Z0NHQ0lNRFFBZ0pVVU5BQ0FMSUEwUUZDSU1OZ0lZSUF4RkRRc2dERUVBSUEwUUZSb2dDMEVjYWd3QkN5QU5JQXNvQWh4TkRRRWdEQ0FORUJjaUQwVUVRQ0FMS0FJWUVCQWdDMElBTndJWUlBcEJBVUhqRWtFQUVBOE1Dd3NnQ3lBUE5nSVlJQThnQ3lnQ0hDSU1ha0VBSUEwZ0RHc1FGUm9nQzBFY2Fnc2dEVFlDQUFzZ0N5Z0NGQ0VOSUFzb0FoQWhEeUFMQW44Z0N5Z0NJQ0lNUlFSQUlBOGdEU0FLRUdNTUFRc2dEQ0FQSUEwZ0NoQmhDellDSUNBTEtBSVVJUTBnQ3lnQ0VDRVBJQXNDZnlBTEtBSWtJZ3hGQkVBZ0R5QU5JQW9RWXd3QkN5QU1JQThnRFNBS0VHRUxOZ0lrSUNVRVFFRUFJUklEUUNBU0lBc29BaEFpRFc0aEhBSkFJQXNvQWhnZ0VrRUdkR29pR1NnQ0FDSVVCRUFnR1NnQ09DRVBJQmtvQWdRaERDQVpLQUl3SVNvZ0dTZ0NQQkFRSUJuOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOUN3SW9JQmxDQURjQ09DQVovUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDR0NBWi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NDQ0FaSUJRMkFnQWdHU0FxTmdJd0lDb0VRQ0FVUVFBZ0trRVliQkFWR2dzZ0dTQVBOZ0k0SUJrZ0REWUNCQXdCQ3lBWlFRcEJHQkFUSWd3MkFnQWdERVVOQ3lBWlFRbzJBakFMSUJrZ0VpQU5JQnhzYXlBV2FpSVVJQzEwSWc4Z0N5Z0NBQ0lNSUF3Z0QwZ2JOZ0lJSUJrZ0VTQWNhaUlOSUN4MElnOGdDeWdDQkNJTUlBd2dEMGdiTmdJTUlCa2dGRUVCYWlBdGRDSVBJQXNvQWdnaURDQU1JQTlLR3pZQ0VDQVpJQTFCQVdvZ0xIUWlEeUFMS0FJTUlnd2dEQ0FQU2hzMkFoUWdFa0VCYWlJU0lDVkhEUUFMQ3lBTFFTaHFJUXNnSkVFQmFpSWtJQ05IRFFBTEN5QVhRUWhxSVJjZ0ZVRWthaUVWSUNsQkFXb2lLU0FhS0FJWVNRMEFDeUFhUVpnQmFpRWFJQWtoQ3lBclFRRnFJaXNnRUNnQ0ZFa05BQXNMSUNkQk5Hb2hKeUFRUWN3QWFpRVFJQnRCdUFocUlSc2dLRUVCYWlJb0lCNG9BaEJKRFFBTFFRRU1Bd3NnQ2tFQlFaUVdRUUFRRHd3QkN5QUtRUUZCc3hGQkFCQVBDMEVBQzBVRVFDQUtRUUZCd2h0QkFCQVBRUUFNQkFzZ0FDZ0N6QUVoQ1NBT0lBQW9BbWdnQUNnQ2JHdzJBZ1FnRGlBSlFRRnFOZ0lBSUFwQkJFRysxd0FnRGhBUElBRWdBQ2dDekFFMkFnQWdDRUVCTmdJQUlBSUVRQ0FDSUFBb0F0QUJRUUFRVkNJQk5nSUFRUUFnQVVGL1JnMEVHZ3NnQXlBQUtBTFFBU2dDRkNnQ0FDSUJLQUlBTmdJQUlBUWdBU2dDQkRZQ0FDQUZJQUVvQWdnMkFnQWdCaUFCS0FJTU5nSUFJQWNnQVNnQ0VEWUNBQ0FBSUFBb0FnaEJnQUZ5TmdJSUMwRUJEQUlMSUFwQkFTQVNRUUFRRHdzZ0NrRUJRZVFiUVFBUUQwRUFDeUV3SUE1QjBBQnFKQUFnTUF2ZUVBSU5md0orQWtBZ0FDZ0NJQ0lGRFFBQ1FDQUFLQUlRSWdsQkJVb0VRQ0FKSVFNTUFRc0NRQUpBSUFBb0FoUWlBa0VGVGdSQUlBQW9BZ0FpQVNnQ0FDRUZJQUFnQVVFRWFqWUNBQ0FDUVFScklRY01BUXNnQWtFQVRBUkFRWDhoQlF3Q0N5QUFLQUlBSVFFQ2Z5QUNRUUZHQkVCQmZ5RUdRUUFNQVF0QmZ5RUdJQUpCQVdzaUEwRUJjU0VOQWtBZ0FrRUNSZ1JBUVFBaEJTQUNJUVFNQVFzZ0EwRitjU0VMUVFBaEJTQUJJUU1nQWlFRUEwQWdBQ0FEUVFGcU5nSUFJQU10QUFBaERDQUFJQU5CQW1vaUFUWUNBQ0FBSUFSQkFXczJBaFFnQXkwQUFTRURJQUFnQkVFQ2F5SUVOZ0lVSUFaQi93RWdCWFJCZjNOeElBd2dCWFJ5UVlEK0F5QUZkRUYvYzNFZ0F5QUZRUWh5ZEhJaEJpQUZRUkJxSVFVZ0FTRURJQWhCQW1vaUNDQUxSdzBBQ3dzZ0RRUkFJQUFnQVVFQmFpSUROZ0lBSUFFdEFBQWhBU0FBSUFSQkFXczJBaFFnQmtIL0FTQUZkRUYvYzNFZ0FTQUZkSEloQmlBRElRRUxJQUpCQTNSQkNHc0xJUVVnQUNBQlFRRnFOZ0lBSUFaQi93RWdCWFJCZjNOeElBRXRBQUJCRDNJZ0JYUnlJUVVMSUFBZ0J6WUNGQXNnQUNnQ0dDRUJJQUFnQlVFWWRpSUhRZjhCUmpZQ0dDQUFJQWtnQlVFUWRrSC9BWEVpQ0VIL0FVWWlDaUFGUVFoMlFmOEJjU0lMUWY4QlJpSU1JQUVnQlVIL0FYRWlCRUgvQVVZaUFtcHFhaUlCYTBFZ2FpSUROZ0lRSUFBZ0FDa0RDQ0FFUVFkQkNDQUNHM1FnQzNKQkIwRUlJQXdiZENBSWNrRUhRUWdnQ2h0MElBZHlyU0FCSUFsclFTQnFyWWFFTndNSVFRQWhCU0FEUVFaSURRRUxJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUJyQ0FBS1FNb1FrQ0RoRGNES0VFQklRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9RdjlBZ3lBQnJFSUhob1EzQXloQkFpRUZJQU5CQmtnTkFDQUFLQUljSWdGQkFuUkJvSjBCYWlnQ0FDRUNBbjRnQUNrRENDSU9RZ0JUQkVCQkRDQUJRUUZxSUFGQkMwNGJJUVFnQTBFQmF5RURRWDhnQW5SQmYzTkJBWFFoQVVJQkRBRUxJQUZCQVd0QkFDQUJRUUZLR3lFRUlBNUJQeUFDYTYySXAwRi9JQUowUVg5emNVRUJkRUVCY2lFQklBTWdBa0VCYWlJQ2F5RURJQUt0Q3lFUElBQWdBellDRUNBQUlBUTJBaHdnQUNBT0lBK0dOd01JSUFBZ0FDa0RLRUwvLzBDRElBR3NRZzZHaERjREtFRURJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8wQ0RJQUdzUWhXR2hEY0RLRUVFSVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vLzlBZ3lBQnJFSWNob1EzQXloQkJTRUZJQU5CQmtnTkFDQUFLQUljSWdGQkFuUkJvSjBCYWlnQ0FDRUNBbjRnQUNrRENDSU9RZ0JUQkVCQkRDQUJRUUZxSUFGQkMwNGJJUVFnQTBFQmF5RURRWDhnQW5SQmYzTkJBWFFoQVVJQkRBRUxJQUZCQVd0QkFDQUJRUUZLR3lFRUlBNUJQeUFDYTYySXAwRi9JQUowUVg5emNVRUJkRUVCY2lFQklBTWdBa0VCYWlJQ2F5RURJQUt0Q3lFUElBQWdBellDRUNBQUlBUTJBaHdnQUNBT0lBK0dOd01JSUFBZ0FDa0RLRUwvLy8vLy8wQ0RJQUd0UWlPR2hEY0RLRUVHSVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vLy8vLzBDRElBR3RRaXFHaERjREtFRUhJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXYvLy8vLy8vLzlBZ3lBQnJVSXhob1EzQXloQkNDRUZDeUFBSUFWQkFXczJBaUFnQUNBQUtRTW9JZzVDQjRnM0F5Z2dEcWRCL3dCeEN5SUJBWDhnQUFSQUlBQW9BZ3dpQVFSQUlBRVFFQ0FBUVFBMkFnd0xJQUFRRUFzTGlnRUNBWDRGZndKQUlBQkNnSUNBZ0JCVUJFQWdBQ0VDREFFTEEwQWdBVUVCYXlJQklBQkNDb0FpQWtMMkFYNGdBSHluUVRCeU9nQUFJQUJDLy8vLy81OEJWaUVHSUFJaEFDQUdEUUFMQ3lBQ1FnQlNCRUFnQXFjaEF3TkFJQUZCQVdzaUFTQURRUXB1SWdSQjlnRnNJQU5xUVRCeU9nQUFJQU5CQ1VzaEJ5QUVJUU1nQncwQUN3c2dBUXY1NGdFRWVuOEdld2grQVgwakFFRVFheUpPSkFBQ1FDQUFMUUFJUVlBQmNVVU5BQ0FBS0FMTUFTQUJSdzBBSUFBb0Fwd0JJQUZCakN4c2FpSlBLQUxjS3lJVlJRUkFJRThRTGd3QkN5QUFLQUxJQVJvZ0FDZ0MwQUVoR1NBQUtBSk1JZ2RGQkVBZ0FDZ0NTQ0VIQ3lBSEtBSUFJUVlnQnlnQ0JDRUxJQWNvQWdnaENTQUhLQUlNSVEwZ0FDZ0NQQ0VISUFBb0FrQWhDQ0JQS0FMZ0t5RUtJd0JCRUdzaVFDUUFJQmtnQVRZQ0pDQVpLQUljS0FKTUlRd2dHVUVCTmdKQUlCa2dEVFlDUENBWklBazJBamdnR1NBTE5nSTBJQmtnQmpZQ01DQVpJQXdnQVVHTUxHeHFOZ0lnSUJrb0FrUVFFRUVBSVFzZ0dVRUFOZ0pFQWtBZ0J3UkFRUVFnR1NnQ0dDZ0NFQkFUSWd0RkJFQU1BZ3RCQUNFTlFRQWhDU0FIUVFSUEJFQWdCMEY4Y1NFTVFRQWhBUU5BSUFzZ0NDQUpRUUowYWlJR0tBSUFRUUowYWtFQk5nSUFJQXNnQmlnQ0JFRUNkR3BCQVRZQ0FDQUxJQVlvQWdoQkFuUnFRUUUyQWdBZ0N5QUdLQUlNUVFKMGFrRUJOZ0lBSUFsQkJHb2hDU0FCUVFScUlnRWdERWNOQUFzTElBZEJBM0VpQVFSQUEwQWdDeUFJSUFsQkFuUnFLQUlBUVFKMGFrRUJOZ0lBSUFsQkFXb2hDU0FOUVFGcUlnMGdBVWNOQUFzTElCa2dDellDUkFzQ1FBSkFJQmtvQWhnaUJpZ0NFQ0lOUlEwQVFRQWhDUUpBQTBBQ1FDQUxCRUFnQ3lBSlFRSjBhaWdDQUVVTkFRc2dCaWdDR0NBSlFUUnNhaUlCTlFJRUlvWUJRZ0Y5SW9vQklCazFBang4SUlZQmdDR0xBU0FCTlFJQUlvY0JRZ0Y5SW9nQklCazFBamg4SUljQmdDR01BU0NLQVNBWk5RSTBmQ0NHQVlBaGhnRWdHU2dDRkNnQ0FDZ0NGQ0FKUWN3QWJHb2lBU2dDRkNBQktBSVlheUlIUVI5TERRQUNRQ0NJQVNBWk5RSXdmQ0NIQVlDbklnZ2dBU2dDQUdzaURFRUFJQWdnREU4YklBZDJEUUFnaGdHbklnZ2dBU2dDQkdzaURFRUFJQWdnREU4YklBZDJEUUFnQVNnQ0NDSUlJSXdCcDJzaURFRUFJQWdnREU4YklBZDJEUUFnQVNnQ0RDSUJJSXNCcDJzaUNFRUFJQUVnQ0U4YklBZDJSUTBCQ3lBWlFRQTJBa0FNQWdzZ0NVRUJhaUlKSUExSERRQUxJQmtvQWtCRkRRQWdEVVVOQVVFQUlRMERRQ0FaS0FJVUtBSUFLQUlVSUExQnpBQnNhaUlCS0FJY0lBRW9BaGhCbUFGc2FpSUhRWlFCYXlnQ0FDRUdJQWRCakFGcktBSUFJUXNnQjBHWUFXc29BZ0FoQ1NBSFFaQUJheWdDQUNFSUFrQWdHU2dDUkNJSEJFQWdCeUFOUVFKMGFpZ0NBRVVOQVFzZ0N5QUdheUVISUFnZ0NXc2hDUUpBSUFZZ0MwWU5BQ0FIclNBSnJYNUNJSWhRRFFBZ0JVRUJRWlFXUVFBUUR3d0dDeUFISUFsc0lnZEJnSUNBZ0FSUEJFQWdCVUVCUVpRV1FRQVFEd3dHQ3lBQklBZEJBblFpQnpZQ0xBSi9Ba0FDUUFKQUlBRW9BaVFpQmdSQUlBY2dBU2dDTUUwTkJTQUJLQUlvRFFFTElBRWdCeEFZSWdjMkFpUWdCMEVCSUFFb0Fpd2lCeHRGRFFFZ0FTQUhOZ0l3SUFGQktHb01Bd3NnQmhBUUlBRWdBU2dDTEJBWUlnYzJBaVFnQncwQklBRkJBRFlDTUNBQlFnQTNBaWdMSUFWQkFVR1VGa0VBRUE4TUJ3c2dBU0FCS0FJc05nSXdJQUZCS0dvTFFRRTJBZ0FMSUExQkFXb2lEU0FaS0FJWUlnWW9BaEJKRFFBTERBRUxJQTFGRFFBZ0JpZ0NHQ0VQSUJrb0FoUW9BZ0FvQWhRaEZrRUFJUUVEUUFKQUlBc0VRQ0FMSUFGQkFuUnFLQUlBUlEwQkN5QVdJQUZCekFCc2FpSUhJQWNvQWdBaUNTQVBJQUZCTkd4cUlnZzFBZ0FpaGdGQ0FYMGlpZ0VnR1RVQ01Id2doZ0dBcHlJTUlBa2dERXNiSWdrMkFqZ2dCeUFIS0FJRUlnd2dDRFVDQkNLSEFVSUJmU0tMQVNBWk5RSTBmQ0NIQVlDbklnZ2dDQ0FNU1JzaUNEWUNQQ0FISUFjb0FnZ2lEQ0NLQVNBWk5RSTRmQ0NHQVlDbkloY2dEQ0FYU1JzaUREWUNRQ0FISUFjb0Fnd2lGeUNMQVNBWk5RSThmQ0NIQVlDbklnNGdEaUFYU3hzaUZ6WUNSQ0FKSUF4TERRTWdDQ0FYU3cwRElBY29BaFFpRGtVTkFDQU9yU0dMQVNBWHJTR0lBU0FNclNHTUFTQUlyU0dOQVNBSnJTR0pBU0FIS0FJY0lRbENBQ0dIQVFOQUlBa2dod0duSWdoQm1BRnNhaUlIUW44Z0RpQUlRWDl6YXEwaWhnR0dRbitGSW9vQklJZ0JmQ0NHQVlnK0FwUUJJQWNnaWdFZ2pBRjhJSVlCaUQ0Q2tBRWdCeUNLQVNDTkFYd2doZ0dJUGdLTUFTQUhJSWtCSUlvQmZDQ0dBWWcrQW9nQklJY0JRZ0Y4SW9jQklJc0JVZzBBQ3dzZ0FVRUJhaUlCSUExSERRQUxDeUJBUVFBMkFnZ2dHU2dDSENFQlFRRkJDQkFUSWhzRVFDQWJJQUUyQWdRZ0d5QUdOZ0lBQ3lBYlJRMEJJQmtvQWlRaEVTQVpLQUlVS0FJQUlTQWpBRUh3QUdzaUV5UUFJQkZCakN4c0lnRWdHeWdDQkNJSUtBSk1haUljS0FLa0F5RW9BbjhnR3lnQ0FDSWVJUmNnQlNFelFRQWhEU01BUVNCcklnOGtBQ0FCSUFnb0FreHFJaDBvQXFRRElSZ0NRQ0FYS0FJUUloWkJrQVJzRUJRaURFVU5BQUpBSUJaQkFuUVFGQ0lMUlFSQUlBd2hDd3dCQ3dKL0lBZ29Ba3dnRVVHTUxHeHFJZ2tvQXFRRElocEJBV29pQVVId0FSQVRJZ2NFUUFKQUlBRUVRQ0FYS0FJUUlRNGdCeUVCQTBBZ0FTQXpOZ0xzQVNBQklBNUJFQkFUSWdZMkFzZ0JJQVpGRFFJZ0FTQVhLQUlRSWg4MkFzUUJRUUFoQmtFQUlRNGdId1JBQTBBZ0FTZ0N5QUVnQmtFRWRHb2lEaUFKS0FMUUt5QUdRYmdJYkdvaUh5Z0NCRUVRRUJNaUlUWUNEQ0FoUlEwRUlBNGdIeWdDQkRZQ0NDQUdRUUZxSWdZZ0Z5Z0NFQ0lPU1EwQUN3c2dBVUh3QVdvaEFTQVNJQnBHSVhNZ0VrRUJhaUVTSUhORkRRQUxDeUFIREFJTElBY29BZ1FpQVFSQUlBRVFFQ0FIUVFBMkFnUUxJQWNoQVVFQUlRa0RRQ0FCS0FMSUFTSUdCRUJCQUNFT0lBRW9Bc1FCSWhJRWZ3TkFJQVlvQWd3aUh3UkFJQjhRRUNBR1FRQTJBZ3dnQVNnQ3hBRWhFZ3NnQmtFUWFpRUdJQTVCQVdvaURpQVNTUTBBQ3lBQktBTElBUVVnQmdzUUVDQUJRUUEyQXNnQkN5QUJRZkFCYWlFQklBa2dHa1loZENBSlFRRnFJUWtnZEVVTkFBc2dCeEFRQzBFQUN5SUhCRUFDUUNBV1JRMEFRUUFoQ1NBTUlRWWdGa0VFVHdSQUlBWWdGa0Y4Y1NJSlFaQUViR29oQmlBTUlRRURRQ0FMSUJCQkFuUnFJQUg5RWYwTUFBQUFBQkFDQUFBZ0JBQUFNQVlBQVAydUFmMExBZ0FnQVVIQUVHb2hBU0FRUVFScUloQWdDVWNOQUFzZ0NTQVdSZzBCQ3dOQUlBc2dDVUVDZEdvZ0JqWUNBQ0FHUVpBRWFpRUdJQWxCQVdvaUNTQVdSdzBBQ3dzZ0N5RU9RUUFoRWlBSUtBSk1JQkZCakN4c2FpZ0MwQ3NoQVNBWEtBSVlJUWtnRHlBSUtBSUVJQWdvQWd3Z0VTQVJJQWdvQWhnaUJtNGlDeUFHYkd0c2FpSUdJQmNvQWdBaUVDQUdJQkJMR3pZQ0ZDQVBRWDhnQmlBSUtBSU1haUlRSUFZZ0VFc2JJZ1lnRnlnQ0NDSVFJQVlnRUVrYk5nSVFJQThnQ0NnQ0NDQUlLQUlRSUF0c2FpSUdJQmNvQWdRaUN5QUdJQXRMR3pZQ0RDQVBRWDhnQmlBSUtBSVFhaUlMSUFZZ0Mwc2JJZ1lnRnlnQ0RDSUxJQVlnQzBrYk5nSUlJQTlCQURZQ0dDQVBRUUEyQWh3Z0QwSC8vLy8vQnpZQ0JDQVBRZi8vLy84SE5nSUFJQmNvQWhBRVFBTkFJQTRFZnlBT0lCSkJBblJxS0FJQUJVRUFDeUVMSUFrMUFnUWloZ0ZDQVgwaWlnRWdEelVDQ0h3Z2hnR0FJWXNCSUFrMUFnQWlod0ZDQVgwaWlBRWdEelVDRUh3Z2h3R0FJWXdCSUlvQklBODFBZ3g4SUlZQmdDR0dBU0NJQVNBUE5RSVVmQ0NIQVlBaGh3RWdBU2dDQkNJSUlBOG9BaHhMQkVBZ0R5QUlOZ0ljSUFFb0FnUWhDQXNnQ0FSQUlJc0JRdi8vLy84UGd5R0tBU0NNQVVMLy8vLy9ENE1oaXdFZ2hnRkMvLy8vL3crRElZZ0JJSWNCUXYvLy8vOFBneUdNQVNBQlFiQUhhaUVmSUFGQnJBWnFJU0ZCQUNFYUEwQWdIeUFhUVFKMEloQnFLQUlBSVFZZ0VDQWhhaWdDQUNFUlFRQWhFQ0FMQkVBZ0N5QUdOZ0lFSUFzZ0VUWUNBQ0FMUVFocUlSQUxBa0FnRVNBSVFRRnJJZ2hxSWd0Qkgwc05BQ0FKS0FJQUlpSkJmeUFMZGtzTkFDQVBJQThvQWdRaUp5QWlJQXQwSWdzZ0N5QW5TeHMyQWdRTEFrQWdCaUFJYWlJTFFSOUxEUUFnQ1NnQ0JDSWlRWDhnQzNaTERRQWdEeUFQS0FJQUlpY2dJaUFMZENJTElBc2dKMHNiTmdJQUMwRUFJUXNnaWdGQ2Z5QUlyU0tHQVlaQ2Y0VWlod0Y4SUlZQmlDS05BVUwvLy8vL0Q0TkNBU0FHclNLSkFZWjhRZ0Y5SUlrQmlLY2dod0VnaUFGOElJWUJpS2NpSWlBR2RtdEJmeUFHZG5GQkFDQWlJSTBCcDBjYklRWWdod0VnaXdGOElJWUJpQ0tOQVVMLy8vLy9ENE5DQVNBUnJTS0pBWVo4UWdGOUlJa0JpS2NnaHdFZ2pBRjhJSVlCaUtjaUlpQVJkbXRCZnlBUmRuRkJBQ0FpSUkwQnAwY2JJUkVnRUFSQUlCQWdCallDQkNBUUlCRTJBZ0FnRUVFSWFpRUxDeUFHSUJGc0lnWWdEeWdDR0VzRVFDQVBJQVkyQWhnTElCcEJBV29pR2lBQktBSUVTUTBBQ3dzZ0NVRTBhaUVKSUFGQnVBaHFJUUVnRWtFQmFpSVNJQmNvQWhCSkRRQUxDeUFZUVFGcUlTRWdEeWdDSENFUklBOG9BaGdoRWlBSFFRQTJBZ1FDUUNBZEtBSUlRUUZxSWdHdElCRWdFaUFXYkNJaWJDSWFyWDVDSUloUUJFQWdCeUFCSUJwc0lnRTJBZ2dnQnlBQlFRSVFFeUlCTmdJRUlBRU5BUXNnREJBUUlBNFFFQ0FIS0FJRUlnRUVRQ0FCRUJBZ0IwRUFOZ0lFQ3lBaFJRUkFJQWNoQ3d3REMwRUFJUXNnQnlFQkEwQWdBU2dDeUFFaUNRUkFRUUFoQmlBQktBTEVBU0lRQkg4RFFDQUpLQUlNSWdnRVFDQUlFQkFnQ1VFQU5nSU1JQUVvQXNRQklSQUxJQWxCRUdvaENTQUdRUUZxSWdZZ0VFa05BQXNnQVNnQ3lBRUZJQWtMRUJBZ0FVRUFOZ0xJQVFzZ0FVSHdBV29oQVNBTElCaEdJWFVnQzBFQmFpRUxJSFZGRFFBTElBY2hDd3dDQ3lBWEtBSVlJUmNnQnlBUEtBSVVJaWMyQXN3QklBY2dEeWdDRENJd05nTFFBU0FISUE4b0FoQWlMVFlDMUFFZ0J5QVBLQUlJSWlzMkF0Z0JJQWNnR2pZQ0RDQUhJQ0kyQWhBZ0J5QVNOZ0lVUVFFaEh5QUhRUUUyQWhnZ0ZnUkFJQWNvQXNnQklRRkJBQ0VJSUJjaEN3TkFJQTRnQ0VFQ2RHb29BZ0FoQ1NBQklBc29BZ0EyQWdBZ0FTQUxLQUlFTmdJRUFrQWdBU2dDQ0NJTlJRMEFJQUVvQWd3aEJpQU5RUUZIQkVBZ0RVRitjU0V2UVFBaEVBTkFJQVlnQ1NnQ0FEWUNBQ0FHSUFrb0FnUTJBZ1FnQmlBSktBSUlOZ0lJSUFZZ0NTZ0NERFlDRENBR0lBa29BaEEyQWhBZ0JpQUpLQUlVTmdJVUlBWWdDU2dDR0RZQ0dDQUdJQWtvQWh3MkFod2dCa0VnYWlFR0lBbEJJR29oQ1NBUVFRSnFJaEFnTDBjTkFBc0xJQTFCQVhGRkRRQWdCaUFKS0FJQU5nSUFJQVlnQ1NnQ0JEWUNCQ0FHSUFrb0FnZzJBZ2dnQmlBSktBSU1OZ0lNQ3lBTFFUUnFJUXNnQVVFUWFpRUJJQWhCQVdvaUNDQVdSdzBBQ3dzZ0lVRUJTd1JBSUFjaERRTkFJQTBnS3pZQ3lBTWdEU0F0TmdMRUF5QU5JREEyQXNBRElBMGdKellDdkFNZ0RVRUJOZ0tJQWlBTklCSTJBb1FDSUEwZ0lqWUNnQUlnRFNBYU5nTDhBU0FXQkVBZ0RTZ0N1QU1oQVVFQUlRZ2dGeUVMQTBBZ0RpQUlRUUowYWlnQ0FDRUpJQUVnQ3lnQ0FEWUNBQ0FCSUFzb0FnUTJBZ1FDUUNBQktBSUlJaUZGRFFBZ0FTZ0NEQ0VHSUNGQkFVY0VRQ0FoUVg1eElTOUJBQ0VRQTBBZ0JpQUpLQUlBTmdJQUlBWWdDU2dDQkRZQ0JDQUdJQWtvQWdnMkFnZ2dCaUFKS0FJTU5nSU1JQVlnQ1NnQ0VEWUNFQ0FHSUFrb0FoUTJBaFFnQmlBSktBSVlOZ0lZSUFZZ0NTZ0NIRFlDSENBR1FTQnFJUVlnQ1VFZ2FpRUpJQkJCQW1vaUVDQXZSdzBBQ3dzZ0lVRUJjVVVOQUNBR0lBa29BZ0EyQWdBZ0JpQUpLQUlFTmdJRUlBWWdDU2dDQ0RZQ0NDQUdJQWtvQWd3MkFnd0xJQXRCTkdvaEN5QUJRUkJxSVFFZ0NFRUJhaUlJSUJaSERRQUxDeUFOSUEwcEFnUTNBdlFCSUJnZ0gwY2hkaUFOUWZBQmFpRU5JQjlCQVdvaEh5QjJEUUFMQ3lBTUVCQWdEaEFRSUIwb0FxUURJUXNDUUNBZExRQ0lMRUVFY1FSQUlBdEJmMFlOQVNBZFFhZ0RhaUVHSUIwb0FnZ2hBVUVBSVJBZ0J5RUpBMEFnQmlnQ0pDRU5JQWxCQVRZQ0xDQUpJQTAyQWxRZ0NTQUdLQUlBTmdJd0lBWW9BZ1FoRFNBSlFnQTNBa1FnQ1NBTk5nSTBJQWtnQmlnQ0REWUNQQ0FKSUFZb0FoQTJBa0FnQmlnQ0NDRU5JQWtnRWpZQ1RDQUpJQTBnQVNBQklBMUxHellDT0NBR1FaUUJhaUVHSUFsQjhBRnFJUWtnQ3lBUVJpRjNJQkJCQVdvaEVDQjNSUTBBQ3d3QkN5QUxRWDlHRFFBZ0hTZ0NDQ0VHSUIwb0FnUWhEU0FISVFrZ0N3UkFJQXRCQVdwQmZuRWhDRUVBSVFFRFFDQUpRZ0EzQWtRZ0NVRUFOZ0kwSUFsQ0FUY0NMQ0FKSUEwMkFsUWdDU0FSTmdJOElBa2dEVFlDeEFJZ0NTQVNOZ0pNSUFrZ0JqWUNPQ0FKUWdBM0FyUUNJQWxCQURZQ3BBSWdDVUlCTndLY0FpQUpJQkUyQXF3Q0lBa2dCallDcUFJZ0NTQVNOZ0s4QWlBSklBa29Bc1FCTmdKQUlBa2dDU2dDdEFNMkFyQUNJQWxCNEFOcUlRa2dBVUVDYWlJQklBaEhEUUFMQ3lBTFFRRnhEUUFnQ1VJQU53SkVJQWxCQURZQ05DQUpRZ0UzQWl3Z0NTQU5OZ0pVSUFrZ0VUWUNQQ0FKSUJJMkFrd2dDU0FHTmdJNElBa2dDU2dDeEFFMkFrQUxJQWNoRFF3Q0N5QU1FQkFMSUFzUUVBc2dEMEVnYWlRQVFRQWdEU0lIUlEwQUdpQW9RUUZxSVE0Z0ZTRWRJQWNoQ3dKQUFrQURRQ0FMS0FKVVFYOUdEUUlnSGlnQ0VFRUNkQkFVSWdGRkRRSWdBVUVCSUI0b0FoQkJBblFRRlNFSklBc1FWd1JBQTBBZ0lDZ0NGQ0VJQWtBQ1FDQUxLQUlvSUJ3b0FneFBEUUFnQ3lnQ0lDSUJJQWdnQ3lnQ0hFSE1BR3hxSWdZb0FoaFBEUUFnQmlnQ0hDQUJRWmdCYkdvaURTZ0NHRVVOQUNBTlFSeHFJUWhCQUNFQkFrQURRQ0FaSUFzb0Fod2dDeWdDSUNBSUlBRkJKR3hxSWdZb0FoQWdCaWdDRkNBTEtBSWtRU2hzYWlJR0tBSUFJQVlvQWdRZ0JpZ0NDQ0FHS0FJTUVEbEZCRUFnQVVFQmFpSUJJQTBvQWhoSkRRRU1BZ3NMSUFrZ0N5Z0NIRUVDZEdwQkFEWUNBQ0FUUVFBMkFtZ2dHeWdDQkNBZ0tBSVVJQndnQ3lBVFFld0FhaUFkSUJOQjZBQnFJQW9nTXhCV1JRMEdJQXNvQWlBaENDQUxLQUljSVJZZ0V5Z0NhQ0VhSUJNb0Ftd0VRQ0FUUVFBMkFtZ2dJQ2dDRkNBV1Fjd0FiR29vQWh3Z0NFR1lBV3hxSWg4b0FoZ2lBUVIvSUFvZ0dtc2hHQ0FLSUIxcUlTRWdIMEVjYWlFTVFRQWhFVUVBSVE4Z0dpQWRhaUlpSVJJRFFBSkFJQXdvQWdnZ0RDZ0NBRVlOQUNBTUtBSU1JQXdvQWdSR0RRQWdEQ2dDRkNBTEtBSWtRU2hzYWlJR0tBSVVJQVlvQWhCc0lpaEZEUUFnQmlnQ0dDRUJRUUFoRmdOQUlBOEVRQ0FCUVFBMkFqUUxJQUVvQWlRaUZ3UkFJQUVvQWdBaENBSkFJQUVnQVNnQ0tDSUdCSDhnQ0NBR1FSaHNhaUlJUVJScktBSUFJQWhCREdzb0FnQkhCRUFnQ0VFWWF5RUlEQUlMSUFaQkFXb0ZRUUVMTmdJb0N3SkFBMEFDUUFKQUFrQWdDQ2dDRkNJTklCSkJmM05MRFFBZ0R3MEFJQTBnRW1vZ0lVME5BUXNnQ3lnQ0hDRUdJQXNvQWlBaEZ5QUxLQUlrSVE4Z0d5Z0NCQ2dDYUFSQUlCTWdCallDV0NBVElCYzJBbFFnRXlBUk5nSlFJQk1nRHpZQ1RDQVRJQlkyQWtnZ0V5QVlOZ0pFSUJNZ0RUWUNRQ0F6UVFGQjh1MEFJQk5CUUdzUUR3d1JDeUFUSUFZMkFqZ2dFeUFYTmdJMElCTWdFVFlDTUNBVElBODJBaXdnRXlBV05nSW9JQk1nR0RZQ0pDQVRJQTAyQWlBZ00wRUNRZkx0QUNBVFFTQnFFQThnQVVFQU5nSTBJQWdnQ0NnQ0VDSUdJQWdvQWdScU5nSUVJQUVnQVNnQ0pDSU5JQVpySWhjMkFpUkJBU0VQSUFZZ0RVWU5BU0FCSUFFb0FpaEJBV29pQ0RZQ0tBd0RDeUFCS0FJRUlSQWdBU2dDTkNJUElBRW9BamhIQkg4Z0Z3VWdFQ0FQUVFGMFFRRnlJZ1pCQTNRUUZ5SVFSUVJBSUROQkFVR0FDRUVBRUE4TUVRc2dBU0FHTmdJNElBRWdFRFlDQkNBQktBSTBJUThnQ0NnQ0ZDRU5JQUVvQWlRTElRWWdFQ0FQUVFOMGFpSVhJQTAyQWdRZ0Z5QVNOZ0lBSUFFZ0QwRUJhallDTkNBSUlBZ29BZ0FnRFdvMkFnQWdDQ0FJS0FJUUloQWdDQ2dDQkdvaUR6WUNCQ0FCSUFZZ0VHc2lGellDSkNBSUlBODJBZ2dnRFNBU2FpRVNRUUFoRHlBR0lCQkdEUUFnQVNBQktBSW9RUUZxTmdJb0lBaEJHR29oQ0FzZ0Z3MEFDeUFCS0FJb0lRZ0xJQUVnQ0RZQ0xBc2dBVUZBYXlFQklCWkJBV29pRmlBb1J3MEFDeUFmS0FJWUlRRUxJQXhCSkdvaERDQVJRUUZxSWhFZ0FVa05BQXNnQ3lnQ0hDRVdJQXNvQWlBaENDQVlJQklnSW1zZ0R4c0ZRUUFMSUJwcUlSb0xJQjRvQWhnZ0ZrRTBiR29pQVNBSUlBRW9BaVFpQVNBQklBaEpHellDSkF3Q0N5QWdLQUlVSVFnTElCTkJBRFlDYUNBYktBSUVJQWdnSENBTElCTkI3QUJxSUIwZ0UwSG9BR29nQ2lBekVGWkZEUVFnQ3lnQ0hDRVdJQk1vQW1naEdpQVRLQUpzUlEwQUFrQWdJQ2dDRkNBV1Fjd0FiR29vQWh3Z0N5Z0NJQ0lpUVpnQmJHb2lBU2dDR0NJb1JRUkFRUUFoRnd3QkN5QUtJQnBySVJBZ0FVRWNhaUVNSUFzb0FpUWhJVUVBSVJkQkFDRVlBMEFDUUNBTUtBSUlJQXdvQWdCR0RRQWdEQ2dDRENBTUtBSUVSZzBBSUF3b0FoUWdJVUVvYkdvaUFTZ0NGQ0FCS0FJUWJDSW5SUTBBSUFFb0FoZ2hFVUVBSVI4RFFDQVJLQUlrSWdFRVFDQVJLQUlBSVFnQ1FDQVJJQkVvQWlnaUVnUi9JQWdnRWtFWWJHb2lDRUVVYXlnQ0FDQUlRUXhyS0FJQVJ3UkFJQWhCR0dzaENBd0NDeUFTUVFGcUJVRUJDeUlTTmdJb0N3SkFBa0FnQ0NnQ0ZDSVBJQmRxSWcwZ0Qwa05BQ0FOSUJCTERRQURRQ0FOSVJjZ0NDQUlLQUlRSWcwZ0NDZ0NCR28yQWdRZ0FTQU5heUVHSUFFZ0RVWU5BaUFSSUJKQkFXb2lFallDS0NBSUtBSXNJZzhnRjJvaURTQVBUd1JBSUFoQkdHb2hDQ0FHSVFFZ0RTQVFUUTBCQ3dzZ0VTQUdOZ0lrQ3lBYktBSUVLQUpvSVFFZ0V5QVdOZ0lZSUJNZ0lqWUNGQ0FUSUJnMkFoQWdFeUFoTmdJTUlCTWdIellDQ0NBVElCQTJBZ1FnRXlBUE5nSUFJRE5CQVVFQ0lBRWJRWjN0QUNBVEVBOGdBUTBLSUFzb0Fod2hGZ3dGQ3lBUklBWTJBaVFMSUJGQlFHc2hFU0FmUVFGcUloOGdKMGNOQUFzTElBeEJKR29oRENBWVFRRnFJaGdnS0VjTkFBc0xJQmNnR21vaEdnc0NRQ0FKSUJaQkFuUnFLQUlBUlEwQUlCNG9BaGdnRmtFMGJHb2lBU2dDSkEwQUlBRWdJQ2dDRkNBV1Fjd0FiR29vQWhoQkFXczJBaVFMSUFvZ0dtc2hDaUFhSUIxcUlSMGdDeEJYRFFBTEN5QUpFQkFnQzBId0FXb2hDeUFqUVFGcUlpTWdIQ2dDcEFOTkRRQUxJQWNnRGhBNklFQWdIU0FWYXpZQ0NFRUJEQUlMSUFjZ0RoQTZJQWtRRUVFQURBRUxJQWNnRGhBNlFRQUxJWGdnRTBId0FHb2tBQ0FiRUN3Z2VFVU5BU0FaS0FJZ0tBTFFLeUVKSUJrb0FoUW9BZ0FpRmlnQ0ZDRWRJRUJCQVRZQ0RFRUFJUTFCQUNFVklCa29BaUFpQVNnQ0RDQUJLQUlJUmdSQUlBa29BaEJCQkhaQkFYRWhGUXNDUUNBV0tBSVFJakZGRFFBRFFBSkFJQmtvQWtRaUFRUkFJQUVnRFVFQ2RHb29BZ0JGRFFFTElFQkJER29oRTBFQUlURUNRQ0FkS0FJWUlnRkZEUUFnR1NnQ0xDRVFBMEFnSFNnQ0hDQXhRWmdCYkdvaURDZ0NHQ0lMQkVBZ0RFRWNhaUVTSUF3b0FoUWhBU0FNS0FJUUlSZEJBQ0VPQTBBZ0FTQVhiQVJBSUJJZ0RrRWtiR29oRDBFQUlRZ0RRQ0FaSUIwb0FoQWdNU0FQS0FJUUlBOG9BaFFnQ0VFb2JHb2lCeWdDQUNBSEtBSUVJQWNvQWdnZ0J5Z0NEQkE1SVFZZ0J5Z0NGQ0lMSUFjb0FoQWlDbXdoQVFKQUlBWUVRQ0FCUlEwQlFRQWhDZ05BQWtBZ0dTQWRLQUlRSURFZ0R5Z0NFQ0FIS0FJWUlBcEJCblJxSWdZb0FnZ2dCaWdDRENBR0tBSVFJQVlvQWhRUU9VVUVRQ0FHS0FJOElnRkZEUUVnQVJBUUlBWkJBRFlDUEF3QkN5QVpLQUpBUlFSQUlBWW9BandOQVNBR0tBSVFJQVlvQWdoR0RRRWdCaWdDRkNBR0tBSU1SZzBCQzBFQlFTd1FFeUlCUlFSQUlFQkJBRFlDREF3S0N5QVpLQUpBSVFzZ0FVRUFOZ0lrSUFFZ0V6WUNIQ0FCSUFrMkFoUWdBU0FkTmdJUUlBRWdEellDRENBQklBWTJBZ2dnQVNBeE5nSUVJQUVnQ3pZQ0FDQUJJQlUyQWlnZ0FTQXpOZ0lnSUFFZ0VDZ0NCRUVCU2pZQ0dDQVFRUTRnQVJBdElFQW9BZ3hGRFFrTElBcEJBV29pQ2lBSEtBSVVJQWNvQWhCc1NRMEFDd3dCQ3lBQlJRMEFRUUFoRndOQUlBY29BaGdnRjBFR2RHb2lBU2dDUENJR0JFQWdCaEFRSUFGQkFEWUNQQ0FIS0FJUUlRb2dCeWdDRkNFTEN5QVhRUUZxSWhjZ0NpQUxiRWtOQUFzTElBaEJBV29pQ0NBTUtBSVVJZ0VnRENnQ0VDSVhiRWtOQUFzZ0RDZ0NHQ0VMQ3lBT1FRRnFJZzRnQzBrTkFBc2dIU2dDR0NFQkN5QXhRUUZxSWpFZ0FVa05BQXNMSUVBb0FneEZEUUlnRmlnQ0VDRXhDeUFKUWJnSWFpRUpJQjFCekFCcUlSMGdEVUVCYWlJTklERkpEUUFMQzBFQUlURWdHU2dDTEJBZ0lFQW9BZ3hGRFFFQ1FDQVpLQUpBRFFBZ0dTZ0NHQ0lkS0FJUVJRMEFRUUFoQ1FOQUlCa29BaFFvQWdBb0FoUWdDVUhNQUd4cUlnRW9BaHdnSFNnQ0dDQUpRVFJzYWlnQ0pFR1lBV3hxSWdjb0FvZ0JJUVlnQnlnQ2tBRWhDeUFIS0FLTUFTRUtJQWNvQXBRQklRY2dBU2dDTkJBUUlBRkJBRFlDTkFKQUlCa29Ba1FpRFFSQUlBMGdDVUVDZEdvb0FnQkZEUUVMSUFZZ0MwWU5BQ0FISUFwR0RRQWdCeUFLYXlJSHJTQUxJQVpySWdhdGZrSWdpRUlBVWdSQUlETkJBVUdVRmtFQUVBOE1CUXNnQmlBSGJDSUhRWUNBZ0lBRVR3UkFJRE5CQVVHVUZrRUFFQThNQlFzZ0FTQUhRUUowRUJnaUFUWUNOQ0FCRFFBZ00wRUJRWlFXUVFBUUR3d0VDeUFKUVFGcUlna2dHU2dDR0NJZEtBSVFTUTBBQ3dzZ0dTZ0NJQ0VkSUJrb0FoUW9BZ0FpRnlnQ0VBUkFJQmNvQWhRaENTQWRLQUxRS3lFZElCa29BaGdvQWhnaERVRUFJUXNEUUFKQUlCa29Ba1FpQVFSQUlBRWdDMEVDZEdvb0FnQkZEUUVMSUEwb0FpUkJBV29oQVNBZEtBSVVRUUZHQkVBZ0FTRWVRUUFoQmtFQUlRejlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhnQUVqQUVFZ2F5SWxKQUFDUUFKQUlCa29Ba0FFUUVFQklRY2dBVUVCUmcwQ0lBa29BaHdpRENBSktBSVlRWmdCYkdvaUFVR1FBV3NvQWdBaUVDQUJRWmdCYXlnQ0FDSVRSZzBDSUF3b0FnUWhFU0FNS0FJTUlSZ2dEQ2dDQUNFYUlBd29BZ2doR3lBWktBSXNJZzRvQWdRaEZpQWVRUUZySWdvaEZTQU1JUWNDUUNBS1FRUlBCRUFnQ2tFRGNTRVZJQWNnQ2tGOGNTSUlRWmdCYkdvaEIwRUFJUUVEUUNDQUFTQU1JQUZCbUFGc2FpSUdRZWdFYWlBR1FkQURhaUFHUWJnQ2FpQUcvUWtDb0FIOVZnSUFBZjFXQWdBQy9WWUNBQU1nQmtIZ0JHb2dCa0hJQTJvZ0JrR3dBbW9nQnYwSkFwZ0IvVllDQUFIOVZnSUFBdjFXQWdBRC9iRUIvYmtCSUFaQjdBUnFJQVpCMUFOcUlBWkJ2QUpxSUFiOUNRS2tBZjFXQWdBQi9WWUNBQUw5VmdJQUF5QUdRZVFFYWlBR1Fjd0RhaUFHUWJRQ2FpQUcvUWtDbkFIOVZnSUFBZjFXQWdBQy9WWUNBQVA5c1FIOXVRRWhnQUVnQVVFRWFpSUJJQWhIRFFBTElJQUJJSUFCSUlBQi9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9ia0JJb0FCSUlBQklJQUIvUTBFQlFZSEFBRUNBd0FCQWdNQUFRSUQvYmtCL1JzQUlRWWdDQ0FLUmcwQkN3TkFJQVlnQnlnQ29BRWdCeWdDbUFGcklnRWdBU0FHU1JzaUFTQUhLQUtrQVNBSEtBS2NBV3NpQmlBQklBWkxHeUVHSUFkQm1BRnFJUWNnRlVFQmF5SVZEUUFMQzBFQUlRY2dCa0gvLy84L1N3MENJQ1VnQmtFRmRDSVNFREVpRHpZQ0VDQVBSUTBDSUNVZ0R6WUNBQ0FLQkVBZ0VDQVRheUVRSUJnZ0VXc2hDQ0FiSUJwcklRRURRQ0FKS0FJa0lSTWdKU0FJSWhVMkFnZ2dKU0FCSWdjMkFoZ2dEQ2dDbkFFaEJpQU1LQUtrQVNFSUlBd29BcUFCSVFFZ0pTQU1LQUtZQVNJUlFRSnZOZ0ljSUNVZ0FTQVJheUlCSUFkck5nSVVBa0FnRmtFQ1NDSWFSU0FJSUFacklnaEJBVXR4UlFSQVFRQWhCaUFJUlEwQkEwQWdKVUVRYWlBVElBWWdFR3hCQW5ScUVGMGdCa0VCYWlJR0lBaEhEUUFMREFFTElBZ2dGaUFJSUJaSkd5SVJRUUZySVJzZ0NDQVJiaUVZUVFBaEJ3TkFRU1FRRkNJR1JRMEZJQ1g5QUFJUUlZQUJJQVlnRXpZQ0dDQUdJQkEyQWhRZ0JpQUJOZ0lRSUFZZ2dBSDlDd0lBSUFZZ0J5QVliRFlDSENBSElCdEdJUjhnQmlBSUlBZEJBV29pQnlBWWJDQWZHellDSUNBR0lCSVFNU0lmTmdJQUlCOUZCRUJCQUNFSElBNFFJQ0FHRUJBZ0R4QVFEQWNMSUE1QkNpQUdFQzBnQnlBUlJ3MEFDeUFPRUNBTElDVWdDQ0FWYXpZQ0JDQWxJQXdvQXB3QlFRSnZOZ0lNQWtBZ0drVWdBVUVCUzNGRkJFQkJDQ0VIUVFBaEJpQUJRUWhQQkVBRFFDQWxJQk1nQmtFQ2RHb2dFRUVJRURBZ0J5SUdRUWhxSWdjZ0FVME5BQXNMSUFFZ0JrME5BU0FsSUJNZ0JrRUNkR29nRUNBQklBWnJFREFNQVFzZ0FTQVdJQUVnRmtrYkloVkJBV3NoR0NBQklCVnVJUkZCQUNFSEEwQkJKQkFVSWdaRkRRVWdKZjBBQWdBaGdBRWdCaUFUTmdJWUlBWWdFRFlDRkNBR0lBZzJBaEFnQmlDQUFmMExBZ0FnQmlBSElCRnNOZ0ljSUFjZ0dFWWhHaUFHSUFFZ0IwRUJhaUlISUJGc0lCb2JOZ0lnSUFZZ0VoQXhJaG8yQWdBZ0drVUVRRUVBSVFjZ0RoQWdJQVlRRUNBUEVCQU1Cd3NnRGtFTElBWVFMU0FISUJWSERRQUxJQTRRSUFzZ0RFR1lBV29oRENBS1FRRnJJZ29OQUFzTFFRRWhCeUFQRUJBTUFndEJBU0VISUFrb0Fod2lDQ0FlUVpnQmJHb2lOVUdZQVdzaVh5Z0NBQ0ExUVpBQmF5Z0NBRVlOQVNBMVFaUUJheUpnS0FJQUlEVkJqQUZyS0FJQVJnMEJJQWdvQWdRaERpQUlLQUlNSVE4Z0NDZ0NBQ0VXSUFnb0FnZ2hFQ0FKS0FKRUlTRWdDU2dDUUNFaUlBa29BandoS0NBSktBSTRJVEFnQ1NBZUVGd2lPVVVFUUVFQUlRY01BZ3NDUUFKQUlCNUJBVWNFUUFKQUFrQWdIa0VCYXlJS1FRUkpCRUFnQ2lFQklBZ2hCd3dCQ3lBS1FRTnhJUUVnQ0NBS1FYeHhJaFZCbUFGc2FpRUhBMEFnZ0FFZ0NDQU1RWmdCYkdvaUJrSG9CR29nQmtIUUEyb2dCa0c0QW1vZ0J2MEpBcUFCL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQVpCNEFScUlBWkJ5QU5xSUFaQnNBSnFJQWI5Q1FLWUFmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQS8yeEFmMjVBU0FHUWV3RWFpQUdRZFFEYWlBR1Fid0NhaUFHL1FrQ3BBSDlWZ0lBQWYxV0FnQUMvVllDQUFNZ0JrSGtCR29nQmtITUEyb2dCa0cwQW1vZ0J2MEpBcHdCL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvYkVCL2JrQklZQUJJQXhCQkdvaURDQVZSdzBBQ3lDQUFTQ0FBU0NBQWYwTkNBa0tDd3dORGc4QUFRSURBQUVDQS8yNUFTS0FBU0NBQVNDQUFmME5CQVVHQndBQkFnTUFBUUlEQUFFQ0EvMjVBZjBiQUNFR0lBb2dGVVlOQVFzRFFDQUdJQWNvQXFBQklBY29BcGdCYXlJS0lBWWdDa3NiSWdZZ0J5Z0NwQUVnQnlnQ25BRnJJZ29nQmlBS1N4c2hCaUFIUVpnQmFpRUhJQUZCQVdzaUFRMEFDd3NnQmtHQWdJQ0FBVThOQWlBR1FRUjBFREVpRkVVTkFnSkFJQjVGRFFBZ0R5QU9heUVTSUJBZ0Ztc2hHaUFVUVFScklUc2dGRUVFYWlFa0lCUkJER29oS1NBVVFSeHFJVU1nRkVFWWFpRWZJQlJCRkdvaElDQVVRUXhySVVRZ0ZFRUlhaUVxSUJSQkVHb2hOaUFVUVJCcklUY2dGRUVJYXlGQklDR3RJWVlCSUNLdElZY0JJQ2l0SVlvQklEQ3RJWXNCUVFFaFJnTkFJQWdvQXB3QklnRkJBbThoUnlBSUtBS1lBU0lIUVFKdklUd2dDQ2dDcEFFZ0FXc2lKeUFTYXlFc0lBZ29BcUFCSUFkcklpMGdHbXNoTGlBd0lnd2hCeUFvSWdZaENpQWlJZ0VoT2lBaElnOGhFUUpBSUFrb0FoUWlGU0JHUmcwQUlCVWdSbXNoRlVFQUlRcEJBQ0VISUF3RVFFSi9JQld0SW9nQmhrSi9oU0NMQVh3Z2lBR0lweUVIQ3lBb0JFQkNmeUFWclNLSUFZWkNmNFVnaWdGOElJZ0JpS2NoQ2d0QkFDRVBRUUFoQVNBaUJFQkNmeUFWclNLSUFZWkNmNFVnaHdGOElJZ0JpS2NoQVFzZ0lRUkFRbjhnRmEwaWlBR0dRbitGSUlZQmZDQ0lBWWluSVE4TFFRQWhPa0VBSVF4QkFTQVZRUUZyZENJT0lEQkpCRUFnTUNBT2E2MUNmeUFWclNLSUFZWkNmNFY4SUlnQmlLY2hEQXNnRGlBaVNRUkFJQ0lnRG11dFFuOGdGYTBpaUFHR1FuK0ZmQ0NJQVlpbklUb0xRUUFoRVVFQUlRWWdEaUFvU1FSQUlDZ2dEbXV0UW44Z0ZhMGlpQUdHUW4rRmZDQ0lBWWluSVFZTElBNGdJVThOQUNBaElBNXJyVUovSUJXdElvZ0Joa0ovaFh3Z2lBR0lweUVSQzBGL0lEb2dDQ2dDdEFFaUZXc2lEa0VBSUE0Z09rMGJJZzVCQW1vaUZpQU9JQlpMR3lJT0lDNGdEaUF1U1JzaU5FRi9JQUVnQ0NnQzJBRWlFMnNpRGtFQUlBRWdEazhiSWdGQkFtb2lEaUFCSUE1TEd5SUJJQm9nQVNBYVNSc2lKaUE4RzBFQmRDSUJJQ1lnTkNBOEcwRUJkRUVCY2lJT0lBRWdEa3NiSWtnZ0xVa2hHQ0FNSUJWcklnRkJBQ0FCSUF4Tkd5SUJRUUpySWd4QkFDQUJJQXhQR3lJUUlBY2dFMnNpQVVFQUlBRWdCMDBiSWdGQkFtc2lERUVBSUFFZ0RFOGJJaFlnUEJ0QkFYUWlEQ0FXSUJBZ1BCdEJBWFJCQVhJaUswa2hMeUFLSUFnb0FyZ0JJaHRySWhWQkFDQUtJQlZQR3lJS1FRSnJJaFZCQUNBS0lCVlBHeUlWSVNNZ0JpQUlLQUxjQVNJS2F5SU9RUUFnQmlBT1R4c2lCa0VDYXlJT1FRQWdCaUFPVHhzaURpRTlRWDhnRHlBYmF5SUdRUUFnQmlBUFRSc2lCa0VDYWlJUElBWWdEMHNiSWdZZ0VpQUdJQkpKR3lJYklUNUJmeUFSSUFwcklnWkJBQ0FHSUJGTkd5SUdRUUpxSWdvZ0JpQUtTeHNpQmlBc0lBWWdMRWtiSWh3aFB5QkhCRUFnRlNFOUlCd2hQaUFiSVQ4Z0RpRWpDeUJJSUMwZ0dCc2hTU0FNSUNzZ0x4c2hHQ0FTSUJ4cUlWQWdEaUFTYWlGUklDY0VRQ0FVSUJaQkEzUWlCbW9pUlVFRWFpQTdJQzVCQTNRaUNtb2lVaUFXSUM1SUlnd2JJVk1nQmlBa2FpSUdJQ1lnTGlBbUlDNUlHeUlQSUFjZ0V5QUhJQk5KRzBFQ0lBRWdBVUVDVHh0cUlnRnFJaE1nQjJ0QkFtc2lFVUVEZENJcmFpQUdTU0FwSUFjZ0FXdEJBM1JxSWdFZ0syb2dBVWx5SUJGQi8vLy8vd0ZMY2lGVUlEUWdHa0VCYXlBYUlEUktHeUV2UVFBaEVTQWFRUUZLSUM1QkFFcHlJVlVnSkNBOFFRSjBJZ0ZySUJCQkEzUnFJVllnQVNCRmFpRlhJQllnQjBGL2N5QVRhaUpLUVh4eElqSnFJVGdnRmtFQmFpSVRJREpxSVVJZ0dpQTBhaUZZSUJBZ0dtb2hXU0FXL1JIOURBQUFBQUFCQUFBQUFnQUFBQU1BQUFEOXJnRWhnd0VnRkNBWVFRSjBhaUZhSUVFZ0drRURkQ0lCYWlGTElBRWdPMm9oVENBS0lFRnFJVTBnR2tVZ0xrRUJSbkVoV3lBVUlFbEJBblFpQVdvaFhDQUJJRHRxSVYwZ0UvMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVlRQklEc2dGaUF1SUF3YlFRTjBhaUZlQTBBQ1FBSkFJQkVnRzBrZ0VTQVZUM0VOQUNBUklGQkpJQkVnVVU5eERRQWdFVUVCYWlFckRBRUxJQzBnU0VzRVFDQmRRUUEyQWdBZ1hFRUFOZ0lBQ3lBNUlCWWdFU0FtSUJGQkFXb2lLeUJYUVFKQkFCQWVJRGtnV1NBUklGZ2dLeUJXUVFKQkFCQWVBa0FDUUFKQUlEeEZCRUFnVlVVTkF5QVdJQ1pPRFFJQ1FBSkFJQlpCQUVvRVFDQmVLQUlBSVFjTUFRc2dKQ2dDQUNJSElRRWdGa0VBU0EwQkN5QUhJUUVnVXlnQ0FDRUhDeUJGSUVVb0FnQWdBU0FIYWtFQ2FrRUNkV3MyQWdBZ0V5SUhJQTlPRFFGQkFDRUhJSVFCSVlBQklJTUJJWUlCSUJNaEFTQVdJUW9nU2tFVVNTQlVja1VFUUFOQUlCUWdnQUZCQWYyckFTS0JBZjBiQUVFQ2RHb2lBU0FVSUlFQi9Sc0RRUUowYWlJR0lCUWdnUUg5R3dKQkFuUnFJZ29nRkNDQkFmMGJBVUVDZEdvaURDQUIvUWtDQVAxV0FnQUIvVllDQUFMOVZnSUFBeUFVSUlJQlFRSDlxd0g5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNLRkFmMGJBMEVDZEdvZ0ZDQ0ZBZjBiQWtFQ2RHb2dGQ0NGQWYwYkFVRUNkR29nRkNDRkFmMGJBRUVDZEdyOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRElCUWdnUUg5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNLQkFmMGJBMEVDZEdvZ0ZDQ0JBZjBiQWtFQ2RHb2dGQ0NCQWYwYkFVRUNkR29nRkNDQkFmMGJBRUVDZEdyOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRC9hNEIvUXdDQUFBQUFnQUFBQUlBQUFBQ0FBQUEvYTRCUVFMOXJBSDlzUUVpZ1FIOVdnSUFBQ0FNSUlFQi9Wb0NBQUVnQ2lDQkFmMWFBZ0FDSUFZZ2dRSDlXZ0lBQXlDQ0FmME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0dDQVNDQUFmME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0dBQVNBSFFRUnFJZ2NnTWtjTkFBc2dRaUVCSURnaENpQVBJUWNnTWlCS1JnMENDd05BSUJRZ0FVRURkR29pQnlBSEtBSUFJQlFnQ2tFRGRHb29BZ1FnQnlnQ0JHcEJBbXBCQW5Wck5nSUFJQUVpQ2tFQmFpSUJJQTlIRFFBTElBOGhCd3dCQ3dKQUlGdEZCRUFnRmlJSElDWk9EUUVEUUNBVUlBZEJBM1JxSWdFb0FnUWhCaUFCSUFZQ2Z3SkFJQWRCQUU0RVFDQUJJRTBnQnlBdVNCc29BZ0FoT2lBSFFRRnFJUUVNQVFzZ0ZDZ0NBQ0U2UVFBaEFTQVVJQWRCQVdvaUJ3MEJHZ3NnQVNBdVRnUkFJQUVoQnlCTkRBRUxJQlFnQVNJSFFRTjBhZ3NvQWdBZ09tcEJBbXBCQW5Wck5nSUVJQWNnSmtnTkFBc01BUXNnRkNBVUtBSUFRUUp0TmdJQURBTUxJQkFpQnlBMFRnMENBMEFnRkNBSFFRTjBhaUlCS0FJQUlRb0NmeUFIUVFCSUJFQWdKQ2dDQUNFR0lDUU1BUXNnRkNBSFFRTjBha0VFYWlCTUlBY2dHa2diS0FJQUlRWWdKQ0FIUlEwQUdpQk1JQUZCQkdzZ0J5QWFTaHNMSVF3Z0FTQU1LQUlBSUFacVFRRjFJQXBxTmdJQUlBZEJBV29pQnlBMFJ3MEFDd3dDQ3lBSElDWk9EUUFEUUNBVUlBZEJBM1JxSWdFZ0FTZ0NBQUovQWtBZ0IwRUFTZ1JBSURzZ0J5QXVJQWNnTGtnYlFRTjBhaWdDQUNFS0RBRUxJQ1FvQWdBaENpQWtJQWRCQUVnTkFSb0xJRklnQnlBdVRnMEFHaUFVSUFkQkEzUnFRUVJxQ3lnQ0FDQUtha0VDYWtFQ2RXczJBZ0FnQjBFQmFpSUhJQ1pIRFFBTEN5QVFJRFJPRFFBZ0x5QVFJZ0VpQjBvRVFBTkFJQlFnQjBFRGRHb2lBU0FCS0FJRUlCUWdCMEVCYWlJSFFRTjBhaWdDQUNBQktBSUFha0VCZFdvMkFnUWdCeUF2UncwQUN5QXZJUUVMSUFFZ05FNE5BQU5BQW44Q1FDQUJJZ2RCQUU0RVFDQVVJQUZCQTNScUlFc2dBU0FhU0Jzb0FnQWhEQ0FCUVFGcUlRb01BUXNnRkNnQ0FDRU1RUUFoQ2lBVUlBZEJBV29pQVEwQkdnc2dDaUFhVGdSQUlBb2hBU0JMREFFTElCUWdDaUlCUVFOMGFnc2hCaUFVSUFkQkEzUnFJZ2NnQnlnQ0JDQUdLQUlBSUF4cVFRRjFhallDQkNBQklEUklEUUFMQ3lBNUlCZ2dFU0JKSUNzZ1drRUJRUUJCQUJBbVJRMEdDeUFySWhFZ0owY05BQXNMSUFoQm1BRnFJUWdnUGtFQmRDSUJJRDlCQVhSQkFYSWlCeUFCSUFkTEd5SUJJQ2NnQVNBblNSc2hTQ0JESUJWQkJYUWlBV29nT3lBc1FRVjBJZ2RxSUJVZ0xFZ2lCaHNoU2lBQklCOXFJQWNnUVdvZ0Joc2hTeUFCSUNCcUlBY2dSR29nQmhzaFRDQUJJRFpxSUFjZ04yb2dCaHNoVFNBY0lCSkJBV3NnRWlBY1Noc2hEQ0FzUVFCS0lnOGdFa0VCU25JaFVpQUJJQlJxSWlzZ1IwRUVkR29oVXlBcElCSkJBM1FpR2tFSWF5SStRUUFnRWtFQVRCdEJBblFpQ21vaFZDQUtJQ3BxSVZVZ0NpQWthaUZXSUFvZ0ZHb2hWeUFwUVFBZ0xFRURkQ0lLUVFocklqOGdEeHRCQW5RaUQyb2hXQ0FQSUNwcUlWa2dEeUFrYWlGYUlBOGdGR29oV3lBVVFRUWdSMEVDZEd0QkFuUnFJQTVCQlhScUlWd2dHeUFzSUJzZ0xFZ2JJUThnRlVFQmFpRVFJQlFnSTBFQmRDSVdJRDFCQVhSQkFYSWlFeUFUSUJaTEd5SmRRUVIwYWlGZUlBRWdLV29oUFNBQklDcHFJU01nQVNBa2FpRXZJQnBCQVdzaE9DQWFRUUpySVVJZ0drRURheUV1SUJRZ0VrRUZkR29oWVNBYVFRUnJJVFFnQ2tFRmF5RmlJQXBCQm1zaFl5QUtRUWRySVdRZ0VrVWdMRUVCUm5FaFpTQXBJQWRCRUdzaUFXb2hKaUFCSUNwcUlUb2dBU0FrYWlFOElBRWdGR29oUlNBcElENUJBblFpQVdvaGFDQUJJQ3BxSVdrZ0FTQWthaUZxSUFFZ0ZHb2hheUE3SUJVZ0xDQUdHMEVGZENJQmFpRnNJQUVnUVdvaEV5QUJJRVJxSVJFZ0FTQTNhaUZ0SUNrZ1AwRUNkQ0lCYWlGdUlBRWdLbW9oYnlBQklDUnFJWEFnQVNBVWFpRnhBMEFDUUFKQUFuOENRQ0FZSWhZZ1NVa0VRQ0E1SUJZZ0ZVRUVJRWtnRm1zaUFTQUJRUVJQR3lBV2FpSVlJQnNnVTBFQlFRZ1FIaUE1SUJZZ1VTQVlJRkFnWEVFQlFRZ1FIaUJIUlFSQUlGSkZEUVVnRlNBYlRnMEVBbjhnRlVFQVNnUkFJRzBvQWdBaEJ5QVRJUVlnRVNFS0lHd01BUXNnTmlnQ0FDRUhJQlZCQUVnTkF5QWZJUVlnSUNFS0lFTUxJWGtnS3lBcktBSUFJQWNnVFNnQ0FHcEJBbXBCQW5Wck5nSUFJQzhnTHlnQ0FDQUtLQUlBSUV3b0FnQnFRUUpxUVFKMWF6WUNBQ0FqSUNNb0FnQWdCaWdDQUNCTEtBSUFha0VDYWtFQ2RXczJBZ0FnU2lnQ0FDRUhJSGtvQWdBTUF3c2daUVJBSUJRZ0ZDZ0NBRUVDYlRZQ0FDQWtJQ1FvQWdCQkFtMDJBZ0FnS2lBcUtBSUFRUUp0TmdJQUlDa2dLU2dDQUVFQ2JUWUNBQXdGQ3lBYklCVWlCMG9FUUFOQUlBZEJBM1FoQVFKL0FrQWdCMEVBU0FSQUlBZEJmMFlOQVNBVUlBRkJBblJxSWdFZ0FTZ0NFQ0FVS0FJQVFRRjBRUUpxUVFKMWF6WUNFQ0FCSUFFb0FoUWdKQ2dDQUVFQmRFRUNha0VDZFdzMkFoUWdBU0FCS0FJWUlDb29BZ0JCQVhSQkFtcEJBblZyTmdJWUlDa29BZ0JCQVhSQkFtb2hCaUFCUVJ4cURBSUxJQ3dnQjBFQmFpSUdUQVJBSUJRZ0FVRUNkR29pQ2lBS0tBSVFJQlFnQVNBL0lBY2dMRWdpQmh0QkFuUnFLQUlBSUhFb0FnQnFRUUpxUVFKMWF6WUNFQ0FLSUFvb0FoUWdGQ0FCUVFGeUlHUWdCaHRCQW5ScUtBSUFJSEFvQWdCcVFRSnFRUUoxYXpZQ0ZDQUtJQW9vQWhnZ0ZDQUJRUUp5SUdNZ0JodEJBblJxS0FJQUlHOG9BZ0JxUVFKcVFRSjFhellDR0NBVUlBRkJBM0lnWWlBR0cwRUNkR29vQWdBZ2JpZ0NBR3BCQW1vaEJpQUtRUnhxREFJTElCUWdBVUVDZEdvaUFTQUJLQUlRSUFFb0FnQWdGQ0FHUVFWMGFpSUdLQUlBYWtFQ2FrRUNkV3MyQWhBZ0FTQUJLQUlVSUFFb0FnUWdCaWdDQkdwQkFtcEJBblZyTmdJVUlBRWdBU2dDR0NBQktBSUlJQVlvQWdocVFRSnFRUUoxYXpZQ0dDQUJLQUlNSUFZb0FneHFRUUpxSVFZZ0FVRWNhZ3dCQ3lBM0lEY29BZ0FnRkNnQ0FDQmJLQUlBYWtFQ2FrRUNkV3MyQWdBZ1JDQkVLQUlBSUNRb0FnQWdXaWdDQUdwQkFtcEJBblZyTmdJQUlFRWdRU2dDQUNBcUtBSUFJRmtvQWdCcVFRSnFRUUoxYXpZQ0FDQXBLQUlBSUZnb0FnQnFRUUpxSVFZZ093c2lBU0FCS0FJQUlBWkJBblZyTmdJQUlBZEJBV29pQnlBYlJ3MEFDd3NnSENBT0lnZE1EUVFEUUNBSFFRTjBJUUVDZnlBSFFRQklCRUFnRkNBQlFRSjBhaUlCSUFFb0FnQWdOaWdDQUVFQmRFRUJkV28yQWdBZ0FTQUJLQUlFSUJRb0FoUkJBWFJCQVhWcU5nSUVJQUVnQVNnQ0NDQVVLQUlZUVFGMFFRRjFhallDQ0NBVUtBSWNRUUYwSVFvZ0FVRU1hZ3dCQ3lBSEJFQWdGQ0FCUVFKMGFpSUdJQVlvQWdBZ1lTQUdJQWNnRWtvaU1odEJFR3NvQWdBZ0ZDQUJRUVJ5SURRZ0J5QVNTQ0lLRzBFQ2RHb29BZ0JxUVFGMWFqWUNBQ0FHSUFZb0FnUWdSQ0FhSUFFZ01odEJBblFpTW1vb0FnQWdGQ0FCUVFWeUlDNGdDaHRCQW5ScUtBSUFha0VCZFdvMkFnUWdCaUFHS0FJSUlESWdRV29vQWdBZ0ZDQUJRUVp5SUVJZ0NodEJBblJxS0FJQWFrRUJkV28yQWdnZ01pQTdhaWdDQUNBVUlBRkJCM0lnT0NBS0cwRUNkR29vQWdCcUlRb2dCa0VNYWd3QkN5QVVJQlFvQWdBZ05pZ0NBQ0FVUVFRZ05DQUhJQkpJSWdFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUNRZ0pDZ0NBQ0FVS0FJVUlCUkJCU0F1SUFFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUNvZ0tpZ0NBQ0FVS0FJWUlCUkJCaUJDSUFFYlFRSjBhaWdDQUdwQkFYVnFOZ0lBSUJRb0Fod2dGRUVISURnZ0FSdEJBblJxS0FJQWFpRUtJQ2tMSWdFZ0FTZ0NBQ0FLUVFGMWFqWUNBQ0FIUVFGcUlnY2dIRWNOQUFzTUJBc2dMU0VhSUNjaEVpQkdRUUZxSWtZZ0hrY05CUXdHQ3lBcklDc29BZ0FnQjBFQmRFRUNha0VDZFdzMkFnQWdMeUF2S0FJQUlDQW9BZ0JCQVhSQkFtcEJBblZyTmdJQUlDTWdJeWdDQUNBZktBSUFRUUYwUVFKcVFRSjFhellDQUNCREtBSUFJZ2NMSVFFZ1BTQTlLQUlBSUFFZ0IycEJBbXBCQW5Wck5nSUFJQlVoQmlBUUlnRWlCeUFQU0FSQUEwQWdGQ0FCUVFWMGFpSUhJQWY5QUFJQUlEWWdCa0VGZEdyOUFBSUFJQWY5QUFJUS9hNEIvUXdDQUFBQUFnQUFBQUlBQUFBQ0FBQUEvYTRCUVFMOXJBSDlzUUg5Q3dJQUlBRWlCa0VCYWlJQklBOUhEUUFMSUE4aEJ3c2dCeUFiVGcwQUEwQWdCMEVEZENFQklBY2dMRWdoQmdKQUlBZEJBRXdFUUNBMktBSUFJUW9nQjBFQVRnUkFJQlFnQVVFQ2RDSUJhaUl5SURJb0FnQWdDaUFCSURacUlFVWdCaHNvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ1JxSWdvZ0NpZ0NBQ0FnS0FJQUlBRWdJR29nUENBR0d5Z0NBR3BCQW1wQkFuVnJOZ0lBSUFFZ0ttb2lDaUFLS0FJQUlCOG9BZ0FnQVNBZmFpQTZJQVliS0FJQWFrRUNha0VDZFdzMkFnQWdReWdDQUNBQklFTnFJQ1lnQmhzb0FnQnFRUUpxSVFZZ0FTQXBhaUVCREFJTElCUWdBVUVDZENJQmFpSUdJQVlvQWdBZ0NrRUJkRUVDYWtFQ2RXczJBZ0FnQVNBa2FpSUdJQVlvQWdBZ0ZDZ0NGRUVCZEVFQ2FrRUNkV3MyQWdBZ0FTQXFhaUlHSUFZb0FnQWdGQ2dDR0VFQmRFRUNha0VDZFdzMkFnQWdBU0FwYWlFQklCUW9BaHhCQVhSQkFtb2hCZ3dCQ3lBVUlBY2dMQ0FHRzBFRGRFRUVhMEVDZENJS2FpZ0NBQ0V5SUFaRkJFQWdGQ0FCUVFKMElnRnFJZ1lnQmlnQ0FDQXlJRVVvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ1JxSWdZZ0JpZ0NBQ0FLSUNScUtBSUFJRHdvQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ3BxSWdZZ0JpZ0NBQ0FLSUNwcUtBSUFJRG9vQWdCcVFRSnFRUUoxYXpZQ0FDQUJJQ2xxSVFFZ0NpQXBhaWdDQUNBbUtBSUFha0VDYWlFR0RBRUxJQlFnQVVFQ2RDSUJhaUlHSUFZb0FnQWdNaUFHS0FJUWFrRUNha0VDZFdzMkFnQWdBU0FrYWlJR0lBWW9BZ0FnQ2lBa2FpZ0NBQ0FHS0FJUWFrRUNha0VDZFdzMkFnQWdBU0FxYWlJR0lBWW9BZ0FnQ2lBcWFpZ0NBQ0FHS0FJUWFrRUNha0VDZFdzMkFnQWdDaUFwYWlnQ0FDQUJJQ2xxSWdFb0FoQnFRUUpxSVFZTElBRWdBU2dDQUNBR1FRSjFhellDQUNBSFFRRnFJZ2NnRzBjTkFBc0xJQTRnSEU0TkFDQU1JQTRpQVNJSFNnUkFBMEFnRkNBQlFRVjBhaUlISUFmOUFBSWdJQWY5QUFJQS9hNEJRUUg5ckFFZ0IvMEFBaEQ5cmdIOUN3SVFJQUZCQVdvaUFTQU1SdzBBQ3lBTUlRY0xJQWNnSEU0TkFBTkFJRU1nQjBFRGRDSUJRUUowYWlJeUFuOGdCMEVBU0FSQUlCUW9BZ0FoQmlBSFFYOUhCRUFnTmlBQlFRSjBJZ0ZxSWdvZ0NpZ0NBQ0FHYWpZQ0FDQUJJQ0JxSWdZZ0JpZ0NBQ0FrS0FJQWFqWUNBQ0FCSUI5cUlnRWdBU2dDQUNBcUtBSUFhallDQUNBcEtBSUFEQUlMSURZZ0FVRUNkQ0lCYWlJS0lBb29BZ0FnVnlnQ0FDQUdha0VCZFdvMkFnQWdBU0FnYWlJR0lBWW9BZ0FnVmlnQ0FDQWtLQUlBYWtFQmRXbzJBZ0FnQVNBZmFpSUJJQUVvQWdBZ1ZTZ0NBQ0FxS0FJQWFrRUJkV28yQWdBZ1ZDZ0NBQ0FwS0FJQWFrRUJkUXdCQ3lBQklENGdCeUFTU0JzaEJpQVNJQWRCQVdvaVprd0VRQ0EySUFGQkFuUWlDbW9pQVNBQktBSUFJR3NvQWdBZ0ZDQUdRUUowYWlJQktBSUFha0VCZFdvMkFnQWdDaUFnYWlJR0lBWW9BZ0FnYWlnQ0FDQUJLQUlFYWtFQmRXbzJBZ0FnQ2lBZmFpSUdJQVlvQWdBZ2FTZ0NBQ0FCS0FJSWFrRUJkV28yQWdBZ2FDZ0NBQ0FCS0FJTWFrRUJkUXdCQ3lBMklBRkJBblFpQ21vaUFTQUJLQUlBSUJRZ1prRUZkR29pQVNnQ0FDQVVJQVpCQW5ScUlnWW9BZ0JxUVFGMWFqWUNBQ0FLSUNCcUltWWdaaWdDQUNBQktBSUVJQVlvQWdScVFRRjFhallDQUNBS0lCOXFJZ29nQ2lnQ0FDQUJLQUlJSUFZb0FnaHFRUUYxYWpZQ0FDQUJLQUlNSUFZb0FneHFRUUYxQ3lBeUtBSUFhallDQUNBSFFRRnFJZ2NnSEVjTkFBc0xJRGtnRmlCZElCZ2dTQ0JlUVFGQkJFRUFFQ1lOQUFzTERBSUxJQlFRRUVFQklRY0xJRGtnTlVFUWF5Z0NBQ0lCSUY4b0FnQWlCbXNnTlVFTWF5Z0NBQ0JnS0FJQUlncHJJRFZCQ0dzb0FnQWlDQ0FHYXlBMVFRUnJLQUlBSUFwcklBa29BalJCQVNBSUlBRnJFQjRnT1JBakRBTUxJRGtRSXlBVUVCQkJBQ0VIREFJTElEa1FJMEVBSVFjTUFRdEJBQ0VISUE0UUlDQVBFQkFMSUNWQklHb2tBQ0FIRFFFTUJRc2dBU0VJUVFBaER2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDR0FBU01BUVVCcUlod2tBQUpBQW44Q1FDQVpLQUpBQkVBZ0NTZ0NIQ0lWSUFrb0FoaEJtQUZzYWlJQlFaZ0JheWdDQUNFYUlBRkJrQUZyS0FJQUlSc2dGU2dDQkNFTUlCVW9BZ3doZWlBVktBSUFJUkFnRlNnQ0NDRVRRUUVoQnlBWktBSXNJaDhvQWdRaEt5QUlRUUZHRFFOQkFDRUdJQWhCQVdzaUZpRUlJQlVoQVFKQUlCWkJCRThFUUNBV1FRTnhJUWdnQVNBV1FYeHhJZ3BCbUFGc2FpRUJRUUFoQndOQUlJQUJJQlVnQjBHWUFXeHFJZ1pCNkFScUlBWkIwQU5xSUFaQnVBSnFJQWI5Q1FLZ0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBR1FlQUVhaUFHUWNnRGFpQUdRYkFDYWlBRy9Ra0NtQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlzUUg5dVFFZ0JrSHNCR29nQmtIVUEyb2dCa0c4QW1vZ0J2MEpBcVFCL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQVpCNUFScUlBWkJ6QU5xSUFaQnRBSnFJQWI5Q1FLY0FmMVdBZ0FCL1ZZQ0FBTDlWZ0lBQS8yeEFmMjVBU0dBQVNBSFFRUnFJZ2NnQ2tjTkFBc2dnQUVnZ0FFZ2dBSDlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDl1UUVpZ0FFZ2dBRWdnQUg5RFFRRkJnY0FBUUlEQUFFQ0F3QUJBZ1A5dVFIOUd3QWhCaUFLSUJaR0RRRUxBMEFnQmlBQktBS2dBU0FCS0FLWUFXc2lCeUFHSUFkTEd5SUhJQUVvQXFRQklBRW9BcHdCYXlJR0lBWWdCMGtiSVFZZ0FVR1lBV29oQVNBSVFRRnJJZ2dOQUFzTFFRQWhCeUFHUWYvLy96OUxEUU1nSENBR1FRVjBJa1lRR0NJQk5nSWdJQUZGRFFNZ0hDQUJOZ0lBSUJaRkJFQkJBU0VISUFFUUVBd0VDeUI2SUF4cklROGdFeUFRYXlFT1FRSWdLMEVCZGlJQklBRkJBazBiSVVjZ0NTZ0NKQ0lLSUJ0QkhHd2lUU0FhUVJ4c0lsOXJhaUV2SUFvZ0cwRVliQ0pnSUJwQkdHd2lVbXRxSVQwZ0NpQWJRUlJzSWxNZ0drRVViQ0pVYTJvaFBpQUtJQnRCQkhRaVZTQWFRUVIwSWxacmFpRS9JQW9nRzBFTWJDSlhJQnBCREd3aVdHdHFJVGdnR3lBYWF5SVFRUWRzSVVrZ0VFRUdiQ0ZGSUJCQkJXd2hNaUFRUVFOc0lVZ2dFRUVCZENGUUlBb2dFRUVEZENKUmFpRkNJQW9nRUVFQ2RDSkJhaUVVSUJCQkJYUWhXU0FRL1JFaGhBRURRQ0FjSUE4MkFnZ2dIQ0FPSWdFMkFpZ2dGU2dDbkFFaEpDQVZLQUtrQVNFcElCVW9BcUFCSVI0Z0ZTZ0NtQUVoSUNBY1FRQTJBamdnSENBQk5nSTBJQnhCQURZQ01DQWNJQ0JCQW04aUdEWUNMQ0FjSUI0Z0lHc2lEaUFCYXlJVE5nSThJQndnRXpZQ0pBSkFJQ3RCQWtnaVdrVWdLU0FrYXlJUFFROUxjVVVFUUVFQUlRY2dDaUVHSUE5QkNFa05BU0EvSUFZZ1V5QWVRUUowSWdGcUlGUWdJRUVDZENJSWFtdHFJanBKSUQ0Z0JpQUJJRlZxSUFnZ1ZtcHJhaUpEU1hFZ1BTQkRTU0EvSUFZZ0FTQmdhaUFJSUZKcWEyb2lQRWx4Y2lBdklFTkpJRDhnQmlBQklFMXFJQWdnWDJwcmFpSkVTWEZ5SVZzZ1BTQkVTU0F2SUR4SmNTRmNJRDRnUkVrZ0x5QTZTWEVoWFNBOElENUxJRG9nUFV0eElWNGdRaUFHSUFFZ1Yyb2dDQ0JZYW10cUlrcEpJRGdnQmlBQklGRnFJQWhyYWlKTFNYRWhZU0FVSUVwSklEZ2dCaUFiSUI1cUlCb2dJR3ByUVFKMGFpSk1TWEVoWWlBVUlFdEpJRUlnVEVseElXTWdCaUFCSUFocmFpRXFJQTVCZkhFaENDQWNLQUlnSWhNZ0RrRUZkR29pRVVFUWF5RWxJQkZCRkdzaExDQVJRUmhySVM0Z0VVRWNheUUySUJGQkJHc2hPU0FSUVFocklUc2dFVUVNYXlFMFFRQWhHQ0FUUVF4cUlpTWdIaUFnUVg5emFpSU1RUVYwSWdGcUlDTkpJQXhCLy8vL1Awc2lEQ0FUUVFScUlpRWdBV29nSVVrZ0FTQVRhaUFUU1hKeUlCTkJDR29pSWlBQmFpQWlTWEp5SUE1QnlBSkpjaUZrSUJOQkZHb2lLQ0FCYWlBb1NTQVRRUkJxSWljZ0FXb2dKMGx5SUF4eUlCTkJHR29pTUNBQmFpQXdTWElnRTBFY2FpSXRJQUZxSUMxSmNpQU9RZFFBU1hJaFpRTkFJQWNoRENBY1FTQnFJZ0VnQmlBUVFRZ1FPeUFCRUNJQ1FDQU9SUTBBSUJnZ1dXd2hCMEVBSVFFQ1FBSkFJR1FOQUNCaElBWWdOa2tnRXlBSElDcHFJamRKY1NBR0lBY2dTbW9pRWtrZ0tpQTRTM0VnRkNBcVNTQUdJQWNnVEdvaUprbHhJQVlnQnlCTGFpSTFTU0FxSUVKTGNYSnljaUFHSUM1SklDRWdOMGx4Y2lBR0lDeEpJQ0lnTjBseGNpQUdJQ1ZKSUNNZ04wbHhjaUJqY2lCaWNpQVRJQ1pKSUFjZ0ZHb2lOeUEyU1hGeUlDRWdKa2tnTGlBM1MzRnlJQ0lnSmtrZ0xDQTNTM0Z5SUNNZ0pra2dKU0EzUzNGeWNnMEFJQk1nTlVrZ0J5QkNhaUltSURaSmNRMEFJQ0VnTlVrZ0ppQXVTWEVOQUNBaUlEVkpJQ1lnTEVseERRQWdJeUExU1NBbElDWkxjUTBBSUFjZ09Hb2lKaUEyU1NBU0lCTkxjUTBBSUNZZ0xra2dFaUFoUzNFTkFDQW1JQ3hKSUJJZ0lrdHhEUUFnRWlBalN5QWxJQ1pMY1EwQUEwQWdCaUFCUVFKMGFpQVRJQUZCQlhScUloTDlDUUlBSUJJcUFpRDlJQUVnRWtGQWF5b0NBUDBnQWlBU0tnSmcvU0FEL1FzQ0FDQUdJQUVnRUdwQkFuUnFJQkw5Q1FJRUlCSXFBaVQ5SUFFZ0Vpb0NSUDBnQWlBU0tnSmsvU0FEL1FzQ0FDQUdJQUVnVUdwQkFuUnFJQkw5Q1FJSUlCSXFBaWo5SUFFZ0Vpb0NTUDBnQWlBU0tnSm8vU0FEL1FzQ0FDQUdJQUVnU0dwQkFuUnFJQkw5Q1FJTUlCSXFBaXo5SUFFZ0Vpb0NUUDBnQWlBU0tnSnMvU0FEL1FzQ0FDQUJRUVJxSWdFZ0NFY05BQXNnQ0NJQklBNUdEUUVMQTBBZ0JpQUJRUUowYWlBVElBRkJCWFJxSWhJcUFnQTRBZ0FnQmlBQklCQnFRUUowYWlBU0tnSUVPQUlBSUFZZ0FTQlFha0VDZEdvZ0Vpb0NDRGdDQUNBR0lBRWdTR3BCQW5ScUlCSXFBZ3c0QWdBZ0FVRUJhaUlCSUE1SERRQUxDMEVBSVFFQ1FDQmxEUUFnWENBSElENXFJaElnTkVrZ0p5QUhJRHBxSWlaSmNTQmJJQWNnUDJvaU5TQTBTU0FuSUFjZ1Eyb2lOMGx4Y2lBb0lEZEpJRFVnTzBseGNpQXdJRGRKSURVZ09VbHhjaUF0SURkSklCRWdOVXR4Y2lCZWNpQmRjbklnRWlBN1NTQW1JQ2hMY1hJZ0VpQTVTU0FtSURCTGNYSWdKaUF0U3lBUklCSkxjWEp5RFFBZ0J5QTlhaUlTSURSSklDY2dCeUE4YWlJbVNYRU5BQ0FTSUR0SklDWWdLRXR4RFFBZ0VpQTVTU0FtSURCTGNRMEFJQ1lnTFVzZ0VTQVNTM0VOQUNBSElDOXFJaElnTkVrZ0p5QUhJRVJxSWdkSmNRMEFJQklnTzBrZ0J5QW9TM0VOQUNBU0lEbEpJQWNnTUV0eERRQWdCeUF0U3lBUklCSkxjUTBBQTBBZ0JpQUJJRUZxUVFKMGFpQVRJQUZCQlhScUlnZjlDUUlRSUFjcUFqRDlJQUVnQnlvQ1VQMGdBaUFIS2dKdy9TQUQvUXNDQUNBR0lBRWdNbXBCQW5ScUlBZjlDUUlVSUFjcUFqVDlJQUVnQnlvQ1ZQMGdBaUFIS2dKMC9TQUQvUXNDQUNBR0lBRWdSV3BCQW5ScUlBZjlDUUlZSUFjcUFqajlJQUVnQnlvQ1dQMGdBaUFIS2dKNC9TQUQvUXNDQUNBR0lBRWdTV3BCQW5ScUlBZjlDUUljSUFjcUFqejlJQUVnQnlvQ1hQMGdBaUFIS2dKOC9TQUQvUXNDQUNBQlFRUnFJZ0VnQ0VjTkFBc2dDQ0lCSUE1R0RRRUxBMEFnQmlBQklFRnFRUUowYWlBVElBRkJCWFJxSWdjcUFoQTRBZ0FnQmlBQklESnFRUUowYWlBSEtnSVVPQUlBSUFZZ0FTQkZha0VDZEdvZ0J5b0NHRGdDQUNBR0lBRWdTV3BCQW5ScUlBY3FBaHc0QWdBZ0FVRUJhaUlCSUE1SERRQUxDeUFZUVFGcUlSZ2dERUVJYWlFSElBWWdVVUVDZEdvaEJpQU1RUTlxSUE5SkRRQUxEQUVMSUE4Z0QwRURkaUlISUNzZ0J5QXJTUnNpRW01QmVIRWhFU0FQUVhoeElRZEJBQ0VJSUFvaEJnTkFRVEFRRkNJTVJRMEVJQXdnUmhBWUlpTTJBZ0FnSTBVRVFDQWZFQ0FnREJBUVFRQU1CZ3NnRENBR05nSW9JQXdnRURZQ0pDQU1JQTQyQWlBZ0RDQVROZ0ljSUF4QkFEWUNHQ0FNSUFFMkFoUWdERUVBTmdJUUlBd2dHRFlDRENBTUlBRTJBZ2dnRENBVE5nSUVJQXdnQnlBSUlCRnNheUFSSUFoQkFXb2lDQ0FTUmhzaUl6WUNMQ0FmUVF3Z0RCQXRJQVlnRUNBamJFRUNkR29oQmlBSUlCSkhEUUFMSUI4UUlBc0NRQ0FISUE5UERRQWdIRUVnYWlJQklBWWdFQ0FQSUFkckloZ1FPeUFCRUNJZ0RrVU5BQ0FjS0FJZ0lpTWdIa0VGZEVFQklCZ2dHRUVCVFJzaUVrRUNkR29nSUVFRmRHdHFRU0JySVI0Z0VrRURjU0VnSUJKQmZIRWhEQ0JCSUJKQkFXdHNJU0ZCQUNFSUEwQWdJeUFJUVFWMGFpRVRRUUFoQndKQUFrQWdHRUVFU1EwQUlCNGdCaUFJUVFKMEloRnFJZ0VnQmlBUklDRnFhaUlSSUFFZ0VVa2JTd1JBSUNNZ0FTQVJJQUVnRVVzYlFRUnFTUTBCQ3lBSS9SRWhnUUg5REFBQUFBQUJBQUFBQWdBQUFBTUFBQUFoZ0FGQkFDRUJBMEFnQmlDQUFTQ0VBZjIxQVNDQkFmMnVBU0tDQWYwYkFFRUNkR29nRXlBQlFRSjBhdjBBQWdBaWd3SDlId0E0QWdBZ0JpQ0NBZjBiQVVFQ2RHb2dnd0g5SHdFNEFnQWdCaUNDQWYwYkFrRUNkR29nZ3dIOUh3STRBZ0FnQmlDQ0FmMGJBMEVDZEdvZ2d3SDlId000QWdBZ2dBSDlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoZ0FFZ0FVRUVhaUlCSUF4SERRQUxJQXdpQnlBU1JnMEJDMEVBSVJFZ0J5RUJJQ0FFUUFOQUlBWWdBU0FRYkNBSWFrRUNkR29nRXlBQlFRSjBhaW9DQURnQ0FDQUJRUUZxSVFFZ0VVRUJhaUlSSUNCSERRQUxDeUFISUJKclFYeExEUUFEUUNBR0lBRWdFR3dnQ0dwQkFuUnFJQk1nQVVFQ2RHb3FBZ0E0QWdBZ0JpQUJRUUZxSWdjZ0VHd2dDR3BCQW5ScUlCTWdCMEVDZEdvcUFnQTRBZ0FnQmlBQlFRSnFJZ2NnRUd3Z0NHcEJBblJxSUJNZ0IwRUNkR29xQWdBNEFnQWdCaUFCUVFOcUlnY2dFR3dnQ0dwQkFuUnFJQk1nQjBFQ2RHb3FBZ0E0QWdBZ0dDQUJRUVJxSWdGSERRQUxDeUFJUVFGcUlnZ2dEa2NOQUFzTElCd2dEeUFjS0FJSUlneHJJaE0yQWdRZ0ZTZ0NuQUVoQVNBY1FRQTJBaEFnSENBTU5nSVVJQnhCQURZQ0dDQWNJQk0yQWh3Z0hDQUJRUUp2SWhnMkFnd0NRQ0JhUlNBT1FROUxjVVVFUUNBS0lRRWdEa0VJU1EwQklBOUJmbkVoSVNBUFFRRnhJU0lnRTBGK2NTRW9JQk5CQVhFaEp5QU1RWDV4SVRBZ0RFRUJjU0V0SUNrZ0pFRi9jMm9oSXlBY0tBSUFJaElnR0VFRmRDSUhhaUVnSUJJZ0IydEJJR29oSGlBTUlCQnNRUUowSVNvZ0RpRUlBMEJCQUNFR1FRQWhCd0pBQWtBQ1FDQU1EZ0lDQVFBTEEwQWdJQ0FHUVFaMGFpSVJJQUVnQmlBUWJFRUNkR29pSmYwQUFnRDlDd0lBSUJFZ0pmMEFBaEQ5Q3dJUUlDQWdCa0VCY2lJUlFRWjBhaUlsSUFFZ0VDQVJiRUVDZEdvaUVmMEFBaEQ5Q3dJUUlDVWdFZjBBQWdEOUN3SUFJQVpCQW1vaEJpQUhRUUpxSWdjZ01FY05BQXNMSUMxRkRRQWdJQ0FHUVFaMGFpSUhJQUVnQmlBUWJFRUNkR29pQnYwQUFnRDlDd0lBSUFjZ0J2MEFBaEQ5Q3dJUUN3SkFJQXdnRDBZTkFDQUJJQ3BxSVFkQkFDRUdRUUFoRVNBTUlDTkhCRUFEUUNBZUlBWkJCblJxSWlVZ0J5QUdJQkJzUVFKMGFpSXMvUUFDQVAwTEFnQWdKU0FzL1FBQ0VQMExBaEFnSGlBR1FRRnlJaVZCQm5ScUlpd2dCeUFRSUNWc1FRSjBhaUlsL1FBQ0VQMExBaEFnTENBbC9RQUNBUDBMQWdBZ0JrRUNhaUVHSUJGQkFtb2lFU0FvUncwQUN3c2dKMFVOQUNBZUlBWkJCblJxSWhFZ0J5QUdJQkJzUVFKMGFpSUgvUUFDQVAwTEFnQWdFU0FIL1FBQ0VQMExBaEFMSUJ3UUlnSkFJQTlGRFFCQkFDRUdRUUFoQnlBakJFQURRQ0FCSUFZZ0VHeEJBblJxSWhFZ0VpQUdRUVYwYWlJbC9RQUNBUDBMQWdBZ0VTQWwvUUFDRVAwTEFoQWdBU0FHUVFGeUloRWdFR3hCQW5ScUlpVWdFaUFSUVFWMGFpSVIvUUFDRVAwTEFoQWdKU0FSL1FBQ0FQMExBZ0FnQmtFQ2FpRUdJQWRCQW1vaUJ5QWhSdzBBQ3dzZ0lrVU5BQ0FCSUFZZ0VHeEJBblJxSWdjZ0VpQUdRUVYwYWlJRy9RQUNBUDBMQWdBZ0J5QUcvUUFDRVAwTEFoQUxJQUZCSUdvaEFTQUlRUWhySWdoQkIwc05BQXNNQVF0QkFTQU9RUU4ySWdFZ1J5QUJJRWRKR3lJSUlBaEJBVTBiSVJFZ0RpQUlia0Y0Y1NFU0lBNUJlSEVoSUVFQUlRY2dDaUVCQTBCQk1CQVVJZ1pGRFFRZ0JpQkdFQmdpSGpZQ0FDQWVSUVJBSUI4UUlDQUdFQkJCQUF3R0N5QUdJQUUyQWlnZ0JpQVFOZ0lrSUFZZ0R6WUNJQ0FHSUJNMkFod2dCa0VBTmdJWUlBWWdERFlDRkNBR1FRQTJBaEFnQmlBWU5nSU1JQVlnRERZQ0NDQUdJQk0yQWdRZ0JpQWdJQWNnRW14cklCSWdCMEVCYWlJSElBaEdHeUllTmdJc0lCOUJEU0FHRUMwZ0FTQWVRUUowYWlFQklBY2dFVWNOQUFzZ0h4QWdDd0pBSUE1QkIzRWlFa1VOQUNBWVFRVjBJU0FnSENnQ0FDRUlBa0FnREVVTkFDQUlJQ0JxSVJFZ0VrRUNkQ0VZUVFBaEJpQU1RUUZIQkVBZ0RFRitjU0VlUVFBaEJ3TkFJQkVnQmtFR2RHb2dBU0FHSUJCc1FRSjBhaUFZRUJJYUlCRWdCa0VCY2lJalFRWjBhaUFCSUJBZ0kyeEJBblJxSUJnUUVob2dCa0VDYWlFR0lBZEJBbW9pQnlBZVJ3MEFDd3NnREVFQmNVVU5BQ0FSSUFaQkJuUnFJQUVnQmlBUWJFRUNkR29nR0JBU0dnc0NRQ0FNSUE5R0RRQWdDQ0FnYTBFZ2FpRUhJQUVnRENBUWJFRUNkR29oRVNBU1FRSjBJUmhCQUNFR0lBd2dLU0FrUVg5emFrY0VRQ0FUUVg1eElTQkJBQ0VNQTBBZ0J5QUdRUVowYWlBUklBWWdFR3hCQW5ScUlCZ1FFaG9nQnlBR1FRRnlJaDVCQm5ScUlCRWdFQ0FlYkVFQ2RHb2dHQkFTR2lBR1FRSnFJUVlnREVFQ2FpSU1JQ0JIRFFBTEN5QVRRUUZ4UlEwQUlBY2dCa0VHZEdvZ0VTQUdJQkJzUVFKMGFpQVlFQklhQ3lBY0VDSWdEMFVOQUNBU1FRSjBJUWRCQUNFR0lDUkJBV29nS1VjRVFDQVBRWDV4SVF4QkFDRVJBMEFnQVNBR0lCQnNRUUowYWlBSUlBWkJCWFJxSUFjUUVob2dBU0FHUVFGeUloTWdFR3hCQW5ScUlBZ2dFMEVGZEdvZ0J4QVNHaUFHUVFKcUlRWWdFVUVDYWlJUklBeEhEUUFMQ3lBUFFRRnhSUTBBSUFFZ0JpQVFiRUVDZEdvZ0NDQUdRUVYwYWlBSEVCSWFDeUFWUVpnQmFpRVZJQlpCQVdzaUZnMEFDMEVCREFJTFFRRWhCeUFKS0FJY0lnd2dDRUdZQVd4cUlpTkJtQUZySWk4b0FnQWdJMEdRQVdzb0FnQkdEUUlnSTBHVUFXc2lQU2dDQUNBalFZd0JheWdDQUVZTkFpQU1LQUlFSVE4Z0RDZ0NEQ0VXSUF3b0FnQWhFQ0FNS0FJSUlSTWdDU2dDUkNFU0lBa29Ba0FoRVNBSktBSThJUm9nQ1NnQ09DRWZJQWtnQ0JCY0loNUZCRUJCQUNFSERBTUxJQWhCQVVZRVFDQWVJQ05CRUdzb0FnQWlBU0F2S0FJQUlnWnJJQ05CREdzb0FnQWdQU2dDQUNJS2F5QWpRUWhyS0FJQUlnZ2dCbXNnSTBFRWF5Z0NBQ0FLYXlBSktBSTBRUUVnQ0NBQmF4QWVJQjRRSXd3REMwRUFJUVlDUUFKQUlBaEJBV3NpQ2tFRVNRUkFJQW9oQnlBTUlRRU1BUXNnQ2tFRGNTRUhJQXdnQ2tGOGNTSVZRWmdCYkdvaEFRTkFJSUFCSUF3Z0RrR1lBV3hxSWdaQjZBUnFJQVpCMEFOcUlBWkJ1QUpxSUFiOUNRS2dBZjFXQWdBQi9WWUNBQUw5VmdJQUF5QUdRZUFFYWlBR1FjZ0RhaUFHUWJBQ2FpQUcvUWtDbUFIOVZnSUFBZjFXQWdBQy9WWUNBQVA5c1FIOXVRRWdCa0hzQkdvZ0JrSFVBMm9nQmtHOEFtb2dCdjBKQXFRQi9WWUNBQUg5VmdJQUF2MVdBZ0FESUFaQjVBUnFJQVpCekFOcUlBWkJ0QUpxSUFiOUNRS2NBZjFXQWdBQi9WWUNBQUw5VmdJQUEvMnhBZjI1QVNHQUFTQU9RUVJxSWc0Z0ZVY05BQXNnZ0FFZ2dBRWdnQUg5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5dVFFaWdBRWdnQUVnZ0FIOURRUUZCZ2NBQVFJREFBRUNBd0FCQWdQOXVRSDlHd0FoQmlBS0lCVkdEUUVMQTBBZ0JpQUJLQUtnQVNBQktBS1lBV3NpQ2lBR0lBcExHeUlHSUFFb0FxUUJJQUVvQXB3QmF5SUtJQVlnQ2tzYklRWWdBVUdZQVdvaEFTQUhRUUZySWdjTkFBc0xBa0FnQmtHQWdJREFBRThOQUNBY0lBWkJCWFFRR0NJaE5nSWdJQ0ZGRFFBZ0hDQWhOZ0lBQWtBZ0NBUkFJQllnRDJzaENpQVRJQkJySVFZZ0lVRWdhaUUrSUFpdElZY0JJQkt0SVlvQklCR3RJWXNCSUJxdElZZ0JJQit0SVl3QklBa29BaFFpUXEwaGpRRkNBU0dHQVFOQUlCd2dDallDQ0NBY0lBWTJBaWdnRENnQ3BBRWhCeUFNS0FLZ0FTRUlJQXdvQXB3QklRRWdIQ0FNS0FLWUFTSVZRUUp2SWlJMkFpd2dIQ0FCUVFKdklqODJBZ3dnSENBSUlCVnJJaUFnQm1zaUtEWUNKQ0FjSUFjZ0FXc2lFeUFLYXlJNE5nSUVJQjhpRmlFSUlCb2lBU0VPSUJFaUJ5RVlJQklpRlNFUEFrQWdoZ0VnalFGUkRRQWdRaUNHQWFkcklSQkJBQ0VPUVFBaENDQVdCRUJDZnlBUXJTS0pBWVpDZjRVZ2pBRjhJSWtCaUtjaENBc2dHZ1JBUW44Z0VLMGlpUUdHUW4rRklJZ0JmQ0NKQVlpbklRNExRUUFoRlVFQUlRY2dFUVJBUW44Z0VLMGlpUUdHUW4rRklJc0JmQ0NKQVlpbklRY0xJQklFUUVKL0lCQ3RJb2tCaGtKL2hTQ0tBWHdnaVFHSXB5RVZDMEVBSVJoQkFDRVdRUUVnRUVFQmEzUWlHeUFmU1FSQUlCOGdHMnV0UW44Z0VLMGlpUUdHUW4rRmZDQ0pBWWluSVJZTElCRWdHMHNFUUNBUklCdHJyVUovSUJDdElva0Joa0ovaFh3Z2lRR0lweUVZQzBFQUlROUJBQ0VCSUJvZ0cwc0VRQ0FhSUJ0cnJVSi9JQkN0SW9rQmhrSi9oWHdnaVFHSXB5RUJDeUFTSUJ0TkRRQWdFaUFiYTYxQ2Z5QVFyU0tKQVlaQ2Y0VjhJSWtCaUtjaER3dEJmeUFZSUF3b0FyUUJJaEJySWh0QkFDQVlJQnRQR3lJWVFRUnFJaHNnR0NBYlN4c2lHQ0FvSUJnZ0tFa2JJaTFCZnlBSElBd29BdGdCSWhocklodEJBQ0FISUJ0UEd5SUhRUVJxSWhzZ0J5QWJTeHNpQnlBR0lBWWdCMHNiSWlzZ0lodEJBWFFpQnlBcklDMGdJaHRCQVhSQkFYSWlHeUFISUJ0TEd5SW9JQ0JKSVJRZ0ZpQVFheUlIUVFBZ0J5QVdUUnNpQjBFRWF5SVdRUUFnQnlBV1R4c2lKeUFJSUJocklnZEJBQ0FISUFoTkd5SUhRUVJySWdoQkFDQUhJQWhQR3lJd0lDSWJRUUYwSWhnZ01DQW5JQ0liUVFGMFFRRnlJaVJKSVNrZ0RpQU1LQUs0QVNJV2F5SUhRUUFnQnlBT1RSc2lCMEVFYXlJSVFRQWdCeUFJVHhzaUNDRVFJQUVnRENnQzNBRWlEbXNpQjBFQUlBRWdCMDhiSWdGQkJHc2lCMEVBSUFFZ0IwOGJJZ0VoQjBGL0lCVWdGbXNpRmtFQUlCVWdGazhiSWhWQkJHb2lGaUFWSUJaTEd5SVZJQW9nQ2lBVlN4c2lGaUVWUVg4Z0R5QU9heUlPUVFBZ0RpQVBUUnNpRGtFRWFpSVBJQTRnRDBzYklnNGdPQ0FPSURoSkd5SWJJUThnUHdSQUlBRWhFQ0FXSVE4Z0d5RVZJQWdoQndzZ0tDQWdJQlFiSVNnZ0dDQWtJQ2tiSVJnZ0hDQXROZ0k4SUJ3Z0p6WUNPQ0FjSUNzMkFqUWdIQ0F3TmdJd0FrQWdFMEVJU1FSQVFRY2hCa0VBSVE0TUFRc2dQaUFpUVFWMElnNXJJQ2RCQm5ScUlUZ2dEaUFoYWlBd1FRWjBhaUVVSUFZZ0xXb2hMU0FHSUNkcUlTY2dDaUFiYWlFa0lBRWdDbW9oS1NBaElCaEJCWFJxSVNwQkFDRU9BMEFDUUFKQUlBNGdGa2tnRGtFSGNpSUdJQWhQY1EwQUlBNGdKRWtnQmlBcFQzRU5BQ0FPUVFocUlRNE1BUXRCQ0NBVElBNXJJZ1lnQmtFSVR4c2hKVUVBSVFZRFFDQWVJREFnQmlBT2FpSWlJQ3NnSWtFQmFpSXNJQlFnQmtFQ2RDSXVha0VRUVFBUUhpQWVJQ2NnSWlBdElDd2dMaUE0YWtFUVFRQVFIaUFHUVFGcUlnWWdKVWNOQUFzZ0hFRWdhaEFpSUI0Z0dDQU9JQ2dnRGtFSWFpSU9JQ3BCQ0VFQlFRQVFKa1VOQlFzZ0RrRUhjaUlHSUJOSkRRQUxDd0pBSUE0Z0UwOE5BQ0FPSUJaSklBWWdDRTl4UlFSQUlBNGdDaUFiYWs4TkFTQUdJQUVnQ21wSkRRRUxJQnhCSUdvaEJrRUFJU0lnRXlBT2F5SXdCRUFEUUNBZUlBWW9BaEFpTFNBT0lDSnFJaWNnQmlnQ0ZDQW5RUUZxSWlzZ0lrRUNkQ0k0SUFZb0FnQWdCaWdDREVFRmRHb2dMVUVHZEdwcVFSQkJBQkFlSUI0Z0JpZ0NHQ0l0SUFZb0FnZ2lGR29nSnlBR0tBSWNJQlJxSUNzZ0JpZ0NBQ0FHS0FJTVFRVjBheUF0UVFaMGFpQTRha0VnYWtFUVFRQVFIaUFpUVFGcUlpSWdNRWNOQUFzTElBWVFJaUFlSUJnZ0RpQW9JQk1nSVNBWVFRVjBha0VJUVFGQkFCQW1SUTBEQ3lBY0lCczJBaHdnSENBQk5nSVlJQndnRmpZQ0ZDQWNJQWcyQWhBZ0dDQW9TUVJBSUJWQkFYUWlCaUFQUVFGMFFRRnlJaFVnQmlBVlN4c2lCaUFUSUFZZ0Uwa2JJUVlnUGlBL1FRVjBJaFZySUFGQkJuUnFJUTRnRlNBaGFpQUlRUVowYWlFVklBb2dHMm9oRHlBQklBcHFJUW9nSVNBUVFRRjBJZ0VnQjBFQmRFRUJjaUlISUFFZ0Iwa2JJZ2RCQlhScUlSQURRQ0FlSUJnZ0NFRUlJQ2dnR0dzaUFTQUJRUWhQR3lBWWFpSUJJQllnRlVFQlFSQVFIaUFlSUJnZ0NpQUJJQThnRGtFQlFSQVFIaUFjRUNJZ0hpQVlJQWNnQVNBR0lCQkJBVUVJUVFBUUprVU5CQ0FZUVFocUloZ2dLRWtOQUFzTElBeEJtQUZxSVF3Z0lDRUdJQk1oQ2lDR0FVSUJmQ0tHQVNDSEFWSU5BQXNMUVFFaEJ5QWVJQ05CRUdzb0FnQWlBU0F2S0FJQUlnWnJJQ05CREdzb0FnQWdQU2dDQUNJS2F5QWpRUWhyS0FJQUlnZ2dCbXNnSTBFRWF5Z0NBQ0FLYXlBSktBSTBRUUVnQ0NBQmF4QWVJQjRRSXlBaEVCQU1CQXNnSGhBaklDRVFFRUVBSVFjTUF3c2dIaEFqUVFBaEJ3d0NDeUFmRUNCQkFBc2hCeUFjS0FJZ0VCQUxJQnhCUUdza0FDQUhEUUFNQkFzZ0hVRzRDR29oSFNBTlFUUnFJUTBnQ1VITUFHb2hDU0FMUVFGcUlnc2dGeWdDRUVrTkFBc2dHU2dDSUNFZElCa29BaFFvQWdBaEZ3c0NRQ0FkS0FJUUlnbEZEUUFnR1NnQ1JBMEFJQmNvQWhRaURTZ0NIQ0VCQWtBQ1FBSkFJQmtvQWtBaUJnUkFJQmNvQWhBaUMwRURTUTBDQWtBZ0RTZ0NHQ0lISUEwb0FtUkdCRUFnQnlBTktBS3dBVVlOQVFzZ00wRUJRZFRLQUVFQUVBOE1Cd3NDUUNBWktBSVlLQUlZSWdvb0FpUWlDQ0FLS0FKWVJ3MEFJQWdnQ2lnQ2pBRkhEUUFnQVNBSFFaZ0JiQ0lLYWlJQlFZd0JheWdDQUNBQlFaUUJheWdDQUdzZ0FVR1FBV3NvQWdBZ0FVR1lBV3NvQWdCcmJDSUJJQTBvQW1nZ0Ntb2lCMEdNQVdzb0FnQWdCMEdVQVdzb0FnQnJJQWRCa0FGcktBSUFJQWRCbUFGcktBSUFhMnhIRFFBZ0RTZ0N0QUVnQ21vaUIwR01BV3NvQWdBZ0IwR1VBV3NvQWdCcklBZEJrQUZyS0FJQUlBZEJtQUZyS0FJQWEyd2dBVVlOQWdzZ00wRUJRZFRLQUVFQUVBOE1CZ3NnRnlnQ0VDSUxRUU5KRFFFQ1FDQVpLQUlZS0FJWUlnY29BaVFpQ2lBSEtBSllSdzBBSUFvZ0J5Z0NqQUVpQ0VjTkFDQUJJQXBCbUFGc0lnZHFJZ0VvQXBRQklBRW9Bb3dCYXlBQktBS1FBU0FCS0FLSUFXdHNJZ0VnQnlBTktBSm9haUlIS0FLVUFTQUhLQUtNQVdzZ0J5Z0NrQUVnQnlnQ2lBRnJiRWNOQUNBTktBSzBBU0FJUVpnQmJHb2lCeWdDbEFFZ0J5Z0NqQUZySUFjb0FwQUJJQWNvQW9nQmEyd2dBVVlOQVFzZ00wRUJRZFRLQUVFQUVBOE1CUXNnQ1VFQ1JnUkFJQjBvQXVnclJRMERJQXRCQW5RUUZDSUxSUTBGSUJjb0FoQWlDRVVOQWlBWktBSkFCRUJCQUNFWEFrQWdDRUVNU1FSQVFRQWhCZ3dCQ3lBTlFTUnFJUW9DUUNBTElBMGdDRUhNQUd4cVFTUnJUdzBBSUFvZ0N5QUlRUUowYWs4TkFFRUFJUVlNQVFzZ0RVR0lBbW9oRENBTlFid0JhaUVWSUExQjhBQnFJUTRnRFNBSVFYeHhJZ1pCekFCc2FpRU5RUUFoQ1FOQUlBc2dDVUVDZEdvZ0RDQUpRY3dBYkNJSGFpQUhJQlZxSUFjZ0Rtb2dCeUFLYXYwSkFnRDlWZ0lBQWYxV0FnQUMvVllDQUFQOUN3SUFJQWxCQkdvaUNTQUdSdzBBQ3lBR0lBaEdEUVFMQWtBZ0NFRURjU0lIUlFSQUlBWWhDUXdCQ3lBR0lRa0RRQ0FMSUFsQkFuUnFJQTBvQWlRMkFnQWdDVUVCYWlFSklBMUJ6QUJxSVEwZ0YwRUJhaUlYSUFkSERRQUxDeUFHSUFoclFYeExEUU1nQzBFTWFpRUdJQXRCQ0dvaENpQUxRUVJxSVF3RFFDQUxJQWxCQW5RaUIyb2dEU2dDSkRZQ0FDQUhJQXhxSUEwb0FuQTJBZ0FnQnlBS2FpQU5LQUs4QVRZQ0FDQUdJQWRxSUEwb0FvZ0NOZ0lBSUExQnNBSnFJUTBnQ1VFRWFpSUpJQWhIRFFBTERBTUxRUUFoRndKQUlBaEJERWtFUUVFQUlRWU1BUXNnRFVFMGFpRUtBa0FnQ3lBTklBaEJ6QUJzYWtFVWEwOE5BQ0FLSUFzZ0NFRUNkR3BQRFFCQkFDRUdEQUVMSUExQm1BSnFJUXdnRFVITUFXb2hGU0FOUVlBQmFpRU9JQTBnQ0VGOGNTSUdRY3dBYkdvaERVRUFJUWtEUUNBTElBbEJBblJxSUF3Z0NVSE1BR3dpQjJvZ0J5QVZhaUFISUE1cUlBY2dDbXI5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FEL1FzQ0FDQUpRUVJxSWdrZ0JrY05BQXNnQmlBSVJnMERDd0pBSUFoQkEzRWlCMFVFUUNBR0lRa01BUXNnQmlFSkEwQWdDeUFKUVFKMGFpQU5LQUkwTmdJQUlBbEJBV29oQ1NBTlFjd0FhaUVOSUJkQkFXb2lGeUFIUncwQUN3c2dCaUFJYTBGOFN3MENJQXRCREdvaEJpQUxRUWhxSVFvZ0MwRUVhaUVNQTBBZ0N5QUpRUUowSWdkcUlBMG9BalEyQWdBZ0J5QU1haUFOS0FLQUFUWUNBQ0FISUFwcUlBMG9Bc3dCTmdJQUlBWWdCMm9nRFNnQ21BSTJBZ0FnRFVHd0Ftb2hEU0FKUVFScUlna2dDRWNOQUFzTUFnc2dIU2dDMENzb0FoUkJBVVlFUUNBR0JFQWdEU2dDSkNBTktBSndJQTBvQXJ3QklBRVFYd3dFQ3lBTktBSTBJQTBvQW9BQklBMG9Bc3dCSUFFUVh3d0RDeUFHQkVBZ0RTZ0NKQ0FOS0FKd0lBMG9BcndCSUFFUVhnd0RDeUFOS0FJMElBMG9Bb0FCSUEwb0Fzd0JJQUVRWGd3Q0N5QkFJQXMyQWdBZ00wRUJRWkhMQUNCQUVBOE1BUXNnR1NnQ0dDZ0NHQ2dDSUJvQ2Z5QWRLQUxvS3lFSFFRQWhEa0VBSUFoQkEzUVFGQ0lOUlEwQUdnSkFJQUZGRFFBZ0NFVU5BQ0FOSUFoQkFuUnFJUk1nQ0VGOGNTRVBJQWhCQTNFaERDQUlRUUZySVJBRFFFRUFJUmRCQUNFSklCQkJBMDhFUUFOQUlBMGdGMEVDZENJR2FpQUdJQXRxS0FJQUtnSUFPQUlBSUEwZ0JrRUVjaUlLYWlBS0lBdHFLQUlBS2dJQU9BSUFJQTBnQmtFSWNpSUthaUFLSUF0cUtBSUFLZ0lBT0FJQUlBMGdCa0VNY2lJR2FpQUdJQXRxS0FJQUtnSUFPQUlBSUJkQkJHb2hGeUFKUVFScUlna2dEMGNOQUFzTFFRQWhDaUFNQkVBRFFDQU5JQmRCQW5RaUJtb2dCaUFMYWlnQ0FDb0NBRGdDQUNBWFFRRnFJUmNnQ2tFQmFpSUtJQXhIRFFBTEMwRUFJUVlnQnlFWEEwQWdFeUFHUVFKMEloSnFJZ2xCQURZQ0FFTUFBQUFBSVk0QlFRQWhDa0VBSVJZZ0VFRUNTd1JBQTBBZ0NTQVhLZ0lBSUEwZ0NrRUNkR29pRlNvQ0FKUWdqZ0dTSW80Qk9BSUFJQWtnRnlvQ0JDQVZLZ0lFbENDT0FaSWlqZ0U0QWdBZ0NTQVhLZ0lJSUJVcUFnaVVJSTRCa2lLT0FUZ0NBQ0FKSUJjcUFnd2dGU29DREpRZ2pnR1NJbzRCT0FJQUlBcEJCR29oQ2lBWFFSQnFJUmNnRmtFRWFpSVdJQTlIRFFBTEMwRUFJUlVnREFSQUEwQWdDU0FYS2dJQUlBMGdDa0VDZEdvcUFnQ1VJSTRCa2lLT0FUZ0NBQ0FLUVFGcUlRb2dGMEVFYWlFWElCVkJBV29pRlNBTVJ3MEFDd3NnQ3lBU2FpSUtJQW9vQWdBaUNrRUVhallDQUNBS0lJNEJPQUlBSUFaQkFXb2lCaUFJUncwQUN5QU9RUUZxSWc0Z0FVY05BQXNMSUEwUUVFRUJDeUY3SUFzUUVDQjdSUTBDQ3lBWktBSVVLQUlBSWhZb0FoQkZCRUJCQVNFeERBSUxJQmtvQWlBb0F0QXJJaGRCdUFocUlSTWdGMEcwQ0dvaEVpQVpLQUpFSVJBZ0ZpZ0NGQ0VISUJrb0FoZ29BaGdoQ2tFQUlRZ0RRQUpBSUJBRVFDQVFJQWhCQW5ScUtBSUFSUTBCQ3lBSEtBSWNJZ0VnQ2lnQ0pFR1lBV3hxSVFzQ2Z5QVpLQUpBUlFSQUlBc29BcFFCSUFzb0Fvd0JheUVHSUFzb0FwQUJJQXNvQW9nQmF5RUJRUUFoREVFMERBRUxJQUVnQnlnQ0dFR1lBV3hxSWdaQmtBRnJLQUlBSUFzb0FnZ2dDeWdDQUdzaUFTQUdRWmdCYXlnQ0FHcHJJUXdnQ3lnQ0RDQUxLQUlFYXlFR1FTUUxJUWtnQ2lnQ0dDRUxBbjhnQ2lnQ0lBUkFRUUVnQzBFQmEzUWlDMEVCYXlFZFFRQWdDMnNNQVF0QmZ5QUxkRUYvY3lFZFFRQUxJUThnQVVVTkFDQUdSUTBBSUFjZ0NXb29BZ0FoQ1NBWEtBSVVRUUZHQkVBZ0V5QUlRYmdJYkNJTGFpRVJJQXNnRW1vaEdDQUJRUUZ4SVJvZ0FVRUNkQ0V6SUFGQmZIRWlEa0VDZENFYklCMzlFU0dDQVNBUC9SRWhnQUZCQUNFVklBRkJCRWtoSHdOQUFrQUNRQUpBSUI4TkFDQUpJQkZKSUJnZ0NTQXpha2x4RFFBZ0NTQWJhaUVOSUJmOUNRSzBDQ0dEQVVFQUlRc0RRQ0FKSUF0QkFuUnFJaUFnZ0FFZ2d3RWdJUDBBQWdEOXJnRWloQUVnZ2dIOXRnRWdoQUVnZ0FIOU9mMVMvUXNDQUNBTFFRUnFJZ3NnRGtjTkFBc2dEaUlMSUFGR0RRSU1BUXNnQ1NFTlFRQWhDd3NnQzBFQmNpRUpJQm9FUUNBTklBOGdGeWdDdEFnZ0RTZ0NBR29pQ3lBZElBc2dIVWdiSUFzZ0QwZ2JOZ0lBSUExQkJHb2hEU0FKSVFzTElBRWdDVVlOQUFOQUlBMGdEeUFYS0FLMENDQU5LQUlBYWlJSklCMGdDU0FkU0JzZ0NTQVBTQnMyQWdBZ0RTQVBJQmNvQXJRSUlBMG9BZ1JxSWdrZ0hTQUpJQjFJR3lBSklBOUlHellDQkNBTlFRaHFJUTBnQzBFQ2FpSUxJQUZIRFFBTEN5QU5JQXhCQW5ScUlRa2dGVUVCYWlJVklBWkhEUUFMREFFTElCMnNJWVlCSUErc0lZY0JRUUFoRlFOQVFRQWhDd05BSUFrQ2Z5QWRJQWtxQWdBaWpnRkRBQUFBVDE0TkFCb2dEeUNPQVVNQUFBRFBYUTBBR2lDSEFTQVhOQUswQ0FKL0lJNEJrQ0tPQVl0REFBQUFUMTBFUUNDT0FhZ01BUXRCZ0lDQWdIZ0xySHdpaWdFZ2hnRWdoZ0VnaWdGVkd5Q0hBU0NLQVZVYnB3czJBZ0FnQ1VFRWFpRUpJQXRCQVdvaUN5QUJSdzBBQ3lBSklBeEJBblJxSVFrZ0ZVRUJhaUlWSUFaSERRQUxDeUFIUWN3QWFpRUhJQmRCdUFocUlSY2dDa0UwYWlFS1FRRWhNU0FJUVFGcUlnZ2dGaWdDRUVrTkFBc01BUXNnQlVFQlFab1pRUUFRRHdzZ1FFRVFhaVFBSURGRkJFQWdUeEF1SUFBZ0FDZ0NDRUdBZ0FKeU5nSUlJQVZCQVVIdzFBQkJBQkFQREFFTEFrQWdBa1VOQUFKL0lBSWhCMEVBSVFZQ1FDQUFLQUxRQVNJVlFRRVFWQ0lCUVg5R0RRQWdBU0FEU3cwQVFRRWdGU2dDR0NJQktBSVFSUTBCR2lBQktBSVlJUWdnRlNnQ0ZDZ0NBQ2dDRkNFWEEwQWdDQ2dDR0NJQlFRZHhJUUlnQVVFRGRpRURJQmNvQWh3aUJpQUlLQUlrUVpnQmJHb2hBUUovSUJVb0FrQUVRQ0FHSUJjb0FoaEJtQUZzYWlJR1FaQUJheWdDQUNBQktBSUlJQUVvQWdCcklnc2dCa0dZQVdzb0FnQnFheUVNSUFFb0Fnd2dBU2dDQkdzaENVRWtEQUVMSUFFb0FwUUJJQUVvQW93QmF5RUpJQUVvQXBBQklBRW9Bb2dCYXlFTFFRQWhERUUwQ3lBWGFpZ0NBQ0VCQWtBQ1FBSkFBa0FDUUVFRUlBTWdBa0VBUjJvaUFpQUNRUU5HRzBFQmF3NEVBUUlFQUFRTElBbEZEUU1nQ3lBTWFpRUdJQXRCQW5RaEFpQUpRUVJQQkVBZ0NVRjhjU0VLUVFBaEN3TkFJQWNnQVNBQ0VCSWhCeUFCSUFaQkFuUWlBMm9pRFNBRGFpSU1JQU5xSWc0Z0Eyb2hBU0FDSUFkcUlBMGdBaEFTSUFKcUlBd2dBaEFTSUFKcUlBNGdBaEFTSUFKcUlRY2dDMEVFYWlJTElBcEhEUUFMQzBFQUlRc2dDVUVEY1NJRFJRMERBMEFnQnlBQklBSVFFaUVISUFFZ0JrRUNkR29oQVNBQ0lBZHFJUWNnQzBFQmFpSUxJQU5IRFFBTERBTUxJQWxGSUF0RmNpRUNJQWdvQWlCRkRRRWdBZzBDSUF0QkFuUWhEaUFMUVh4eElnTkJBblFoRDBFQUlRMERRQUpBQWtBQ1FDQUxRUVJKRFFBZ0FTQUhJQXRxU1NBQklBNXFJQWRMY1EwQUlBTWdCMm9oZkNBQklBOXFJUVpCQUNFS0EwQWdCeUFLYWlBQklBcEJBblJxL1FBQ0FQME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQME5BQVFJREFBQUFBQUFBQUFBQUFBQUFQMWFBQUFBSUFwQkJHb2lDaUFEUncwQUN5QjhJUWNnQXlJQ0lBdEdEUUlNQVFzZ0FTRUdRUUFoQWd0QkFDRUtJQXNnQWlJQmEwRUhjU0lXQkVBRFFDQUhJQVlvQWdBNkFBQWdBVUVCYWlFQklBZEJBV29oQnlBR1FRUnFJUVlnQ2tFQmFpSUtJQlpIRFFBTEN5QUNJQXRyUVhoTERRQURRQ0FISUFZb0FnQTZBQUFnQnlBR0tBSUVPZ0FCSUFjZ0JpZ0NDRG9BQWlBSElBWW9BZ3c2QUFNZ0J5QUdLQUlRT2dBRUlBY2dCaWdDRkRvQUJTQUhJQVlvQWhnNkFBWWdCeUFHS0FJY09nQUhJQWRCQ0dvaEJ5QUdRU0JxSVFZZ0FVRUlhaUlCSUF0SERRQUxDeUFHSUF4QkFuUnFJUUVnRFVFQmFpSU5JQWxIRFFBTERBSUxJQWxGSUF0RmNpRUNJQWdvQWlBRVFDQUNEUUlnQzBFQ2RDRU9JQXRCQVhRaER5QUxRWHh4SWdOQkFuUWhGaUFEUVFGMElSQkJBQ0VOQTBBQ1FBSkFBa0FnQzBFRVNRMEFJQUVnQnlBUGFra2dBU0FPYWlBSFMzRU5BQ0FCSUJacUlRWWdCeUFRYWlGOVFRQWhDZ05BSUFjZ0NrRUJkR29nQVNBS1FRSjBhdjBBQWdEOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURRQUJCQVVJQ1F3TkFBRUFBUUFCQUFIOVd3RUFBQ0FLUVFScUlnb2dBMGNOQUFzZ2ZTRUhJQU1pQWlBTFJnMENEQUVMSUFFaEJrRUFJUUlMUVFBaENpQUxJQUlpQVd0QkIzRWlFd1JBQTBBZ0J5QUdLQUlBT3dFQUlBRkJBV29oQVNBSFFRSnFJUWNnQmtFRWFpRUdJQXBCQVdvaUNpQVRSdzBBQ3dzZ0FpQUxhMEY0U3cwQUEwQWdCeUFHS0FJQU93RUFJQWNnQmlnQ0JEc0JBaUFISUFZb0FnZzdBUVFnQnlBR0tBSU1Pd0VHSUFjZ0JpZ0NFRHNCQ0NBSElBWW9BaFE3QVFvZ0J5QUdLQUlZT3dFTUlBY2dCaWdDSERzQkRpQUhRUkJxSVFjZ0JrRWdhaUVHSUFGQkNHb2lBU0FMUncwQUN3c2dCaUFNUVFKMGFpRUJJQTFCQVdvaURTQUpSdzBBQ3d3Q0N5QUNEUUVnQzBFQ2RDRU9JQXRCQVhRaER5QUxRWHh4SWdOQkFuUWhGaUFEUVFGMElSQkJBQ0VOQTBBQ1FBSkFBa0FnQzBFRVNRMEFJQUVnQnlBUGFra2dBU0FPYWlBSFMzRU5BQ0FCSUJacUlRWWdCeUFRYWlGK1FRQWhDZ05BSUFjZ0NrRUJkR29nQVNBS1FRSjBhdjBBQWdEOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURRQUJCQVVJQ1F3TkFBRUFBUUFCQUFIOVd3RUFBQ0FLUVFScUlnb2dBMGNOQUFzZ2ZpRUhJQU1pQWlBTFJnMENEQUVMSUFFaEJrRUFJUUlMUVFBaENpQUxJQUlpQVd0QkIzRWlFd1JBQTBBZ0J5QUdLQUlBT3dFQUlBRkJBV29oQVNBSFFRSnFJUWNnQmtFRWFpRUdJQXBCQVdvaUNpQVRSdzBBQ3dzZ0FpQUxhMEY0U3cwQUEwQWdCeUFHS0FJQU93RUFJQWNnQmlnQ0JEc0JBaUFISUFZb0FnZzdBUVFnQnlBR0tBSU1Pd0VHSUFjZ0JpZ0NFRHNCQ0NBSElBWW9BaFE3QVFvZ0J5QUdLQUlZT3dFTUlBY2dCaWdDSERzQkRpQUhRUkJxSVFjZ0JrRWdhaUVHSUFGQkNHb2lBU0FMUncwQUN3c2dCaUFNUVFKMGFpRUJJQTFCQVdvaURTQUpSdzBBQ3d3QkN5QUNEUUFnQzBFQ2RDRU9JQXRCZkhFaUEwRUNkQ0VQUVFBaERRTkFBa0FDUUFKQUlBdEJCRWtOQUNBQklBY2dDMnBKSUFFZ0Rtb2dCMHR4RFFBZ0F5QUhhaUYvSUFFZ0Qyb2hCa0VBSVFvRFFDQUhJQXBxSUFFZ0NrRUNkR3I5QUFJQS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9RMEFCQWdNQUFBQUFBQUFBQUFBQUFBQS9Wb0FBQUFnQ2tFRWFpSUtJQU5IRFFBTElIOGhCeUFESWdJZ0MwWU5BZ3dCQ3lBQklRWkJBQ0VDQzBFQUlRb2dDeUFDSWdGclFRZHhJaFlFUUFOQUlBY2dCaWdDQURvQUFDQUJRUUZxSVFFZ0IwRUJhaUVISUFaQkJHb2hCaUFLUVFGcUlnb2dGa2NOQUFzTElBSWdDMnRCZUVzTkFBTkFJQWNnQmlnQ0FEb0FBQ0FISUFZb0FnUTZBQUVnQnlBR0tBSUlPZ0FDSUFjZ0JpZ0NERG9BQXlBSElBWW9BaEE2QUFRZ0J5QUdLQUlVT2dBRklBY2dCaWdDR0RvQUJpQUhJQVlvQWh3NkFBY2dCMEVJYWlFSElBWkJJR29oQmlBQlFRaHFJZ0VnQzBjTkFBc0xJQVlnREVFQ2RHb2hBU0FOUVFGcUlnMGdDVWNOQUFzTElCZEJ6QUJxSVJjZ0NFRTBhaUVJUVFFaEJpQnlRUUZxSW5JZ0ZTZ0NHQ2dDRUVrTkFBc0xJQVlMUlEwQklFOG9BdHdySWdGRkRRQWdBUkFRSUU5Q0FEY0MzQ3NMSUFBZ0FDMEFSRUgrQVhFNkFFUWdBQ0FBS0FJSVFmOStjVFlDQ0VFQklXY2dCQ2tEQ0NLR0FWQUVma0lBQlNDR0FTQUVLUU00ZlF0UUlBQW9BZ2dpQVVIQUFFWnhEUUFnQVVHQUFrWU5BQ0FFSUU1QkNtcEJBaUFGRUJwQkFrY0VRQ0FGUVFGQkFpQUFLQUs0QVJ0QmxoSkJBQkFQSUFBb0FyZ0JSU0ZuREFFTElFNUJDbW9nVGtFTWFrRUNFQkVnVGlnQ0RDSUJRWkQvQTBZTkFDQUJRZG4vQTBZRVFDQUFRWUFDTmdJSUlBQkJBRFlDekFFTUFRc2dCQ2tEQ0NLR0FWQUVma0lBQlNDR0FTQUVLUU00ZlF0UUJFQWdBRUhBQURZQ0NDQUZRUUpCckQ5QkFCQVBEQUVMUVFBaFp5QUZRUUZCN0Q1QkFCQVBDeUJPUVJCcUpBQWdad3NMQUNBQUJFQWdBQkFRQ3d1MEFRRUJmeUFBS0FJTVJRUkFJQUlnQUNnQ0pDQUJFUU1BRHdzQ1FFRUlFQlFpQTBVTkFDQURJQUkyQWdRZ0F5QUJOZ0lBUVFnUUZDSUJSUVJBSUFNUUVBOExJQUVnQXpZQ0FDQUFJQUFvQWdSQjVBQnNJZ0kyQWlnRFFDQUFLQUlZSUFKS0RRQUxJQUVnQUNnQ0ZEWUNCQ0FBSUFFMkFoUWdBQ0FBS0FJWVFRRnFOZ0lZSUFBb0Fod2lBVVVOQUNBQktBSUFRUUEyQWdnZ0FDQUJLQUlFTmdJY0lBQWdBQ2dDSUVFQmF6WUNJQ0FCRUJBTEMvb0NBUVIvQWtBZ0FFVU5BQ0FBS0FLc0tDSUJCRUFnQUNnQ3FDZ2lBZ1JBUVFBaEFRTkFJQUFvQXF3b0lBRkJBM1JxS0FJQUlnTUVRQ0FERUJBZ0FDZ0NxQ2doQWdzZ0FVRUJhaUlCSUFKSkRRQUxJQUFvQXF3b0lRRUxJQUJCQURZQ3FDZ2dBUkFRSUFCQkFEWUNyQ2dMSUFBb0FyUW9JZ0VFUUNBQkVCQWdBRUVBTmdLMEtBc2dBQ2dDMENzaUFRUkFJQUVRRUNBQVFRQTJBdEFyQ3lBQUtBTHNLeUlCQkVBZ0FSQVFJQUJCQURZQzdDc0xJQUFvQXVncklnRUVRQ0FCRUJBZ0FFRUFOZ0xvS3dzZ0FDZ0MvQ3NpQVFSQUlBRVFFQ0FBUVFBMkFvUXNJQUJDQURjQy9Dc0xJQUFvQXZBcklnRUVRQ0FBS0FMMEt5SURCSDlCQUNFQ0EwQWdBU2dDRENJRUJFQWdCQkFRSUFGQkFEWUNEQ0FBS0FMMEt5RURDeUFCUVJScUlRRWdBa0VCYWlJQ0lBTkpEUUFMSUFBb0F2QXJCU0FCQ3hBUUlBQkJBRFlDOENzTElBQW9BdVFySWdFRVFDQUJFQkFnQUVFQU5nTGtLd3NnQUNnQzNDc2lBVVVOQUNBQkVCQWdBRUlBTndMY0t3c0x5QWNDRVg4QmZpQUFLQUlRSWdoQklFOEVRQ0FBS1FNSXB3OExBa0FnQUNnQ0ZDSURRUVJPQkVBZ0FDZ0NBQ0lDUVFOcktBSUFJUUVnQUNBRFFRUnJJZ00yQWhRZ0FDQUNRUVJyTmdJQURBRUxJQU5CQUV3RVFBd0JDeUFEUVFGeElRMGdBQ2dDQUNFQ0FrQWdBMEVCUmdSQVFSZ2hCQXdCQ3lBRFFmNy8vLzhIY1NFSlFSZ2hCQU5BSUFBZ0FrRUJheUlHTmdJQUlBSXRBQUFoRENBQUlBSkJBbXNpQWpZQ0FDQUFJQU5CQVdzMkFoUWdCaTBBQUNFR0lBQWdBMEVDYXlJRE5nSVVJQXdnQkhRZ0FYSWdCaUFFUVFocmRISWhBU0FFUVJCcklRUWdCVUVDYWlJRklBbEhEUUFMQ3lBTkJFQWdBQ0FDUVFGck5nSUFJQUl0QUFBaERpQUFJQU5CQVdzMkFoUWdEaUFFZENBQmNpRUJDMEVBSVFNTElBQW9BaGdoQWlBQUlBRkIvd0Z4SWdsQmp3RkxOZ0lZSUFCQkIwRUlJQUZCZ0lDQStBZHhRWUNBZ1BnSFJodEJDQ0FDR3lJQ1FRaEJCMEVJSUFGQmdJRDhBM0ZCZ0lEOEEwWWJJQUZCLy8vLy8zaE5HMm9pQkVFSVFRZEJDQ0FCUVlEK0FYRkJnUDRCUmhzZ0FVRVFka0gvQVhFaUJVR1BBVTBiYWlJR1FRaEJCMEVJSUFGQi93QnhRZjhBUmhzZ0FVRUlka0gvQVhFaUIwR1BBVTBiSUFocWFpSUtOZ0lRSUFBZ0FDa0RDQ0FGSUFKMElBRkJHSFp5SUFjZ0JIUnlJQWtnQm5SeXJTQUlyWWFFSWhJM0F3Z2dDa0VmVFFSQUFrQWdBMEVFVGdSQUlBQW9BZ0FpQWtFRGF5Z0NBQ0VCSUFBZ0EwRUVhellDRkNBQUlBSkJCR3MyQWdBTUFRc2dBMEVBVEFSQVFRQWhBUXdCQ3lBRFFRRnhJUkFnQUNnQ0FDRUNBa0FnQTBFQlJnUkFRUmdoQkVFQUlRRU1BUXNnQTBIKy8vLy9CM0VoQmtFWUlRUkJBQ0VCUVFBaEJRTkFJQUFnQWtFQmF5SUhOZ0lBSUFJdEFBQWhEeUFBSUFKQkFtc2lBallDQUNBQUlBTkJBV3MyQWhRZ0J5MEFBQ0VISUFBZ0EwRUNheUlETmdJVUlBOGdCSFFnQVhJZ0J5QUVRUWhyZEhJaEFTQUVRUkJySVFRZ0JVRUNhaUlGSUFaSERRQUxDeUFRUlEwQUlBQWdBa0VCYXpZQ0FDQUNMUUFBSVJFZ0FDQURRUUZyTmdJVUlCRWdCSFFnQVhJaEFRc2dBQ0FCUWY4QmNTSUNRWThCU3pZQ0dDQUFRUWhCQjBFSUlBRkJnSUNBK0FkeFFZQ0FnUGdIUmhzZ0NVR1BBVTBiSWdOQkNFRUhRUWdnQVVHQWdQd0RjVUdBZ1B3RFJoc2dBVUgvLy8vL2VFMGJhaUlFUVFoQkIwRUlJQUZCZ1A0QmNVR0EvZ0ZHR3lBQlFSQjJRZjhCY1NJRlFZOEJUUnRxSWdoQkNFRUhRUWdnQVVIL0FIRkIvd0JHR3lBQlFRaDJRZjhCY1NJSlFZOEJUUnNnQ21wcU5nSVFJQUFnQlNBRGRDQUJRUmgyY2lBSklBUjBjaUFDSUFoMGNxMGdDcTJHSUJLRUloSTNBd2dMSUJLbkM4a1VBaDEvQm5zZ0FDZ0NDQ0lLSUFBb0FnUnFJUWdDUUNBQUtBSU1SUVJBSUFoQkFrZ05BU0FEUVFCTURRRWdBQ2dDQUNJRklBaEJCR3NpQmtFQmRpSU1RUUowSWdrZ0FTQUtRUUowYWlJSElBTkJBblFpQkdwcVFRUnFTU0FGSUF4QkEzUnFRUWhxSWdBZ0IwRUVha3R4SUFVZ0FTQUVhaUFKYWtFRWFra2dBVUVFYWlBQVNYRnlJUklnQ0VFRVNTSVVJQUpCQVVkeUlSVWdBa0VCUmlBR1FRVkxjU0VXSUFoQi9QLy8vd2R4SVJNZ0NFRUJjU0VYSUFwQkFXb2hEeUFJUVFOeElSRWdBU0FGYXlFWUlBVWdDRUVDZEdvaEdTQUZJQWhCQVdzaUFFRUNkR29oR2lBTVFRRnFJaHRCZkhFaUVFRUJkQ0VMSUFJZ0NteEJBblFoSENBQVFRRjJJQUpzUVFKMElSMERRQ0FCS0FJQUlBRWdIR29vQWdBaUNVRUJha0VCZFdzaEJ3SkFJQlFFUUNBSklRUkJBQ0VHREFFTFFRQWhCZ0pBQW45QkFDQVdSUTBBR2tFQUlCSU5BQm9nQ2YwUklTSWdCLzBSSVNIOURBQUFBQUFDQUFBQUJBQUFBQVlBQUFBaEpVRUFJUUFEUUNBQklBQkJBblJxL1FBQ0JDRWtJQUVnQUNBUGFrRUNkR3I5QUFJQUlTTWdCU0FBUVFOMGFpSUVJQ0g5V2dJQUF5QUVRUWhxSUNRZ0l5QWlJQ1A5RFF3TkRnOFFFUklURkJVV0Z4Z1pHaHNpSlAydUFmME1BZ0FBQUFJQUFBQUNBQUFBQWdBQUFQMnVBVUVDL2F3Qi9iRUJJaUw5V2dJQUFDQUVRUkJxSUNMOVdnSUFBU0FFUVJocUlDTDlXZ0lBQWlBRklDWDlEQUVBQUFBQkFBQUFBUUFBQUFFQUFBRDlVQ0ltL1JzQVFRSjBhaUFpSUNFZ0l2ME5EQTBPRHhBUkVoTVVGUllYR0JrYUcvMnVBVUVCL2F3QklDVDlyZ0VpSWYxYUFnQUFJQVVnSnYwYkFVRUNkR29nSWYxYUFnQUJJQVVnSnYwYkFrRUNkR29nSWYxYUFnQUNJQVVnSnYwYkEwRUNkR29nSWYxYUFnQURJQ1g5REFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUQ5cmdFaEpTQWlJU0VnSXlFaUlBQkJCR29pQUNBUVJ3MEFDeUFpL1JzRElRUWdJZjBiQXlFSElCQWdHMFlOQVNBTElRWWdCQ0VKSUJBTElRQURRQ0FCSUFCQkFXb2lDaUFDYkVFQ2RHb29BZ0FoSGlBQklBQWdEMm9nQW14QkFuUnFLQUlBSVFRZ0JTQUdRUUowYWlJT0lBYzJBZ0FnRGlBSElCNGdCQ0FKYWtFQ2FrRUNkV3NpQjJwQkFYVWdDV28yQWdRZ0JrRUNhaUVHSUFBZ0RFY2hIeUFFSVFrZ0NpRUFJQjhOQUFzTUFRc2dDeUVHQ3lBRklBWkJBblJxSUFjMkFnQkJmQ0VBSUJjRWZ5QWFJQUVnSFdvb0FnQWdCRUVCYWtFQmRXc2lBRFlDQUNBQUlBZHFRUUYxSVFkQmVBVkJmQXNnR1dvZ0JDQUhhallDQUVFQUlRWkJBQ0VBUVFBaEJBSkFJQlVnR0NBTlFRSjBha0VRU1hKRkJFQURRQ0FCSUFCQkFuUWlCR29nQkNBRmF2MEFBZ0Q5Q3dJQUlBQkJCR29pQUNBVFJ3MEFDeUFUSWdRZ0NFWU5BUXNnQkNFQUlCRUVRQU5BSUFFZ0FDQUNiRUVDZEdvZ0JTQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQWdCa0VCYWlJR0lCRkhEUUFMQ3lBRUlBaHJRWHhMRFFBRFFDQUJJQUFnQW14QkFuUnFJQVVnQUVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUZxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFKcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRTnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FFRUVhaUlBSUFoSERRQUxDeUFCUVFScUlRRWdEVUVCYWlJTklBTkhEUUFMREFFTEFrQUNRQUpBSUFoQkFXc09BZ0FCQWdzZ0EwRUFUQTBDUVFBaEFnSkFJQU5CQkVrRVFDQUJJUUFNQVFzZ0FTQURRZnovLy84SGNTSUNRUUowYWlFQUEwQWdBU0FHUVFKMGFpSUVJQVQ5QUFJQUlpSDlHd0JCQW0zOUVTQWgvUnNCUVFKdC9Sd0JJQ0g5R3dKQkFtMzlIQUlnSWYwYkEwRUNiZjBjQS8wTEFnQWdCa0VFYWlJR0lBSkhEUUFMSUFJZ0EwWU5Bd3NEUUNBQUlBQW9BZ0JCQW0wMkFnQWdBRUVFYWlFQUlBSkJBV29pQWlBRFJ3MEFDd3dDQ3lBRFFRQk1EUUVnQUNnQ0FDRUpJQUlnQ214QkFuUWhCd05BSUFrZ0FTZ0NBQ0FCSUFkcUlnUW9BZ0JCQVdwQkFYVnJJZ0EyQWdRZ0NTQUFJQVFvQWdCcUlnQTJBZ0FnQVNBQU5nSUFJQUVnQWtFQ2RHb2dDU2dDQkRZQ0FDQUJRUVJxSVFFZ0JrRUJhaUlHSUFOSERRQUxEQUVMSUFoQkEwZ05BQ0FEUVFCTURRQWdBQ2dDQUNJRklBZ2dDRUVCY1NJVVJTSUdhMEVFYXlJSlFRRjJJZ3RCQW5RaUJ5QUJJQU5CQW5RaUFHcHFTU0FGSUF0QkEzUnFRUXhxSWdRZ0FVRUVha3R4SUFWQkJHb2dBQ0FCSUFwQkFuUnFJZ0JxSUFkcVFRaHFTU0FBUVFocUlBUkpjWEloRlNBQ1FRRkhJQWhCQkVseUlSWWdBa0VCUmlBSlFRVkxjU0VYSUFoQi9QLy8vd2R4SVJBZ0NFRURjU0VSSUFFZ0JXc2hHQ0FGSUFoQkFuUnFRUVJySVJrZ0JTQUlRUUpySWdCQkFuUnFJUm9nQzBFQmFpSVNRWHh4SWd4QkFYSWhFeUFNUVFGMFFRRnlJUXNnQWlBS2JFRUNkQ0ViSUFBZ0JtdEJBa2toSENBSVFRRjJRUUZySUFKc1FRSjBJUjBEUUNBRklBRW9BZ0FnQVNBYmFpSVBJQUpCQW5ScUtBSUFJZ2tnRHlnQ0FDSUFha0VDYWtFQ2RXc2lCeUFBYWpZQ0FFRUJJUVFDUUNBY0JFQWdDU0VHREFFTEFrQUNmMEVCSUJkRkRRQWFRUUVnRlEwQUdpQUovUkVoSVNBSC9SRWhJa0VBSVFBRFFDQUZJQUJCQTNScUlnY2dBU0FBUVFKMElnUnEvUUFDQkNBaElBUWdEMnI5QUFJSUlpSDlEUXdORGc4UUVSSVRGQlVXRnhnWkdoc2lKQ0FoL2E0Qi9Rd0NBQUFBQWdBQUFBSUFBQUFDQUFBQS9hNEJRUUw5ckFIOXNRRWlJeUFqSUNJZ0kvME5EQTBPRHhBUkVoTVVGUllYR0JrYUcvMnVBVUVCL2F3QklDVDlyZ0VpSlAwTkJBVUdCeGdaR2hzSUNRb0xIQjBlSC8wTEFoUWdCeUFpSUNUOURRd05EZzhRRVJJVEFBRUNBeFFWRmhjZ0kvME5BQUVDQXdRRkJnY1FFUklUREEwT0QvMExBZ1FnSXlFaUlBQkJCR29pQUNBTVJ3MEFDeUFoL1JzRElRWWdJdjBiQXlFSElBd2dFa1lOQVNBTElRUWdCaUVKSUJNTElRQURRQ0FCSUFBZ0FteEJBblJxS0FJQUlSNGdEeUFBUVFGcUlnb2dBbXhCQW5ScUtBSUFJUVlnQlNBRVFRSjBhaUlPSUFjMkFnQWdEaUFISUI0Z0JpQUpha0VDYWtFQ2RXc2lCMnBCQVhVZ0NXbzJBZ1FnQkVFQ2FpRUVJQUFnRWtjaElDQUtJUUFnQmlFSklDQU5BQXNNQVFzZ0N5RUVDeUFZSUExQkFuUnFJUWtnQlNBRVFRSjBhaUFITmdJQUFrQWdGRVVFUUNBYUlBRWdIV29vQWdBZ0JrRUJha0VCZFdzaUFDQUhha0VCZFNBR2FqWUNBQXdCQ3lBR0lBZHFJUUFMSUJrZ0FEWUNBRUVBSVFaQkFDRUFRUUFoQkFKQUlCWWdDVUVRU1hKRkJFQURRQ0FCSUFCQkFuUWlCR29nQkNBRmF2MEFBZ0Q5Q3dJQUlBQkJCR29pQUNBUVJ3MEFDeUFRSWdRZ0NFWU5BUXNnQkNFQUlCRUVRQU5BSUFFZ0FDQUNiRUVDZEdvZ0JTQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQWdCa0VCYWlJR0lCRkhEUUFMQ3lBRUlBaHJRWHhMRFFBRFFDQUJJQUFnQW14QkFuUnFJQVVnQUVFQ2RHb29BZ0EyQWdBZ0FTQUFRUUZxSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBU0FBUVFKcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRTnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FFRUVhaUlBSUFoSERRQUxDeUFCUVFScUlRRWdEVUVCYWlJTklBTkhEUUFMQ3dzM0FRSi9Jd0JCRUdzaUFTUUFJQUFFZnlBQlFReHFRU0FnQUJCc0lRQkJBQ0FCS0FJTUlBQWJCVUVBQ3lFQ0lBRkJFR29rQUNBQ0N4c0JBWDhnQUFSQUlBQW9BZ2dpQVFSQUlBRVFFQXNnQUJBUUN3c3hBUUovUVFGQkRCQVRJZ0FFUUNBQVFRbzJBZ1FnQUVFS1FRUVFFeUlCTmdJSUlBRUVRQ0FBRHdzZ0FCQVFDMEVBQ3k4QkFYOGdBQVJBSUFBb0FnUWlBUVJBSUFBb0FnQWdBUkVDQUFzZ0FDZ0NJQkFRSUFCQkFEWUNJQ0FBRUJBTEN5b0FJQUFFUUNBQUtBSXdJQUJCRkVFUUlBQW9Ba3diYWlnQ0FCRUNBQ0FBUVFBMkFqQWdBQkFRQ3d0VEFRSi9JQUJCQURZQ01DQUFJQUFvQWlBMkFpUWdBU0FBS0FJQUlBQW9BaHdSQ2dBaEJDQUFLQUpFSVFJZ0JFVUVRQ0FBSUFKQkJISTJBa1JCQUE4TElBQWdBVGNET0NBQUlBSkJlM0UyQWtSQkFRdUdBd0lGZndwK0l3QkJJR3NpQXlRQUFrQWdBQ2dDRUNJRlJRUkFRUUVoQWd3QkN3SkFJQUEwQWdBaUIwSUFVdzBBSUFBMEFnUWlDRUlBVXcwQUlBQTBBZ2dpQ1VJQVV3MEFJQUEwQWd3aUNrSUFVdzBBSUFBb0FoZ2hBQ0FIUWdGOUlRd2dDRUlCZlNFTklBbENBWDBoQ1NBS1FnRjlJUW9EUUNBQUlBd2dBQ2dDQUNJQ3JTSUhmQ0FIZ0NJTFBnSVFJQUFnRFNBQUtBSUVJZ2F0SWdkOElBZUFJZzQrQWhSQ0FTQUFOUUlvSWdlR0lnOUNBWDBpQ0NBSklBS3NJaEI4SUJCL3hId2dCNGVuSUFnZ0M4UjhJQWVIcDJzaUFrRUFTQVJBSUFNZ0FqWUNCQ0FESUFRMkFnQWdBVUVCUWRQa0FDQURFQTlCQUNFQ0RBTUxJQUFnQWpZQ0NDQUlJQW9nQnF3aUMzd2dDMy9FZkNBSGg2Y2dEc1FnRDN4Q0FYMGdCNGVuYXlJQ1FRQklCRUFnQXlBQ05nSVVJQU1nQkRZQ0VDQUJRUUZCbU9VQUlBTkJFR29RRDBFQUlRSU1Bd3NnQUNBQ05nSU1JQUJCTkdvaEFFRUJJUUlnQkVFQmFpSUVJQVZIRFFBTERBRUxJQUZCQVVHbk0wRUFFQThMSUFOQklHb2tBQ0FDQzljR0FRWi9JQUFFUUFKQUlBQW9BZ0FFUUNBQUtBSU1JZ0VFUUNBQkVDNGdBQ2dDREJBUUlBQkJBRFlDREFzZ0FDZ0NFQ0lCQkVBZ0FSQVFJQUJDQURjREVBc2dBQ2dDUUJBUUlBQkNBRGNDUEF3QkN5QUFLQUlzSWdFRVFDQUJFQkFnQUVFQU5nSXNDeUFBS0FJZ0lnRUVRQ0FCRUJBZ0FFSUFOd01nQ3lBQUtBSTBJZ0ZGRFFBZ0FSQVFJQUJDQURjQ05Bc2dBQ2dDMEFFUVZTQUFLQUtjQVNJQkJFQWdBQ2dDYUNBQUtBSnNiQ0lEQkg4RFFDQUJFQzRnQVVHTUxHb2hBU0FDUVFGcUlnSWdBMGNOQUFzZ0FDZ0NuQUVGSUFFTEVCQWdBRUVBTmdLY0FRc2dBQ2dDZENJQkJFQWdBQ2dDY0NJQ0JFQkJBQ0VCQTBBZ0FDZ0NkQ0FCUVFOMGFpZ0NBQ0lEQkVBZ0F4QVFJQUFvQW5BaEFnc2dBVUVCYWlJQklBSkpEUUFMSUFBb0FuUWhBUXNnQUVFQU5nSndJQUVRRUNBQVFRQTJBblFMSUFBb0FvZ0JFQkFnQUVFQU5nSjRJQUJCQURZQ2lBRWdBQ2dDWkJBUUlBQkJBRFlDWkNBQUxRQzhBVUVDY1VVRVFDQUFLQUtvQVJBUUN5QUFRZEFBYWtFQVFmQUFFQlVhSUFBb0FzQUJFRElnQUVFQU5nTEFBU0FBS0FMRUFSQXlJQUJCQURZQ3dBRWdBQ2dDeUFFaUFRUkFJQUVvQWh3aUFnUkFJQUlRRUNBQlFRQTJBaHdMSUFFb0FpZ2lBZ1JBSUFFb0FpUUVRQU5BSUFJZ0JVRW9iQ0lEYWlnQ0pDSUVCRUFnQkJBUUlBRW9BaWdpQWlBRGFrRUFOZ0lrQ3lBQ0lBTnFLQUlRSWdRRVFDQUVFQkFnQVNnQ0tDSUNJQU5xUVFBMkFoQUxJQUlnQTJvb0FoZ2lCQVJBSUFRUUVDQUJLQUlvSWdJZ0EycEJBRFlDR0FzZ0JVRUJhaUlGSUFFb0FpUkpEUUFMQ3lBQ0VCQWdBVUVBTmdJb0N5QUJFQkFMSUFCQkFEWUN5QUVnQUNnQ1NCQWhJQUJCQURZQ1NDQUFLQUpNRUNFZ0FFRUFOZ0pNSUFBb0F0UUJJZ01FUUFKQUlBTW9BZ2hGRFFBZ0F5Z0NEQVJBSUFOQkFEWUNLQU5BSUFNb0FoaEJBRW9OQUFzTElBTkJBVFlDRUNBREtBSUFFQkFnQXlnQ0hDSUNSUTBBQTBBZ0FpZ0NCQ0VCSUFJUUVDQURJQUUyQWh3Z0FTSUNEUUFMQ3lBREtBSWtJZ0lFUUNBQ0tBSUVJZ1ZCQUVvRVFFRUFJUUVEUUNBQ0tBSUFJQUZCREd4cUlnUW9BZ2dpQmdSQUlBUW9BZ1FnQmhFQ0FDQUNLQUlFSVFVTElBRkJBV29pQVNBRlNBMEFDd3NnQWlnQ0FCQVFJQUlRRUFzZ0F4QVFDeUFBUVFBMkF0UUJJQUFRRUFzTDVnTUNDSDhFZmlBQUtBSVVLQUlBS0FJVUlBRkJ6QUJzYWlJSktBSU1JZ2dnQUNnQ0dDZ0NHQ0FCUVRSc2FpSUtOUUlFSWhCQ0FYMGlFaUFBTlFJOGZDQVFnS2NpQ3lBSUlBdEpHeUVNSUFrb0FnZ2lDQ0FLTlFJQUloRkNBWDBpRXlBQU5RSTRmQ0FSZ0tjaUNpQUlJQXBKR3lFS0lBa29BZ1FpQ0NBU0lBQTFBalI4SUJDQXB5SUxJQWdnQzBzYklRc2dDU2dDQUNJSUlCTWdBRFVDTUh3Z0VZQ25JZzBnQ0NBTlN4c2hEVUVBSVFnZ0FDZ0NJQ2dDMENzZ0FVRzRDR3hxS0FJVUlRNENRQ0FKS0FJVVFRQWdBbXRCZnlBQ0cyb2lBa1VFUUNBS0lRQWdEU0VJSUFzaEFRd0JDeUFEUVFGeElBSkJBV3NpRDNRaUNTQU5TUVJBSUEwZ0NXdXRRbjhnQXEwaUVJWkNmNFY4SUJDSXB5RUlDMEVBSVFCQkFDRUJJQU5CQVhZZ0QzUWlBeUFMU1FSQUlBc2dBMnV0UW44Z0FxMGlFSVpDZjRWOElCQ0lweUVCQ3lBSklBcEpCRUFnQ2lBSmE2MUNmeUFDclNJUWhrSi9oWHdnRUlpbklRQUxJQU1nREU4RVFFRUFJUXdNQVFzZ0RDQURhNjFDZnlBQ3JTSVFoa0ovaFh3Z0VJaW5JUXdMUVg4Z0FFRUNRUU1nRGtFQlJoc2lBbW9pQXlBQUlBTkxHeUFFUzBGL0lBSWdER29pQUNBQUlBeEpHeUFGUzNFZ0NDQUNheUlBUVFBZ0FDQUlUUnNnQmtseElBRWdBbXNpQUVFQUlBQWdBVTBiSUFkSmNRdWlBUUVHZnlBQUJFQWdBQ2dDQkNJQ0JFQWdBaEFRSUFCQkFEWUNCQXNnQVFSQUlBQWhBZ05BSUFJb0FzZ0JJZ01FUUVFQUlRVWdBaWdDeEFFaUJBUi9BMEFnQXlnQ0RDSUdCRUFnQmhBUUlBTkJBRFlDRENBQ0tBTEVBU0VFQ3lBRFFSQnFJUU1nQlVFQmFpSUZJQVJKRFFBTElBSW9Bc2dCQlNBREN4QVFJQUpCQURZQ3lBRUxJQUpCOEFGcUlRSWdCMEVCYWlJSElBRkhEUUFMQ3lBQUVCQUxDOVVaQWhOL0Ezc2dBQ2dDQUNJS0lBQW9BZ3dpRFVFRmRDSUZhaUVHSUFvZ0JXc2hGaUFBS0FJUUlRVWdBQ2dDSENFTElBQW9BaFFoQ1NBQUtBSUlJUTRDUUFKQUFrQUNRQ0FEUVFoSkRRQWdBVUVQY1EwQUlBWkJEM0ZGRFFFTElBVWdDVThOQWdKQUFrQWdBMEVCYXc0Q0FBRURDd0pBSUFrZ0JXc2lDRUVZU1EwQUlBRWdCVUVDZEdvaEJ5QU5RUVYwSWdRZ0NpQUZRUVowYW1vZ0FTQUpRUUowYWtrRVFDQUhJQW9nQ1VFR2RHb2dCR3BCUEd0SkRRRUxJQVg5RWYwTUFBQUFBQUVBQUFBQ0FBQUFBd0FBQVAydUFTRVlJQVVnQ0VGOGNTSVBhaUVGUVFBaEJBTkFJQVlnR0VFRS9hc0JJaGY5R3dCQkFuUnFJQWNnQkVFQ2RHcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlBWi9SOEJPQUlBSUFZZ0YvMGJBa0VDZEdvZ0dmMGZBamdDQUNBR0lCZjlHd05CQW5ScUlCbjlId000QWdBZ0dQME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0VZSUFSQkJHb2lCQ0FQUncwQUN5QUlJQTlHRFFRTElBVWhCQ0FKSUFWclFRTnhJZ2NFUUVFQUlRZ0RRQ0FHSUFSQkJuUnFJQUVnQkVFQ2RHb3FBZ0E0QWdBZ0JFRUJhaUVFSUFoQkFXb2lDQ0FIUncwQUN3c2dCU0FKYTBGOFN3MERBMEFnQmlBRVFRWjBhaUFCSUFSQkFuUnFLZ0lBT0FJQUlBWWdCRUVCYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBWWdCRUVDYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBWWdCRUVEYWlJRlFRWjBhaUFCSUFWQkFuUnFLZ0lBT0FJQUlBUkJCR29pQkNBSlJ3MEFDd3dEQ3lBQklBSkJBblJxSVFnQ1FDQUpJQVZySWc5QlBFa0VRQ0FGSVFRTUFRc2dDaUFGUVFaMElBMUJCWFJxYWlJRUlBa2dCVUYvYzJvaUIwRUdkQ0lRYWlBRVNRUkFJQVVoQkF3QkN5QUVRUVJxSWdRZ0VHb2dCRWtFUUNBRklRUU1BUXNnQjBILy8vOGZTd1JBSUFVaEJBd0JDeUFOUVFWMElnUWdDaUFGUVFaMGFtb2lCeUFCSUFJZ0NXcEJBblJxU1NBS0lBbEJCblJxSUFScVFUaHJJZ1FnQVNBQ0lBVnFRUUowYWt0eEJFQWdCU0VFREFFTElBY2dBU0FKUVFKMGFra2dBU0FGUVFKMGFpQUVTWEVFUUNBRklRUU1BUXNnQmYwUi9Rd0FBQUFBQVFBQUFBSUFBQUFEQUFBQS9hNEJJUmdnQlNBUFFYeHhJaEJxSVFSQkFDRUhBMEFnQmlBWVFRVDlxd0VpRi8wYkFFRUNkR29pRVNBQklBVWdCMnBCQW5RaURHcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlJVElCbjlId0U0QWdBZ0JpQVgvUnNDUVFKMGFpSVVJQm45SHdJNEFnQWdCaUFYL1JzRFFRSjBhaUlWSUJuOUh3TTRBZ0FnRVNBSUlBeHEvUUFDQUNJWC9SOEFPQUlFSUJNZ0YvMGZBVGdDQkNBVUlCZjlId0k0QWdRZ0ZTQVgvUjhET0FJRUlCajlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoR0NBSFFRUnFJZ2NnRUVjTkFBc2dEeUFRUmcwREN5QUVRUUZxSVFVZ0NTQUVhMEVCY1FSQUlBWWdCRUVHZEdvaUJ5QUJJQVJCQW5RaUJHb3FBZ0E0QWdBZ0J5QUVJQWhxS2dJQU9BSUVJQVVoQkFzZ0JTQUpSZzBDQTBBZ0JpQUVRUVowYWlJRklBRWdCRUVDZENJSGFpb0NBRGdDQUNBRklBY2dDR29xQWdBNEFnUWdCaUFFUVFGcUlnVkJCblJxSWdjZ0FTQUZRUUowSWdWcUtnSUFPQUlBSUFjZ0JTQUlhaW9DQURnQ0JDQUVRUUpxSWdRZ0NVY05BQXNNQWdzZ0JTQUpUdzBCSUFFZ0FrRUNkR29oQ0FOQUlBWWdCVUVHZEdvaUJDQUJJQVZCQW5ScUtnSUFPQUlBSUFRZ0FTQUNJQVZxSWdkQkFuUnFLZ0lBT0FJRUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSUlJQVFnQVNBQ0lBZHFJZ2RCQW5ScUtnSUFPQUlNSUFRZ0FTQUNJQWRxSWdkQkFuUnFLZ0lBT0FJUUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSVVJQVFnQVNBQ0lBZHFRUUowSWdkcUtnSUFPQUlZSUFRZ0J5QUlhaW9DQURnQ0hDQUZRUUZxSWdVZ0NVY05BQXNNQVFzZ0FTQUNRUUowYWlFSUlBTkJBMFloQnlBRFFRUkdJUThnQTBFRlJpRVFJQU5CQjBZaEVRTkFJQVlnQlVFR2RHb2lCQ0FCSUFWQkFuUnFLZ0lBT0FJQUlBUWdBU0FDSUFWcUlneEJBblJxS2dJQU9BSUVJQVFnQVNBQ0lBeHFJZ3hCQW5ScUtnSUFPQUlJQWtBZ0J3MEFJQVFnQVNBQ0lBeHFJZ3hCQW5ScUtnSUFPQUlNSUE4TkFDQUVJQUVnQWlBTWFpSU1RUUowYWlvQ0FEZ0NFQ0FRRFFBZ0JDQUJJQUlnREdvaURFRUNkR29xQWdBNEFoUWdBMEVHUmcwQUlBUWdBU0FDSUF4cVFRSjBJZ3hxS2dJQU9BSVlJQkVOQUNBRUlBZ2dER29xQWdBNEFod0xJQVZCQVdvaUJTQUpSdzBBQ3dzZ0ZrRWdhaUVHSUFFZ0RrRUNkR29oQkNBQUtBSVlJUVVDUUFKQUFrQWdBMEVJU1EwQUlBUkJEM0VOQUNBR1FROXhSUTBCQ3lBRklBdFBEUUVDUUFKQUFrQWdBMEVCYXc0Q0FBRUNDd0pBSUFzZ0JXc2lBRUVjU1EwQUlBb2dCVUVHZEVFZ2NpQU5RUVYwSWdKcmFpQUJJQXNnRG1wQkFuUnFTUVJBSUFFZ0JTQU9ha0VDZEdvZ0MwRUdkQ0FDYXlBS2FrRWNhMGtOQVFzZ0JDQUZRUUowYWlFRElBWDlFZjBNQUFBQUFBRUFBQUFDQUFBQUF3QUFBUDJ1QVNFWUlBVWdBRUY4Y1NJQmFpRUZRUUFoQWdOQUlBWWdHRUVFL2FzQkloZjlHd0JCQW5ScUlBTWdBa0VDZEdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUFaL1I4Qk9BSUFJQVlnRi8wYkFrRUNkR29nR2YwZkFqZ0NBQ0FHSUJmOUd3TkJBblJxSUJuOUh3TTRBZ0FnR1AwTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRVlJQUpCQkdvaUFpQUJSdzBBQ3lBQUlBRkdEUVFMSUFVaEFpQUxJQVZyUVFOeElnQUVRRUVBSVFFRFFDQUdJQUpCQm5ScUlBUWdBa0VDZEdvcUFnQTRBZ0FnQWtFQmFpRUNJQUZCQVdvaUFTQUFSdzBBQ3dzZ0JTQUxhMEY4U3cwREEwQWdCaUFDUVFaMGFpQUVJQUpCQW5ScUtnSUFPQUlBSUFZZ0FrRUJhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFZZ0FrRUNhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFZZ0FrRURhaUlBUVFaMGFpQUVJQUJCQW5ScUtnSUFPQUlBSUFKQkJHb2lBaUFMUncwQUN3d0RDeUFFSUFKQkFuUnFJUU1DUUNBTElBVnJJZ0JCeEFCSkJFQWdCU0VDREFFTElBb2dCVUVHZENJSlFTQnlJQTFCQlhRaUNHdHFJZ2NnQ3lBRlFYOXphaUlQUVFaMEloQnFJQWRKQkVBZ0JTRUNEQUVMSUFvZ0NVRWtjaUFJYTJvaUNTQVFhaUFKU1FSQUlBVWhBZ3dCQ3lBUFFmLy8veDlMQkVBZ0JTRUNEQUVMSUFvZ0JVRUdkRUVnY2lBTlFRVjBJZ2xyYWlJTklBRWdDeUFPYWlJSUlBSnFRUUowYWtrZ0MwRUdkQ0FKYXlBS2FrRVlheUlKSUFFZ0RrRUNkR29nQlVFQ2RHb2lDaUFDUVFKMGFrdHhCRUFnQlNFQ0RBRUxJQTBnQVNBSVFRSjBha2tnQ1NBS1MzRUVRQ0FGSVFJTUFRc2dCZjBSL1F3QUFBQUFBUUFBQUFJQUFBQURBQUFBL2E0QklSZ2dCU0FBUVh4eElnbHFJUUpCQUNFQkEwQWdCaUFZUVFUOXF3RWlGLzBiQUVFQ2RHb2lDaUFFSUFFZ0JXcEJBblFpRFdyOUFBSUFJaG45SHdBNEFnQWdCaUFYL1JzQlFRSjBhaUlPSUJuOUh3RTRBZ0FnQmlBWC9Sc0NRUUowYWlJSUlCbjlId0k0QWdBZ0JpQVgvUnNEUVFKMGFpSUhJQm45SHdNNEFnQWdDaUFESUExcS9RQUNBQ0lYL1I4QU9BSUVJQTRnRi8wZkFUZ0NCQ0FJSUJmOUh3STRBZ1FnQnlBWC9SOERPQUlFSUJqOURBUUFBQUFFQUFBQUJBQUFBQVFBQUFEOXJnRWhHQ0FCUVFScUlnRWdDVWNOQUFzZ0FDQUpSZzBEQ3lBQ1FRRnFJUUFnQ3lBQ2EwRUJjUVJBSUFZZ0FrRUdkR29pQVNBRUlBSkJBblFpQW1vcUFnQTRBZ0FnQVNBQ0lBTnFLZ0lBT0FJRUlBQWhBZ3NnQUNBTFJnMENBMEFnQmlBQ1FRWjBhaUlBSUFRZ0FrRUNkQ0lCYWlvQ0FEZ0NBQ0FBSUFFZ0Eyb3FBZ0E0QWdRZ0JpQUNRUUZxSWdCQkJuUnFJZ0VnQkNBQVFRSjBJZ0JxS2dJQU9BSUFJQUVnQUNBRGFpb0NBRGdDQkNBQ1FRSnFJZ0lnQzBjTkFBc01BZ3NnQkNBQ1FRSjBhaUVCSUFOQkEwWWhDU0FEUVFSR0lRb2dBMEVGUmlFTklBTkJCMFloRGdOQUlBWWdCVUVHZEdvaUFDQUVJQVZCQW5ScUtnSUFPQUlBSUFBZ0JDQUNJQVZxSWdoQkFuUnFLZ0lBT0FJRUlBQWdCQ0FDSUFocUlnaEJBblJxS2dJQU9BSUlBa0FnQ1EwQUlBQWdCQ0FDSUFocUlnaEJBblJxS2dJQU9BSU1JQW9OQUNBQUlBUWdBaUFJYWlJSVFRSjBhaW9DQURnQ0VDQU5EUUFnQUNBRUlBSWdDR29pQ0VFQ2RHb3FBZ0E0QWhRZ0EwRUdSZzBBSUFBZ0JDQUNJQWhxUVFKMElnaHFLZ0lBT0FJWUlBNE5BQ0FBSUFFZ0NHb3FBZ0E0QWh3TElBVkJBV29pQlNBTFJ3MEFDd3dCQ3lBRklBdFBEUUFnQkNBQ1FRSjBhaUVCQTBBZ0JpQUZRUVowYWlJQUlBUWdCVUVDZEdvcUFnQTRBZ0FnQUNBRUlBSWdCV29pQTBFQ2RHb3FBZ0E0QWdRZ0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFnZ2dBQ0FFSUFJZ0Eyb2lBMEVDZEdvcUFnQTRBZ3dnQUNBRUlBSWdBMm9pQTBFQ2RHb3FBZ0E0QWhBZ0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFoUWdBQ0FFSUFJZ0EycEJBblFpQTJvcUFnQTRBaGdnQUNBQklBTnFLZ0lBT0FJY0lBVkJBV29pQlNBTFJ3MEFDd3NMbXdNQkJIOGdBU0FBUVFScUlnUnFRUUZyUVFBZ0FXdHhJZ1VnQW1vZ0FDQUFLQUlBSWdGcVFRUnJUUVIvSUFBb0FnUWlBeUFBS0FJSUlnWTJBZ2dnQmlBRE5nSUVJQVFnQlVjRVFDQUFJQUJCQkdzb0FnQkJmbkZySWdNZ0JTQUVheUlFSUFNb0FnQnFJZ1UyQWdBZ0F5QUZRWHh4YWtFRWF5QUZOZ0lBSUFBZ0JHb2lBQ0FCSUFScklnRTJBZ0FMQW44Z0FTQUNRUmhxVHdSQUlBQWdBbXBCQ0dvaUF5QUJJQUpyUVFocklnRTJBZ0FnQXlBQlFYeHhha0VFYXlBQlFRRnlOZ0lBSUFNQ2Z5QURLQUlBUVFocklnRkIvd0JOQkVBZ0FVRURka0VCYXd3QkN5QUJaeUVFSUFGQkhTQUVhM1pCQkhNZ0JFRUNkR3RCN2dCcUlBRkIveDlORFFBYVFUOGdBVUVlSUFScmRrRUNjeUFFUVFGMGEwSEhBR29pQVNBQlFUOVBHd3NpQVVFRWRDSUVRYURIQVdvMkFnUWdBeUFFUWFqSEFXb2lCQ2dDQURZQ0NDQUVJQU0yQWdBZ0F5Z0NDQ0FETmdJRVFhalBBVUdvendFcEF3QkNBU0FCcllhRU53TUFJQUFnQWtFSWFpSUJOZ0lBSUFBZ0FVRjhjV29NQVFzZ0FDQUJhZ3RCQkdzZ0FUWUNBQ0FBUVFScUJVRUFDd3ZDQVFFRGZ3SkFJQUVnQWlnQ0VDSURCSDhnQXdVZ0FoQStEUUVnQWlnQ0VBc2dBaWdDRkNJRWEwc0VRQ0FDSUFBZ0FTQUNLQUlrRVFBQUR3c0NRQUpBSUFJb0FsQkJBRWdOQUNBQlJRMEFJQUVoQXdOQUlBQWdBMm9pQlVFQmF5MEFBRUVLUndSQUlBTkJBV3NpQXcwQkRBSUxDeUFDSUFBZ0F5QUNLQUlrRVFBQUlnUWdBMGtOQWlBQklBTnJJUUVnQWlnQ0ZDRUVEQUVMSUFBaEJVRUFJUU1MSUFRZ0JTQUJFQklhSUFJZ0FpZ0NGQ0FCYWpZQ0ZDQUJJQU5xSVFRTElBUUxXUUVCZnlBQUlBQW9Ba2dpQVVFQmF5QUJjallDU0NBQUtBSUFJZ0ZCQ0hFRVFDQUFJQUZCSUhJMkFnQkJmdzhMSUFCQ0FEY0NCQ0FBSUFBb0Fpd2lBVFlDSENBQUlBRTJBaFFnQUNBQklBQW9BakJxTmdJUVFRQUx6QUlCQkg4Z0FTQUEvUUFDQVAwTEFnQWdBU2dDR0NJQ0JFQWdBU2dDRUNJREJIOUJBQ0VDQTBBZ0FTZ0NHQ0FDUVRSc2FpZ0NMQ0lFQkVBZ0JCQVFJQUVvQWhBaEF3c2dBa0VCYWlJQ0lBTkpEUUFMSUFFb0FoZ0ZJQUlMRUJBZ0FVRUFOZ0lZQ3lBQklBQW9BaEFpQWpZQ0VDQUJJQUpCTkd3UUZDSUNOZ0lZSUFJRVFDQUJLQUlRQkVCQkFDRURBMEFnQWlBRFFUUnNJZ1ZxSWdJZ0FDZ0NHQ0FGYWlJRS9RQUNBUDBMQWdBZ0FpQUVLQUl3TmdJd0lBSWdCUDBBQWlEOUN3SWdJQUlnQlAwQUFoRDlDd0lRSUFFb0FoZ2lBaUFGYWtFQU5nSXNJQU5CQVdvaUF5QUJLQUlRU1EwQUN3c2dBU0FBS0FJVU5nSVVJQUVnQUNnQ0lDSUNOZ0lnSUFJRVFDQUJJQUlRRkNJQ05nSWNJQUpGQkVBZ0FVSUFOd0ljRHdzZ0FpQUFLQUljSUFBb0FpQVFFaG9QQ3lBQlFRQTJBaHdQQ3lBQlFRQTJBaEFnQVVFQU5nSVlDd1FBUVFFTHhnRUJBMzhEUUNBQVFRUjBJZ0ZCcE1jQmFpQUJRYURIQVdvaUFqWUNBQ0FCUWFqSEFXb2dBallDQUNBQVFRRnFJZ0JCd0FCSERRQUxRVEFRYlJvakFFRVFheUlBSkFBQ1FDQUFRUXhxSUFCQkNHb1FEQTBBUWJEUEFVRUlJQUFvQWd4QkFuUkJCR29RSlNJQk5nSUFJQUZGRFFCQkNDQUFLQUlJRUNVaUFRUkFRYkRQQVNnQ0FDSUNJQUFvQWd4QkFuUnFRUUEyQWdBZ0FpQUJFQXRGRFFFTFFiRFBBVUVBTmdJQUN5QUFRUkJxSkFCQnpNOEJRU28yQWdCQmxOQUJRZGpRQVRZQ0FBdVFCZ0lGZndON0l3QkJFR3NpQmlRQUFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2hBQUpBSUFNb0FnQWlCVVVFUUVFQUlRSWdCRUVCUWNBVFFRQVFEd3dCQ3lBQUtBTFFLeUVKSUFNZ0JVRUJhellDQUNBQ0lBWkJER3BCQVJBUklBa2dBVUc0Q0d4cUlnY2dCaWdDRENJQVFRVjJOZ0trQmlBSElBQkJIM0VpQVRZQ0dDQUNRUUZxSVFBZ0F3Si9BbjhDUUFKL0FrQUNRQ0FCRGdJQUF3RUxJQU1vQWdBTUFRc2dBeWdDQUVFQmRnc2lCVUhpQUU4RWZ5QUdRdUdBZ0lDUUREY0NCQ0FHSUFVMkFnQWdCRUVDUWNYNEFDQUdFQThnQnlnQ0dBVWdBUXNFUUNBRklnRU5BVUVBREFJTElBVUVRQ0FIUVJ4cUlRRkJBQ0VDQTBBZ0FDQUdRUXhxUVFFUUVTQUNRZUFBVFFSQUlBWW9BZ3doQkNBQklBSkJBM1JxSWdoQkFEWUNCQ0FJSUFSQkEzWTJBZ0FMSUFCQkFXb2hBQ0FDUVFGcUlnSWdCVWNOQUFzTFFRQWhBaUFES0FJQUlnQWdCVWtOQXlBQUlBVnJEQUlMSUFkQkhHb2hCRUVBSVFJRFFDQUFJQVpCREdwQkFoQVJJQUpCNEFCTkJFQWdCQ0FDUVFOMGFpSUZJQVlvQWd3aUNFSC9EM0UyQWdRZ0JTQUlRUXQyTmdJQUN5QUFRUUpxSVFBZ0FrRUJhaUlDSUFGSERRQUxJQUZCQVhRTElRQkJBQ0VDSUFNb0FnQWlBU0FBU1EwQklBRWdBR3NMTmdJQVFRRWhBaUFIS0FJWVFRRkhEUUFnQjBFY2FpRUVJQWY5Q1FJY0lRd2dCeWdDSUNFRC9Rd0JBQUFBQWdBQUFBTUFBQUFFQUFBQUlRdEJBQ0VCQTBBZ0JDQUJRUU4wYWlJQVFSaHFJQXdnQy8wTS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8ydUFTSUsvUnNBUVFOdS9SRWdDdjBiQVVFRGJ2MGNBU0FLL1JzQ1FRTnUvUndDSUFyOUd3TkJBMjc5SEFQOXNRSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDl1QUVpQ3YxYUFnQUNJQUJCRUdvZ0N2MWFBZ0FCSUFCQkNHb2dDdjFhQWdBQUlBUWdBVUVFYWlJQlFRTjBhaUlGSUFyOVdnSUFBeUFBSUFNMkFod2dBQ0FETmdJVUlBQWdBellDRENBRklBTTJBZ1FnQy8wTUJBQUFBQVFBQUFBRUFBQUFCQUFBQVAydUFTRUxJQUZCNEFCSERRQUxDeUFHUVJCcUpBQWdBZ3VmQmdFR2Z5TUFRU0JySWdZa0FBSi9JQUFvQWdoQkVFWUVRQ0FBS0FLY0FTQUFLQUxNQVVHTUxHeHFEQUVMSUFBb0Fnd0xJUVVDUUNBREtBSUFRUVJOQkVCQkFDRUFJQVJCQVVHZEUwRUFFQThNQVFzZ0FpQUZLQUxRS3lBQlFiZ0liR29pQlNJSlFRUnFRUUVRRVNBRklBVW9BZ1JCQVdvaUJ6WUNCQ0FIUVNKUEJFQWdCa0VoTmdJRUlBWWdCellDQUNBRVFRRkIrVGtnQmhBUFFRQWhBQXdCQ3lBSElBQW9BcUFCSWdoTkJFQWdCaUFITmdJWUlBWWdDRFlDRkNBR0lBRTJBaEFnQkVFQlFiVDdBQ0FHUVJCcUVBOGdBQ0FBS0FJSVFZQ0FBbkkyQWdoQkFDRUFEQUVMSUFKQkFXb2dCVUVJYWtFQkVCRWdCU0FGS0FJSVFRSnFOZ0lJSUFKQkFtb2dCVUVNYWtFQkVCRWdCU0FGS0FJTVFRSnFJZ0EyQWd3Q1FBSkFJQVVvQWdnaUFVRUtTdzBBSUFCQkNrc05BQ0FBSUFGcVFRMUpEUUVMUVFBaEFDQUVRUUZCd3lsQkFCQVBEQUVMSUFKQkEyb2dCVUVRYWtFQkVCRWdCUzBBRUVHQUFYRUVRRUVBSVFBZ0JFRUJRWXN5UVFBUUR3d0JDeUFDUVFScUlBVkJGR3BCQVJBUklBVW9BaFJCQWs4RVFFRUFJUUFnQkVFQlFjb3hRUUFRRHd3QkN5QURJQU1vQWdCQkJXc2lCellDQUVFQklRQWdCU2dDQkNFQklBVXRBQUJCQVhGRkJFQWdBVVVOQVNBRlFiQUhhaUVCSUFWQnJBWnFJUUpCQUNFRkEwQWdBaUFGUVFKMElnQnFRUTgyQWdBZ0FDQUJha0VQTmdJQVFRRWhBQ0FGUVFGcUlnVWdDU2dDQkVrTkFBc01BUXNnQVNBSFRRUkFBa0FnQVVVRVFFRUFJUUVNQVFzZ0FrRUZhaUFHUVJ4cVFRRVFFU0FGSUFZb0Fod2lBRUVFZGpZQ3NBY2dCU0FBUVE5eE5nS3NCaUFGS0FJRUlnRkJBazhFUUNBRlFiQUhhaUVISUFWQnJBWnFJUWdnQWtFR2FpRUFRUUVoQlFOQUlBQWdCa0VjYWtFQkVCRUNRQ0FHS0FJY0lnRkJFRThFUUNBQlFROXhJZ0lOQVF0QkFDRUFJQVJCQVVId0xVRUFFQThNQlFzZ0NDQUZRUUowSWdwcUlBSTJBZ0FnQnlBS2FpQUJRUVIyTmdJQUlBQkJBV29oQUNBRlFRRnFJZ1VnQ1NnQ0JDSUJTUTBBQ3dzZ0F5Z0NBQ0VIQ3lBRElBY2dBV3MyQWdCQkFTRUFEQUVMUVFBaEFDQUVRUUZCblJOQkFCQVBDeUFHUVNCcUpBQWdBQXRTQUNBQklBQXRBQUE2QUFjZ0FTQUFMUUFCT2dBR0lBRWdBQzBBQWpvQUJTQUJJQUF0QUFNNkFBUWdBU0FBTFFBRU9nQURJQUVnQUMwQUJUb0FBaUFCSUFBdEFBWTZBQUVnQVNBQUxRQUhPZ0FBQzVJQkFRUi9JQUFnQVRZQ29BRUNRQ0FBS0FKSUlnTkZEUUFnQXlnQ0dDSUdSUTBBSUFBb0Fnd2lCRVVOQUNBRUtBTFFLMFVOQUNBREtBSVFJZ1JGQkVCQkFROExRUUFoQXdOQUlBRWdBQ2dDRENnQzBDc2dBMEc0Q0d4cUtBSUVUd1JBSUFKQkFVR2l4UUJCQUJBUFFRQVBDeUFHSUFOQk5HeHFJQUUyQWloQkFTRUZJQU5CQVdvaUF5QUVSdzBBQ3dzZ0JRdXNCd0lKZndoK0l3QkJFR3NpQ2lRQUFrQWdBa1VFUUNBRFFRRkIrdFVBUVFBUUR3d0JDeUFDS0FJUUlnc2dBQ2dDU0NJR0tBSVFTUVJBSUFOQkFVRzF6Z0JCQUJBUERBRUxJQVFnQUNnQ2FDSUZJQUFvQW14c0lnZFBCRUFnQ2lBRU5nSUFJQW9nQjBFQmF6WUNCQ0FEUVFGQjkvb0FJQW9RRDBFQUlRVU1BUXNnQWlBQUtBSlVJQVFnQlNBRUlBVnVJZ2RzYXlJSUlBQW9BbHhzYWlJRk5nSUFJQUlnQlNBR0tBSUFJZ1lnQlNBR1N4c2lCallDQUNBQ0lBQW9BbFFnQUNnQ1hDQUlRUUZxYkdvaUJUWUNDQ0FDSUFVZ0FDZ0NTQ2dDQ0NJSUlBVWdDRWtiSWdnMkFnZ2dBaUFBS0FKWUlBQW9BbUFnQjJ4cUlnVTJBZ1FnQWlBRklBQW9Ba2dvQWdRaUNTQUZJQWxMR3lJSk5nSUVJQUlnQUNnQ1dDQUFLQUpnSUFkQkFXcHNhaUlGTmdJTUlBSWdCU0FBS0FKSUtBSU1JZ2NnQlNBSFNSc2lCVFlDRENBQUtBSklJZ3dvQWhBaUJ3UkFJQVdzUWdGOUlSRWdDS3hDQVgwaEVpQUpyVUlCZlNFVElBYXRRZ0Y5SVJRZ0RDZ0NHQ0VJSUFJb0FoZ2hCVUVBSVFZRFFDQUZJQWdnQmtFMGJHb29BaWdpQ1RZQ0tDQUZJQlFnQlNnQ0FDSU1yU0lPZkNBT2dDSVZQZ0lRSUFVZ0V5QUZLQUlFSWcydElnNThJQTZBSWhBK0FoUWdCVUovSUFtdElnNkdJZzhnRU1SOUlBNkhweUFQSUJFZ0Rhd2lFSHdnRUgvRWZTQU9oNmRyTmdJTUlBVWdEeUFWeEgwZ0RvZW5JQThnRWlBTXJDSVBmQ0FQZjhSOUlBNkhwMnMyQWdnZ0JVRTBhaUVGSUFaQkFXb2lCaUFIUncwQUN3c2dCeUFMU1FSQUlBSW9BaGdoQlFOQUlBVWdCMEUwYkNJR2FpZ0NMQkFRSUFJb0FoZ2lCU0FHYWtFQU5nSXNJQWRCQVdvaUJ5QUNLQUlRU1EwQUN5QUNJQUFvQWtnb0FoQTJBaEFMSUFBb0Frd2lCUVJBSUFVUUlRc2dBRUVCUVNRUUV5SUhOZ0pNUVFBaEJTQUhSUTBBSUFJZ0J4QS9JQUFnQkRZQ0xDQUFLQUxBQVVFWElBTVFKRVVOQUNBQUtBTEFBU0lFS0FJQUlRWWdCQ2dDQ0NFSEFrQWdCZ1JBUVFFaEJTQUdRUUZ4SVFzZ0JrRUJSZ1IvUVFBRklBWkJmbkVoQ0VFQUlRWURRQUovUVFBZ0JVVU5BQnBCQUNBQUlBRWdBeUFIS0FJQUVRQUFSUTBBR2lBQUlBRWdBeUFIS0FJRUVRQUFRUUJIQ3lFRklBZEJDR29oQnlBR1FRSnFJZ1lnQ0VjTkFBc2dCVUVCY3dzaEJnSkFBa0FnQ3dSQUlBWU5BU0FBSUFFZ0F5QUhLQUlBRVFBQVFRQkhJUVVMSUFSQkFEWUNBQ0FGUVFGeFJRMEJEQU1MSUFSQkFEWUNBQXNnQUNnQ1NCQWhRUUFoQlNBQVFRQTJBa2dNQWdzZ0JFRUFOZ0lBQ3lBQUlBSVFSeUVGQ3lBS1FSQnFKQUFnQlF2eUF3RUZmd0pBQWtBZ0FDZ0NQQ0lDUlFSQUlBRW9BaEFOQVVFQkR3c2dBa0UwYkJBVUlnVkZEUUVnQVNnQ0VBUkFJQUVvQWhnaEFnTkFJQUlnQTBFMGJDSUVhaWdDTEJBUUlBRW9BaGdpQWlBRWFrRUFOZ0lzSUFOQkFXb2lBeUFCS0FJUUlnUkpEUUFMQ3lBQklBQW9BandFZnlBQUtBSk1LQUlZSVFOQkFDRUNBMEFnQlNBQ1FUUnNhaUlFSUFNZ0FDZ0NRQ0FDUVFKMGFpZ0NBRUUwYkNJR2FpSUQvUUFDQVAwTEFnQWdCQ0FES0FJd05nSXdJQVFnQS8wQUFpRDlDd0lnSUFRZ0EvMEFBaEQ5Q3dJUUlBUWdBQ2dDVENnQ0dDSURJQVpxSWdZb0FpUTJBaVFnQkNBR0tBSXNOZ0lzSUFaQkFEWUNMQ0FDUVFGcUlnSWdBQ2dDUENJR1NRMEFDeUFCS0FJUUJTQUVDd1IvSUFBb0Frd29BaGdoQWtFQUlRTURRQ0FDSUFOQk5Hd2lCR29vQWl3UUVDQUFLQUpNS0FJWUlnSWdCR3BCQURZQ0xDQURRUUZxSWdNZ0FTZ0NFRWtOQUFzZ0FDZ0NQQVVnQmdzMkFoQWdBU2dDR0JBUUlBRWdCVFlDR0VFQkR3c2dBU2dDR0NFRUlBQW9Ba3dvQWhnaEEwRUFJUUlEUUNBRUlBSkJOR3dpQldvaUJDQURJQVZxS0FJa05nSWtJQVFvQWl3UUVDQUJLQUlZSWdRZ0JXb2dBQ2dDVENnQ0dDSURJQVZxSWdVb0FpdzJBaXdnQlVFQU5nSXNJQUpCQVdvaUFpQUJLQUlRU1EwQUMwRUJEd3NnQUNnQ1NCQWhJQUJCQURZQ1NFRUFDODRFQVFoL0FrQWdBa1VOQUFKQUlBQW9BcUFCSWdWRkRRQWdBQ2dDU0NJRVJRMEFJQVFvQWhCRkRRQWdCQ2dDR0NnQ0tDQUZSdzBBSUFJb0FoQWlDRVVOQUNBQ0tBSVlJZ1lvQWlnTkFDQUdLQUlzRFFCQkFDRUVJQWhCQ0U4RVFDQUlRWGh4SVFrRFFDQUdJQVJCTkd4cUlBVTJBaWdnQmlBRVFRRnlRVFJzYWlBRk5nSW9JQVlnQkVFQ2NrRTBiR29nQlRZQ0tDQUdJQVJCQTNKQk5HeHFJQVUyQWlnZ0JpQUVRUVJ5UVRSc2FpQUZOZ0lvSUFZZ0JFRUZja0UwYkdvZ0JUWUNLQ0FHSUFSQkJuSkJOR3hxSUFVMkFpZ2dCaUFFUVFkeVFUUnNhaUFGTmdJb0lBUkJDR29oQkNBS1FRaHFJZ29nQ1VjTkFBc0xJQWhCQjNFaUNBUkFBMEFnQmlBRVFUUnNhaUFGTmdJb0lBUkJBV29oQkNBTFFRRnFJZ3NnQ0VjTkFBc0xJQUlnQXhBM0RRQkJBQThMSUFBb0Frd2lCVVVFUUNBQVFRRkJKQkFUSWdVMkFrd2dCVVVOQVFzZ0FpQUZFRDhnQUNnQ3dBRkJGaUFERUNSRkRRQWdBQ2dDd0FFaUJpZ0NBQ0VFSUFZb0FnZ2hCUUpBSUFRRVFFRUJJUWNnQkVFQmNTRUlJQVJCQVVZRWYwRUFCU0FFUVg1eElRbEJBQ0VFQTBBQ2YwRUFJQWRGRFFBYVFRQWdBQ0FCSUFNZ0JTZ0NBQkVBQUVVTkFCb2dBQ0FCSUFNZ0JTZ0NCQkVBQUVFQVJ3c2hCeUFGUVFocUlRVWdCRUVDYWlJRUlBbEhEUUFMSUFkQkFYTUxJUVFDUUFKQUlBZ0VRQ0FFRFFFZ0FDQUJJQU1nQlNnQ0FCRUFBRUVBUnlFSEN5QUdRUUEyQWdBZ0IwRUJjVVVOQVF3REN5QUdRUUEyQWdBTElBQW9Ba2dRSVNBQVFRQTJBa2hCQUE4TElBWkJBRFlDQUFzZ0FDQUNFRWNoQndzZ0J3djRCQUVHZndKQVFRRkJNQkFUSWdJRWZ5QUNJQUFvQXNnQklnSDlBQU1BL1FzREFDQUNJQUVwQXhBM0F4QWdBaUFCS0FJWUlnRTJBaGdnQWlBQlFSaHNFQlFpQVRZQ0hDQUJSUVJBSUFJUUVFRUFEd3NDUUNBQUtBTElBU2dDSENJREJFQWdBU0FESUFJb0FoaEJHR3dRRWhvTUFRc2dBUkFRSUFKQkFEWUNIQXNnQWlBQUtBTElBU2dDSkNJQk5nSWtJQUlnQVVFb0VCTWlBVFlDS0NBQlJRUkFJQUlvQWh3UUVDQUNFQkJCQUE4TEFrQWdBQ2dDeUFFb0FpZ0VRQ0FDS0FJa1JRMEJBMEFnQVNBRlFTaHNJZ05xSUFBb0FzZ0JLQUlvSUFOcUtBSVVJZ0UyQWhRZ0FVRVliQkFVSVFFZ0FpZ0NLQ0lFSUFOcUlnWWdBVFlDR0NBQlJRUkFJQVVFZjBFQUlRRURRQ0FDS0FJb0lBRkJLR3hxS0FJWUVCQWdBVUVCYWlJQklBVkhEUUFMSUFJb0FpZ0ZJQVFMRUJBTUJRc0NRQ0FBS0FMSUFTZ0NLQ0FEYWlnQ0dDSUVCRUFnQVNBRUlBWW9BaFJCR0d3UUVob2dBaWdDS0NFQkRBRUxJQUVRRUNBQ0tBSW9JZ0VnQTJwQkFEWUNHQXNnQVNBRGFpQUFLQUxJQVNnQ0tDQURhaWdDQkNJQk5nSUVJQUZCR0d3UUZDRUJJQUlvQWlnaUJDQURhaUlHSUFFMkFoQWdBVVVFUUNBRkJIOUJBQ0VCQTBBZ0FVRW9iQ0lBSUFJb0FpaHFLQUlZRUJBZ0FpZ0NLQ0FBYWlnQ0VCQVFJQUZCQVdvaUFTQUZSdzBBQ3lBQ0tBSW9CU0FFQ3hBUURBVUxBa0FnQUNnQ3lBRW9BaWdnQTJvb0FoQWlCQVJBSUFFZ0JDQUdLQUlFUVJoc0VCSWFJQUlvQWlnaEFRd0JDeUFCRUJBZ0FpZ0NLQ0lCSUFOcVFRQTJBaEFMSUFFZ0EycENBRGNDSUNBRlFRRnFJZ1VnQWlnQ0pFa05BQXNNQVFzZ0FSQVFJQUpCQURZQ0tBc2dBZ1ZCQUFzUEN5QUNLQUljRUJBZ0FoQVFRUUFMb0FZQ0RuOEJleU1BUVJCcklnZ2tBQ0FBS0FKSUtBSVFJUTBnQ0VFQlFUZ1FFeUlCTmdJTUFrQWdBVVVOQUNBQklBQW9Ba2dvQWhBaUNUWUNHQ0FCSUFEOUFBSlUvUXNDQUNBQklBQW9BbWcyQWhBZ0FDZ0NiQ0VDSUFGQkFEWUNOQ0FCSUFJMkFoUWdBU0FBS0FJTUlnd29BZ0EyQWlBZ0FTQU1LQUlFTmdJa0lBRWdEQ2dDQ0RZQ0tDQUJJQXdvQWhBMkFpd2dBU0FKUWJnSUVCTWlBRFlDTUNBQUJFQWdEUVJBQTBBZ0RrRzRDR3dpQUNBQktBSXdhaUlGSUF3b0F0QXJJQUJxSWdUOUFBSUFJZy85Q3dJRUlBVWdCQ2dDRURZQ0ZDQUZJQVFvQWhRMkFoZ2dELzBiQVNJQVFTQk5CRUFnQlVHMEIyb2dCRUd3QjJvZ0FCQVNHaUFGUWJBR2FpQUVRYXdHYWlBRUtBSUVFQklhQ3lBRklBUW9BaGdpQURZQ0hDQUZJQVFvQXFRR05nS29Ca0VCSVFZQ1FDQUFRUUZIQkVBZ0JDZ0NCRUVEYkNJQVFRTnJRZDhBU3cwQklBQkJBbXNoQmdzZ0JVR2tBMm9oQ1NBRlFTQnFJUW9nQkVFY2FpRUxRUUFoQUFKQUlBWkJDRWtOQUNBRUlBWkJBM1JxUVJ4cUlBcExCRUFnQ3lBRklBWkJBblJxUWFRRGFra05BUXNnQmtGOGNTRUFRUUFoQWdOQUlBb2dBa0VDZENJRGFpQUxJQUpCQTNScUlnZEJIR29nQjBFVWFpQUhRUXhxSUFmOUNRSUUvVllDQUFIOVZnSUFBdjFXQWdBRC9Rc0NBQ0FESUFscUlBZEJHR29nQjBFUWFpQUhRUWhxSUFmOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRC9Rc0NBQ0FDUVFScUlnSWdBRWNOQUFzZ0FDQUdSZzBCQ3lBQVFRRnlJUU1nQmtFQmNRUkFJQW9nQUVFQ2RDSUNhaUFMSUFCQkEzUnFJZ0FvQWdRMkFnQWdBaUFKYWlBQUtBSUFOZ0lBSUFNaEFBc2dBeUFHUmcwQUEwQWdDaUFBUVFKMElnSnFJQXNnQUVFRGRHb2lBeWdDQkRZQ0FDQUNJQWxxSUFNb0FnQTJBZ0FnQ2lBQVFRRnFJZ05CQW5RaUFtb2dDeUFEUVFOMGFpSURLQUlFTmdJQUlBSWdDV29nQXlnQ0FEWUNBQ0FBUVFKcUlnQWdCa2NOQUFzTElBVWdCQ2dDcUFZMkFxd0dJQTVCQVdvaURpQU5SdzBBQ3dzZ0FTRUREQUVMSUFoQkRHb0VRQ0FJS0FJTUlnRW9BakFpQUFSL0lBQVFFQ0FJS0FJTUJTQUJDeEFRSUFoQkFEWUNEQXNMSUFoQkVHb2tBQ0FEQy9rRUFRaC9Jd0JCZ0FKcklnTWtBQ0FBQkVCQi9BeEJFU0FDRUIwZ0F5QUFLQUlBTmdMd0FTQUNRWm9SSUFOQjhBRnFFQllnQXlBQUtBSUVOZ0xnQVNBQ1FhY1JJQU5CNEFGcUVCWWdBeUFBS0FJSU5nTFFBU0FDUVlJM0lBTkIwQUZxRUJZZ0F5QUFLQUlRTmdMQUFTQUNRZjBRSUFOQndBRnFFQllnQVVFQVNnUkFBMEFnQUNnQzBDc2hCQ0FESUFjMkFyQUJJQUpCb2cwZ0EwR3dBV29RRmlBRElBUWdCMEc0Q0d4cUlnUW9BZ0EyQXFBQklBSkJtUkVnQTBHZ0FXb1FGaUFESUFRb0FnUTJBcEFCSUFKQjlEY2dBMEdRQVdvUUZpQURJQVFvQWdnMkFvQUJJQUpCb0RZZ0EwR0FBV29RRmlBRElBUW9BZ3cyQW5BZ0FrR3dOaUFEUWZBQWFoQVdJQU1nQkNnQ0VEWUNZQ0FDUVlnUklBTkI0QUJxRUJZZ0F5QUVLQUlVTmdKUUlBSkJ0amdnQTBIUUFHb1FGa0hWQzBFWElBSVFIU0FFS0FJRUJFQWdCRUd3QjJvaEJpQUVRYXdHYWlFSVFRQWhCUU5BSUFnZ0JVRUNkQ0lKYWlnQ0FDRUtJQU1nQmlBSmFpZ0NBRFlDUkNBRElBbzJBa0FnQWtHTERDQURRVUJyRUJZZ0JVRUJhaUlGSUFRb0FnUkpEUUFMQ3lBQ0VHNGdBeUFFS0FJWU5nSXdJQUpCd0RZZ0EwRXdhaEFXSUFNZ0JDZ0NwQVkyQWlBZ0FrSHhOaUFEUVNCcUVCWkJBU0VHUWUwTFFSUWdBaEFkQWtBZ0JDZ0NHRUVCUndSQUlBUW9BZ1FpQlVFQVRBMEJJQVZCQTJ4QkFtc2hCZ3NnQkVFY2FpRUlRUUFoQlFOQUlBTWdDQ0FGUVFOMGFpa0NBRUlnaVRjREVDQUNRWXNNSUFOQkVHb1FGaUFGUVFGcUlnVWdCa2NOQUFzTElBSVFiaUFESUFRb0FxZ0dOZ0lBSUFKQjREWWdBeEFXUVprTVFRVWdBaEFkSUFkQkFXb2lCeUFCUncwQUN3dEJtZ3hCQkNBQ0VCMExJQU5CZ0FKcUpBQUw1Z29EQ1g4QmV3RitJd0JCc0FGcklnVWtBQUpBSUFGQmdBTnhCRUJCbmkxQkN5QUNFQjBNQVFzQ1FDQUJRUUZ4UlEwQUlBQW9Ba2dpQmtVTkFDTUFRZEFBYXlJREpBQkI3Z3hCRFNBQ0VCMGdBMEVBT2dCUElBTkJDVG9BVGlBRElBWXBBZ0EzQWtRZ0F5QURRYzRBYWlJRU5nSkFJQUpCaGprZ0EwRkFheEFXSUFNZ0Jpa0NDRGNDTkNBRElBUTJBakFnQWtIMU9DQURRVEJxRUJZZ0F5QUdLQUlRTmdJa0lBTWdCRFlDSUNBQ1FaTTNJQU5CSUdvUUZnSkFJQVlvQWhoRkRRQWdCaWdDRUVVTkFBTkFJQU1nQTBIT0FHb2lDallDRUNBRElBYzJBaFFnQWtHT0RTQURRUkJxRUJZZ0JpZ0NHQ0FIUVRSc2FpRUlJd0JCTUdzaUJDUUFJQVJCQ1RzQUxpQUVRUWs2QUMwZ0JDQUlLUUlBTndJa0lBUWdCRUV0YWlJSk5nSWdJQUpCenpZZ0JFRWdhaEFXSUFRZ0NDZ0NHRFlDRkNBRUlBazJBaEFnQWtIRk9DQUVRUkJxRUJZZ0JDQUlLQUlnTmdJRUlBUWdDVFlDQUNBQ1FhbzRJQVFRRmlBRVFUQnFKQUFnQXlBS05nSUFJQUpCbEF3Z0F4QVdJQWRCQVdvaUJ5QUdLQUlRU1EwQUN3dEJuQXhCQWlBQ0VCMGdBMEhRQUdva0FBc0NRQ0FCUVFKeFJRMEFJQUFvQWtoRkRRQkIrUTFCSkNBQ0VCMGdCU0FBS1FKVU53T2dBU0FDUWVjUklBVkJvQUZxRUJZZ0JTQUFLUUpjTndPUUFTQUNRY1VSSUFWQmtBRnFFQllnQlNBQUtRTm9Od09BQVNBQ1FkY1JJQVZCZ0FGcUVCWWdBQ2dDRENBQUtBSklLQUlRSUFJUVMwR2NERUVDSUFJUUhRc0NRQ0FCUVFoeFJRMEFJQUFvQWtoRkRRQWdBQ2dDYUNBQUtBSnNiQ0lFUlEwQUlBQW9BcHdCSVFNRFFDQURJQUFvQWtnb0FoQWdBaEJMSUFOQmpDeHFJUU1nQzBFQmFpSUxJQVJIRFFBTEN5QUJRUkJ4UlEwQUlBQW9Bc2dCSVFGQjB3MUJKU0FDRUIwZ0JTQUIvUUFEQVAwTEJIQWdBa0hKS3lBRlFmQUFhaEFXUWNFTlFSRWdBaEFkQWtBZ0FTZ0NIRVVOQUNBQktBSVlSUTBBUVFBaEF3TkFJQUVvQWh3Z0EwRVliR29pQUM4QkFDRUVJQUFwQXdnaERTQUZJQUFvQWhBMkFtQWdCU0FOTndOWUlBVWdCRFlDVUNBQ1FZczRJQVZCMEFCcUVCWWdBMEVCYWlJRElBRW9BaGhKRFFBTEMwR2FERUVFSUFJUUhRSkFJQUVvQWlnaUJFVU5BQ0FCS0FJa0lnZEZEUUJCQUNFRFFRQWhBQUpBSUFkQkJFOEVRQ0FIUVh4eElRQURRQ0FFSUFOQkEzSkJLR3hxUVFScUlBUWdBMEVDY2tFb2JHcEJCR29nQkNBRFFRRnlRU2hzYWtFRWFpQUVJQU5CS0d4cS9Ra0NCUDFXQWdBQi9WWUNBQUw5VmdJQUF5QU0vYTRCSVF3Z0EwRUVhaUlESUFCSERRQUxJQXdnRENBTS9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9hNEJJZ3dnRENBTS9RMEVCUVlIQUFFQ0F3QUJBZ01BQVFJRC9hNEIvUnNBSVFNZ0FDQUhSZzBCQ3dOQUlBUWdBRUVvYkdvb0FnUWdBMm9oQXlBQVFRRnFJZ0FnQjBjTkFBc0xJQU5GRFFCQnNBMUJFQ0FDRUIwZ0FTZ0NKQVJBSUFFb0FpZ2hBRUVBSVFjRFFDQUZJQUFnQjBFb2JDSUVhaWdDQkNJR05nSkVJQVVnQnpZQ1FDQUNRZEU0SUFWQlFHc1FGaUFCS0FJb0lRQUNRQ0FHUlEwQVFRQWhBeUFBSUFScUtBSVFSUTBBQTBBZ0FTZ0NLQ0FFYWlnQ0VDQURRUmhzYWlJQS9RQURBQ0VNSUFVZ0FDa0RFRGNET0NBRklBejlDd01vSUFVZ0F6WUNJQ0FDUWFYUkFDQUZRU0JxRUJZZ0EwRUJhaUlESUFaSERRQUxJQUVvQWlnaEFBc0NRQ0FBSUFScUlnWW9BaGhGRFFCQkFDRURJQVlvQWhSRkRRQURRQ0FBSUFScUtBSVlJQU5CR0d4cUlnQXZBUUFoQmlBQUtRTUlJUTBnQlNBQUtBSVFOZ0lRSUFVZ0RUY0RDQ0FGSUFZMkFnQWdBa0dMT0NBRkVCWWdBMEVCYWlJRElBRW9BaWdpQUNBRWFpZ0NGRWtOQUFzTElBZEJBV29pQnlBQktBSWtTUTBBQ3d0Qm1neEJCQ0FDRUIwTFFad01RUUlnQWhBZEN5QUZRYkFCYWlRQUM0OENBUU4vQWtCQkFVSG9BUkFUSWdFRWZ5QUJRUUUyQWdBZ0FVRUJOZ0s0QVNBQklBRXRBTHdCUVFaeU9nQzhBU0FCUVFGQmpDd1FFeUlBTmdJTUlBQkZEUUVnQVVFQlFlZ0hFQk1pQURZQ0VDQUFSUTBCSUFGQ0FEY0RNQ0FCUVg4MkFpd2dBVUhvQnpZQ0ZBSkFRUUZCTUJBVElnQUVRQ0FBUVFBMkFoZ2dBRUhrQURZQ0lDQUFRZVFBUVJnUUV5SUNOZ0ljSUFJTkFTQUFFQkFMSUFGQkFEWUN5QUVNQWdzZ0FFRUFOZ0lvSUFFZ0FEWUN5QUVnQVJBeklnQTJBc1FCSUFCRkRRRWdBUkF6SWdBMkFzQUJJQUJGRFFFQ1FCQ1JBVVVOQUFzZ0FVRUFFR1lpQURZQzFBRWdBRVVFUUNBQlFRQVFaaUlBTmdMVUFTQUFSUTBDQ3lBQkJVRUFDdzhMSUFFUU9FRUFDNDBKQWdsL0FYNGpBRUhRQVdzaUJ5UUFJQUFvQWtnaENRSkFBa0FDUUNBQUtBSm9RUUZIRFFBZ0FDZ0NiRUVCUncwQUlBQW9BcHdCS0FMY0t3MEJDeUFBS0FJSVFRaEdEUUFnQmtFQlFlSE9BRUVBRUE4TUFRc0NRQ0FCS0FJUUlneEZEUUFnQUNnQ29BRWhDaUFCS0FJWUlRc2dERUVJVHdSQUlBeEJlSEVoRHdOQUlBc2dDRUUwYkdvZ0NqWUNLQ0FMSUFoQkFYSkJOR3hxSUFvMkFpZ2dDeUFJUVFKeVFUUnNhaUFLTmdJb0lBc2dDRUVEY2tFMGJHb2dDallDS0NBTElBaEJCSEpCTkd4cUlBbzJBaWdnQ3lBSVFRVnlRVFJzYWlBS05nSW9JQXNnQ0VFR2NrRTBiR29nQ2pZQ0tDQUxJQWhCQjNKQk5HeHFJQW8yQWlnZ0NFRUlhaUVJSUE1QkNHb2lEaUFQUncwQUN3c2dERUVIY1NJTVJRMEFBMEFnQ3lBSVFUUnNhaUFLTmdJb0lBaEJBV29oQ0NBTlFRRnFJZzBnREVjTkFBc0xJQUlnQTNJZ0JISWdCWEpGQkVBZ0JrRUVRYTh3UVFBUUR5QUFRZ0EzQWh3Z0FDQUFLUUpvTndJa0lBRWdDZjBBQWdEOUN3SUFJQUVnQmhBM0lRZ01BUXNnQWtFQVNBUkFJQWNnQWpZQ0FDQUdRUUZCeDkwQUlBY1FEMEVBSVFnTUFRc2dBaUFKS0FJSUlnaExCRUFnQnlBSU5nSVVJQWNnQWpZQ0VDQUdRUUZCbStFQUlBZEJFR29RRDBFQUlRZ01BUXNDUUNBQ0lBa29BZ0FpQ0VrRVFDQUhJQWcyQXNRQklBY2dBallDd0FFZ0JrRUNRZnZqQUNBSFFjQUJhaEFQSUFCQkFEWUNIQ0FKS0FJQUlRSU1BUXNnQUNBQ0lBQW9BbFJySUFBb0FseHVOZ0ljQ3lBQklBSTJBZ0FnQTBFQVNBUkFJQWNnQXpZQ0lDQUdRUUZCaDkwQUlBZEJJR29RRDBFQUlRZ01BUXNnQXlBSktBSU1JZ0pMQkVBZ0J5QUNOZ0kwSUFjZ0F6WUNNQ0FHUVFGQjd0OEFJQWRCTUdvUUQwRUFJUWdNQVFzQ1FDQURJQWtvQWdRaUFra0VRQ0FISUFJMkFyUUJJQWNnQXpZQ3NBRWdCa0VDUWN6aUFDQUhRYkFCYWhBUElBQkJBRFlDSUNBSktBSUVJUU1NQVFzZ0FDQURJQUFvQWxocklBQW9BbUJ1TmdJZ0N5QUJJQU0yQWdSQkFDRUlJQVJCQUV3RVFDQUhJQVEyQWtBZ0JrRUJRY1hjQUNBSFFVQnJFQThNQVFzZ0JDQUpLQUlBSWdKSkJFQWdCeUFDTmdKVUlBY2dCRFlDVUNBR1FRRkJvdU1BSUFkQjBBQnFFQThNQVFzQ1FDQUVJQWtvQWdnaUFrc0VRQ0FISUFJMkFxUUJJQWNnQkRZQ29BRWdCa0VDUWNQZ0FDQUhRYUFCYWhBUElBQWdBQ2dDYURZQ0pDQUpLQUlJSVFRTUFRc2dBQ0FBTlFKY0loQWdCQ0FBS0FKVWE2MThRZ0Y5SUJDQVBnSWtDeUFCSUFRMkFnZ2dCVUVBVEFSQUlBY2dCVFlDWUNBR1FRRkJndHdBSUFkQjRBQnFFQThNQVFzZ0JTQUpLQUlFSWdKSkJFQWdCeUFDTmdKMElBY2dCVFlDY0NBR1FRRkI4dUVBSUFkQjhBQnFFQThNQVFzQ1FDQUZJQWtvQWd3aUFrc0VRQ0FISUFJMkFwUUJJQWNnQlRZQ2tBRWdCa0VDUVpYZkFDQUhRWkFCYWhBUElBQWdBQ2dDYkRZQ0tDQUpLQUlNSVFVTUFRc2dBQ0FBTlFKZ0loQWdCU0FBS0FKWWE2MThRZ0Y5SUJDQVBnSW9DeUFCSUFVMkFnd2dBQ0FBTFFCRVFRSnlPZ0JFSUFFZ0JoQTNJZ2hGQkVCQkFDRUlEQUVMSUFjZ0FmMEFBZ0Q5Q3dTQUFTQUdRUVJCdERrZ0IwR0FBV29RRHdzZ0IwSFFBV29rQUNBSUM1VUNBUWQvSXdCQklHc2lCU1FBQW44Z0FDZ0NTQ0lFUlFSQUlBTkJBVUhGNWdCQkFCQVBRUUFNQVF0QkFFRUVJQVFvQWhBUUV5SUVSUTBBR2lBQkJFQWdBQ2dDU0NFSUEwQUNRQUpBSUFJZ0JrRUNkR29vQWdBaUJ5QUlLQUlRVHdSQUlBVWdCellDRUNBRFFRRkIrUkVnQlVFUWFoQVBEQUVMSUFRZ0IwRUNkR29pQ1NnQ0FFVU5BU0FGSUFjMkFnQWdBMEVCUVkwYUlBVVFEd3NnQkJBUVFRQU1Bd3NnQ1VFQk5nSUFJQVpCQVdvaUJpQUJSdzBBQ3dzZ0JCQVFJQUFvQWtBUUVBSkFJQUVFUUNBQUlBRkJBblFpQkJBVUlnTTJBa0FnQTBVRVFDQUFRUUEyQWp4QkFBd0RDeUFESUFJZ0JCQVNHZ3dCQ3lBQVFRQTJBa0FMSUFBZ0FUWUNQRUVCQ3lFS0lBVkJJR29rQUNBS0M3d0ZBUWQvSUFGQkFVRWtFQk1pQkRZQ1NBSkFBa0FnQkVVTkFBSkFJQUVvQXNRQlFSSWdBeEFrQkVBZ0FTZ0N4QUZCRXlBREVDUU5BUXNNQWdzZ0FTZ0N4QUVpQnlnQ0FDRUdJQWNvQWdnaEJBSkFJQVlFUUVFQklRVWdCa0VCUndSQUlBWkJmbkVoQ1FOQUFuOUJBQ0FGUlEwQUdrRUFJQUVnQUNBRElBUW9BZ0FSQUFCRkRRQWFJQUVnQUNBRElBUW9BZ1FSQUFCQkFFY0xJUVVnQkVFSWFpRUVJQWhCQW1vaUNDQUpSdzBBQ3dzQ1FBSkFJQVpCQVhFRVFDQUZSUTBCSUFFZ0FDQURJQVFvQWdBUkFBQkJBRWNoQlFzZ0IwRUFOZ0lBSUFWRkRRRU1Bd3NnQjBFQU5nSUFDd3dEQ3lBSFFRQTJBZ0FMQWtBZ0FTZ0N3QUZCRkNBREVDUUVRQ0FCS0FMQUFVRVZJQU1RSkEwQkN3d0NDeUFCS0FMQUFTSUhLQUlBSVFZZ0J5Z0NDQ0VFQWtBZ0JnUkFRUUVoQlNBR1FRRnhJUWtnQmtFQlJnUi9RUUFGSUFaQmZuRWhCa0VBSVFnRFFBSi9RUUFnQlVVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVGSUFSQkNHb2hCQ0FJUVFKcUlnZ2dCa2NOQUFzZ0JVVUxJUVlDUUFKQUlBa0VRQ0FHRFFFZ0FTQUFJQU1nQkNnQ0FCRUFBRUVBUnlFRkN5QUhRUUEyQWdBZ0JVVU5BUXdEQ3lBSFFRQTJBZ0FMREFNTElBZEJBRFlDQUFzZ0FrRUJRU1FRRXlJQU5nSUFJQUJGRFFBZ0FTZ0NTQ0FBRUQ4Z0FTZ0N5QUVnQVNnQ2JDQUJLQUpvYkNJQU5nSWtJQUJCS0JBVElRTWdBU2dDeUFFaUFDQUROZ0lvQWtBZ0EwVU5BQ0FBS0FJa1JRUkFRUUVQQzBFQUlRUURRQ0FESUFSQktHd2lCV29pQUVFQU5nSVVJQUJCNUFBMkFoeEI1QUJCR0JBVElRQWdCU0FCS0FMSUFTSUhLQUlvSWdOcUlBQTJBaGdnQUVVTkFVRUJJUW9nQkVFQmFpSUVJQWNvQWlSSkRRQUxEQUVMSUFJb0FnQVFJVUVBSVFvZ0FrRUFOZ0lBQ3lBS0R3c2dBU2dDU0JBaElBRkJBRFlDU0VFQUN3SUFDd1FBUVFFTE5BQUNRQ0FBUlEwQUlBRkZEUUFnQUNBQktBSUVOZ0trQVNBQUlBRW9BZ0EyQXFBQklBQWdBU2dDdUVCQkFuRTJBdUFCQ3d1MEJRRUlmeUFBS0FJWUlnUW9BaEFpQ1VVRVFFRUFEd3NnQkNnQ0dDRUZJQUFvQWhRb0FnQW9BaFFoQkFKQUFrQWdBVVVFUUVFQUlRRURRQ0FGS0FJWUlRSWdCQ2dDSENBRUtBSVlRWmdCYkdvaUFFR01BV3NvQWdBaUJ5QUFRWlFCYXlnQ0FDSUlheUVESUFCQmtBRnJLQUlBSUFCQm1BRnJLQUlBYXlFQUFrQWdCeUFJUmcwQUlBQ3RJQU90ZmtJZ2lGQU5BQXdFQ3lBQUlBTnNJUU1DUUVFRUlBSkJBM1lnQWtFSGNVRUFSMm9pQUNBQVFRTkdHeUlDUlEwQUlBS3RJQU90ZmtJZ2lGQU5BQXdFQzBGL0lRQWdBaUFEYkNJQ0lBRkJmM05MRFFJZ0JFSE1BR29oQkNBRlFUUnFJUVVnQVNBQ2FpSUJJUUFnQmtFQmFpSUdJQWxIRFFBTERBRUxRUUFoQVNBQUtBSkFSUVJBQTBBZ0JTZ0NHQ0VDSUFRb0Fod2dCQ2dDR0VHWUFXeHFJZ0JCQkdzb0FnQWlCeUFBUVF4cktBSUFJZ2hySVFNZ0FFRUlheWdDQUNBQVFSQnJLQUlBYXlFQUFrQWdCeUFJUmcwQUlBQ3RJQU90ZmtJZ2lGQU5BQXdFQ3lBQUlBTnNJUU1DUUVFRUlBSkJBM1lnQWtFSGNVRUFSMm9pQUNBQVFRTkdHeUlDUlEwQUlBS3RJQU90ZmtJZ2lGQU5BQXdFQzBGL0lRQWdBaUFEYkNJQ0lBRkJmM05MRFFJZ0JFSE1BR29oQkNBRlFUUnFJUVVnQVNBQ2FpSUJJUUFnQmtFQmFpSUdJQWxIRFFBTERBRUxBMEFnQlNnQ0dDRUNJQVFvQWh3Z0JDZ0NHRUdZQVd4cUlnQkJqQUZyS0FJQUlnY2dBRUdVQVdzb0FnQWlDR3NoQXlBQVFaQUJheWdDQUNBQVFaZ0JheWdDQUdzaEFBSkFJQWNnQ0VZTkFDQUFyU0FEclg1Q0lJaFFEUUFNQXdzZ0FDQURiQ0VEQWtCQkJDQUNRUU4ySUFKQkIzRkJBRWRxSWdBZ0FFRURSaHNpQWtVTkFDQUNyU0FEclg1Q0lJaFFEUUFNQXd0QmZ5RUFJQUlnQTJ3aUFpQUJRWDl6U3cwQklBUkJ6QUJxSVFRZ0JVRTBhaUVGSUFFZ0Ftb2lBU0VBSUFaQkFXb2lCaUFKUncwQUN3c2dBQThMUVg4TDJnUUJDMzhnQUFSQUlBQW9BaFFpQVFSQUlBRW9BZ0FpQlFSQUlBVW9BaFFoQXlBRktBSVFCSDlCRUVFUklBQXRBQ2hCQVhFYklRZ0RRQ0FES0FJY0lnSUVRQ0FES0FJZ0lnRkJtQUZ1SVFwQkFDRUpJQUZCbUFGUEJIOERRQ0FDS0FJd0lnRUVRQ0FDS0FJMElnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQWpBRklBRUxFQkFnQWtFQU5nSXdDeUFDS0FKVUlnRUVRQ0FDS0FKWUlnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQWxRRklBRUxFQkFnQWtFQU5nSlVDeUFDS0FKNElnRUVRQ0FDS0FKOElnWkJLRzRoQjBFQUlRUWdCa0VvVHdSL0EwQWdBU2dDSUJBcElBRkJBRFlDSUNBQktBSWtFQ2tnQVVFQU5nSWtJQUVnQ0JFQ0FDQUJRU2hxSVFFZ0JFRUJhaUlFSUFkSERRQUxJQUlvQW5nRklBRUxFQkFnQWtFQU5nSjRDeUFDUVpnQmFpRUNJQWxCQVdvaUNTQUtSdzBBQ3lBREtBSWNCU0FDQ3hBUUlBTkJBRFlDSEFzQ1FDQURLQUlvUlEwQUlBTW9BaVFpQVVVTkFDQUJFQkFnQS8wTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEFpUUxJQU1vQWpRUUVDQURRY3dBYWlFRElBdEJBV29pQ3lBRktBSVFTUTBBQ3lBRktBSVVCU0FEQ3hBUUlBVkJBRFlDRkNBQUtBSVVLQUlBRUJBZ0FDZ0NGQ0lCUVFBMkFnQUxJQUVRRUNBQVFRQTJBaFFMSUFBb0FrUVFFQ0FBRUJBTEM4c1RBUlYvSXdCQklHc2lEeVFBSUE4Z0JUWUNHQ0FCSUFNb0FoeEJ6QUJzYWlnQ0hDQURLQUlnUVpnQmJHb2hFUUpBQWtBZ0F5Z0NLQTBBSUJFb0FoaEZEUUFnRVVFY2FpRUpBMEFDUUNBSktBSUlJQWtvQWdCSEJIOGdDU2dDRENBSktBSUVSZ1ZCQVFzTkFDQURLQUlrSWdFZ0NTZ0NHRUVvYms4RVFDQUlRUUZCZ2hWQkFCQVBEQVFMSUFrb0FoUWdBVUVvYkdvaUFTZ0NJQkJpSUFFb0FpUVFZaUFCS0FJVUlBRW9BaEJzSWcxRkRRQWdBU2dDR0NFQklBMUJDRThFUUNBTlFYaHhJUXRCQUNFS0EwQWdBVUlBTndMb0F5QUJRZ0EzQXFnRElBRkNBRGNDNkFJZ0FVSUFOd0tvQWlBQlFnQTNBdWdCSUFGQ0FEY0NxQUVnQVVJQU53Sm9JQUZDQURjQ0tDQUJRWUFFYWlFQklBcEJDR29pQ2lBTFJ3MEFDd3RCQUNFS0lBMUJCM0VpRFVVTkFBTkFJQUZDQURjQ0tDQUJRVUJySVFFZ0NrRUJhaUlLSUExSERRQUxDeUFKUVNScUlRa2dERUVCYWlJTUlCRW9BaGhKRFFBTEN5QUZJUTBDUUNBQ0xRQUFRUUp4UlEwQUlBZEJCVTBFUUNBSVFRSkJzUjlCQUJBUERBRUxBa0FnQlMwQUFFSC9BVVlFUUNBRkxRQUJRWkVCUmcwQkN5QUlRUUpCMng5QkFCQVBEQUVMSUE4Z0JVRUdhaUlOTmdJWUMwRVVFQlFpQzBVTkFBSi9JQUF0QUd4QkFYRUVRQ0FBUVNocUlRY2dBQ2dDS0NFTklBQkJMR29NQVFzZ0FpMEFpQ3hCQW5FRVFDQUNRYkFvYWlFSElBSW9BckFvSVEwZ0FrRzhLR29NQVFzZ0R5QUZJQWRxSUExck5nSWNJQTlCR0dvaEJ5QVBRUnhxQ3lJU0tBSUFJUUFnQzBJQU53SU1JQXNnRFRZQ0NDQUxJQTAyQWdBZ0N5QUFJQTFxTmdJRUlBdEJBUkFmUlFSQUlBc1FaQm9nQ3lnQ0NDQUxLQUlBYXlFYUlBc1FMQ0FhSUExcUlRRUNRQ0FDTFFBQVFRUnhSUTBBSUFjb0FnQWdFaWdDQUNBQmEycEJBVTBFUUNBSVFRSkJtQ0ZCQUJBUERBRUxBa0FnQVMwQUFFSC9BVVlFUUNBQkxRQUJRWklCUmcwQkN5QUlRUUpCd2lGQkFCQVBEQUVMSUFGQkFtb2hBUXNnRWlBU0tBSUFJQWNvQWdBZ0FXdHFOZ0lBSUFjZ0FUWUNBQ0FFUVFBMkFnQWdCaUFQS0FJWUlBVnJOZ0lBUVFFaEZ3d0JDeUFSS0FJWUJFQWdFVUVjYWlFUUEwQWdBeWdDSkNFQUlCQW9BaFFoQVFKQUlCQW9BZ2dnRUNnQ0FFY0VmeUFRS0FJTUlCQW9BZ1JHQlVFQkN3MEFJQUVnQUVFb2JHb2lGQ2dDRkNBVUtBSVFiQ0lZUlEwQUlCUW9BaGdoQ1VFQUlSVURRQUpBQW44Z0NTZ0NLRVVFUUNBTElCUW9BaUFnRlNBREtBSW9RUUZxRUdBTUFRc2dDMEVCRUI4TFJRUkFJQWxCQURZQ0pBd0JDeUFKS0FJb1JRUkFRUUFoQVFOQUlBRWlBRUVCYWlFQklBc2dGQ2dDSkNBVklBQVFZRVVOQUFzZ0VDZ0NIQ0VCSUFsQkF6WUNJQ0FKSUFFMkFoZ2dDU0FCSUFCclFRRnFOZ0ljQ3lBSkFuOUJBU0FMUVFFUUgwVU5BQnBCQWlBTFFRRVFIMFVOQUJvZ0MwRUNFQjhpQUVFRFJ3UkFJQUJCQTJvTUFRc2dDMEVGRUI4aUFFRWZSd1JBSUFCQkJtb01BUXNnQzBFSEVCOUJKV29MTmdJa1FRQWhBUU5BSUFFaUFFRUJhaUVCSUF0QkFSQWZEUUFMSUFrZ0NTZ0NJQ0FBYWpZQ0lBSkFBa0FDZnlBSktBSW9JZ0JGQkVBZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRQWdDU2dDTUVVRVFDQUpLQUlBUWZBQkVCY2lBVVVOQkNBSklBRTJBZ0FnQVNBSktBSXdRUmhzYWtFQVFmQUJFQlVhSUFsQkNqWUNNQXNnQ1NnQ0FDSUIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDQUNBQlFnQTNBaEJCQVVFS1FlMEFJQUJCQVhFYklBQkJCSEViSVFwQkFBd0JDeUFKS0FJQUlnRWdBRUVCYXlJTVFSaHNhaUlLS0FJRUlBb29BZ3hIRFFFZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRb2dDU2dDTUNJTUlBQkJBV3BKQkg4Z0FTQU1RUXBxSWd4QkdHd1FGeUlCUlEwRElBa2dBVFlDQUNBQklBa29BakJCR0d4cVFRQkI4QUVRRlJvZ0NTQU1OZ0l3SUFrb0FnQUZJQUVMSUFCQkdHeHFJZ0g5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5Q3dJQUlBRkNBRGNDRUFKL1FRRWdDa0VFY1EwQUdrSHRBQ0FLUVFGeFJRMEFHa0VDUVFKQkFTQUJRUXhyS0FJQUlncEJDa1liSUFwQkFVWWJDeUVLSUFBTElRd2dBU0FLTmdJTUN5QUpLQUlrSVFBZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxTFFBUVFjQUFjUVJBQTBBZ0RFRVliQ0lPSUFrb0FnQnFJQUJCQVNBTUd5SVROZ0lRSUFrb0FpQWhGa0VBSVFvZ0FDRUJJQk5CQWs4RVFBTkFJQXBCQVdvaENpQUJRUU5MSVJzZ0FVRUJkaUVCSUJzTkFBc0xJQW9nRm1vaUFVRWhUd1JBSUE4Z0FUWUNFQ0FJUVFGQnZQUUFJQTlCRUdvUUR3d0RDeUFMSUFFUUh5RUtJQWtvQWdBaUFTQU9haUlPSUFvMkFoUWdBQ0FPS0FJUWF5SUFRUUJNRFFNZ0FpZ0MwQ3NnQXlnQ0hFRzRDR3hxS0FJUUlRb2dDU2dDTUNJT0lBeEJBbXBKQkVBZ0FTQU9RUXBxSWc1QkdHd1FGeUlCUlEwRElBa2dBVFlDQUNBQklBa29BakJCR0d4cVFRQkI4QUVRRlJvZ0NTQU9OZ0l3SUFrb0FnQWhBUXNnQVNBTVFRRnFJZ3hCR0d4cUlnSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlDd0lBSUFGQ0FEY0NFQ0FCQW45QkFTQUtRUVJ4RFFBYVFlMEFJQXBCQVhGRkRRQWFRUUpCQWtFQklBRkJER3NvQWdBaUFVRUtSaHNnQVVFQlJoc0xOZ0lNREFBTEFBc0RRQ0FNUVJoc0lnNGdDU2dDQUdvaUFTQUJLQUlNSUFFb0FnUnJJZ0VnQUNBQUlBRktHeUlCTmdJUUlBa29BaUFoRTBFQUlRb2dBVUVDVHdSQUEwQWdDa0VCYWlFS0lBRkJBMHNoSENBQlFRRjJJUUVnSEEwQUN3c2dDaUFUYWlJQlFTRlBCRUFnRHlBQk5nSUFJQWhCQVVHODlBQWdEeEFQREFJTElBc2dBUkFmSVFvZ0NTZ0NBQ0lCSUE1cUlnNGdDallDRkNBQUlBNG9BaEJySWdCQkFFd05BaUFDS0FMUUt5QURLQUljUWJnSWJHb29BaEFoQ2lBSktBSXdJZzRnREVFQ2Fra0VRQ0FCSUE1QkNtb2lEa0VZYkJBWElnRkZEUUlnQ1NBQk5nSUFJQUVnQ1NnQ01FRVliR3BCQUVId0FSQVZHaUFKSUE0MkFqQWdDU2dDQUNFQkN5QUJJQXhCQVdvaURFRVliR29pQWYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEFnQWdBVUlBTndJUUlBRUNmMEVCSUFwQkJIRU5BQnBCN1FBZ0NrRUJjVVVOQUJwQkFrRUNRUUVnQVVFTWF5Z0NBQ0lCUVFwR0d5QUJRUUZHR3dzMkFnd01BQXNBQ3lBTEVDd01CUXNnQ1VGQWF5RUpJQlZCQVdvaUZTQVlSdzBBQ3dzZ0VFRWthaUVRSUJsQkFXb2lHU0FSS0FJWVNRMEFDd3NnQ3hCa1JRUkFJQXNRTEF3QkN5QUxLQUlJSUFzb0FnQnJJUjBnQ3hBc0lCMGdEV29oQVFKQUlBSXRBQUJCQkhGRkRRQWdCeWdDQUNBU0tBSUFJQUZyYWtFQlRRUkFJQWhCQWtHWUlVRUFFQThNQVFzQ1FDQUJMUUFBUWY4QlJnUkFJQUV0QUFGQmtnRkdEUUVMSUFoQkFrSENJVUVBRUE4TUFRc2dBVUVDYWlFQkN5QVNJQklvQWdBZ0J5Z0NBQ0FCYTJvMkFnQWdCeUFCTmdJQVFRRWhGeUFFUVFFMkFnQWdCaUFQS0FJWUlBVnJOZ0lBQ3lBUFFTQnFKQUFnRnd1V0pBSVVmdzUrQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQUtBSlVEZ1VBQVFJREJBb0xBa0FnQUNnQ05DSUdJQUFvQXNRQklnRkpCRUFnQUNnQ1FDSUhJQUZCQVdwSkRRRUxJQUFvQXV3QlFRRkI5RDlCQUJBUERBd0xJQUFvQWl4RkJFQWdBQ2dDSkNFQ1FRQWhBUXdGQ3lBQVFRQTJBaXdnQUNnQ1JDRURRUUVoQVF3RUN3SkFJQUFvQWpRaUJpQUFLQUxFQVNJQlNRUkFJQUFvQWtBaUJ5QUJRUUZxU1EwQkN5QUFLQUxzQVVFQlFhSEFBRUVBRUE4TUN3c2dBQ2dDTEVVRVFDQUFLQUlrSVFSQkFDRUJEQWdMSUFCQkFEWUNMQ0FBS0FJd0lRTkJBU0VCREFjTEFrQWdBQ2dDTkNJRUlBQW9Bc1FCSWdwSkJFQWdBQ2dDUUNJT0lBcEJBV3BKRFFFTElBQW9BdXdCUVFGQnFNRUFRUUFRRHd3S0N5QUFLQUlzUlFSQUlBQW9BaWdoQ3d3R0N5QUFRZ0EzQXVRQklBQkJBRFlDTENBQUtBTElBU0VNQTBBZ0RDQUhRUVIwYWlJRktBSUlJZzhFUUNBRktBSU1JUkpCQUNFQkEwQUNRQ0FQSUFGQmYzTnFJaEFnRWlBQlFRUjBhaUlSS0FJQWFpSUpRUjlMRFFBZ0JTZ0NBQ0lUUVg4Z0NYWkxEUUFnQUNBQ0lCTWdDWFFpQ1NBQ0lBbEpHeUFKSUFJYklnSTJBdVFCQ3dKQUlCRW9BZ1FnRUdvaUNVRWZTdzBBSUFVb0FnUWlFRUYvSUFsMlN3MEFJQUFnQXlBUUlBbDBJZ2tnQXlBSlNSc2dDU0FER3lJRE5nTG9BUXNnQVVFQmFpSUJJQTlIRFFBTEN5QUhRUUZxSWdjZ0NrY05BQXNnQWtVTkJ5QURSUTBISUFBdEFBQkZCRUFnQUNBQUtBTFFBVFlDYkNBQUlBQW9Bc3dCTmdKa0lBQWdBQ2dDMkFFMkFuQWdBQ0FBS0FMVUFUWUNhQXNnQUNnQ01DRUZRUUVoQVF3RkN3SkFJQUFvQWpRaUJTQUFLQUxFQVNJSlNRUkFJQUFvQWtBaUVpQUpRUUZxU1EwQkN5QUFLQUxzQVVFQlFmdkFBRUVBRUE4TUNRc2dBQ2dDTEVVRVFDQUFLQUxJQVNJTklBQW9BaHdpQkVFRWRHb2hDeUFBS0FJb0lRZ01CQXNnQUVJQU53TGtBU0FBUVFBMkFpd2dBQ2dDeUFFaERRTkFJQTBnQmtFRWRHb2lDaWdDQ0NJT0JFQWdDaWdDRENFUVFRQWhBUU5BQWtBZ0RpQUJRWDl6YWlJUklCQWdBVUVFZEdvaUV5Z0NBR29pREVFZlN3MEFJQW9vQWdBaUZFRi9JQXgyU3cwQUlBQWdBaUFVSUF4MElnd2dBaUFNU1JzZ0RDQUNHeUlDTmdMa0FRc0NRQ0FUS0FJRUlCRnFJZ3hCSDBzTkFDQUtLQUlFSWhGQmZ5QU1ka3NOQUNBQUlBTWdFU0FNZENJTUlBTWdERWtiSUF3Z0F4c2lBellDNkFFTElBRkJBV29pQVNBT1J3MEFDd3NnQmtFQmFpSUdJQWxIRFFBTElBSkZEUVlnQTBVTkJnSkFJQUF0QUFBRVFDQUFLQUpzSVFZTUFRc2dBQ0FBS0FMUUFTSUdOZ0pzSUFBZ0FDZ0N6QUUyQW1RZ0FDQUFLQUxZQVRZQ2NDQUFJQUFvQXRRQk5nSm9DMEVCSVFFTUF3c0NRQ0FBS0FJMElnWWdBQ2dDeEFFaUFVa0VRQ0FBS0FKQUlnOGdBVUVCYWtrTkFRc2dBQ2dDN0FGQkFVSE93QUJCQUJBUERBWUxJQUFvQWl4RkJFQWdBQ2dDeUFFZ0FDZ0NIQ0lHUVFSMGFpRUZJQUFvQWlnaEIwRUFJUUVNQWdzZ0FDQUdOZ0ljSUFCQkFEWUNMRUVCSVFFTUFRc0RRQUovQWtBZ0FVVUVRQ0FDUVFGcUlRSU1BUXNnQUNBRE5nSW9JQUFvQWpnZ0EwME5DU0FBS0FJd0lRUkJBQXdCQzBFQkN5RUJBMEFDUUFKQUFrQUNRQ0FCUlFSQUlBQWdCRFlDSUNBRUlBQW9BanhQRFFFZ0FDQUdOZ0ljSUFZaEFVRUFJUVVNQkFzZ0FDQUNOZ0lrSUFBb0Frd2dBazBFUUNBQUtBSWNJUUZCQVNFRkRBUUxJQUFvQWhBZ0FDZ0NJR3dnQUNnQ0RDQUFLQUlvYkdvZ0FDZ0NGQ0FBS0FJY2JHb2dBQ2dDR0NBQ2JHb2lBU0FBS0FJSVR3UkFEQXdMSUFBb0FnUWdBVUVCZEdvaUFTOEJBQTBCREEwTElBQW9BaWhCQVdvaEF3d0JDMEVBSVFFTUF3dEJBU0VCREFJTEEwQUNRQUpBQWtBZ0JVVUVRQ0FCSUFkUERRRWdBQ2dDSUNJRklBQW9Bc2dCSUFGQkJIUnFJZzBvQWdoUERRTWdBQzBBQUVVRVFDQUFJQTBvQWd3Z0JVRUVkR29pQVNnQ0RDQUJLQUlJYkRZQ1RBc2dBQ2dDU0NFQ1FRRWhBUXdGQ3lBQUlBRkJBV29pQVRZQ0hBd0JDeUFBS0FJZ1FRRnFJUVJCQUNFQkRBTUxRUUFoQlF3QkMwRUJJUVVNQUFzQUN3QUxBQXNEUUFKL0FrQWdBVVVFUUNBQUlBZEJBV29pQnpZQ0tBd0JDeUFHSUE5UERRZ2dBRUlBTndMa0FTQUFLQUxJQVNBR1FRUjBhaUlGS0FJSUlndEZEUWdnQlNnQ0RDRUtRUUFoQWtFQUlRUkJBQ0VCQTBBQ1FDQUxJQUZCZjNOcUlna2dDaUFCUVFSMGFpSU9LQUlBYWlJSVFSOUxEUUFnQlNnQ0FDSU1RWDhnQ0haTERRQWdBQ0FFSUF3Z0NIUWlDQ0FFSUFoSkd5QUlJQVFiSWdRMkF1UUJDd0pBSUE0b0FnUWdDV29pQ0VFZlN3MEFJQVVvQWdRaUNVRi9JQWgyU3cwQUlBQWdBaUFKSUFoMElnZ2dBaUFJU1JzZ0NDQUNHeUlDTmdMb0FRc2dBVUVCYWlJQklBdEhEUUFMSUFSRkRRWWdBa1VOQmdKQUlBQXRBQUFFUUNBQUtBSnNJUUlNQVFzZ0FDQUFLQUxRQVNJQ05nSnNJQUFnQUNnQ3pBRTJBbVFnQUNBQUtBTFlBVFlDY0NBQUlBQW9BdFFCTmdKb0MwRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQUNOZ0xnQVNBQ0lBQW9BbkJQRFFFZ0FDZ0NaQ0VOUVFBaEFRd0VDeUFBS0FJNElBZE5CRUFnQUNnQ0lDRURRUUVoQVF3RUN5QUFLQUlRSUFBb0FpQnNJQUFvQWd3Z0IyeHFJQUFvQWhRZ0JteHFJQUFvQWhnZ0FDZ0NKR3hxSWdFZ0FDZ0NDRThFUUF3TEN5QUFLQUlFSUFGQkFYUnFJZ0V2QVFBTkFRd01DeUFBSUFaQkFXb2lCallDSEF3QkMwRUFJUUVNQXd0QkFTRUJEQUlMQTBBQ1FBSkFBa0FnQUFKL0lBRkZCRUFnQUNBTk5nTGNBU0FOSUFBb0FtaFBEUUlnQUNnQ01Bd0JDeUFEUVFGcUN5SUROZ0lnSUFBb0Fqd2lBU0FGS0FJSUlnUWdBU0FFU1JzZ0Ewc0VRQ0FGS0FJQUlnRWdBYTBpSGlBRUlBTkJmM05xSWdpdEloYUdJaGNnRm9pblJ3MERJQVVvQWdRaUJFSi9JQmFJcDNFZ0JFY05BeUFFclNJVklCYUdJaGhDQVgwaUdTQUFOUUxZQVh3Z0dJQWhIeUFaSUFBb0F0QUJJZ210ZkNBWWdDRWFJQmRDQVgwaUd5QUFOUUxVQVh3Z0Y0QWhJQ0FiSUFBb0Fzd0JJZzZ0ZkNBWGdDRWNJQUZDZnlBRktBSU1JQU5CQkhScUlnc29BZ0FpQ2lBSWFxMGlIWWluY1NBQlJ3MERJQVFnRlNBTEtBSUVJZ0VnQ0dxdEloV0dJaUVnRllpblJ3MERJQUFvQXVBQklnU3RJaUlnSVlKQ0FGSUVRQ0FFSUFsSERRUkNmeUFWaGtKL2hTQWFRdi8vLy84UGd5QVdob05RRFFRTElBQW9BdHdCSWdTdEloVWdIaUFkaG9KQ0FGSUVRQ0FFSUE1SERRUkNmeUFkaGtKL2hTQWNRdi8vLy84UGd5QVdob05RRFFRTElBc29BZ2dpQkVVTkF5QUxLQUlNUlEwRElCeW5JZ3NnSUtkR0RRTWdHcWNpQ0NBZnAwWU5BeUFBSUFBb0FrUWlCellDS0NBQUlCVWdHM3dnRjRDbklBcDJJQXNnQ25acklCa2dJbndnR0lDbklBRjJJQWdnQVhacklBUnNhallDSkVFQklRRU1CUXNnQUNnQzNBRWlBU0FBS0FMa0FTSUVhaUFCSUFSd2F5RU5EQUVMSUFBb0F1QUJJZ0VnQUNnQzZBRWlCR29nQVNBRWNHc2hBa0VBSVFFTUF3dEJBQ0VCREFFTFFRRWhBUXdBQ3dBTEFBc0FDd05BQW44Q1FDQUJSUVJBSUFBZ0NFRUJhaUlJTmdJb0RBRUxJQUFnQmpZQzRBRWdBQ2dDY0NBR1RRMEhJQUFvQW1RaEQwRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQVBOZ0xjQVNBUElBQW9BbWhQRFFFZ0FDQUZOZ0ljSUFVaEJFRUFJUUVNQkFzZ0FDZ0NPQ0FJVFFSQUlBQW9BaUFoQjBFQklRRU1CQXNnQUNnQ0VDQUFLQUlnYkNBQUtBSU1JQWhzYWlBQUtBSVVJQVJzYWlBQUtBSVlJQUFvQWlSc2FpSUJJQUFvQWdoUEJFQU1DZ3NnQUNnQ0JDQUJRUUYwYWlJQkx3RUFEUUVNQ3dzZ0FDZ0M0QUVpQVNBQUtBTG9BU0lHYWlBQklBWndheUVHREFFTFFRQWhBUXdEQzBFQklRRU1BZ3NEUUFKQUFrQUNRQUpBSUFGRkJFQWdCQ0FTVHcwQ0lBQWdBQ2dDTUNJSE5nSWdJQTBnQkVFRWRHb2hDd3dCQ3lBQUlBZEJBV29pQnpZQ0lBc2dBQ2dDUENJQklBc29BZ2dpQWlBQklBSkpHeUFIU3dSQUlBc29BZ0FpQVNBQnJTSWVJQUlnQjBGL2Myb2lDcTBpRm9ZaUZ5QVdpS2RIRFFNZ0N5Z0NCQ0lDUW44Z0ZvaW5jU0FDUncwRElBS3RJaFVnRm9ZaUdFSUJmU0laSUFBMUF0Z0JmQ0FZZ0NFZklCa2dBQ2dDMEFFaURxMThJQmlBSVJvZ0YwSUJmU0liSUFBMUF0UUJmQ0FYZ0NFZ0lCc2dBQ2dDekFFaURLMThJQmVBSVJ3Z0FVSi9JQXNvQWd3Z0IwRUVkR29pQXlnQ0FDSUpJQXBxclNJZGlLZHhJQUZIRFFNZ0FpQVZJQU1vQWdRaUFTQUthcTBpRllZaUlTQVZpS2RIRFFNZ0FDZ0M0QUVpQXEwaUlpQWhna0lBVWdSQUlBSWdEa2NOQkVKL0lCV0dRbitGSUJwQy8vLy8vdytESUJhR2cxQU5CQXNnQUNnQzNBRWlBcTBpRlNBZUlCMkdna0lBVWdSQUlBSWdERWNOQkVKL0lCMkdRbitGSUJ4Qy8vLy8vdytESUJhR2cxQU5CQXNnQXlnQ0NDSUNSUTBESUFNb0FneEZEUU1nSEtjaUF5QWdwMFlOQXlBYXB5SUtJQituUmcwRElBQWdBQ2dDUkNJSU5nSW9JQUFnRlNBYmZDQVhnS2NnQ1hZZ0F5QUpkbXNnR1NBaWZDQVlnS2NnQVhZZ0NpQUJkbXNnQW14cU5nSWtRUUVoQVF3RkN5QUFJQVJCQVdvaUJEWUNIQXdCQ3lBQUtBTGNBU0lCSUFBb0F1UUJJZ0pxSUFFZ0FuQnJJUTlCQUNFQkRBTUxRUUFoQVF3QkMwRUJJUUVNQUFzQUN3QUxBQXNEUUFKL0FrQWdBVVVFUUNBQUlBdEJBV29pQ3pZQ0tBd0JDeUFBSUFVMkFpQWdBQ2dDUENBRlRRMEdJQUFvQW13aENFRUFEQUVMUVFFTElRRURRQUpBQWtBQ1FBSkFJQUZGQkVBZ0FDQUlOZ0xnQVNBSUlBQW9BbkJQRFFFZ0FDZ0NaQ0VOUVFBaEFRd0VDeUFBS0FJNElBdE5CRUFnQUNnQ0hDRUdRUUVoQVF3RUN5QUFLQUlRSUFBb0FpQnNJQUFvQWd3Z0MyeHFJQUFvQWhRZ0FDZ0NIR3hxSUFBb0FoZ2dBQ2dDSkd4cUlnRWdBQ2dDQ0U4RVFBd0pDeUFBS0FJRUlBRkJBWFJxSWdFdkFRQU5BUXdLQ3lBQUtBSWdRUUZxSVFVTUFRdEJBQ0VCREFNTFFRRWhBUXdDQ3dOQUFrQUNRQUpBQWtBZ0FVVUVRQ0FBSUEwMkF0d0JJQTBnQUNnQ2FFOE5BaUFBSUFRMkFod2dCQ0VHREFFTElBQWdCa0VCYWlJR05nSWNDeUFHSUE1SkJFQWdBQ2dDSUNJSElBQW9Bc2dCSUFaQkJIUnFJZ0VvQWdnaUEwOE5BeUFCS0FJQUlnSWdBcTBpSGlBRElBZEJmM05xSWdxdEloYUdJaGNnRm9pblJ3MERJQUVvQWdRaUEwSi9JQmFJcDNFZ0EwY05BeUFEclNJVklCYUdJaGhDQVgwaUdTQUFOUUxZQVh3Z0dJQWhIeUFaSUFBb0F0QUJJZyt0ZkNBWWdDRWFJQmRDQVgwaUd5QUFOUUxVQVh3Z0Y0QWhJQ0FiSUFBb0Fzd0JJZ210ZkNBWGdDRWNJQUpDZnlBQktBSU1JQWRCQkhScUlnRW9BZ0FpQnlBS2FxMGlIWWluY1NBQ1J3MERJQU1nRlNBQktBSUVJZ0lnQ21xdEloV0dJaUVnRllpblJ3MERJQUFvQXVBQklnT3RJaUlnSVlKQ0FGSUVRQ0FESUE5SERRUkNmeUFWaGtKL2hTQWFRdi8vLy84UGd5QVdob05RRFFRTElBQW9BdHdCSWdPdEloVWdIaUFkaG9KQ0FGSUVRQ0FESUFsSERRUkNmeUFkaGtKL2hTQWNRdi8vLy84UGd5QVdob05RRFFRTElBRW9BZ2dpQTBVTkF5QUJLQUlNUlEwRElCeW5JZ0VnSUtkR0RRTWdHcWNpQ2lBZnAwWU5BeUFBSUFBb0FrUWlDellDS0NBQUlCVWdHM3dnRjRDbklBZDJJQUVnQjNacklCa2dJbndnR0lDbklBSjJJQW9nQW5acklBTnNhallDSkVFQklRRU1CUXNnQUNnQzNBRWlBU0FBS0FMa0FTSUNhaUFCSUFKd2F5RU5EQUVMSUFBb0F1QUJJZ0VnQUNnQzZBRWlBbW9nQVNBQ2NHc2hDRUVBSVFFTUF3dEJBQ0VCREFFTFFRRWhBUXdBQ3dBTEFBc0FDd05BQW44Q1FDQUJSUVJBSUFSQkFXb2hCQXdCQ3lBQUlBTTJBaUFnQUNnQ1BDQURUUTBGSUFBb0FrUWhBa0VBREFFTFFRRUxJUUVEUUFKQUFrQUNRQUpBSUFGRkJFQWdBQ0FDTmdJb0lBSWdBQ2dDT0U4TkFTQUFJQVkyQWh3Z0JpRUJRUUFoQlF3RUN5QUFJQVEyQWlRZ0FDZ0NUQ0FFVFFSQUlBQW9BaHdoQVVFQklRVU1CQXNnQUNnQ0VDQUFLQUlnYkNBQUtBSU1JQUFvQWloc2FpQUFLQUlVSUFBb0FoeHNhaUFBS0FJWUlBUnNhaUlCSUFBb0FnaFBCRUFNQ0FzZ0FDZ0NCQ0FCUVFGMGFpSUJMd0VBRFFFTUNRc2dBQ2dDSUVFQmFpRUREQUVMUVFBaEFRd0RDMEVCSVFFTUFnc0RRQUpBQWtBQ1FDQUZSUVJBSUFFZ0IwOE5BU0FBS0FJZ0lnVWdBQ2dDeUFFZ0FVRUVkR29pRFNnQ0NFOE5BeUFBTFFBQVJRUkFJQUFnRFNnQ0RDQUZRUVIwYWlJQktBSU1JQUVvQWdoc05nSk1DeUFBS0FKSUlRUkJBU0VCREFVTElBQWdBVUVCYWlJQk5nSWNEQUVMSUFBb0FpaEJBV29oQWtFQUlRRU1Bd3RCQUNFRkRBRUxRUUVoQlF3QUN3QUxBQXNBQzBFQUR3c2dBQ2dDN0FGQkFVR2FDa0VBRUE4TFFRQVBDeUFCUVFFN0FRQkJBUXVSQ3dFS2Z3SkFJQUVvQWdBZ0JFRURiQ0lNZGlJR1FaQ0FnQUZ4RFFBZ0FDQUFRUnhxSWc0Z0FDZ0NiQ0FHUWU4RGNXb3RBQUJCQW5ScUlnbzJBbWdnQUNBQUtBSUVJQW9vQWdBaUNTZ0NBQ0lJYXlJR05nSUVBa0FnQ0NBQUtBSUFJZ2RCRUhaTEJFQWdDU2dDQkNFTElBQWdDRFlDQkNBS0lBbEJDRUVNSUFZZ0NFa2lCaHRxS0FJQU5nSUFJQXNnQzBVZ0Joc2hDU0FBS0FJSUlRWURRQUpBSUFZTkFDQUFLQUlRSWdaQkFXb2hDeUFHTFFBQklRb2dCaTBBQUVIL0FVWUVRQ0FLUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSFFZRCtBMm9oQjBFSUlRWU1BZ3NnQUNBTE5nSVFJQWNnQ2tFSmRHb2hCMEVISVFZTUFRc2dBQ0FMTmdJUVFRZ2hCaUFISUFwQkNIUnFJUWNMSUFBZ0JrRUJheUlHTmdJSUlBQWdCMEVCZENJSE5nSUFJQUFnQ0VFQmRDSUlOZ0lFSUFoQmdJQUNTUTBBQ3lBSUlRWU1BUXNnQUNBSElBaEJFSFJySWdjMkFnQWdCa0dBZ0FKeFJRUkFJQWtvQWdRaEN5QUtJQWxCREVFSUlBWWdDRWtpQ0J0cUtBSUFOZ0lBSUF0RklBc2dDQnNoQ1NBQUtBSUlJUWdEUUFKQUlBZ05BQ0FBS0FJUUlnaEJBV29oQ3lBSUxRQUJJUW9nQ0MwQUFFSC9BVVlFUUNBS1FaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUhRWUQrQTJvaEIwRUlJUWdNQWdzZ0FDQUxOZ0lRSUFjZ0NrRUpkR29oQjBFSElRZ01BUXNnQUNBTE5nSVFRUWdoQ0NBSElBcEJDSFJxSVFjTElBQWdDRUVCYXlJSU5nSUlJQUFnQjBFQmRDSUhOZ0lBSUFBZ0JrRUJkQ0lHTmdJRUlBWkJnSUFDU1EwQUN3d0JDeUFKS0FJRUlRa0xJQWxGRFFBZ0FDQU9JQUVvQWdRZ0RFRVJhblpCQkhFZ0FVRUVheUlOS0FJQUlBeEJFMnAyUVFGeElBRW9BZ0FpQ0NBTVFSQnFka0hBQUhFZ0NDQU1ka0dxQVhGeUlBZ2dERUVNYWtFT0lBUWJka0VRY1hKeWNpSVBRZEM1QVdvdEFBQkJBblJxSWdzMkFtZ2dBQ0FHSUFzb0FnQWlDaWdDQUNJSWF5SUdOZ0lFQWtBZ0NDQUhRUkIyU3dSQUlBb29BZ1FoQ1NBQUlBZzJBZ1FnQ3lBS1FRaEJEQ0FHSUFoSklnWWJhaWdDQURZQ0FDQUpJQWxGSUFZYklRb2dBQ2dDQ0NFR0EwQUNRQ0FHRFFBZ0FDZ0NFQ0lHUVFGcUlRc2dCaTBBQVNFSklBWXRBQUJCL3dGR0JFQWdDVUdRQVU4RVFDQUFJQUFvQWd4QkFXbzJBZ3dnQjBHQS9nTnFJUWRCQ0NFR0RBSUxJQUFnQ3pZQ0VDQUhJQWxCQ1hScUlRZEJCeUVHREFFTElBQWdDellDRUVFSUlRWWdCeUFKUVFoMGFpRUhDeUFBSUFaQkFXc2lCallDQ0NBQUlBZEJBWFFpQnpZQ0FDQUFJQWhCQVhRaUNEWUNCQ0FJUVlDQUFra05BQXNNQVFzZ0FDQUhJQWhCRUhScklnazJBZ0FnQmtHQWdBSnhSUVJBSUFvb0FnUWhCeUFMSUFwQkRFRUlJQVlnQ0VraUNCdHFLQUlBTmdJQUlBZEZJQWNnQ0JzaENpQUFLQUlJSVFjRFFBSkFJQWNOQUNBQUtBSVFJZ2RCQVdvaEN5QUhMUUFCSVFnZ0J5MEFBRUgvQVVZRVFDQUlRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FKUVlEK0Eyb2hDVUVJSVFjTUFnc2dBQ0FMTmdJUUlBa2dDRUVKZEdvaENVRUhJUWNNQVFzZ0FDQUxOZ0lRUVFnaEJ5QUpJQWhCQ0hScUlRa0xJQUFnQjBFQmF5SUhOZ0lJSUFBZ0NVRUJkQ0lKTmdJQUlBQWdCa0VCZENJR05nSUVJQVpCZ0lBQ1NRMEFDd3dCQ3lBS0tBSUVJUW9MSUFKQkFDQURheUFESUFvZ0QwSFF1d0ZxTFFBQWN5SURHellDQUNBTklBMG9BZ0JCSUNBTWRISTJBZ0FnQVNBQktBSUFJQU5CRTNSQkVISWdESFJ5TmdJQUlBRWdBU2dDQkVFSUlBeDBjallDQkNBRUlBVnlSUVJBSUFGQmZpQUFLQUo4YTBFQ2RHb2lBaUFDS0FJRVFZQ0FBbkkyQWdRZ0FpQUNLQUlBSUFOQkgzUnlRWUNBQkhJMkFnQWdBa0VFYXlJQ0lBSW9BZ0JCZ0lBSWNqWUNBQXNnQkVFRFJ3MEFJQUVnQUNnQ2ZFRUNkR29pQUVFRWFpQUFLQUlFUVFSeU5nSUFJQUFnQUNnQ0RFRUJjallDRENBQUlBQW9BZ2dnQTBFU2RISkJBbkkyQWdnTEM2c0xBUWwvQWtBZ0FTZ0NBQ0FFUVFOc0lnMTJJZ2RCa0lDQUFYRU5BQ0FIUWU4RGNTSUhSUTBBSUFBZ0FFRWNhaUlPSUFBb0Ftd2dCMm90QUFCQkFuUnFJZ3MyQW1nZ0FDQUFLQUlFSUFzb0FnQWlDaWdDQUNJSmF5SUhOZ0lFQWtBZ0NTQUFLQUlBSWdoQkVIWkxCRUFnQ2lnQ0JDRU1JQUFnQ1RZQ0JDQUxJQXBCQ0VFTUlBY2dDVWtpQnh0cUtBSUFOZ0lBSUF3Z0RFVWdCeHNoQ2lBQUtBSUlJUWNEUUFKQUlBY05BQ0FBS0FJUUlnZEJBV29oRENBSExRQUJJUXNnQnkwQUFFSC9BVVlFUUNBTFFaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUlRWUQrQTJvaENFRUlJUWNNQWdzZ0FDQU1OZ0lRSUFnZ0MwRUpkR29oQ0VFSElRY01BUXNnQUNBTU5nSVFRUWdoQnlBSUlBdEJDSFJxSVFnTElBQWdCMEVCYXlJSE5nSUlJQUFnQ0VFQmRDSUlOZ0lBSUFBZ0NVRUJkQ0lKTmdJRUlBbEJnSUFDU1EwQUN5QUpJUWNNQVFzZ0FDQUlJQWxCRUhScklnZzJBZ0FnQjBHQWdBSnhSUVJBSUFvb0FnUWhEQ0FMSUFwQkRFRUlJQWNnQ1VraUNSdHFLQUlBTmdJQUlBeEZJQXdnQ1JzaENpQUFLQUlJSVFrRFFBSkFJQWtOQUNBQUtBSVFJZ2xCQVdvaERDQUpMUUFCSVFzZ0NTMEFBRUgvQVVZRVFDQUxRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FJUVlEK0Eyb2hDRUVJSVFrTUFnc2dBQ0FNTmdJUUlBZ2dDMEVKZEdvaENFRUhJUWtNQVFzZ0FDQU1OZ0lRUVFnaENTQUlJQXRCQ0hScUlRZ0xJQUFnQ1VFQmF5SUpOZ0lJSUFBZ0NFRUJkQ0lJTmdJQUlBQWdCMEVCZENJSE5nSUVJQWRCZ0lBQ1NRMEFDd3dCQ3lBS0tBSUVJUW9MQWtBZ0NrVU5BQ0FBSUE0Z0FTZ0NCQ0FOUVJGcWRrRUVjU0FCUVFScklnOG9BZ0FnRFVFVGFuWkJBWEVnQVNnQ0FDSUpJQTFCRUdwMlFjQUFjU0FKSUExMlFhb0JjWElnQ1NBTlFReHFRUTRnQkJ0MlFSQnhjbkp5SWdwQjBMa0JhaTBBQUVFQ2RHb2lERFlDYUNBQUlBY2dEQ2dDQUNJTEtBSUFJZ2xySWdjMkFnUWdDa0hRdXdGcUxRQUFJUTRDUUNBSklBaEJFSFpMQkVBZ0N5Z0NCQ0VLSUFBZ0NUWUNCQ0FNSUF0QkNFRU1JQWNnQ1VraUJ4dHFLQUlBTmdJQUlBb2dDa1VnQnhzaEN5QUFLQUlJSVFjRFFBSkFJQWNOQUNBQUtBSVFJZ2RCQVdvaERDQUhMUUFCSVFvZ0J5MEFBRUgvQVVZRVFDQUtRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FJUVlEK0Eyb2hDRUVJSVFjTUFnc2dBQ0FNTmdJUUlBZ2dDa0VKZEdvaENFRUhJUWNNQVFzZ0FDQU1OZ0lRUVFnaEJ5QUlJQXBCQ0hScUlRZ0xJQUFnQjBFQmF5SUhOZ0lJSUFBZ0NFRUJkQ0lJTmdJQUlBQWdDVUVCZENJSk5nSUVJQWxCZ0lBQ1NRMEFDd3dCQ3lBQUlBZ2dDVUVRZEdzaUNqWUNBQ0FIUVlDQUFuRkZCRUFnQ3lnQ0JDRUlJQXdnQzBFTVFRZ2dCeUFKU1NJSkcyb29BZ0EyQWdBZ0NFVWdDQ0FKR3lFTElBQW9BZ2doQ0FOQUFrQWdDQTBBSUFBb0FoQWlDRUVCYWlFTUlBZ3RBQUVoQ1NBSUxRQUFRZjhCUmdSQUlBbEJrQUZQQkVBZ0FDQUFLQUlNUVFGcU5nSU1JQXBCZ1A0RGFpRUtRUWdoQ0F3Q0N5QUFJQXcyQWhBZ0NpQUpRUWwwYWlFS1FRY2hDQXdCQ3lBQUlBdzJBaEJCQ0NFSUlBb2dDVUVJZEdvaENnc2dBQ0FJUVFGcklnZzJBZ2dnQUNBS1FRRjBJZ28yQWdBZ0FDQUhRUUYwSWdjMkFnUWdCMEdBZ0FKSkRRQUxEQUVMSUFzb0FnUWhDd3NnQWtFQUlBTnJJQU1nQ3lBT2N5SUNHellDQUNBUElBOG9BZ0JCSUNBTmRISTJBZ0FnQVNBQktBSUFJQUpCRTNSQkVISWdEWFJ5TmdJQUlBRWdBU2dDQkVFSUlBMTBjallDQkNBRUlBWnlSUVJBSUFFZ0JVRUNkR3NpQUNBQUtBSUVRWUNBQW5JMkFnUWdBQ0FBS0FJQUlBSkJIM1J5UVlDQUJISTJBZ0FnQUVFRWF5SUFJQUFvQWdCQmdJQUljallDQUFzZ0JFRURSdzBBSUFFZ0JVRUNkR29pQUNBQUtBSUVRUUZ5TmdJRUlBQWdBQ2dDQUNBQ1FSSjBja0VDY2pZQ0FDQUFRUVJySWdBZ0FDZ0NBRUVFY2pZQ0FBc2dBU0FCS0FJQVFZQ0FnQUVnRFhSeU5nSUFDd3V0QVFBZ0FFSHduUUUyQW1RZ0FFSHduUUUyQW1BZ0FFSHduUUUyQWx3Z0FFSHduUUUyQWxnZ0FFSHduUUUyQWxRZ0FFSHduUUUyQWxBZ0FFSHduUUUyQWt3Z0FFSHduUUUyQWtnZ0FFSHduUUUyQWtRZ0FFSHduUUUyQWtBZ0FFSHduUUUyQWp3Z0FFSHduUUUyQWpnZ0FFSHduUUUyQWpRZ0FFSHduUUUyQWpBZ0FFSHduUUUyQWl3Z0FFSHduUUUyQWlnZ0FFSHduUUUyQWlRZ0FFSHduUUUyQWlBZ0FFSHduUUUyQWh3TGtnWUNDWDhFZmlBQUlBRTJBZ0FnQVAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwTEF3Z2dBQ0FETmdJY0lBQWdBa0VCYXlJRk5nSVlJQUZCQTNFaENnSi9JQUpCQUV3RVFDQUJJUVFnQXd3QkN5QUFJQUZCQVdvaUJEWUNBQ0FCTFFBQUN5RUJRUWdoQnlBQVFRZzJBaEFnQUNBQnJTSU5Od01JSUFBZ0RVTC9BWU1pRGtML0FWRWlDVFlDRkFKQUlBcEJBMFlOQUNBQUlBSkJBbXNpQ0RZQ0dBSi9JQUpCQWtnRVFDQUVJUUVnQXd3QkN5QUFJQVJCQVdvaUFUWUNBQ0FFTFFBQUN5RUVJQUJCRDBFUUlBNUMvd0ZSR3lJSE5nSVFJQUFnQkswaURrTC9BWU1pRDBML0FWRWlDVFlDRkNBQUlBNUNDSVlnRFlRaURUY0RDQ0FLUVFKR0JFQWdBU0VFSUFVaEFpQUlJUVVNQVFzZ0FDQUNRUU5ySWdzMkFoZ2dBQUovSUFKQkEwZ0VRQ0FCSVFZZ0F3d0JDeUFBSUFGQkFXb2lCallDQUNBQkxRQUFDNjBpRGtML0FZTWlFRUwvQVZFaUNUWUNGQ0FBUVFkQkNDQVBRdjhCVVJzZ0Iyb2lBVFlDRUNBQUlBNGdCNjJHSUEyRUlnMDNBd2dnQ2tFQlJnUkFJQVloQkNBQklRY2dDQ0VDSUFzaEJRd0JDeUFBSUFKQkJHc2lCVFlDR0NBQUFuOGdBa0VFU0FSQUlBWWhCQ0FEREFFTElBQWdCa0VCYWlJRU5nSUFJQVl0QUFBTHJTSU9RdjhCZzBML0FWRWlDVFlDRkNBQVFRZEJDQ0FRUXY4QlVSc2dBV29pQnpZQ0VDQUFJQTRnQWEyR0lBMkVJZzAzQXdnZ0N5RUNDd0pBSUFKQkJVNEVRQ0FFS0FJQUlRTWdBQ0FDUVFWck5nSVlJQUFnQkVFRWFqWUNBQXdCQzBFQUlRRkJmMEVBSUFNYklRTWdBa0VDU0EwQUEwQWdBQ0FFUVFGcUlnSTJBZ0FnQkMwQUFDRUVJQUFnQlVFQmF5SUdOZ0lZSUFOQi93RWdBWFJCZjNOeElBUWdBWFJ5SVFNZ0FVRUlhaUVCSUFWQkFVc2hEQ0FDSVFRZ0JpRUZJQXdOQUFzTElBQWdBMEVZZGlJQlFmOEJSallDRkNBQVFRZEJDQ0FKR3lJQ1FRZEJDQ0FEUWY4QmNTSUVRZjhCUmh0cUlnVkJCMEVJSUFOQkNIWkIvd0Z4SWdaQi93RkdHMm9pQ0VFSFFRZ2dBMEVRZGtIL0FYRWlBMEgvQVVZYklBZHFhallDRUNBQUlBWWdBblFnQXlBRmRISWdBU0FJZEhJZ0JIS3RJQWV0aGlBTmhEY0RDQXUyQlFJU2Z3SitBbjhnQUNnQ0hDQUJRWmdCYkdvaUFrR1FBV3NvQWdBZ0FrR1lBV3NvQWdCcklnTWhCU0FDUVl3QmF5Z0NBQ0FDUVpRQmF5Z0NBR3NpQWlFR1FjQUFJQU1nQTBIQUFFOGJJUU5Cd0FBZ0FpQUNRY0FBVHhzaEJBSkFJQVZGRFFBZ0JrVU5BQ0FEUlEwQUlBUkZEUUJCZnlBRWJrRUNkaUFEU1EwQVFRRkJIQkFUSWdJZ0JEWUNEQ0FDSUFNMkFnZ2dBaUFHTmdJRUlBSWdCVFlDQUNBQ0lBU3RJaFFnQnExOFFnRjlJQlNBSWhTbklnUTJBaFFnQWlBRHJTSVZJQVd0ZkVJQmZTQVZnQ0lWcHlJRE5nSVFBa0FnRkVMLy8vLy9ENE1nRlVMLy8vLy9ENE4rUWlDSXB3MEFJQUpCQkNBRElBUnNFQk1pQXpZQ0dDQURSUTBBSUFJTUFnc2dBaEFRQzBFQUN5SUpSUVJBUVFBUEN3SkFJQUVFUUFOQUlBNUJtQUZzSWc4Z0FDZ0NIR29pQlNnQ0dDSUNCRUFnQlVFY2FpRVFJQVVvQWhRaEF5QUZLQUlRSVFSQkFDRUtBMEFnQXlBRWJBUkFJQkFnQ2tFa2JHb2hCa0VBSVFzRFFDQUdLQUlVSUF0QktHeHFJZ2dvQWhRaUFpQUlLQUlRSWdkc0JFQkJBQ0VFQTBBZ0NDZ0NHQ0FFUVFaMGFpSURLQUk4SWhFRVFDQURLQUlNSVFjZ0F5Z0NGQ0VTSUFNb0FoQWhEQ0FES0FJSUloTWdCaWdDQUdzaEF5QUdLQUlRSWcxQkFYRUVRQ0FBS0FJY0lBOXFJZ0pCa0FGcktBSUFJQU5xSUFKQm1BRnJLQUlBYXlFREN5QUhJQVlvQWdScklRSWdEVUVDY1FSQUlBSWdBQ2dDSENBUGFpSU5RWXdCYXlnQ0FHb2dEVUdVQVdzb0FnQnJJUUlMSUFrZ0F5QUNJQU1nRENBVGF5SU1haUFTSUFkcklBSnFJQkZCQVNBTVFRQVFKa1VOQ1NBSUtBSVFJUWNnQ0NnQ0ZDRUNDeUFFUVFGcUlnUWdBaUFIYkVrTkFBc2dCU2dDRUNFRUlBVW9BaFFoQXdzZ0MwRUJhaUlMSUFNZ0JHeEpEUUFMSUFVb0FoZ2hBZ3NnQ2tFQmFpSUtJQUpKRFFBTEN5QU9RUUZxSWc0Z0FVY05BQXNMSUFrUEN5QUpFQ05CQUF2UURBSVFmd1o3SUFBb0FnZ2lDeUFBS0FJRWFpRUhBa0FnQUNnQ0RFVUVRQ0FIUVFKSURRRWdBU2dDQUNBQklBdEJBblJxSWcwb0FnQWlCRUVCYWtFQmRXc2hBeUFBS0FJQUlRWUNRQ0FIUVFSSkJFQWdCQ0VDREFFTElBZEJCR3NpQUVFQmRpSUpRUUZxSVF3Q1FDQUFRUlpKQkVCQkFTRUFEQUVMSUFZZ0FTQUxRUUowYWlJRklBbEJBblFpQW1wQkNHcEpJQVlnQ1VFRGRHcEJDR29pQUNBRlFRUnFTM0VFUUVFQklRQU1BUXNnQmlBQklBSnFRUWhxU1NBQlFRUnFJQUJKY1FSQVFRRWhBQXdCQ3lBTVFmei8vLzhIY1NJRlFRRnlJUUFnQlVFQmRDRUlJQVQ5RVNFU0lBUDlFU0VUL1F3QUFBQUFBZ0FBQUFRQUFBQUdBQUFBSVJaQkFDRUNBMEFnQVNBQ1FRSjBRUVJ5SWdOcS9RQUNBQ0VWSUFNZ0RXcjlBQUlBSVJRZ0JpQUNRUU4wYWlJRElCUDlXZ0lBQXlBRFFRaHFJQlVnRkNBU0lCVDlEUXdORGc4UUVSSVRGQlVXRnhnWkdoc2lGZjJ1QWYwTUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQVAydUFVRUMvYXdCL2JFQkloTDlXZ0lBQUNBRFFSQnFJQkw5V2dJQUFTQURRUmhxSUJMOVdnSUFBaUFHSUJiOURBRUFBQUFCQUFBQUFRQUFBQUVBQUFEOVVDSVgvUnNBUVFKMGFpQVNJQk1nRXYwTkRBME9EeEFSRWhNVUZSWVhHQmthRy8ydUFVRUIvYXdCSUJYOXJnRWlFLzFhQWdBQUlBWWdGLzBiQVVFQ2RHb2dFLzFhQWdBQklBWWdGLzBiQWtFQ2RHb2dFLzFhQWdBQ0lBWWdGLzBiQTBFQ2RHb2dFLzFhQWdBRElCYjlEQWdBQUFBSUFBQUFDQUFBQUFnQUFBRDlyZ0VoRmlBU0lSTWdGQ0VTSUFKQkJHb2lBaUFGUncwQUN5QVMvUnNESVFJZ0UvMGJBeUVESUFVZ0RFWU5BU0FDSVFRTEEwQWdBU0FBUVFKMElnSnFLQUlBSVFrZ0FpQU5haWdDQUNFQ0lBWWdDRUVDZEdvaUJTQUROZ0lBSUFVZ0F5QUpJQUlnQkdwQkFtcEJBblZySWdOcVFRRjFJQVJxTmdJRUlBaEJBbW9oQ0NBQUlBeEhJUkFnQWlFRUlBQkJBV29oQUNBUURRQUxDeUFHSUFoQkFuUnFJQU0yQWdCQmZDRUFJQWRCQVhFRWZ5QUdJQWRCQVdzaUFFRUNkR29nQVNBQVFRRjBhaWdDQUNBQ1FRRnFRUUYxYXlJQU5nSUFJQUFnQTJwQkFYVWhBMEY0QlVGOEN5QUdJQWRCQW5RaUFHcHFJQUlnQTJvMkFnQWdBU0FHSUFBUUVob1BDd0pBQWtBQ1FDQUhRUUZyRGdJQUFRSUxJQUVnQVNnQ0FFRUNiVFlDQUE4TElBQW9BZ0FpQkNBQktBSUFJQUVnQzBFQ2RHb2lBeWdDQUVFQmFrRUJkV3NpQURZQ0JDQUVJQUFnQXlnQ0FHbzJBZ0FnQVNBRUtRSUFOd0lBRHdzZ0IwRURTQTBBSUFBb0FnQWlDaUFCS0FJQUlBRWdDMEVDZEdvaURpZ0NCQ0lFSUE0b0FnQWlBR3BCQW1wQkFuVnJJZ01nQUdvMkFnQkJBU0VJQWtBZ0IwRUNheUlHSUFkQkFYRWlERVVpQUd0QkFra0VRQ0FFSVFJTUFRc2dCeUFBYTBFRWF5SUFRUUYySWdKQkFXb2hEd0pBQWtBZ0FFRVdTUTBBSUFwQkJHb2lCU0FCSUFKQkFuUWlBR3BCQ0dwSklBb2dBa0VEZEdwQkRHb2lBaUFCUVFScVMzRU5BQ0FGSUFBZ0FTQUxRUUowYWlJQWFrRU1ha2tnQUVFSWFpQUNTWEVOQUNBUFFYeHhJZ1ZCQVhJaEFDQUZRUUYwUVFGeUlRZ2dCUDBSSVJNZ0EvMFJJUkpCQUNFQ0EwQWdDaUFDUVFOMGFpSUVJQUVnQWtFQ2RDSURhdjBBQWdRZ0V5QURJQTVxL1FBQ0NDSVQvUTBNRFE0UEVCRVNFeFFWRmhjWUdSb2JJaFVnRS8ydUFmME1BZ0FBQUFJQUFBQUNBQUFBQWdBQUFQMnVBVUVDL2F3Qi9iRUJJaFFnRkNBU0lCVDlEUXdORGc4UUVSSVRGQlVXRnhnWkdodjlyZ0ZCQWYyc0FTQVYvYTRCSWhYOURRUUZCZ2NZR1JvYkNBa0tDeHdkSGgvOUN3SVVJQVFnRWlBVi9RME1EUTRQRUJFU0V3QUJBZ01VRlJZWElCVDlEUUFCQWdNRUJRWUhFQkVTRXd3TkRnLzlDd0lFSUJRaEVpQUNRUVJxSWdJZ0JVY05BQXNnRS8wYkF5RUNJQkw5R3dNaEF5QUZJQTlHRFFJZ0FpRUVEQUVMUVFFaEFBc0RRQ0FCSUFCQkFuUnFLQUlBSVEwZ0RpQUFRUUZxSWdWQkFuUnFLQUlBSVFJZ0NpQUlRUUowYWlJSklBTTJBZ0FnQ1NBRElBMGdBaUFFYWtFQ2FrRUNkV3NpQTJwQkFYVWdCR28yQWdRZ0NFRUNhaUVJSUFBZ0QwY2hFU0FDSVFRZ0JTRUFJQkVOQUFzTElBb2dDRUVDZEdvZ0F6WUNBQUpBSUF4RkJFQWdDaUFHUVFKMGFpQUJJQWRCQVhScVFRUnJLQUlBSUFKQkFXcEJBWFZySWdBZ0EycEJBWFVnQW1vMkFnQU1BUXNnQWlBRGFpRUFDeUFLSUFkQkFuUWlBMnBCQkdzZ0FEWUNBQ0FCSUFvZ0F4QVNHZ3NMb0FjREEzMERld0ovSUFOQkNFOEVRQ0FEUVFOMklRc0RRQ0FCL1FBRUFDRUhJQUFnQVAwQUJBQWlDQ0FDL1FBRUFDSUovUXk4ZExNL3ZIU3pQN3gwc3orOGRMTS8vZVlCL2VRQi9Rc0VBQ0FCSUFnZ0IvME16ekd3UHM4eHNEN1BNYkErenpHd1B2M21BZjNsQVNBSi9RemgwVFkvNGRFMlArSFJOai9oMFRZLy9lWUIvZVVCL1FzRUFDQUNJQWdnQi8wTTVkRGlQK1hRNGovbDBPSS81ZERpUC8zbUFmM2tBZjBMQkFBZ0FmMEFCQkFoQnlBQUlBRDlBQVFRSWdnZ0F2MEFCQkFpQ2YwTXZIU3pQN3gwc3orOGRMTS92SFN6UC8zbUFmM2tBZjBMQkJBZ0FTQUlJQWY5RE04eHNEN1BNYkErenpHd1BzOHhzRDc5NWdIOTVRRWdDZjBNNGRFMlArSFJOai9oMFRZLzRkRTJQLzNtQWYzbEFmMExCQkFnQWlBSUlBZjlET1hRNGovbDBPSS81ZERpUCtYUTRqLzk1Z0g5NUFIOUN3UVFJQUpCSUdvaEFpQUJRU0JxSVFFZ0FFRWdhaUVBSUFwQkFXb2lDaUFMUncwQUN3c0NRQ0FEUVFkeElnTkZEUUFnQVNvQ0FDRUVJQUFnQWlvQ0FDSUdRN3gwc3orVUlBQXFBZ0FpQlpJNEFnQWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJQUlBSWdCU0FFUStYUTRqK1VramdDQUNBRFFRRkdEUUFnQVNvQ0JDRUVJQUFnQWlvQ0JDSUdRN3gwc3orVUlBQXFBZ1FpQlpJNEFnUWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJRUlBSWdCU0FFUStYUTRqK1VramdDQkNBRFFRSkdEUUFnQVNvQ0NDRUVJQUFnQWlvQ0NDSUdRN3gwc3orVUlBQXFBZ2dpQlpJNEFnZ2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJSUlBSWdCU0FFUStYUTRqK1VramdDQ0NBRFFRTkdEUUFnQVNvQ0RDRUVJQUFnQWlvQ0RDSUdRN3gwc3orVUlBQXFBZ3dpQlpJNEFnd2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJTUlBSWdCU0FFUStYUTRqK1VramdDRENBRFFRUkdEUUFnQVNvQ0VDRUVJQUFnQWlvQ0VDSUdRN3gwc3orVUlBQXFBaEFpQlpJNEFoQWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJUUlBSWdCU0FFUStYUTRqK1VramdDRUNBRFFRVkdEUUFnQVNvQ0ZDRUVJQUFnQWlvQ0ZDSUdRN3gwc3orVUlBQXFBaFFpQlpJNEFoUWdBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJVUlBSWdCU0FFUStYUTRqK1VramdDRkNBRFFRWkdEUUFnQVNvQ0dDRUVJQUFnQWlvQ0dDSUdRN3gwc3orVUlBQXFBaGdpQlpJNEFoZ2dBU0FGSUFSRHp6R3d2cFNTSUFaRDRkRTJ2NVNTT0FJWUlBSWdCU0FFUStYUTRqK1VramdDR0FzTDRBRUNCbjhEZXdKQUlBTkZEUUFnQTBFRVR3UkFJQU5CZkhFaEJnTkFJQUFnQkVFQ2RDSUZhaUlISUFmOUFBSUFJQUlnQldvaUIvMEFBZ0FpQ3lBQklBVnFJZ1g5QUFJQUlnejlyZ0ZCQXYyc0FmMnhBU0lLSUF2OXJnSDlDd0lBSUFVZ0N2MExBZ0FnQnlBS0lBejlyZ0g5Q3dJQUlBUkJCR29pQkNBR1J3MEFDeUFESUFaR0RRRUxBMEFnQUNBR1FRSjBJZ1JxSWdVZ0JTZ0NBQ0FDSUFScUlnVW9BZ0FpQnlBQklBUnFJZ2dvQWdBaUNXcEJBblZySWdRZ0IybzJBZ0FnQ0NBRU5nSUFJQVVnQkNBSmFqWUNBQ0FHUVFGcUlnWWdBMGNOQUFzTEM5MEJBUVIvSXdCQmdBRnJJZ1lrQUNBR0lRVUNRQ0FCS0FJTUlBSkJCSFJxSWdJb0FnQWlCRVVFUUNBQ0lRRU1BUXNEUUNBRklBSTJBZ0FnQlVFRWFpRUZJQVFpQVNJQ0tBSUFJZ1FOQUFzTFFRQWhCQU5BSUFFb0FnZ2lBaUFFU0FSQUlBRWdCRFlDQ0NBRUlRSUxBa0FnQWlBRFRnMEFBMEFnQWlBQktBSUVUZzBCQWtBZ0FFRUJFQjhFUUNBQklBSTJBZ1FNQVFzZ0FrRUJhaUVDQ3lBQ0lBTklEUUFMQ3lBQklBSTJBZ2dnQlNBR1J3UkFJQVZCQkdzaUJTZ0NBQ0VCSUFJaEJBd0JDd3NnQVNnQ0JDRUhJQVpCZ0FGcUpBQWdCeUFEU0F2OUJnRUxmeU1BUVlBQ2F5SUtKQUFDUUNBQVJRUkFRUUFoQUF3QkN3SkFJQUVnQUNnQ0FFWUVRQ0FBS0FJRUlBSkdEUUVMSUFBZ0FqWUNCQ0FBSUFFMkFnQWdDaUFDTmdJQUlBb2dBVFlDZ0FFZ0FpRUVJQUVoQlFOQUlBb2dCeUlNUVFGcUlnZEJBblFpQ0dvZ0JFRUJha0VDYlNJSk5nSUFJQXBCZ0FGcUlBaHFJQVZCQVdwQkFtMGlDRFlDQUNBR0lBUWdCV3dpQzJvaEJpQUpJUVFnQ0NFRklBdEJBVXNOQUFzZ0FDQUdOZ0lJQWtBQ1FBSkFBa0FnQmtVRVFDQUFLQUlNSWdSRkRRSWdBRUVNYWlFRkRBRUxJQVpCQkhRaUJDQUFLQUlRVFEwRElBQW9BZ3dnQkJBWElnRU5BaUFEUVFGQm1qRkJBQkFQSUFCQkRHb2lCU2dDQUNJRVJRMEJDeUFFRUJBZ0JVRUFOZ0lBQ3lBQUVCQkJBQ0VBREFNTElBQWdBVFlDRENBQklBQW9BaEFpQW1wQkFDQUVJQUpyRUJVYUlBQWdCRFlDRUNBQUtBSUVJUUlnQUNnQ0FDRUJDeUFBS0FJTUlRVWdEQVJBUVFBaEF5QUZJQUVnQW14QkJIUnFJZ1FoQmdOQUFrQWdDaUFEUVFKMElnRnFLQUlBSWdoQkFFd05BQ0FJUVFGcklRdEJBQ0VKQWtBQ1FDQUtRWUFCYWlBQmFpZ0NBQ0lDUVFCTUJFQWdDRUVCY1NFTlFRQWhCeUFJUVFGSERRRWdCaUVCREFJTEEwQWdCaUVCSUFJaEJnTkFBa0FnQlNBRU5nSUFJQVpCQVVZRVFDQUZRUkJxSVFVZ0JFRVFhaUVFREFFTElBVWdCRFlDRUNBRVFSQnFJUVFnQlVFZ2FpRUZJQVpCQWtvaERpQUdRUUpySVFZZ0RnMEJDd3NnQkNBQklBSkJCSFJxSUFrZ0NTQUxSbkpCQVhFaUJ4c2hCaUFFSUFFZ0J4c2hCQ0FKUVFGcUlna2dDRWNOQUFzTUFnc2dDRUgrLy8vL0IzRWhDQU5BSUFjZ0MwWWhBU0FIUVFKcUlRY2dCQ0FHSUFFYklnUWhCaUFFSVFFZ0NVRUNhaUlKSUFoSERRQUxDeUFOUlFSQUlBUWhCZ3dCQ3lBRUlBRWdBa0VFZEdvZ0J5QUhJQXRHY2tFQmNTSUNHeUVHSUFRZ0FTQUNHeUVFQ3lBRFFRRnFJZ01nREVjTkFBc0xJQVZCQURZQ0FBc2dBQ2dDQ0NJQlJRMEFJQUFvQWd3aEJDQUJRUVJQQkVBZ0FVRjhjU0VDUVFBaEJRTkFJQVJCQURZQ1BDQUVRdWNITndJMElBUkJBRFlDTENBRVF1Y0hOd0lrSUFSQkFEWUNIQ0FFUXVjSE53SVVJQVJCQURZQ0RDQUVRdWNITndJRUlBUkJRR3NoQkNBRlFRUnFJZ1VnQWtjTkFBc0xJQUZCQTNFaUFVVU5BRUVBSVFVRFFDQUVRUUEyQWd3Z0JFTG5CemNDQkNBRVFSQnFJUVFnQlVFQmFpSUZJQUZIRFFBTEN5QUtRWUFDYWlRQUlBQUxzUUVCQTM4Q1FDQUFSUTBBSUFBb0FnZ2lBVVVOQUNBQUtBSU1JUUFnQVVFRVR3UkFJQUZCZkhFaEF3TkFJQUJCQURZQ1BDQUFRdWNITndJMElBQkJBRFlDTENBQVF1Y0hOd0lrSUFCQkFEWUNIQ0FBUXVjSE53SVVJQUJCQURZQ0RDQUFRdWNITndJRUlBQkJRR3NoQUNBQ1FRUnFJZ0lnQTBjTkFBc0xJQUZCQTNFaUFVVU5BRUVBSVFJRFFDQUFRUUEyQWd3Z0FFTG5CemNDQkNBQVFSQnFJUUFnQWtFQmFpSUNJQUZIRFFBTEN3djdCUUVRZnlNQVFZQUNheUlJSkFBQ2YwRUJRUlFRRXlJR1JRUkFJQUpCQVVIME1FRUFFQTlCQUF3QkN5QUdJQUUyQWdRZ0JpQUFOZ0lBSUFnZ0FUWUNBQ0FJSUFBMkFvQUJBMEFnQ0NBRklnMUJBV29pQlVFQ2RDSUhhaUFCUVFGcVFRSnRJZ00yQWdBZ0NFR0FBV29nQjJvZ0FFRUJha0VDYlNJSE5nSUFJQVFnQUNBQmJDSUphaUVFSUFNaEFTQUhJUUFnQ1VFQlN3MEFDeUFHSUFRMkFnZ2dCRVVFUUNBR0VCQkJBQXdCQ3lBR0lBUkJFQkFUSWdNMkFnd2dBMFVFUUNBQ1FRRkIyaHBCQUJBUElBWVFFRUVBREFFTElBWWdCaWdDQ0NJTFFRUjBOZ0lRSUFNaEFDQU5CRUFnQXlBR0tBSUVJQVlvQWdCc1FRUjBhaUlFSVFFRFFBSkFJQWdnRGtFQ2RDSUNhaWdDQUNJSlFRQk1EUUFnQ1VFQmF5RU1RUUFoQndKQUlBaEJnQUZxSUFKcUtBSUFJZ0pCQUV3RVFFRUFJUVVnQ1VFQlJ3UkFJQWxCL3YvLy93ZHhJUW9EUUNBRklBeEdJUThnQlVFQ2FpRUZJQUVnQkNBUEd5SUVJUUVnQjBFQ2FpSUhJQXBIRFFBTEN5QUpRUUZ4RFFFZ0JDRUJEQUlMQTBBZ0JDRUZJQUloQkFOQUFrQWdBQ0FCTmdJQUlBUkJBVVlFUUNBQVFSQnFJUUFnQVVFUWFpRUJEQUVMSUFBZ0FUWUNFQ0FCUVJCcUlRRWdBRUVnYWlFQUlBUkJBa29oRUNBRVFRSnJJUVFnRUEwQkN3c2dBU0FGSUFKQkJIUnFJQWNnQnlBTVJuSkJBWEVpQ2hzaEJDQUJJQVVnQ2hzaEFTQUhRUUZxSWdjZ0NVY05BQXNNQVFzZ0FTQUVJQUpCQkhScUlBVWdCU0FNUm5KQkFYRWlCUnNoRVNBQklBUWdCUnNoQVNBUklRUUxJQTVCQVdvaURpQU5SdzBBQ3dzZ0FFRUFOZ0lBQWtBZ0MwVU5BQ0FMUVFSUEJFQWdDMEY4Y1NFQVFRQWhBUU5BSUFOQkFEWUNQQ0FEUXVjSE53STBJQU5CQURZQ0xDQURRdWNITndJa0lBTkJBRFlDSENBRFF1Y0hOd0lVSUFOQkFEWUNEQ0FEUXVjSE53SUVJQU5CUUdzaEF5QUJRUVJxSWdFZ0FFY05BQXNMSUF0QkEzRWlBRVVOQUVFQUlRRURRQ0FEUVFBMkFnd2dBMExuQnpjQ0JDQURRUkJxSVFNZ0FVRUJhaUlCSUFCSERRQUxDeUFHQ3lFU0lBaEJnQUpxSkFBZ0VndFRBUUYvQW44Z0FDMEFERUgvQVVZRVFDQUFRb0QrZzREd0FEY0NERUVBSUFBb0FnZ2lBU0FBS0FJRVR3MEJHaUFBSUFGQkFXbzJBZ2dnQUNBQkxRQUFRWUQrQTNJMkFnd0xJQUJCQURZQ0VFRUJDd3QrQWdGL0FYNGdBTDBpQTBJMGlLZEIvdzl4SWdKQi93OUhCSHdnQWtVRVFDQUJJQUJFQUFBQUFBQUFBQUJoQkg5QkFBVWdBRVFBQUFBQUFBRHdRNklnQVJCbElRQWdBU2dDQUVGQWFnczJBZ0FnQUE4TElBRWdBa0grQjJzMkFnQWdBMEwvLy8vLy8vLy9oNEIvZzBLQWdJQ0FnSUNBOEQrRXZ3VWdBQXNMU1FFQmZ3SkFRUUZCTEJBVElnRUVRQ0FCUVFBMkFoQUNRQ0FBUVFCTUJFQWdBVUVCUVFnUUV5SUFOZ0lrSUFCRkRRRU1Bd3NnQVVFQU5nSU1DeUFCRUJBTFFRQWhBUXNnQVF1UkFnQWdBRVVFUUVFQUR3c0Nmd0pBSUFGQi93Qk5EUUFDUUVHVTBBRW9BZ0FvQWdCRkJFQWdBVUdBZjNGQmdMOERSZzBDREFFTElBRkIvdzlOQkVBZ0FDQUJRVDl4UVlBQmNqb0FBU0FBSUFGQkJuWkJ3QUZ5T2dBQVFRSU1Bd3NnQVVHQVFIRkJnTUFEUnlBQlFZQ3dBMDl4UlFSQUlBQWdBVUUvY1VHQUFYSTZBQUlnQUNBQlFReDJRZUFCY2pvQUFDQUFJQUZCQm5aQlAzRkJnQUZ5T2dBQlFRTU1Bd3NnQVVHQWdBUnJRZi8vUDAwRVFDQUFJQUZCUDNGQmdBRnlPZ0FESUFBZ0FVRVNka0h3QVhJNkFBQWdBQ0FCUVFaMlFUOXhRWUFCY2pvQUFpQUFJQUZCREhaQlAzRkJnQUZ5T2dBQlFRUU1Bd3NMUVpUSEFVRVpOZ0lBUVg4TUFRc2dBQ0FCT2dBQVFRRUxDN3dDQUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBVUVKYXc0U0FBZ0pDZ2dKQVFJREJBb0pDZ29JQ1FVR0J3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJLQUlBTmdJQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNZ0VBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNd0VBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNQUFBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJNUUFBTndNQUR3c2dBaUFDS0FJQVFRZHFRWGh4SWdGQkNHbzJBZ0FnQUNBQkt3TUFPUU1BRHdzZ0FDQUNJQU1SQXdBTER3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJOQUlBTndNQUR3c2dBaUFDS0FJQUlnRkJCR28yQWdBZ0FDQUJOUUlBTndNQUR3c2dBaUFDS0FJQVFRZHFRWGh4SWdGQkNHbzJBZ0FnQUNBQktRTUFOd01BQzNNQkJuOGdBQ2dDQUNJRExBQUFRVEJySWdGQkNVc0VRRUVBRHdzRFFFRi9JUVFnQWtITW1iUG1BRTBFUUVGL0lBRWdBa0VLYkNJRmFpQUJJQVZCLy8vLy93ZHpTeHNoQkFzZ0FDQURRUUZxSWdVMkFnQWdBeXdBQVNFR0lBUWhBaUFGSVFNZ0JrRXdheUlCUVFwSkRRQUxJQUlMdEJRQ0ZYOEJmaU1BUVVCcUlnZ2tBQ0FJSUFFMkFqd2dDRUVuYWlFV0lBaEJLR29oRVFKQUFrQUNRQUpBQTBCQkFDRUhBMEFnQVNFTklBY2dEa0gvLy8vL0IzTktEUUlnQnlBT2FpRU9Ba0FDUUFKQUFrQWdBU0lITFFBQUlnc0VRQU5BQWtBQ1FDQUxRZjhCY1NJQlJRUkFJQWNoQVF3QkN5QUJRU1ZIRFFFZ0J5RUxBMEFnQ3kwQUFVRWxSd1JBSUFzaEFRd0NDeUFIUVFGcUlRY2dDeTBBQWlFWklBdEJBbW9pQVNFTElCbEJKVVlOQUFzTElBY2dEV3NpQnlBT1FmLy8vLzhIY3lJWFNnMEpJQUFFUUNBQUlBMGdCeEFaQ3lBSERRY2dDQ0FCTmdJOElBRkJBV29oQjBGL0lSQUNRQ0FCTEFBQlFUQnJJZ2xCQ1VzTkFDQUJMUUFDUVNSSERRQWdBVUVEYWlFSFFRRWhFaUFKSVJBTElBZ2dCellDUEVFQUlRd0NRQ0FITEFBQUlndEJJR3NpQVVFZlN3UkFJQWNoQ1F3QkN5QUhJUWxCQVNBQmRDSUJRWW5SQkhGRkRRQURRQ0FJSUFkQkFXb2lDVFlDUENBQklBeHlJUXdnQnl3QUFTSUxRU0JySWdGQklFOE5BU0FKSVFkQkFTQUJkQ0lCUVluUkJIRU5BQXNMQWtBZ0MwRXFSZ1JBQW44Q1FDQUpMQUFCUVRCcklnRkJDVXNOQUNBSkxRQUNRU1JIRFFBQ2Z5QUFSUVJBSUFRZ0FVRUNkR3BCQ2pZQ0FFRUFEQUVMSUFNZ0FVRURkR29vQWdBTElROGdDVUVEYWlFQlFRRU1BUXNnRWcwR0lBbEJBV29oQVNBQVJRUkFJQWdnQVRZQ1BFRUFJUkpCQUNFUERBTUxJQUlnQWlnQ0FDSUhRUVJxTmdJQUlBY29BZ0FoRDBFQUN5RVNJQWdnQVRZQ1BDQVBRUUJPRFFGQkFDQVBheUVQSUF4QmdNQUFjaUVNREFFTElBaEJQR29RYVNJUFFRQklEUW9nQ0NnQ1BDRUJDMEVBSVFkQmZ5RUtBbjlCQUNBQkxRQUFRUzVIRFFBYUlBRXRBQUZCS2tZRVFBSi9Ba0FnQVN3QUFrRXdheUlKUVFsTERRQWdBUzBBQTBFa1J3MEFJQUZCQkdvaEFRSi9JQUJGQkVBZ0JDQUpRUUowYWtFS05nSUFRUUFNQVFzZ0F5QUpRUU4wYWlnQ0FBc01BUXNnRWcwR0lBRkJBbW9oQVVFQUlBQkZEUUFhSUFJZ0FpZ0NBQ0lKUVFScU5nSUFJQWtvQWdBTElRb2dDQ0FCTmdJOElBcEJBRTRNQVFzZ0NDQUJRUUZxTmdJOElBaEJQR29RYVNFS0lBZ29BandoQVVFQkN5RVRBMEFnQnlFVVFSd2hDU0FCSWhnc0FBQWlCMEg3QUd0QlJra05DeUFCUVFGcUlRRWdCeUFVUVRwc2FrRy93QUZxTFFBQUlnZEJBV3RCQ0VrTkFBc2dDQ0FCTmdJOEFrQWdCMEViUndSQUlBZEZEUXdnRUVFQVRnUkFJQUJGQkVBZ0JDQVFRUUowYWlBSE5nSUFEQXdMSUFnZ0F5QVFRUU4wYWlrREFEY0RNQXdDQ3lBQVJRMElJQWhCTUdvZ0J5QUNJQVlRYUF3QkN5QVFRUUJPRFF0QkFDRUhJQUJGRFFnTElBQXRBQUJCSUhFTkN5QU1RZi8vZTNFaUN5QU1JQXhCZ01BQWNSc2hERUVBSVJCQnNBZ2hGU0FSSVFrQ1FBSkFBbjhDUUFKQUFrQUNRQUpBQWtBQ2Z3SkFBa0FDUUFKQUFrQUNRQUpBSUJnc0FBQWlCMEZUY1NBSElBZEJEM0ZCQTBZYklBY2dGQnNpQjBIWUFHc09JUVFXRmhZV0ZoWVdGaEFXQ1FZUUVCQVdCaFlXRmhZQ0JRTVdGZ29XQVJZV0JBQUxBa0FnQjBIQkFHc09CeEFXQ3hZUUVCQUFDeUFIUWRNQVJnMExEQlVMSUFncEF6QWhIRUd3Q0F3RkMwRUFJUWNDUUFKQUFrQUNRQUpBQWtBQ1FDQVVRZjhCY1E0SUFBRUNBd1FjQlFZY0N5QUlLQUl3SUE0MkFnQU1Hd3NnQ0NnQ01DQU9OZ0lBREJvTElBZ29BakFnRHF3M0F3QU1HUXNnQ0NnQ01DQU9Pd0VBREJnTElBZ29BakFnRGpvQUFBd1hDeUFJS0FJd0lBNDJBZ0FNRmdzZ0NDZ0NNQ0FPckRjREFBd1ZDMEVJSUFvZ0NrRUlUUnNoQ2lBTVFRaHlJUXhCK0FBaEJ3c2dFU0VCSUFncEF6QWlIRUlBVWdSQUlBZEJJSEVoRFFOQUlBRkJBV3NpQVNBY3AwRVBjVUhReEFGcUxRQUFJQTF5T2dBQUlCeENEMVloR2lBY1FnU0lJUndnR2cwQUN3c2dBU0VOSUFncEF6QlFEUU1nREVFSWNVVU5BeUFIUVFSMlFiQUlhaUVWUVFJaEVBd0RDeUFSSVFFZ0NDa0RNQ0ljUWdCU0JFQURRQ0FCUVFGcklnRWdIS2RCQjNGQk1ISTZBQUFnSEVJSFZpRWJJQnhDQTRnaEhDQWJEUUFMQ3lBQklRMGdERUVJY1VVTkFpQUtJQkVnQVdzaUFVRUJhaUFCSUFwSUd5RUtEQUlMSUFncEF6QWlIRUlBVXdSQUlBaENBQ0FjZlNJY053TXdRUUVoRUVHd0NBd0JDeUFNUVlBUWNRUkFRUUVoRUVHeENBd0JDMEd5Q0VHd0NDQU1RUUZ4SWhBYkN5RVZJQndnRVJBcUlRMExJQk1nQ2tFQVNIRU5FU0FNUWYvL2UzRWdEQ0FUR3lFTUFrQWdDQ2tETUNJY1FnQlNEUUFnQ2cwQUlCRWhEVUVBSVFvTURnc2dDaUFjVUNBUklBMXJhaUlCSUFFZ0NrZ2JJUW9NRFFzZ0NDa0RNQ0VjREFzTEFuOUIvLy8vL3djZ0NpQUtRZi8vLy84SFR4c2lEQ0lIUVFCSElRa0NRQUpBQWtBZ0NDZ0NNQ0lCUVlRTUlBRWJJZzBpQVVFRGNVVU5BQ0FIUlEwQUEwQWdBUzBBQUVVTkFpQUhRUUZySWdkQkFFY2hDU0FCUVFGcUlnRkJBM0ZGRFFFZ0J3MEFDd3NnQ1VVTkFRSkFJQUV0QUFCRkRRQWdCMEVFU1EwQUEwQkJnSUtFQ0NBQktBSUFJZ2xySUFseVFZQ0Jnb1I0Y1VHQWdZS0VlRWNOQWlBQlFRUnFJUUVnQjBFRWF5SUhRUU5MRFFBTEN5QUhSUTBCQ3dOQUlBRWdBUzBBQUVVTkFob2dBVUVCYWlFQklBZEJBV3NpQncwQUN3dEJBQXNpQVNBTmF5QU1JQUViSWdFZ0RXb2hDU0FLUVFCT0JFQWdDeUVNSUFFaENnd01DeUFMSVF3Z0FTRUtJQWt0QUFBTkR3d0xDeUFJS1FNd0loeENBRklOQVVJQUlSd01DUXNnQ2dSQUlBZ29BakFNQWd0QkFDRUhJQUJCSUNBUFFRQWdEQkFjREFJTElBaEJBRFlDRENBSUlCdytBZ2dnQ0NBSVFRaHFJZ2MyQWpCQmZ5RUtJQWNMSVF0QkFDRUhBMEFDUUNBTEtBSUFJZzFGRFFBZ0NFRUVhaUFORUdjaURVRUFTQTBQSUEwZ0NpQUhhMHNOQUNBTFFRUnFJUXNnQnlBTmFpSUhJQXBKRFFFTEMwRTlJUWtnQjBFQVNBME1JQUJCSUNBUElBY2dEQkFjSUFkRkJFQkJBQ0VIREFFTFFRQWhDU0FJS0FJd0lRc0RRQ0FMS0FJQUlnMUZEUUVnQ0VFRWFpSUtJQTBRWnlJTklBbHFJZ2tnQjBzTkFTQUFJQW9nRFJBWklBdEJCR29oQ3lBSElBbExEUUFMQ3lBQVFTQWdEeUFISUF4QmdNQUFjeEFjSUE4Z0J5QUhJQTlJR3lFSERBZ0xJQk1nQ2tFQVNIRU5DVUU5SVFrZ0FDQUlLd013SUE4Z0NpQU1JQWNnQlJFVEFDSUhRUUJPRFFjTUNnc2dCeTBBQVNFTElBZEJBV29oQnd3QUN3QUxJQUFOQ1NBU1JRMERRUUVoQndOQUlBUWdCMEVDZEdvb0FnQWlBQVJBSUFNZ0IwRURkR29nQUNBQ0lBWVFhRUVCSVE0Z0IwRUJhaUlIUVFwSERRRU1Dd3NMUVFFaERpQUhRUXBQRFFrRFFDQUVJQWRCQW5ScUtBSUFEUUVnQjBFQmFpSUhRUXBIRFFBTERBa0xRUndoQ1F3R0N5QUlJQnc4QUNkQkFTRUtJQlloRFNBTElRd0xJQW9nQ1NBTmF5SUxJQW9nQzBvYklnb2dFRUgvLy8vL0IzTktEUU5CUFNFSklBOGdDaUFRYWlJQklBRWdEMGdiSWdjZ0Ywb05CQ0FBUVNBZ0J5QUJJQXdRSENBQUlCVWdFQkFaSUFCQk1DQUhJQUVnREVHQWdBUnpFQndnQUVFd0lBb2dDMEVBRUJ3Z0FDQU5JQXNRR1NBQVFTQWdCeUFCSUF4QmdNQUFjeEFjSUFnb0Fqd2hBUXdCQ3dzTFFRQWhEZ3dEQzBFOUlRa0xRWlRIQVNBSk5nSUFDMEYvSVE0TElBaEJRR3NrQUNBT0M2Z0NBUVIvSXdCQjBBRnJJZ1VrQUNBRklBSTJBc3dCSUFWQm9BRnFJZ0pCQUVFb0VCVWFJQVVnQlNnQ3pBRTJBc2dCQWtCQkFDQUJJQVZCeUFGcUlBVkIwQUJxSUFJZ0F5QUVFR3BCQUVnTkFDQUFLQUpNUVFCSUlRZ2dBQ0FBS0FJQUlnZEJYM0UyQWdBQ2Z3SkFBa0FnQUNnQ01FVUVRQ0FBUWRBQU5nSXdJQUJCQURZQ0hDQUFRZ0EzQXhBZ0FDZ0NMQ0VHSUFBZ0JUWUNMQXdCQ3lBQUtBSVFEUUVMUVg4Z0FCQStEUUVhQ3lBQUlBRWdCVUhJQVdvZ0JVSFFBR29nQlVHZ0FXb2dBeUFFRUdvTElRRWdCZ1IvSUFCQkFFRUFJQUFvQWlRUkFBQWFJQUJCQURZQ01DQUFJQVkyQWl3Z0FFRUFOZ0ljSUFBb0FoUWFJQUJDQURjREVFRUFCU0FCQ3hvZ0FDQUFLQUlBSUFkQklIRnlOZ0lBSUFnTkFBc2dCVUhRQVdva0FBc25BUUYvUVJ3aEF5QUJRUU54Qkg5QkhBVWdBQ0FCSUFJUUpTSUFOZ0lBUVFCQk1DQUFHd3NML1FNQkJYOENmMEhneEFFb0FnQWlBaUFBUVFkcVFYaHhJZ0ZCQjJwQmVIRWlBMm9oQUFKQUlBTkJBQ0FBSUFKTkcwVUVRQ0FBUHdCQkVIUk5EUUVnQUJBS0RRRUxRWlRIQVVFd05nSUFRWDhNQVF0QjRNUUJJQUEyQWdBZ0Fnc2lBa0YvUndSQUlBRWdBbW9pQUVFRWEwRVFOZ0lBSUFCQkVHc2lBMEVRTmdJQUFrQUNmMEdnendFb0FnQWlBUVIvSUFFb0FnZ0ZRUUFMSUFKR0JFQWdBaUFDUVFScktBSUFRWDV4YXlJRVFRUnJLQUlBSVFVZ0FTQUFOZ0lJSUFRZ0JVRitjV3NpQUNBQUtBSUFha0VFYXkwQUFFRUJjUVJBSUFBb0FnUWlBU0FBS0FJSUlnUTJBZ2dnQkNBQk5nSUVJQUFnQXlBQWF5SUJOZ0lBREFNTElBSkJFR3NNQVFzZ0FrRVFOZ0lBSUFJZ0FEWUNDQ0FDSUFFMkFnUWdBa0VRTmdJTVFhRFBBU0FDTmdJQUlBSkJFR29MSWdBZ0F5QUFheUlCTmdJQUN5QUFJQUZCZkhGcVFRUnJJQUZCQVhJMkFnQWdBQUovSUFBb0FnQkJDR3NpQVVIL0FFMEVRQ0FCUVFOMlFRRnJEQUVMSUFGQkhTQUJaeUlEYTNaQkJITWdBMEVDZEd0QjdnQnFJQUZCL3g5TkRRQWFRVDhnQVVFZUlBTnJka0VDY3lBRFFRRjBhMEhIQUdvaUFTQUJRVDlQR3dzaUFVRUVkQ0lEUWFESEFXbzJBZ1FnQUNBRFFhakhBV29pQXlnQ0FEWUNDQ0FESUFBMkFnQWdBQ2dDQ0NBQU5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQnJZYUVOd01BQ3lBQ1FYOUhDNzBCQVFKL0FrQWdBQ2dDVENJQlFRQk9CRUFnQVVVTkFVSE16d0VvQWdBZ0FVSC8vLy8vQTNGSERRRUxBa0FnQUNnQ1VFRUtSZzBBSUFBb0FoUWlBU0FBS0FJUVJnMEFJQUFnQVVFQmFqWUNGQ0FCUVFvNkFBQVBDeUFBRUc4UEN5QUFRY3dBYWlJQklBRW9BZ0FpQWtILy8vLy9BeUFDR3pZQ0FBSkFBa0FnQUNnQ1VFRUtSZzBBSUFBb0FoUWlBaUFBS0FJUVJnMEFJQUFnQWtFQmFqWUNGQ0FDUVFvNkFBQU1BUXNnQUJCdkN5QUJLQUlBR2lBQlFRQTJBZ0FMZkFFQ2Z5TUFRUkJySWdFa0FDQUJRUW82QUE4Q1FBSkFJQUFvQWhBaUFnUi9JQUlGSUFBUVBnMENJQUFvQWhBTElBQW9BaFFpQWtZTkFDQUFLQUpRUVFwR0RRQWdBQ0FDUVFGcU5nSVVJQUpCQ2pvQUFBd0JDeUFBSUFGQkQycEJBU0FBS0FJa0VRQUFRUUZIRFFBZ0FTMEFEeG9MSUFGQkVHb2tBQXV3QWdFQ2Z5QUFCRUFnQUNnQ0FCQTRJQUJCQURZQ0FDQUFLQUpJSWdFRVFDQUJFQkFnQUVFQU5nSklDeUFBS0FKRUlnRUVRQ0FCRUJBZ0FFRUFOZ0pFQ3lBQUtBSnNJZ0VFUUNBQkVCQWdBRUVBTmdKc0N5QUFLQUowSWdFRVFDQUJLQUlBSWdJRVFDQUNFQkFnQUNnQ2RDSUJRUUEyQWdBTElBRVFFQ0FBUVFBMkFuUUxJQUFvQW5naUFRUkFJQUVvQWd3aUFnUkFJQUlRRUNBQUtBSjRJZ0ZCQURZQ0RBc2dBU2dDQkNJQ0JFQWdBaEFRSUFBb0FuZ2lBVUVBTmdJRUN5QUJLQUlJSWdJRVFDQUNFQkFnQUNnQ2VDSUJRUUEyQWdnTElBRW9BZ0FpQWdSQUlBSVFFQ0FBS0FKNElnRkJBRFlDQUFzZ0FSQVFJQUJCQURZQ2VBc2dBQ2dDQkNJQkJFQWdBUkF5SUFCQkFEWUNCQXNnQUNnQ0NDSUJCRUFnQVJBeUlBQkJBRFlDQ0FzZ0FCQVFDd3VMR3dJZWZ3VjdJd0JCOEFGcklna2tBRUVCSVE0Q1FDQUFLQUlBS0FJOERRQWdBQ2dDZ0FFTkFBSkFBa0FnQUNnQ2RDSUlSUVJBSUFBb0FuZ2hCQXdCQ3lBQktBSVFJUU1nQ0M4QkJDRUdBa0FnQUNnQ2VDSUVSUTBBSUFRb0FneEZEUUFnQkMwQUVpRURDd0pBSUFZRVFDQUlLQUlBSVFnRFFDQUlJQVZCQm14cUlnb3ZBUUFpQnlBRFR3UkFJQWtnQXpZQ3RBRWdDU0FITmdLd0FTQUNRUUZCb09ZQUlBbEJzQUZxRUE5QkFDRU9EQVlMQWtBZ0NpOEJCQ0lLUlEwQUlBcEIvLzhEUmcwQUlBcEJBV3NpQ2lBRFNRMEFJQWtnQXpZQ3BBRWdDU0FLTmdLZ0FTQUNRUUZCb09ZQUlBbEJvQUZxRUE5QkFDRU9EQVlMSUFWQkFXb2lCU0FHUncwQUN3d0JDeUFERFFJTUFRc0RRQ0FEUVFGcklRTkJBQ0VGQTBBZ0NDQUZRUVpzYWk4QkFDQURSd1JBSUFWQkFXb2lCU0FHUncwQkRBUUxDeUFERFFBTEN3SkFJQVJGRFFBZ0JDZ0NEQ0lLUlEwQUFrQUNRQ0FFTFFBU0lnZ0VRRUVBSVFWQkFTRUhBMEFnQVNnQ0VDSURJQW9nQlVFQ2RHb3ZBUUFpQkUwRVFDQUpJQU0yQXBRQklBa2dCRFlDa0FFZ0FrRUJRYURtQUNBSlFaQUJhaEFQUVFBaEJ3c2dCVUVCYWlJRklBaEhEUUFMSUFoQkJCQVRJZ05GRFFGQkFDRUZBMEFDUUNBS0lBVkJBblJxSWdRdEFBSWlCa0VDVHdSQUlBa2dCallDUkNBSklBVTJBa0FnQWtFQlFjdlpBQ0FKUVVCckVBOUJBQ0VIREFFTElBZ2dCQzBBQXlJRVRRUkFJQWtnQkRZQ2dBRWdBa0VCUVpQWkFDQUpRWUFCYWhBUFFRQWhCd3dCQ3lBRElBUkJBblJxSVFzQ1FDQUdRUUZISWd3TkFDQUxLQUlBUlEwQUlBa2dCRFlDVUNBQ1FRRkJ2TlVBSUFsQjBBQnFFQTlCQUNFSERBRUxBa0FnQmcwQUlBUkZEUUFnQ1NBRU5nSmtJQWtnQlRZQ1lDQUNRUUZCaXRnQUlBbEI0QUJxRUE5QkFDRUhEQUVMQWtBZ0RBMEFJQVFnQlVZTkFDQUpJQVEyQW5nZ0NTQUZOZ0owSUFrZ0JUWUNjQ0FDUVFGQnJ0Z0FJQWxCOEFCcUVBOUJBQ0VIREFFTElBdEJBVFlDQUFzZ0JVRUJhaUlGSUFoSERRQUxRUUFoQlFOQUFrQUNRQ0FESUFWQkFuUWlCR29vQWdCRkJFQWdCQ0FLYWkwQUFnMEJDeUFGUVFGcUlnVWdDRWNOQWlBSFJRMEJJQUVvQWhCQkFVY05CVUVBSVFVRFFDQURJQVZCQW5ScUtBSUFCRUFnQ0NBRlFRRnFJZ1ZIRFFFTUJ3c0xRUUFoQnlBQ1FRSkI3c1VBUVFBUUR5QUlRUkJQQkVBZ0NFSHdBWEVoQjBFQUlRUURRQ0FLSUFSQkFuUnFJZ1pCQVRvQUFpQUdJQVE2QUFNZ0JrRUJPZ0ErSUFaQkFUb0FPaUFHUVFFNkFEWWdCa0VCT2dBeUlBWkJBVG9BTGlBR1FRRTZBQ29nQmtFQk9nQW1JQVpCQVRvQUlpQUdRUUU2QUI0Z0JrRUJPZ0FhSUFaQkFUb0FGaUFHUVFFNkFCSWdCa0VCT2dBT0lBWkJBVG9BQ2lBR1FRRTZBQVlnQmlBRVFRRnlPZ0FISUFZZ0JFRVBjam9BUHlBR0lBUkJEbkk2QURzZ0JpQUVRUTF5T2dBM0lBWWdCRUVNY2pvQU15QUdJQVJCQzNJNkFDOGdCaUFFUVFweU9nQXJJQVlnQkVFSmNqb0FKeUFHSUFSQkNISTZBQ01nQmlBRVFRZHlPZ0FmSUFZZ0JFRUdjam9BR3lBR0lBUkJCWEk2QUJjZ0JpQUVRUVJ5T2dBVElBWWdCRUVEY2pvQUR5QUdJQVJCQW5JNkFBc2dCRUVRYWlJRUlBZEhEUUFMSUFjZ0NFWU5CZ3NEUUNBS0lBZEJBblJxSWdRZ0J6b0FBeUFFUVFFNkFBSWdCMEVCYWlJSElBaEhEUUFMREFVTElBa2dCVFlDTUNBQ1FRRkJ5TklBSUFsQk1Hb1FEMEVBSVFjZ0JVRUJhaUlGSUFoSERRRUxDeUFERUJCQkFDRU9EQVVMSUFoQkJCQVRJZ01OQVF0QkFDRU9JQUpCQVVHSzJ3QkJBQkFQREFNTElBTVFFQXNDUUNBQUtBSjRJZ05GRFFBZ0F5Z0NEQ0lQUlFSQUlBTW9BZ1FRRUNBQUtBSjRLQUlJRUJBZ0FDZ0NlQ2dDQUJBUUlBQW9BbmdpQXlnQ0RDSUVCSDhnQkJBUUlBQW9BbmdGSUFNTEVCQWdBRUVBTmdKNERBRUxJQUVvQWhnaERRSkFBa0FnQXkwQUVpSUtCRUFnQXlnQ0FDRVVJQU1vQWdRaEJpQURLQUlJSVFoQkFDRUZBa0FEUUNBTklBOGdCVUVDZEdvdkFRQkJOR3hxS0FJc0JFQWdDaUFGUVFGcUlnVkhEUUVNQWdzTElBa2dCVFlDSUNBQ1FRRkJ3dWNBSUFsQklHb1FEMEVBSVE0TUJnc2dDa0UwYkJBVUlndEZEUUZCQUNFRkEwQWdEeUFGUVFKMGFpSURMd0VBSVFjZ0N5QURMUUFDQkg4Z0F5MEFBd1VnQlF0Qk5HeHFJZ1FnRFNBSFFUUnNhaUlEL1FBQ0FQMExBZ0FnQkNBREtBSXdOZ0l3SUFRZ0EvMEFBaUQ5Q3dJZ0lBUWdBLzBBQWhEOUN3SVFJQXNnQlVFMGJHb2lCQ0FES0FJSUlBTW9BZ3hzUVFKMEVCZ2lBellDTENBRFJRUkFJQVVFUUNBRlFmLy9BM0VoQUFOQUlBQkJOR3dnQzJwQkNHc29BZ0FRRUNBQVFRRnJJZ0FOQUFzTElBc1FFRUVBSVE0Z0FrRUJRWTduQUVFQUVBOE1Cd3NnQkNBRklBaHFMUUFBTmdJWUlBUWdCU0FHYWkwQUFEWUNJQ0FGUVFGcUlnVWdDa2NOQUFzZ0FDZ0NlQzhCRUNJUVFRRnJJUklEUUNBTElCTkJOR3hxSWdNb0Fnd2dBeWdDQ0d3aEJpQU5JQThnRTBFQ2RHb2lCQzhCQUVFMGJHb29BaXdoQ0FKQUlBUXRBQUpGQkVBZ0JrVU5BU0FES0FJc0lRVkJBQ0VIUVFBaEJBSkFJQVpCQkVrTkFDQUZJQWhyUVJCSkRRQWdCa0Y4Y1NFRVFRQWhBd05BSUFVZ0EwRUNkQ0lNYWlBSUlBeHEvUUFDQVAwTEFnQWdBMEVFYWlJRElBUkhEUUFMSUFRZ0JrWU5BZ3NnQkNFRElBWkJBM0VpREFSQUEwQWdCU0FEUVFKMEloRnFJQWdnRVdvb0FnQTJBZ0FnQTBFQmFpRURJQWRCQVdvaUJ5QU1SdzBBQ3dzZ0JDQUdhMEY4U3cwQkEwQWdCU0FEUVFKMElnUnFJQVFnQ0dvb0FnQTJBZ0FnQlNBRVFRUnFJZ2RxSUFjZ0NHb29BZ0EyQWdBZ0JTQUVRUWhxSWdkcUlBY2dDR29vQWdBMkFnQWdCU0FFUVF4cUlnUnFJQVFnQ0dvb0FnQTJBZ0FnQTBFRWFpSURJQVpIRFFBTERBRUxJQVpGRFFBZ0ZDQUVMUUFESWdOQkFuUnFJUVFnQ3lBRFFUUnNhaWdDTENFRlFRQWhBeUFHUVFGSEJFQWdCa0YrY1NFVlFRQWhEQU5BSUFVZ0EwRUNkQ0lIYWlBRUlBY2dDR29vQWdBaUVTQVNJQkFnRVVvYlFRQWdFVUVBVGhzZ0NteEJBblJxS0FJQU5nSUFJQVVnQjBFRWNpSUhhaUFFSUFjZ0NHb29BZ0FpQnlBU0lBY2dFRWdiUVFBZ0IwRUFUaHNnQ214QkFuUnFLQUlBTmdJQUlBTkJBbW9oQXlBTVFRSnFJZ3dnRlVjTkFBc0xJQVpCQVhGRkRRQWdCU0FEUVFKMElnTnFJQVFnQXlBSWFpZ0NBQ0lESUJJZ0F5QVFTQnRCQUNBRFFRQk9HeUFLYkVFQ2RHb29BZ0EyQWdBTElCTkJBV29pRXlBS1J3MEFDd3dDQ3lBS1FUUnNFQlFpQ3cwQkMwRUFJUTRnQWtFQlFZN25BRUVBRUE4TUF3c2dBU2dDRUNJREJFQkJBQ0VGQTBBZ0RTQUZRVFJzYWlnQ0xDSUVCRUFnQkJBUUN5QUZRUUZxSWdVZ0EwY05BQXNMSUEwUUVDQUJJQW8yQWhBZ0FTQUxOZ0lZQ3lBQUtBSjBJZ1ZGRFFFZ0JTZ0NBQ0VISUFVdkFRUWlDd1JBSUFkQkttb2hFaUFIUVNScUlSTWdCMEVlYWlFUklBZEJHR29oRkNBSFFSSnFJUlVnQjBFTWFpRVdJQWRCQm1vaEZ5QUxRUUpySVJoQkFDRUZRUUVoQkFOQUFrQWdBU2dDRUNJRElBY2dCVUVHYkdvaURTOEJBQ0lHVFFSQUlBa2dBellDRkNBSklBWTJBaEFnQWtFQ1FjdzNJQWxCRUdvUUR3d0JDeUFOTHdFRUlnaEJBV3BCLy84RGNVRUJUUVJBSUFFb0FoZ2dCa0UwYkdvZ0RTOEJBanNCTUF3QkN5QUlRUUZySWdwQi8vOERjU0lQSUFOUEJFQWdDU0FETmdJRUlBa2dEellDQUNBQ1FRSkJvemNnQ1JBUERBRUxBa0FnQmlBUFJnMEFJQTB2QVFJTkFDQUpJQUVvQWhnaUNDQUdRVFJzYWlJREtBSXdOZ0xvQVNBSklBUDlBQUlnL1FzRDJBRWdDU0FEL1FBQ0VQMExBOGdCSUFrZ0EvMEFBZ0Q5Q3dPNEFTQURJQWdnRDBFMGJDSU1haUlJS1FJSU53SUlJQU1nQ0NrQ0VEY0NFQ0FESUFncEFoZzNBaGdnQXlBSUtRSWdOd0lnSUFNZ0NDa0NLRGNDS0NBRElBZ29BakEyQWpBZ0F5QUlLUUlBTndJQUlBRW9BaGdnREdvaUF5QUovUUFEdUFIOUN3SUFJQU1nQ2YwQUE5Z0IvUXNDSUNBRElBbjlBQVBJQWYwTEFoQWdBeUFKS0FMb0FUWUNNQ0FGUVFGcUlBdFBEUUFnQkNFSUlCZ2dCV3RCLy84RGNTSURRUWRQQkVBZ0JDQURRUUZxSWhsQitQOEhjU0lRYWlFSUlBcjlFQ0VrSUFiOUVDRWpRUUFoREFOQUlDTWdKQ0FTSUFRZ0RHcEJCbXdpQTJvaUdpQURJQk5xSWhzZ0F5QVJhaUljSUFNZ0ZHb2lIU0FESUJWcUloNGdBeUFXYWlJZklBTWdGMm9pSUNBRElBZHFJZ1A5Q0FFQS9WVUJBQUg5VlFFQUF2MVZBUUFEL1ZVQkFBVDlWUUVBQmYxVkFRQUcvVlVCQUFjaUlTQWovUzRnSVNBay9TMGlKZjFPL1ZJaElpQWhJQ1A5TFNBbC9WQWlJZjBaQUVFQmNRUkFJQU1nSXYxWkFRQUFDeUFoL1JrQlFRRnhCRUFnSUNBaS9Wa0JBQUVMSUNIOUdRSkJBWEVFUUNBZklDTDlXUUVBQWdzZ0lmMFpBMEVCY1FSQUlCNGdJdjFaQVFBREN5QWgvUmtFUVFGeEJFQWdIU0FpL1ZrQkFBUUxJQ0g5R1FWQkFYRUVRQ0FjSUNMOVdRRUFCUXNnSWYwWkJrRUJjUVJBSUJzZ0l2MVpBUUFHQ3lBaC9Sa0hRUUZ4QkVBZ0dpQWkvVmtCQUFjTElBeEJDR29pRENBUVJ3MEFDeUFRSUJsR0RRRUxBMEFnQ2lFREFrQWdCaUFISUFoQkJteHFJZ3d2QVFBaUVFY0VRQ0FHSVFNZ0R5QVFSdzBCQ3lBTUlBTTdBUUFMSUFzZ0NFRUJhaUlJUWYvL0EzRkhEUUFMQ3lBQktBSVlJQVpCTkd4cUlBMHZBUUk3QVRBTElBUkJBV29oQkNBRlFRRnFJZ1VnQzBjTkFBc2dBQ2dDZENJRktBSUFJUWNMSUFjRWZ5QUhFQkFnQUNnQ2RBVWdCUXNRRUNBQVFRQTJBblFNQVF0QkFDRU9JQUpCQVVHaHhnQkJBQkFQQ3lBSlFmQUJhaVFBSUE0TDZRRUJCbjhqQUVFZ2F5SUVKQUFDZndKQUlBQW9BandpQXdSQVFRRWhCUU5BSUFBb0Frd29BaGdnQUNnQ1FDQUNRUUowYWlnQ0FDSUdRVFJzYWlnQ0xFVUVRQ0FFSUFZMkFoQWdBVUVDUWRvNUlBUkJFR29RRDBFQUlRVWdBQ2dDUENFREN5QUNRUUZxSWdJZ0Ewa05BQXNNQVF0QkFTRUZRUUVnQUNnQ1RDSURLQUlRUlEwQkdnTkFJQU1vQWhnZ0FrRTBiR29vQWl4RkJFQWdCQ0FDTmdJQUlBRkJBa0hhT1NBRUVBOUJBQ0VGSUFBb0Frd2hBd3NnQWtFQmFpSUNJQU1vQWhCSkRRQUxDMEVCSUFVTkFCb2dBVUVCUWI4VlFRQVFEMEVBQ3lFSElBUkJJR29rQUNBSEN3UUFRWDhMaGdjQ0ZuOENmaUFBS0FJWUloQW9BaEJGQkVCQkFROExJQkFvQWhnaERTQUFLQUlVS0FJQUtBSVVJUXNEUUNBQklBMG9BaVFpQWpZQ0pDQUxLQUljSWdZZ0FrR1lBV3hxSVFNQ1FBSkFBbjhnQUNnQ1FDSVJCRUFnQmlBTEtBSVlRWmdCYkdvaUFrR1FBV3NvQWdBZ0FrR1lBV3NvQWdCcklRd2dBMEVNYWlFR0lBTkJCR29oQkNBREtBSUlJUUlnQXlnQ0FDRUZRU1FNQVFzZ0EwR1VBV29oQmlBRFFZd0JhaUVFSUFNb0FwQUJJZ0lnQXlnQ2lBRWlCV3NoREVFMEN5QUxhaWdDQUNJU1JRMEFJQVFvQWdBaEJ5QUdLQUlBSVFrZ0FpQUZheUVHSUFFb0FnZ2lBMEovSUFFMUFpZ2lHSVpDZjRVaUdTQUJOUUlRZkNBWWlLY2lDR29oQkFKL0lBVWdDRXNFUUNBRklBaHJJUTVCQUNFSVFRQWdBaUFFVFEwQkdpQUdJQVFnQldzaUJtc01BUXNnQ0NBRmF5RUlJQUlnQkUwRVFDQUdJQWhySVFaQkFDRU9RUUFNQVF0QkFDRU9JQU1oQmlBQ0lBUnJDeUVWSUFrZ0Iyc2hBaUFCS0FJTUlnUWdHU0FCTlFJVWZDQVlpS2NpQ21vaEJRSi9JQWNnQ2tzRVFDQUhJQXBySVE5QkFDRUtRUUFnQlNBSlR3MEJHaUFDSUFVZ0Iyc2lBbXNNQVFzZ0NpQUhheUVLSUFVZ0NVOEVRQ0FDSUFwcklRSkJBQ0VQUVFBTUFRdEJBQ0VQSUFRaEFpQUpJQVZyQ3lFSFFRQWhCU0FJUVFCSURRRWdDa0VBU0EwQklCVkJBRWdOQVNBSFFRQklEUUVnQmtFQVNBMEJJQUpCQUVnTkFTQURJQTlzSUE1cUlRY2dDaUFNYkNBSWFpRUpBa0FDUUFKQUlBRW9BaXdpQ0EwQUlBa05BQ0FIRFFBZ0F5QU1SdzBBSUFNZ0JrY05BQ0FDSUFSSERRRWdBU0FMUVNSQk5DQVJHMm9pQWlnQ0FEWUNMQ0FDUVFBMkFnQU1Bd3NnQ0EwQkN5QUVSUTBDSUFTdElBT3Rma0lnaUtjTkFpQURJQVJzSWdOQi8vLy8vd05MRFFJZ0FTQURRUUowRUJnaUF6WUNMQ0FEUlEwQ0lBWWdBU2dDQ0NJRVJpQUJLQUlNSWdVZ0FrWnhEUUFnQTBFQUlBUWdCV3hCQW5RUUZSb0xJQUpGRFFBZ0FrRUJjU0VYSUFaQkFuUWhCaUFCS0FJc0lBZEJBblJxSVFRZ0VpQUpRUUowYWlFRklBSkJBVWNFUUNBQ1FmNy8vLzhIY1NFSFFRQWhBZ05BSUFRZ0JTQUdFQkloRmlBRklBeEJBblFpQ1dvaUNDQUphaUVGSUJZZ0FTZ0NDRUVDZEdvZ0NDQUdFQklnQVNnQ0NFRUNkR29oQkNBQ1FRSnFJZ0lnQjBjTkFBc0xJQmRGRFFBZ0JDQUZJQVlRRWhvTElBdEJ6QUJxSVFzZ0RVRTBhaUVOSUFGQk5Hb2hBVUVCSVFVZ0ZFRUJhaUlVSUJBb0FoQkpEUUVMQ3lBRkM5VVNBZ2wvREg0akFFR2dBV3NpQlNRQUFrQWdBa0VqVFFSQVFRQWhBaUFEUVFGQnRpNUJBQkFQREFFTElBSkJKR3NpQWlBQ1FRTnVJZ2xCQTJ4SEJFQkJBQ0VDSUFOQkFVRzJMa0VBRUE4TUFRc2dBQ2dDU0NFR0lBRWdCVUdjQVdvaUFrRUNFQkVnQUNBRktBS2NBVHNCVUNBQlFRSnFJQVpCQ0dwQkJCQVJJQUZCQm1vZ0JrRU1ha0VFRUJFZ0FVRUthaUFHUVFRUUVTQUJRUTVxSUFaQkJHcEJCQkFSSUFGQkVtb2dBRUhjQUdwQkJCQVJJQUZCRm1vZ0FFSGdBR3BCQkJBUklBRkJHbW9nQUVIVUFHcEJCQkFSSUFGQkhtb2dBRUhZQUdwQkJCQVJJQUZCSW1vZ0FrRUNFQkVDUUFKQUFrQWdCU2dDbkFFaUFrR0FnQUZOQkVBZ0JpQUNOZ0lRSUFJZ0NVY0VRQ0FGSUFrMkFvUUJJQVVnQWpZQ2dBRWdBMEVCUVpId0FDQUZRWUFCYWhBUFFRQWhBZ3dGQ3lBR0tBSUVJZ0lnQmlnQ0RDSUlTU0FHS0FJSUlnc2dCaWdDQUNJRVMzRkZCRUFnQlNBSXJTQUNyWDAzQTNnZ0JTQUxyU0FFclgwM0EzQWdBMEVCUWR2c0FDQUZRZkFBYWhBUFFRQWhBZ3dGQ3lBQUtBSmNJZ2RCQUNBQUtBSmdJZ29iUlFSQUlBVWdDallDQkNBRklBYzJBZ0FnQTBFQlFZUHhBQ0FGRUE5QkFDRUNEQVVMQWtBQ1FDQUFLQUpVSWd3Z0JFc05BRUYvSUFjZ0RHb2lCeUFISUF4Skd5QUVUUTBBSUFBb0FsZ2lCeUFDU3cwQVFYOGdCeUFLYWlJS0lBY2dDa3NiSUFKTERRRUxRUUFoQWlBRFFRRkIxaFJCQUJBUERBVUxBa0FnQUNnQzRBRU5BQ0FBS0FMWUFTSUhSUTBBSUFBb0F0d0JJZ3BGRFFBZ0N5QUVheUlFSUFkR0lBZ2dBbXNpQWlBS1JuRU5BQ0FGSUFJMkFtd2dCU0FFTmdKb0lBVWdDallDWkNBRklBYzJBbUFnQTBFQlFjUG9BQ0FGUWVBQWFoQVBRUUFoQWd3RkN5QUdJQWxCTkJBVElnUTJBaGdnQkVVTkFRSkFJQVlvQWhCRkRRQWdBVUVrYWlBRlFaZ0JhaUlDUVFFUUVTQUVJQVVvQXBnQklnbEJCM1lpQ2pZQ0lDQUVJQWxCL3dCeFFRRnFJZ3cyQWhnZ0FDZ0M0QUVoQ3lBQlFTVnFJQUpCQVJBUklBUWdCU2dDbUFFMkFnQWdBVUVtYWlBQ1FRRVFFU0FFSUFVb0FwZ0JJZ2cyQWdSQkFDRUNJQVFvQWdBaUIwR0FBbXRCZ1g1SkJFQkJBQ0VKREFVTFFRQWhDU0FJUVlBQ2EwR0Jma2tOQkNBRUtBSVlJZ2hCSDBzTkF5QUVRUUEyQWlRZ0JDQUFLQUtnQVRZQ0tFRUJJUWtnQmlnQ0VFRUJUUTBBUVFBZ0NpQUxHeUVLUVFBZ0RDQUxHeUVMSUFGQkoyb2hBUU5BSUFFZ0JVR1lBV3BCQVJBUklBUWdCU2dDbUFFaUIwRUhkaUlJTmdKVUlBUWdCMEgvQUhGQkFXb2lCellDVEFKQUlBQW9BdUFCRFFBZ0FDMEF2QUZCQkhFTkFDQUhJQXRHSUFnZ0NrWnhEUUFnQlNBSU5nSlVJQVVnQnpZQ1VDQUZJQWsyQWt3Z0JTQUtOZ0pJSUFVZ0N6WUNSQ0FGSUFrMkFrQWdBMEVDUWNmdUFDQUZRVUJyRUE4TElBRkJBV29nQlVHWUFXb2lDRUVCRUJFZ0JDQUZLQUtZQVRZQ05DQUJRUUpxSUFoQkFSQVJJQVFnQlNnQ21BRWlDRFlDT0NBRUtBSTBJZ2RCZ0FKclFZRitTUTBGSUFoQmdBSnJRWUIrVFEwRklBUW9Ba3dpQ0VFZ1R3MEVJQUZCQTJvaEFTQUVRUUEyQWxnZ0JDQUFLQUtnQVRZQ1hDQUVRVFJxSVFRZ0NVRUJhaUlKSUFZb0FoQkpEUUFMQzBFQUlRSWdBQ2dDWENJSVJRMEVJQUFvQW1BaUMwVU5CQ0FBSUFpdElnMUNBWDBpRHlBR0tBSUlJQUFvQWxRaUIydXRmQ0FOZ0tjaUFUWUNhQ0FBSUF1dElnNUNBWDBpRUNBR0tBSU1JQUFvQWxnaUNtdXRmQ0FPZ0tjaUJEWUNiQUpBQWtBZ0FVVU5BQ0FFUlEwQVFmLy9BeUFFYmlBQlR3MEJDeUFGSUFRMkFoUWdCU0FCTmdJUUlBTkJBVUcxNlFBZ0JVRVFhaEFQREFVTElBRWdCR3doQ1FKQUlBQXRBRVJCQW5FRVFDQUFJQUFvQWh3Z0Iyc2dDRzQyQWh3Z0FDQUFLQUlnSUFwcklBdHVOZ0lnSUFBZ0R5QUFLQUlrSUFkcnJYd2dEWUErQWlRZ0FDQVFJQUFvQWlnZ0NtdXRmQ0FPZ0Q0Q0tBd0JDeUFBSUFRMkFpZ2dBQ0FCTmdJa0lBQkNBRGNDSEFzZ0FDQUpRWXdzRUJNaUFUWUNuQUVnQVVVRVFDQURRUUZCelIxQkFCQVBEQVVMSUFZb0FoQkJ1QWdRRXlFQklBQW9BZ3dnQVRZQzBDc2dBQ2dDRENnQzBDdEZCRUFnQTBFQlFjMGRRUUFRRHd3RkMwRUtRUlFRRXlFQklBQW9BZ3dnQVRZQzhDc2dBQ2dDRENJQktBTHdLMFVFUUNBRFFRRkJ6UjFCQUJBUERBVUxJQUZCQ2pZQytDdEJDa0VVRUJNaEFTQUFLQUlNSUFFMkF2d3JJQUFvQWd3aUFTZ0MvQ3RGQkVBZ0EwRUJRYzBkUVFBUUR3d0ZDeUFCUVFvMkFvUXNBa0FnQmlnQ0VDSUVSUTBBSUFZb0FoZ2hDRUVBSVFFZ0JFRUJSd1JBSUFSQmZuRWhDd05BSUFnZ0FVRTBiR29pQnlnQ0lFVUVRQ0FBS0FJTUtBTFFLeUFCUWJnSWJHcEJBU0FIS0FJWVFRRnJkRFlDdEFnTElBZ2dBVUVCY2lJSFFUUnNhaUlLS0FJZ1JRUkFJQUFvQWd3b0F0QXJJQWRCdUFoc2FrRUJJQW9vQWhoQkFXdDBOZ0swQ0FzZ0FVRUNhaUVCSUFKQkFtb2lBaUFMUncwQUN3c2dCRUVCY1VVTkFDQUlJQUZCTkd4cUlnSW9BaUFOQUNBQUtBSU1LQUxRS3lBQlFiZ0liR3BCQVNBQ0tBSVlRUUZyZERZQ3RBZ0xJQWtFUUNBQUtBS2NBU0VCUVFBaEFnTkFJQUVnQmlnQ0VFRzRDQkFUSWdRMkF0QXJJQVJGQkVCQkFDRUNJQU5CQVVITkhVRUFFQThNQndzZ0FVR01MR29oQVNBQ1FRRnFJZ0lnQ1VrTkFBc0xJQUJCQkRZQ0NDQUdLQUlRSWdNRVFFRi9JQUFvQWxnaUFTQUFLQUpnSWdJZ0FDZ0NiRUVCYTJ4cUlnUWdBbW9pQWlBQ0lBUkpHeUlDSUFZb0Fnd2lCQ0FDSUFSSkc2MGhFRUYvSUFBb0FsUWlBaUFBS0FKY0lnUWdBQ2dDYUVFQmEyeHFJZ0FnQkdvaUJDQUFJQVJMR3lJQUlBWW9BZ2dpQkNBQUlBUkpHNjBoRVNBQklBWW9BZ1FpQUNBQUlBRkpHNjBoRWlBQ0lBWW9BZ0FpQUNBQUlBSkpHNjBoRXlBR0tBSVlJUUJCQUNFQkEwQWdBQ0FBTlFJRUlnMUNBWDBpRkNBU2ZDQU5nQ0lWUGdJVUlBQWdBRFVDQUNJT1FnRjlJaFlnRTN3Z0RvQWlGejRDRUNBQVFuOGdBRFVDS0NJUGhrSi9oU0lZSUJBZ0ZId2dEWUFnRlgxQy8vLy8vdytEZkNBUGlENENEQ0FBSUJFZ0Zud2dEb0FnRjMxQy8vLy8vdytESUJoOElBK0lQZ0lJSUFCQk5Hb2hBQ0FCUVFGcUlnRWdBMGNOQUFzTFFRRWhBZ3dFQ3lBRklBSTJBcEFCSUFOQkFVSDJPeUFGUVpBQmFoQVBRUUFoQWd3REMwRUFJUUlnQmtFQU5nSVFJQU5CQVVITkhVRUFFQThNQWdzZ0JTQUlOZ0kwSUFVZ0NUWUNNQ0FEUVFGQnQvTUFJQVZCTUdvUUR3d0JDeUFGSUFnMkFpZ2dCU0FITmdJa0lBVWdDVFlDSUNBRFFRRkJrZXNBSUFWQklHb1FEd3NnQlVHZ0FXb2tBQ0FDQzU0REFRZC9Jd0JCRUdzaUJpUUFBbjhnQWlBQ1FRRkJBaUFBS0FKSUtBSVFJZ2hCZ1FKSkd5SUhRUUYwUVFWcUlnUnVJZ1VnQkd4R0lBSWdCRTl4UlFSQUlBTkJBVUdLSTBFQUVBOUJBQXdCQ3dKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRUkJBQ0VBSUFRdEFJZ3NJZ0pCQkhFRVFDQUVLQUtrQTBFQmFpRUFDeUFBSUFWcUlnVkJJRThFUUNBR0lBVTJBZ0FnQTBFQlFZczdJQVlRRDBFQURBRUxJQVFnQWtFRWNqb0FpQ3dnQUNBRlNRUkFJQVFnQUVHVUFXeHFRYWdEYWlFQ0EwQWdBU0FDUVFFUUVTQUJRUUZxSWdFZ0FrRUVhaUFIRUJFZ0FTQUhhaUlCSUFKQkNHcEJBaEFSSUFJZ0FpZ0NDQ0lESUFRb0FnZ2lDU0FESUFsSkd6WUNDQ0FCUVFKcUlBSkJER3BCQVJBUklBRkJBMm9pQVNBQ1FSQnFJQWNRRVNBQklBZHFJZ0VnQmtFTWFrRUJFQkVnQWlBR0tBSU1OZ0lrSUFJZ0FpZ0NFQ0lESUFnZ0F5QUlTUnMyQWhBZ0FrR1VBV29oQWlBQlFRRnFJUUVnQUVFQmFpSUFJQVZIRFFBTEN5QUVJQVZCQVdzMkFxUURRUUVMSVFvZ0JrRVFhaVFBSUFvTDdBRUJCSDhqQUVFUWF5SUVKQUFDZndKQUlBRWdCRUVJYWdKL0lBQW9Ba2dvQWhCQmdBSk5CRUFnQWdSQVFYOGhCVUVCREFJTElBTkJBVUcrSTBFQUVBOUJBQXdEQ3lBQ1FRRk5EUUZCZmlFRlFRSUxJZ1lRRVNBRUlBSWdCV28yQWd3Z0JDZ0NDQ0lDSUFBb0FrZ29BaEFpQlU4RVFDQUVJQVUyQWdRZ0JDQUNOZ0lBSUFOQkFVSEdPaUFFRUE5QkFBd0NDeUFBSUFJZ0FTQUdhaUFFUVF4cUlBTVFRa1VFUUNBRFFRRkJ2aU5CQUJBUFFRQU1BZ3RCQVNBRUtBSU1SUTBCR2lBRFFRRkJ2aU5CQUJBUFFRQU1BUXNnQTBFQlFiNGpRUUFRRDBFQUN5RUhJQVJCRUdva0FDQUhDOWtCQVFSL0l3QkJFR3NpQkNRQUlBUWdBallDREFKQUFrQWdBRUVBSUFFZ0JFRU1haUFERUVKRkRRQWdCQ2dDREEwQUFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2hCMEVCSVFVZ0FDZ0NTQ2dDRUVFQ1NRMEJJQWNvQXRBcklnSkJIR29oQmtFQklRRWdBaUVEQTBBZ0F5QUNLQUlZTmdMUUNDQURJQUlvQXFRR05nTGNEaUFEUWRRSWFpQUdRWWdHRUJJYUlBTkJ1QWhxSVFNZ0FVRUJhaUlCSUFBb0FrZ29BaEJKRFFBTERBRUxJQU5CQVVIV0lrRUFFQThMSUFSQkVHb2tBQ0FGQzlZQkFRTi9Jd0JCRUdzaUJDUUFBa0FnQWtFQlFRSWdBQ2dDU0NnQ0VDSUdRWUVDU1JzaUJVRUNha2NFUUVFQUlRQWdBMEVCUVlvZ1FRQVFEd3dCQ3dKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRSWdBU0FFUVF4cUlBVVFFVUVCSVFBZ0FTQUZhaUlGSUFSQkNHcEJBUkFSSUFZZ0JDZ0NEQ0lCVFFSQUlBUWdCallDQkNBRUlBRTJBZ0FnQTBFQlFkanZBQ0FFRUE5QkFDRUFEQUVMSUFWQkFXb2dBaWdDMENzZ0FVRzRDR3hxUWFnR2FrRUJFQkVMSUFSQkVHb2tBQ0FBQzRRQ0FRVi9Jd0JCRUdzaUJDUUFBbjhnQUNnQ0NFRVFSZ1JBSUFBb0Fwd0JJQUFvQXN3QlFZd3NiR29NQVFzZ0FDZ0NEQXNoQmdKQUlBSkJBVUVDSUFBb0FrZ2lCeWdDRUVHQkFra2JJZ1ZOQkVCQkFDRUNJQU5CQVVHa0kwRUFFQThNQVFzZ0JDQUZRWDl6SUFKcU5nSU1JQUVnQkVFSWFpQUZFQkVnQkNnQ0NDSUlJQWNvQWhCUEJFQkJBQ0VDSUFOQkFVR0E2UUJCQUJBUERBRUxRUUVoQWlBQklBVnFJZ0VnQmlnQzBDc2dDRUc0Q0d4cVFRRVFFU0FBSUFRb0FnZ2dBVUVCYWlBRVFReHFJQU1RUTBVRVFFRUFJUUlnQTBFQlFhUWpRUUFRRHd3QkN5QUVLQUlNUlEwQVFRQWhBaUFEUVFGQnBDTkJBQkFQQ3lBRVFSQnFKQUFnQWd1c0JnRUhmeU1BUVJCcklnWWtBQ0FHSUFJMkFnd2dBQ2dDU0NFSkFuOGdBQ2dDQ0VFUVJnUkFJQUFvQXB3QklBQW9Bc3dCUVl3c2JHb01BUXNnQUNnQ0RBc2lCQ0FFTFFDSUxFRUJjam9BaUN3Q1FDQUNRUVJOQkVBZ0EwRUJRYndpUVFBUUR3d0JDeUFCSUFSQkFSQVJJQVFvQWdCQkNFOEVRQ0FEUVFGQm1pSkJBQkFQREFFTElBRkJBV29nQmtFSWFrRUJFQkVnQkNBR0tBSUlJZ0kyQWdRZ0FrRUZUZ1JBSUFOQkFVSHhJVUVBRUE4Z0JFRi9OZ0lFQ3lBQlFRSnFJQVJCQ0dwQkFoQVJJQVFvQWdnaUIwR0FnQVJyUVlDQWZFMEVRQ0FHSUFjMkFnQWdBMEVCUWFrOUlBWVFEd3dCQ3lBRUlBQW9BcVFCSWdJZ0J5QUNHellDRENBQlFRUnFJQVJCRUdwQkFSQVJJQVFvQWhCQkFrOEVRQ0FEUVFGQmh5cEJBQkFQREFFTElBRkJCV29oQWlBR0lBWW9BZ3hCQldzMkFnd0NRQ0FKS0FJUUlnZEZEUUFnQkNnQ0FFRUJjU0VJSUFRb0F0QXJJUVJCQUNFSklBZEJDRThFUUNBSFFYaHhJUUVEUUNBRUlBVkJ1QWhzYWlBSU5nSUFJQVFnQlVFQmNrRzRDR3hxSUFnMkFnQWdCQ0FGUVFKeVFiZ0liR29nQ0RZQ0FDQUVJQVZCQTNKQnVBaHNhaUFJTmdJQUlBUWdCVUVFY2tHNENHeHFJQWcyQWdBZ0JDQUZRUVZ5UWJnSWJHb2dDRFlDQUNBRUlBVkJCbkpCdUFoc2FpQUlOZ0lBSUFRZ0JVRUhja0c0Q0d4cUlBZzJBZ0FnQlVFSWFpRUZJQXBCQ0dvaUNpQUJSdzBBQ3dzZ0IwRUhjU0lCUlEwQUEwQWdCQ0FGUWJnSWJHb2dDRFlDQUNBRlFRRnFJUVVnQ1VFQmFpSUpJQUZIRFFBTEMwRUFJUVVnQUVFQUlBSWdCa0VNYWlBREVFTkZCRUFnQTBFQlFid2lRUUFRRHd3QkN5QUdLQUlNQkVBZ0EwRUJRYndpUVFBUUR3d0JDd0ovSUFBb0FnaEJFRVlFUUNBQUtBS2NBU0FBS0FMTUFVR01MR3hxREFFTElBQW9BZ3dMSVFFZ0FDZ0NTQ2dDRUVFQ1R3UkFJQUVvQXRBcklnRW9BZ1JCQW5RaEJ5QUJRYkFIYWlFS0lBRkJyQVpxSVFOQkFTRUpJQUVoQWdOQUlBSWdBZjBBQWdUOUN3SzhDQ0FDSUFFb0FoUTJBc3dJSUFKQjVBNXFJQU1nQnhBU0dpQUNRZWdQYWlBS0lBY1FFaG9nQWtHNENHb2hBaUFKUVFGcUlna2dBQ2dDU0NnQ0VFa05BQXNMUVFFaEJRc2dCa0VRYWlRQUlBVUw3QWtCQm44akFFSHdBR3NpQkNRQUlBUkJBRFlDYUFKQUlBSkJDRWNFUUNBRFFRRkJ2UjVCQUJBUElBTkJBVUc5SGtFQUVBOE1BUXNnQVNBQVFjd0Jha0VDRUJFZ0FVRUNhaUFFUWV3QWFrRUVFQkVnQVVFR2FpQUVRZVFBYWtFQkVCRWdBVUVIYWlBRVFlZ0Fha0VCRUJFZ0FDZ0N6QUVpQWlBQUtBSm9JZ2dnQUNnQ2JHeFBCRUFnQkNBQ05nSmdJQU5CQVVHZE95QUVRZUFBYWhBUERBRUxJQUFvQXB3QklBSkJqQ3hzYWlFRklBSWdDRzRoQnlBRUtBSmtJUUVDUUNBQUtBSXNJZ1pCQUU0Z0FpQUdSM0VOQUNBRktBTFVLMEVCYWlJR0lBRkdEUUFnQkNBR05nSllJQVFnQVRZQ1ZDQUVJQUkyQWxBZ0EwRUJRYlU3SUFSQjBBQnFFQTlCQUNFRkRBRUxJQVVnQVRZQzFDc0NRQUpBSUFRb0Ftd2lBVUVCYTBFTVRRUi9JQUZCREVjTkFTQUVRUXcyQWpBZ0EwRUNRZVhYQUNBRVFUQnFFQThnQkNnQ2JBVWdBUXRGQkVBZ0EwRUVRYkxQQUVFQUVBOGdBRUVCTmdJNEN3SkFBa0FDUUFKQUlBVW9BdGdySWdFRVFDQUVLQUprSWdZZ0FVa05BU0FFSUFFMkFpUWdCQ0FHTmdJZ0lBTkJBVUdGSnlBRVFTQnFFQThnQUVFQk5nSTRRUUFoQlF3SEN5QUVLQUpvSWdZTkFRd0RDeUFFS0FKb0lnWkZEUUVMSUFRZ0JpQUFMUUJFUVFSMlFRRnhhaUlCTmdKb0lBUW9BbVFpQmlBRktBTFlLeUlKUVFGclN3UkFJQVFnQ1RZQ0JDQUVJQVkyQWdBZ0EwRUJRYUltSUFRUUR5QUFRUUUyQWpoQkFDRUZEQVVMSUFFZ0JrMEVRQ0FFSUFFMkFoUWdCQ0FHTmdJUUlBTkJBVUhwSnlBRVFSQnFFQThnQUVFQk5nSTRRUUFoQlF3RkN5QUZJQUUyQXRnckN5QUJJQVFvQW1SQkFXcEhEUUFnQUNBQUxRQkVRUUZ5T2dCRUN5QUVLQUpzSVFFZ0FFRVFOZ0lJSUFCQkFDQUJRUXhySUFBb0FqZ2JOZ0lZQWtBZ0FDZ0NMQ0lCUVg5R0JFQkJCQ0VGSUFJZ0J5QUliR3NpQVNBQUtBSWNTUTBCSUFFZ0FDZ0NKRThOQVNBSElBQW9BaUJKRFFFZ0J5QUFLQUlvVDBFQ2RDRUZEQUVMSUFBb0Fzd0JJQUZIUVFKMElRVUxJQUFnQUMwQVJFSDdBWEVnQlhJNkFFUkJBU0VGSUFBb0FzZ0JJZ0ZGRFFJZ0FTZ0NLQ0lHSUFBb0Fzd0JJZ0pCS0d4cUlnY2dBallDQUNBSElBUW9BbVFpQ0RZQ0RDQUVLQUpvSWdFRVFDQUhJQUUyQWdRZ0J5QUVLQUpvSWdFMkFnZ2dCeWdDRUNJQ1JRUkFJQUZCR0JBVElRRWdBQ2dDeUFFb0FpZ2dBQ2dDekFGQktHeHFJQUUyQWhBZ0FRMEVRUUFoQlNBRFFRRkJ5VFJCQUJBUERBUUxJQUlnQVVFWWJCQVhJUUVnQUNnQ3lBRW9BaWdnQUNnQ3pBRkJLR3hxSVFJZ0FVVUVRQ0FDS0FJUUVCQkJBQ0VGSUFBb0FzZ0JLQUlvSUFBb0Fzd0JRU2hzYWtFQU5nSVFJQU5CQVVISk5FRUFFQThNQkFzZ0FpQUJOZ0lRREFNTElBY29BaEFpQVVVRVFDQUhRUW8yQWdoQkNrRVlFQk1oQVNBQUtBTElBU2dDS0NJR0lBQW9Bc3dCSWdKQktHeHFJZ2NnQVRZQ0VDQUJSUTBDSUFRb0FtUWhDQXNnQ0NBR0lBSkJLR3hxSWdJb0FnaEpEUUlnQWlBSVFRRnFJZ0kyQWdnZ0FTQUNRUmhzRUJjaEFTQUFLQUxJQVNnQ0tDQUFLQUxNQVVFb2JHb2hBaUFCUlFSQUlBSW9BaEFRRUVFQUlRVWdBQ2dDeUFFb0FpZ2dBQ2dDekFGQktHeHFJZ0JCQURZQ0NDQUFRUUEyQWhBZ0EwRUJRY2swUVFBUUR3d0RDeUFDSUFFMkFoQU1BZ3NnQkNBQk5nSkFJQU5CQVVIeTJRQWdCRUZBYXhBUFFRQWhCUXdCQzBFQUlRVWdCMEVBTmdJSUlBTkJBVUhKTkVFQUVBOExJQVJCOEFCcUpBQWdCUXVyQndFSWZ5TUFRZEFBYXlJRUpBQWdCRUVCTmdKTUFrQUNRQ0FBS0FMSUFTSUZLQUlvSWdNTkFDQUZJQUFvQW13Z0FDZ0NhR3dpQXpZQ0pDQURRU2dRRXlFRElBQW9Bc2dCSWdVZ0F6WUNLQ0FEUlFSQVFRQWhCUXdDQ3lBRktBSWtSUTBBQTBCQkFDRUZJQU1nQmtFb2JDSUhhaUlEUVFBMkFoUWdBMEhrQURZQ0hFSGtBRUVZRUJNaENTQUhJQUFvQXNnQklnZ29BaWdpQTJvZ0NUWUNHQ0FKUlEwQ0lBWkJBV29pQmlBSUtBSWtTUTBBQ3dzZ0FDZ0NMQ0VKQWtBZ0F5Z0NFRVVOQUFKQUlBTWdDVUVvYkdvaUF5Z0NCRVVFUUNBQklBQXBBekJDQW53Z0FoQTJEUUZCQUNFRklBSkJBVUduS1VFQUVBOE1Bd3NnQVNBREtBSVFLUU1BUWdKOElBSVFOZzBBUVFBaEJTQUNRUUZCcHlsQkFCQVBEQUlMSUFBb0FnaEJnQUpIRFFBZ0FFRUlOZ0lJQ3dKQUlBQW9BbXdnQUNnQ2FHd2lCMFVOQUNBQUtBS2NBU0VGUVFBaEF5QUhRUWhQQkVBZ0IwRjRjU0VJUVFBaEJnTkFJQVVnQTBHTUxHeHFRWDgyQXRRcklBVWdBMEVCY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVDY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVEY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVFY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVGY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVHY2tHTUxHeHFRWDgyQXRRcklBVWdBMEVIY2tHTUxHeHFRWDgyQXRRcklBTkJDR29oQXlBR1FRaHFJZ1lnQ0VjTkFBc0xJQWRCQjNFaUJrVU5BQU5BSUFVZ0EwR01MR3hxUVg4MkF0UXJJQU5CQVdvaEF5QUtRUUZxSWdvZ0JrY05BQXNMUVFBaEJTQUFJQVJCeUFCcVFRQWdCRUhFQUdvZ0JFRkFheUFFUVR4cUlBUkJPR29nQkVFMGFpQUVRY3dBYWlBQklBSVFKMFVOQUNBSlFRRnFJUWNEUUFKQUlBUW9Ba3hGRFFBZ0FDQUVLQUpJSWdOQkFFRUFJQUVnQWhBclJRMENJQUFvQW1naENDQUFLQUpzSVFvZ0JDQURRUUZxSWdZMkFpQWdCQ0FJSUFwc05nSWtJQUpCQkVHZzF3QWdCRUVnYWhBUElBQW9BdEFCSUFBb0Frd29BaGdRZEVVTkFpQUFLQUtjQVNBRFFZd3NiR29pQlNnQzNDc2lDQVJBSUFnUUVDQUZRZ0EzQXR3ckN5QUVJQVkyQWhBZ0FrRUVRZWI4QUNBRVFSQnFFQThnQXlBSlJnUkFJQUVnQUNnQ3lBRXBBd2hDQW53Z0FoQTJEUUZCQUNFRklBSkJBVUduS1VFQUVBOE1Bd3NnQkNBSE5nSUVJQVFnQmpZQ0FDQUNRUUpCM2VVQUlBUVFEMEVBSVFVZ0FDQUVRY2dBYWtFQUlBUkJ4QUJxSUFSQlFHc2dCRUU4YWlBRVFUaHFJQVJCTkdvZ0JFSE1BR29nQVNBQ0VDY05BUXdDQ3dzZ0FDQUNFSEloQlFzZ0JFSFFBR29rQUNBRkM4Z0dBZ2QvQVg0akFFSFFBR3NpQXlRQUlBTkJBVFlDVEFKQUFrQWdBQ2dDYUNJRVFRRkhEUUFnQUNnQ2JFRUJSdzBBSUFBb0FsUU5BQ0FBS0FKWURRQWdBQ2dDVENJRktBSUFEUUFnQlNnQ0JBMEFJQVVvQWdnZ0FDZ0NYRWNOQUNBRktBSU1JQUFvQW1CSERRQkJBQ0VFSUFBZ0EwSElBR3BCQUNBRFFjUUFhaUFEUVVCcklBTkJQR29nQTBFNGFpQURRVFJxSUFOQnpBQnFJQUVnQWhBblJRMEJBa0FnQUNBREtBSklRUUJCQUNBQklBSVFLd1JBSUFBb0Frd2lBU2dDRUEwQlFRRWhCQXdEQ3lBQ1FRRkJrY0lBUVFBUUR3d0NDeUFCS0FJWUlRRkJBQ0VDQTBBZ0FTQUNRVFJzSWdScUtBSXNFQkFnQUNnQ1RDSUZLQUlZSWdFZ0JHb2lCaUFBS0FMUUFTSUhLQUlVS0FJQUtBSVVJQUpCekFCc2FpSUlLQUlrTmdJc0lBWWdCeWdDR0NnQ0dDQUVhaWdDSkRZQ0pDQUlRUUEyQWlSQkFTRUVJQUpCQVdvaUFpQUZLQUlRU1EwQUN3d0JDd05BQWtBQ2Z3SkFJQVJCQVVjTkFDQUFLQUpzUVFGSERRQWdBQ2dDbkFFb0F0d3JSUTBBSUFOQkFEWUNTQ0FBUVFBMkFzd0JJQUFnQUNnQ0NFR0FBWEkyQWdoQkFBd0JDMEVBSVFRZ0FDQURRY2dBYWtFQUlBTkJ4QUJxSUFOQlFHc2dBMEU4YWlBRFFUaHFJQU5CTkdvZ0EwSE1BR29nQVNBQ0VDZEZEUU1nQXlnQ1RFVU5BU0FES0FKSUN5SUhRUUZxSVFRZ0FDQUhRUUJCQUNBQklBSVFLeUVKSUFBb0FtZ2dBQ2dDYkd3aEJTQUpSUVJBSUFNZ0JUWUNCQ0FESUFRMkFnQWdBa0VCUVpjNUlBTVFEMEVBSVFRTUF3c2dBeUFGTmdJa0lBTWdCRFlDSUNBQ1FRUkJvTmNBSUFOQklHb1FEeUFBS0FMUUFTQUFLQUpNS0FJWUVIUkZCRUJCQUNFRURBTUxBa0FDUUNBQUtBSm9RUUZIRFFBZ0FDZ0NiRUVCUncwQUlBQW9Ba3dpQlNnQ0FDQUFLQUpJSWdZb0FnQkhEUUVnQlNnQ0JDQUdLQUlFUncwQklBVW9BZ2dnQmlnQ0NFY05BU0FGS0FJTUlBWW9BZ3hIRFFFTElBQW9BcHdCSUFkQmpDeHNhaUlGS0FMY0t5SUdSUTBBSUFZUUVDQUZRZ0EzQXR3ckN5QURJQVEyQWhBZ0FrRUVRZWI4QUNBRFFSQnFFQThnQVNrRENDSUtVQVIrUWdBRklBb2dBU2tET0gwTFVBUkFJQUFvQWdoQndBQkdEUUVMSUFoQkFXb2lDQ0FBS0FKb0lnUWdBQ2dDYkd4SERRRUxDeUFBSUFJUWNpRUVDeUFEUWRBQWFpUUFJQVFMdFFZQkRIOGdBQ2dDU0NFSkFrQWdBQ2dDYUNBQUtBSnNiQ0lNQkVBZ0NTZ0NFQ0lCUWJnSWJDRU5JQUVnQVd4QkFuUWhDaUFBS0FJTUlRUWdBQ2dDbkFFaEF3TkFJQU1vQXRBcklRc2dBeUFFUVl3c0VCSWlBVUVBTmdMb0t5QUJRWDgyQXRRcklBRkJBRFlDc0NnZ0FVRUFOZ0tFTENBQlFRQTJBdkFySUFGQ0FEY0MrQ3NnQVNBTE5nTFFLeUFCSUFFdEFJZ3NRZndCY1RvQWlDd2dCQ2dDNkNzRVFDQUJJQW9RRkNJRE5nTG9LeUFEUlFSQVFRQVBDeUFESUFRb0F1Z3JJQW9RRWhvTElBRWdCQ2dDK0N0QkZHd2lCUkFVSWdNMkF2QXJRUUFoQ0NBRFJRMENJQU1nQkNnQzhDc2dCUkFTR2lBRUtBTDBLeUlHQkVBZ0JDZ0M4Q3NoQXlBQktBTHdLeUVGUVFBaEJ3TkFJQU1vQWd3RVFDQUZJQU1vQWhBUUZDSUdOZ0lNSUFaRkJFQkJBQThMSUFZZ0F5Z0NEQ0FES0FJUUVCSWFJQVFvQXZRcklRWUxJQUVnQVNnQytDdEJBV28yQXZncklBVkJGR29oQlNBRFFSUnFJUU1nQjBFQmFpSUhJQVpKRFFBTEN5QUJJQVFvQW9Rc1FSUnNJZ1VRRkNJRE5nTDhLeUFEUlEwQ0lBTWdCQ2dDL0NzZ0JSQVNHaUFCSUFRb0FvUXNJZ2cyQW9Rc0lBZ0VRQ0FFS0FMOEt5RURJQUVvQXZ3cklRVkJBQ0VIQTBBZ0F5Z0NDQ0lHQkVBZ0JTQUJLQUx3S3lBR0lBUW9BdkFyYTJvMkFnZ0xJQU1vQWd3aUJnUkFJQVVnQVNnQzhDc2dCaUFFS0FMd0sydHFOZ0lNQ3lBRlFSUnFJUVVnQTBFVWFpRURJQWRCQVdvaUJ5QUlSdzBBQ3dzZ0N5QUVLQUxRS3lBTkVCSWFJQUZCakN4cUlRTWdEa0VCYWlJT0lBeEhEUUFMQzBFQklRZ2dBQUovUVFCQkFVSElBQkFUSWdGRkRRQWFJQUVnQVMwQUtFSCtBWEZCQVhJNkFDZ2dBVUVCUVFRUUV5SUVOZ0lVSUFFZ0JBMEFHaUFCRUJCQkFBc2lBVFlDMEFFZ0FVVUVRRUVBRHdzZ0FDZ0MxQUVoQlVFQUlRUWdBU0FBUWRBQWFqWUNIQ0FCSUFrMkFoaEJBVUhRQmhBVElRTWdBU2dDRkNBRE5nSUFBa0FnQTBVTkFDQUpLQUlRUWN3QUVCTWhBeUFCS0FJVUtBSUFJZ2NnQXpZQ0ZDQURSUTBBSUFjZ0NTZ0NFRFlDRUNBQUtBS2tBU0VFSUFFZ0JUWUNMQ0FCSUFRMkFnQkJBU0VFQ3lBRURRQWdBQ2dDMEFFUVZVRUFJUWdnQUVFQU5nTFFBU0FDUVFGQndodEJBQkFQQ3lBSUM5VVNBd3gvQVgwQmZpTUFRVEJySWdna0FDQUFRUUUyQWdnQ2Z3SkFBa0FnQVNBSVFTaHFJZ1ZCQWlBQ0VCcEJBa2NOQUNBRklBaEJMR3BCQWhBUklBZ29BaXhCei80RFJ3MEFJQUJCQWpZQ0NDQUFLQUxJQVNBQktRTTRRZ0o5SWhBM0F3QWdDQ0FRTndNUUlBSkJCRUh1M2dBZ0NFRVFhaEFQSUFBb0FzZ0JJZ01wQXdBaEVDQURLQUlZSWdkQkFXb2lCU0FES0FJZ0lnUk5CRUFnQXlnQ0hDRUVEQUlMSUFNQ2Z5QUVzME1BQU1oQ2tpSVBRd0FBZ0U5ZElBOURBQUFBQUdCeEJFQWdENmtNQVF0QkFBc2lCVFlDSUNBREtBSWNJQVZCR0d3UUZ5SUVCRUFnQXlBRU5nSWNJQU1vQWhnaUIwRUJhaUVGREFJTElBTW9BaHdRRUNBRFFRQTJBaUFnQTBJQU53TVlJQUpCQVVHcEhVRUFFQThMSUFKQkFVRzE5UUJCQUJBUFFRQU1BUXNnQkNBSFFSaHNhaUlFUVFJMkFoQWdCQ0FReERjRENDQUVRYy8rQXpzQkFDQURJQVUyQWhnZ0FTQUFLQUlRUVFJZ0FoQWFRUUpIQkVBZ0FrRUJRWllTUVFBUUQwRUFEQUVMSUFBb0FoQWdDRUVvYWtFQ0VCRUNRQUpBSUFnb0FpZ2lCRUdRL3dOSEJFQURRRUhndlFFaEJ5QUVRZi85QTAwRVFDQUlJQVEyQWdBZ0FrRUJRY29RSUFnUUQwRUFEQVVMQTBBZ0J5SUZLQUlBSWdNRVFDQUZRUXhxSVFjZ0F5QUVSdzBCQ3dzQ1FBSkFJQU1OQUVFQ0lRWWdBa0VDUWZVY1FRQVFEMEdXRWlFSEFrQUNRQ0FCSUFBb0FoQkJBaUFDRUJwQkFrY05BQU5BSUFBb0FoQWdDRUVzYWtFQ0VCRkI0TDBCSVFNZ0NDZ0NMQ0lFUVlEK0EwOEVRQU5BSUFNaUJTZ0NBQ0lNQkVBZ0EwRU1haUVESUFRZ0RFY05BUXNMSUFVb0FnUWdBQ2dDQ0hGRkJFQkIvQ2doQnd3REN5QU1CRUFnREVHUS93TkdCRUFnQ0VHUS93TTJBaWdNQndzZ0FTa0RPQ0VRSUFBb0FzZ0JJZ01vQWhnaUJVRUJhaUlFSUFNb0FpQWlCMDBFUUNBREtBSWNJUWNNQlFzZ0F3Si9JQWV6UXdBQXlFS1NJZzlEQUFDQVQxMGdEME1BQUFBQVlIRUVRQ0FQcVF3QkMwRUFDeUlGTmdJZ0lBTW9BaHdnQlVFWWJCQVhJZ2NFUUNBRElBYzJBaHdnQXlnQ0dDSUZRUUZxSVFRTUJRc2dBeWdDSEJBUUlBTkJBRFlDSUNBRFFnQTNBeGhCcVIwaEJ3d0RDeUFHUVFKcUlRWUxJQUVnQUNnQ0VFRUNJQUlRR2tFQ1JnMEFDd3NnQWtFQklBZEJBQkFQSUFKQkFVSDl5QUJCQUJBUFFRQU1Cd3NnQnlBRlFSaHNhaUlGSUFZMkFoQWdCU0FRcHlBR2E2dzNBd2dnQlVFQU93RUFJQU1nQkRZQ0dDQUlJQXcyQWloQjRMMEJJUVFEUUNBRUlnVW9BZ0FpQTBVTkFTQUVRUXhxSVFRZ0F5QU1SdzBBQ3dzZ0JTZ0NCQ0FBS0FJSWNVVUVRQ0FDUVFGQi9DaEJBQkFQUVFBTUJnc2dBU0FBS0FJUVFRSWdBaEFhUVFKSEJFQWdBa0VCUVpZU1FRQVFEMEVBREFZTElBQW9BaEFnQ0VFa2FrRUNFQkVnQ0NnQ0pDSUVRUUZOQkVBZ0FrRUJRYUV1UVFBUUQwRUFEQVlMSUFnZ0JFRUNheUlITmdJa0lBQW9BaEFoQkNBQUtBSVVJQWRKQkVBZ0JDQUhFQmNpQkVVRVFDQUFLQUlRRUJBZ0FFSUFOd01RSUFKQkFVSFVKVUVBRUE5QkFBd0hDeUFBSUFRMkFoQWdBQ0FJS0FJa0lnYzJBaFFMSUFFZ0JDQUhJQUlRR2lJRUlBZ29BaVJIQkVBZ0FrRUJRWllTUVFBUUQwRUFEQVlMSUFBZ0FDZ0NFQ0FFSUFJZ0JTZ0NDQkVCQUVVRVFDQUNRUUZCcUJKQkFCQVBRUUFNQmdzZ0FTa0RPQ0VRSUFnb0FpUWhEQUpBSUFBb0FzZ0JJZ1VvQWhnaUJrRUJhaUlISUFVb0FpQWlCRTBFUUNBRktBSWNJUVFNQVFzZ0JRSi9JQVN6UXdBQXlFS1NJZzlEQUFDQVQxMGdEME1BQUFBQVlIRUVRQ0FQcVF3QkMwRUFDeUlFTmdJZ0lBVW9BaHdnQkVFWWJCQVhJZ1JGRFFVZ0JTQUVOZ0ljSUFVb0FoZ2lCa0VCYWlFSEN5QUVJQVpCR0d4cUlnUWdERUVFYWpZQ0VDQUVJQkNuSUF4clFRUnJyRGNEQ0NBRUlBTTdBUUFnQlNBSE5nSVlJQUVnQUNnQ0VFRUNJQUlRR2tFQ1J3UkFJQUpCQVVHV0VrRUFFQTlCQUF3R0MwRUJJQW9nQTBIYy9nTkdHeUVLUVFFZ0N5QURRZEwrQTBZYklRdEJBU0FOSUFOQjBmNERSaHNoRFNBQUtBSVFJQWhCS0dwQkFoQVJJQWdvQWlnaUJFR1Evd05IRFFFTEN5QU5EUUVMSUFKQkFVR1lKRUVBRUE5QkFBd0NDeUFMUlFSQUlBSkJBVUhHSkVFQUVBOUJBQXdDQ3lBS1JRUkFJQUpCQVVIMEpFRUFFQTlCQUF3Q0MwRUFJUU5CQUNFTkl3QkJFR3NpQkNRQVFRRWhCd0pBSUFBdEFMd0JRUUZ4UlEwQUFrQWdBQ2dDY0NJTFJRMEFBa0FEUUNBQUtBSjBJQTFCQTNScUlnVW9BZ0FpQ2dSQUlBTWdCU2dDQkNJR2F5SUZRUUFnQXlBRlR4c2hCU0FESUFaSkJFQWdCaUFEYXlFTElBTWdDbW9oQ2dOQUlBdEJCRWtFUUVHT0t5RUREQVVMSUFvZ0JFRU1ha0VFRUJFZ0JDZ0NEQ0lEUVg5eklBbEpCRUJCOUNvaEF3d0ZDeUFESUF0QkJHc2lCbXNnQlNBRElBWkxJZ3diSVFVZ0F5QUphaUVKSUFZZ0Eyc2hDeUFLUVFBZ0F5QU1HMnBCQkdvaENpQURJQVpKRFFBTElBQW9BbkFoQ3dzZ0JTRURDeUFOUVFGcUlnMGdDMGtOQUFzZ0EwVU5BVUVBSVFjZ0FrRUJRZWtXUVFBUUR3d0NDMEVBSVFjZ0FrRUJJQU5CQUJBUERBRUxJQUFnQ1JBVUlnTTJBb2dCSUFORkJFQkJBQ0VISUFKQkFVRytJRUVBRUE4TUFRc2dBQ0FKTmdKOElBQW9BblFoQmdKQUlBQW9BbkFpQ2dSQVFRQWhDVUVBSVFOQkFDRUZBMEFnQmlBRlFRTjBJZzFxSWd3b0FnQWlDd1JBSUFBb0FvZ0JJQU5xSVFvQ2Z5QU1LQUlFSWdZZ0NVMEVRQ0FLSUFzZ0JoQVNHaUFESUFacUlRTWdDU0FHYXd3QkN5QUtJQXNnQ1JBU0dpQURJQWxxSVFNZ0JpQUpheUlHQkVBZ0NTQUxhaUVKQTBBZ0JrRUVTUTBHSUFrZ0JFRUlha0VFRUJFZ0NVRUVhaUVKSUFBb0FvZ0JJQU5xSVFvZ0JrRUVheUlHSUFRb0FnZ2lDMGtFUUNBS0lBa2dCaEFTR2lBRElBWnFJUU1nQkNnQ0NDQUdhd3dEQ3lBS0lBa2dDeEFTR2lBRUtBSUlJZ29nQTJvaEF5QUpJQXBxSVFrZ0JpQUtheUlHRFFBTEMwRUFDeUVKSUFBb0FuUWdEV29vQWdBUUVDQUFLQUowSWdZZ0RXcENBRGNDQUNBQUtBSndJUW9MSUFWQkFXb2lCU0FLU1EwQUN5QUFLQUo4SVFrZ0FDZ0NpQUVoQXdzZ0FDQUpOZ0tRQVNBQUlBTTJBbmdnQUVFQU5nSndJQVlRRUNBQVFRQTJBblFNQVF0QkFDRUhJQUpCQVVHT0swRUFFQThMSUFSQkVHb2tBQ0FIUlFSQUlBSkJBVUdQUFVFQUVBOUJBQXdDQ3lBQ1FRUkI5OVlBUVFBUUR5QUFLQUxJQVNBQktRTTRRdjcvLy84UGZFTC8vLy8vRDRNM0F3Z2dBRUVJTmdJSVFRRU1BUXNnQlNnQ0hCQVFJQVZCQURZQ0lDQUZRZ0EzQXhnZ0FrRUJRYWtkUVFBUUQwRUFDeUVPSUFoQk1Hb2tBQ0FPQ3h3QUlBQW9BZ2hGSUFBb0FzQUJRUUJISUFBb0FzUUJRUUJIY1hFTEJBQkJBQXNQQUNBQUJFQWdBQ0FCTmdLNEFRc0xqd0VCQkg4Z0FDZ0NHQ0lCQkVBZ0FDZ0NIQ0lEUVRSdUlRUWdBMEUwVHdSL1FRQWhBd05BSUFFb0FnQWlBZ1JBSUFKQkFXc1FFQ0FCUVFBMkFnQUxJQUVvQWdRaUFnUkFJQUlRRUNBQlFRQTJBZ1FMSUFFb0FnZ2lBZ1JBSUFJUUVDQUJRUUEyQWdnTElBRkJOR29oQVNBRFFRRnFJZ01nQkVjTkFBc2dBQ2dDR0FVZ0FRc1FFQ0FBUVFBMkFoZ0xDNFlCQVFSL0lBQW9BaGdpQVFSQUlBQW9BaHdpQWtIQUFFOEVmeUFDUVFaMklRUkJBQ0VDQTBBZ0FTZ0NBQ0lEQkVBZ0F4QVFJQUZCQURZQ0FBc2dBU2dDQkNJREJFQWdBeEFRSUFGQkFEWUNCQXNnQVNnQ1BCQVFJQUZCQURZQ1BDQUJRVUJySVFFZ0FrRUJhaUlDSUFSSERRQUxJQUFvQWhnRklBRUxFQkFnQUVFQU5nSVlDd3MvQVFGL0lBQUVRQ0FBS0FKMElnRUVRQ0FCRUJBZ0FFRUFOZ0owQ3lBQUtBSjRJZ0VFUUNBQkVCQWdBRUVBTmdKNEN5QUFLQUtVQVJBUUlBQVFFQXNMd2FZRkJGeC9BbnNHZmdGOUl3QkI0QUJySWlNa0FDQUFLQUlJSVJvQ1FBSkFBa0FDUUNBQUtBSUFSUVJBSUJvZ0dpZ0NFQ0FhS0FJSWF5QWFLQUlVSUJvb0FneHJiRUVDZENJR0VCZ2lBellDUENBRFJRUkFJQUFvQWlRYUlBQW9BaUJCQVVIUlBFRUFFQThnQUNnQ0pCb2dBRUVjYWlFUURBTUxJQU5CQUNBR0VCVWFEQUVMSUJvb0Fqd2lBMFVOQUNBREVCQWdHa0VBTmdJOEN5QUFLQUlRSWpJb0Fod2dNaWdDR0VHWUFXeHFJZ05CbUFGcktBSUFJVFVnQTBHUUFXc29BZ0FoTmlBQUtBSVVJUzhnQUNnQ0RDRXdJQUFvQWdRaE55QUFLQUljS0FJQVJRMENJQUJCSEdvaEVBSkFBbjlCQUNBQktBSUVJZ05CQUV3TkFCb2dBU2dDQUNFR0FrQURRQ0FHSUFkQkRHeHFJZ1FvQWdCRkRRRWdCMEVCYWlJSElBTkhEUUFMUVFBTUFRc2dCQ2dDQkFzaUJBMEFRUUZCbkFFUUV5SUVSUVJBSUFBb0FpQkJBVUdRTUVFQUVBOE1BZ3NnQkVFQU5nS01BU0FCS0FJRUlnTkIvLy8vL3dkSEJIOENmeUFCS0FJQUlRWWdBMEVBU2dSQUEwQWdCaUFKUVF4c2FpSUhLQUlBUlFSQUlBY29BZ2dpQXdSL0lBY29BZ1FnQXhFQ0FDQUJLQUlBQlNBR0N5QUpRUXhzYWlJQlFRODJBZ2dnQVNBRU5nSUVRUUVNQXdzZ0NVRUJhaUlKSUFOSERRQUxDMEVBSUFZZ0EwRU1iRUVNYWhBWElnTkZEUUFhSUFFZ0F6WUNBQ0FESUFFb0FnUWlCa0VNYkdvaUEwRVBOZ0lJSUFNZ0JEWUNCQ0FEUVFBMkFnQWdBU0FHUVFGcU5nSUVRUUVMQlVFQUN3MEFJQUFvQWlCQkFVR01QMEVBRUE4Z0JDZ0NkQ0lCQkVBZ0FSQVFJQVJCQURZQ2RBc2dCQ2dDZUNJQkJFQWdBUkFRSUFSQkFEWUNlQXNnQkNnQ2xBRVFFQ0FFRUJBTUFRc2dCQ0FBS0FJWU5nS1FBU0FBS0FJb0lTc2dBQ2dDSkNFaElBQW9BaUFoSFNBdktBS29CaUVSSURBb0FoQWhBUUpBQWtBZ0x5Z0NFQ0lXUWNBQWNRUkFJQlloQ2lNQVFiQUNheUlQSkFBQ1FDQVJCRUFnSVFSQVFRQWhCeUFkUVFGQmdSaEJBQkFQREFJTFFRQWhCeUFkUVFGQmdSaEJBQkFQREFFTElBUW9BblFoQndKQUFrQWdHaWdDRkNBYUtBSU1heUlESUJvb0FoQWdHaWdDQ0dzaUJtd2lBU0FFS0FLRUFVc0VRQ0FIRUJBZ0JDQUJRUUowSWhFUUdDSUhOZ0owSUFkRkJFQkJBQ0VIREFRTElBUWdBVFlDaEFFTUFRc2dCMFVOQVNBQlFRSjBJUkVMSUFkQkFDQVJFQlVhQ3lBRUtBSjRJUWNDUUNBRUtBS0lBVUhQRkVzTkFDQUhFQkFnQkVIQTBnQVFHQ0lITmdKNElBY05BRUVBSVFjTUFRc2dCRUhRRkRZQ2lBRWdCMEVBUWNEU0FCQVZHaUFFSUFNMkFvQUJJQVFnQmpZQ2ZDQWFLQUlZSWdKRkJFQkJBU0VIREFFTElCb29BaHdoRFVFQklRY0NRQUpBQWtBQ1FBSkFJQm9vQWpRaUF3UkFJQm9vQWdRaENVRUFJUWRCQUNFQkFrQWdBMEVFVHdSQUlBTkJmSEVoQVFOQUlBa2dDRUVEZEdvaUJrRWNhaUFHUVJScUlBWkJER29nQnYwSkFnVDlWZ0lBQWYxV0FnQUMvVllDQUFNZ1h2MnVBU0ZlSUFoQkJHb2lDQ0FCUncwQUN5QmVJRjRnWHYwTkNBa0tDd3dORGc4QUFRSURBQUVDQS8ydUFTSmVJRjRnWHYwTkJBVUdCd0FCQWdNQUFRSURBQUVDQS8ydUFmMGJBQ0VISUFFZ0EwWU5BUXNEUUNBSklBRkJBM1JxS0FJRUlBZHFJUWNnQVVFQmFpSUJJQU5IRFFBTEN5QURRUUZHQkVBZ0JDZ0NrQUZGRFFVTElBY2dCQ2dDbUFGTkRRRWdCQ2dDbEFFZ0J4QVhJaEVOQWtFQUlRY01CZ3NnQkNnQ2tBRkZEUVVMSUFRb0FwUUJJaEVOQVVFQUlRY01CQXNnQkNBSE5nS1lBU0FFSUJFMkFwUUJDeUFhS0FJMFJRUkFRUUFoQnd3Q0N5QWFLQUlFSVFoQkFDRUhRUUFoQVFOQUlBY2dFV29nQ0NBQlFRTjBJZ05xSWdZb0FnQWdCaWdDQkJBU0dpQWFLQUlFSWdnZ0Eyb29BZ1FnQjJvaEJ5QUJRUUZxSWdFZ0dpZ0NORWtOQUFzTUFRc2dHaWdDQkNnQ0FDRVJDMEVBSVFGQkFDRUlBbjlCQUNBYUtBSW9JZ05GRFFBYUlCb29BZ0FpQmlnQ0NDRUlRUUFnQTBFQlJnMEFHaUFHS0FJZ0N5RURJQUlnRFdzaFJRSkFJQU1nQ0dvaUNFVUVRRUVBSVFrTUFRdEJBU0VCSUJvb0FnQWlBeWdDQUNFRlFRQWhDU0FJUVFGR0JFQkJBQ0VCREFFTElBTW9BaGdoQ1FzZ1JVRUJhaUVXSUFRb0FuUWhEaUFFS0FKNElSUWdHaWdDRENFU0lCb29BaFFoR0NBYUtBSUlJU1FnR2lnQ0VDRXJBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZGRFFBZ0NRMEFJQ0ZGRFFFZ0hVRUNRYUhRQUVFQUVBOUJBU0VJREFJTElBaEJCRWtOQVNBaEJFQWdEeUFJTmdKd0lCMUJBVUg4eGdBZ0QwSHdBR29RRHd3SUN5QVBJQWcyQW1BZ0hVRUJRZnpHQUNBUFFlQUFhaEFQUVFBaEJ3d0lDeUFkUVFKQm9kQUFRUUFRRHlBYUtBSVlJZ0ZCSGtzTkFVRUJJUXdnQVNBV1R3MEREQVVMSUJvb0FoZ2lBVUVlVFEwQklDRkZEUUFnRHlBQk5nSWdJQjFCQVVHYjJ3QWdEMEVnYWhBUERBVUxJQThnQVRZQ0FDQWRRUUZCbTlzQUlBOFFEMEVBSVFjTUJRc2dBU0FXU1EwQklBaEJBa2tFUUNBSUlRd01BUXNnQVNBV1J3UkFJQWdoREF3QkMwRUJJUXhCa01jQkxRQUFEUUFnSVVVRVFFR1F4d0ZCQVRvQUFDQVBJQWcyQWtBZ0hVRUNRYWJNQUNBUFFVQnJFQThNQVF0QmtNY0JMUUFBUlFSQVFaREhBVUVCT2dBQUlBOGdDRFlDVUNBZFFRSkJwc3dBSUE5QjBBQnFFQThMQ3dKQUFrQWdCVUVDU1EwQUlBVWdCMHNOQUNBRklBbHFJQWRORFFFTElDRUVRRUVBSVFjZ0hVRUJRY0xHQUVFQUVBOE1CUXRCQUNFSElCMUJBVUhDeGdCQkFCQVBEQVFMQWtBQ1FDQUZJQkZxSWhOQkFXc3RBQUJCQkhRZ0UwRUNheTBBQUVFUGNYSWlCa0VDU1EwQUlBVWdCa2dOQUNBR1FmQWZTUTBCQ3lBaEJFQkJBQ0VISUIxQkFVSFc4Z0JCQUJBUERBVUxRUUFoQnlBZFFRRkIxdklBUVFBUUR3d0VDeUFhS0FJY0lTWWdEMEVBTmdLUUFpQVBRUUEyQXBnQ0lBOUNBRGNEaUFJZ0QwSUFOd09vQWlBUFFnQTNBcHdDSUE4Z0JrRUJheUlITmdLVUFpQVBJQVVnRVdvZ0Jtc2lBVFlDZ0FKQy93RWhZQ0FHUVFKUEJFQWdBVEVBQUNGZ0MwRUlJUU1nRDBFSU5nS1FBaUFQSUFaQkFtc2lDRFlDbEFJZ0R5QmdRZytFSUdBZ0IwRUJSaHNpWURjRGlBSWdEeUFCSUFaQkFVcHFJZ2MyQW9BQ0lBOGdZRUwvQVZFaURUWUNtQUlDZndKQUlBRkJBM0VpQWtFRFJnMEFRdjhCSVdFZ0RRUkFRUUFnQnkwQUFFR1BBVXNOQWhvTElBWkJBMDRFUUNBSE1RQUFJV0VMSUE4Z0JrRURheUlOTmdLVUFpQVBRUTlCRUNCZ1F2OEJVU0lMR3lJRE5nS1FBaUFQSUFjZ0JrRUNTbW9pQVRZQ2dBSWdEeUJoUWcrRUlHRWdDRUVCUmhzaVlVTC9BVkUyQXBnQ0lBOGdZRUlIUWdnZ0N4dUdJR0dFSW1BM0E0Z0NJQUpCQWtZTkFDQmhRdjhCVVFSQVFRQWdBUzBBQUVHUEFVc05BaG9MUXY4QklXSWdCa0VFVGdSQUlBRXhBQUFoWWdzZ0R5QUdRUVJySWdjMkFwUUNJQThnQVNBR1FRTkthaUlCTmdLQUFpQVBJR0pDRDRRZ1lpQU5RUUZHR3lKaVF2OEJVVFlDbUFJZ0R5QURRUWRCQ0NCaFF2OEJVU0lJRzJvaUF6WUNrQUlnRHlCZ1FnZENDQ0FJRzRZZ1lvUWlZRGNEaUFJZ0FrRUJSZzBBUXY4QklXRWdZa0wvQVZFRVFFRUFJQUV0QUFCQmp3RkxEUUlhQ3lBR1FRVk9CRUFnQVRFQUFDRmhDeUFQSUFaQkJXczJBcFFDSUE4Z0FTQUdRUVJLYWpZQ2dBSWdEeUJoUWcrRUlHRWdCMEVCUmhzaVlVTC9BVkUyQXBnQ0lBOGdBMEVIUVFnZ1lrTC9BVkVpQVJ0cUlnTTJBcEFDSUE4Z1lFSUhRZ2dnQVJ1R0lHR0VJbUEzQTRnQ0N5QVBJR0JCd0FBZ0EydXRoamNEaUFKQkFRdEZCRUFnSVFSQVFRQWhCeUFkUVFGQmc5VUFRUUFRRHd3RkMwRUFJUWNnSFVFQlFZUFZBRUVBRUE4TUJBc2dLeUFrYXlFVklBOGdCa0VDYXlJTE5nTDBBU0FQSUFVZ0VXb2lBa0VEYXlJRE5nTGdBU0FQSUFKQkFtc3RBQUFpR1VHUEFVc2lEVFlDK0FFZ0R5QVpRUVIyclNKZ053UG9BU0FQUVFOQkJDQmdRZ2VEUWdkUkd5SUJOZ0x3QVNBRFFRTnhRUUZxSWdjZ0N5QUhJQXRJR3lFSUFrQUNRQ0FHUVFKTUJFQWdEeUFMSUFocklnSTJBdlFCREFFTElBOGdBa0VFYXlJSE5nTGdBU0FQSUFNdEFBQWlGMEdQQVVzaURUWUMrQUVnRHlBWHJTSmhJQUd0aGlCZ2hDSmdOd1BvQVNBUFFRaEJCMEVJSUdGQy93Q0RRdjhBVVJzZ0dVR1BBVTBiSUFGcUlnRTJBdkFCQWtBZ0NFRUJSZ1JBSUFjaEF3d0JDeUFQSUFKQkJXc2lBellDNEFFZ0R5QUhMUUFBSWhsQmp3RkxJZzAyQXZnQklBOGdHYTBpWVNBQnJZWWdZSVFpWURjRDZBRWdEMEVJUVFkQkNDQmhRdjhBZzBML0FGRWJJQmRCandGTkd5QUJhaUlCTmdMd0FTQUlRUUpHRFFBZ0R5QUNRUVpySWdjMkF1QUJJQThnQXkwQUFDSVhRWThCU3lJTk5nTDRBU0FQSUJldEltRWdBYTJHSUdDRUltQTNBK2dCSUE5QkNFRUhRUWdnWVVML0FJTkMvd0JSR3lBWlFZOEJUUnNnQVdvaUFUWUM4QUVnQ0VFRFJnUkFJQWNoQXd3QkN5QVBJQUpCQjJzaUF6WUM0QUVnRHlBSE1RQUFJbUZDandGV0lnMDJBdmdCSUE4Z1lTQUJyWVlnWUlRaVlEY0Q2QUVnRDBFSVFRZEJDQ0JoUXY4QWcwTC9BRkViSUJkQmp3Rk5HeUFCYWlJQk5nTHdBUXNnRHlBTElBaHJJZ0kyQXZRQklBRkJJRXNOQVFzQ1FDQUNRUVJPQkVBZ0EwRURheWdDQUNFSElBOGdBa0VFYXpZQzlBRWdEeUFEUVFSck5nTGdBUXdCQ3lBQ1FRQk1CRUJCQUNFSERBRUxJQUpCQVhFaFJ3SkFJQUpCQVVZRVFFRVlJUWhCQUNFSERBRUxJQUpCL3YvLy93ZHhJUmRCR0NFSVFRQWhCMEVBSVFzRFFDQVBJQU5CQVdzaUh6WUM0QUVnQXkwQUFDRkdJQThnQTBFQ2F5SUROZ0xnQVNBUElBSkJBV3MyQXZRQklCOHRBQUFoSHlBUElBSkJBbXNpQWpZQzlBRWdSaUFJZENBSGNpQWZJQWhCQ0d0MGNpRUhJQWhCRUdzaENDQUxRUUpxSWdzZ0YwY05BQXNMSUVkRkRRQWdEeUFEUVFGck5nTGdBU0FETFFBQUlVZ2dEeUFDUVFGck5nTDBBU0JJSUFoMElBZHlJUWNMSUE4Z0IwSC9BWEVpQTBHUEFVczJBdmdCSUE5QkIwRUlJQWRCZ0lDQStBZHhRWUNBZ1BnSFJodEJDQ0FOR3lJQ1FRaEJCMEVJSUFkQmdJRDhBM0ZCZ0lEOEEwWWJJQWRCLy8vLy8zaE5HMm9pQ0VFSVFRZEJDQ0FIUVlEK0FYRkJnUDRCUmhzZ0IwRVFka0gvQVhFaURVR1BBVTBiYWlJTFFRaEJCMEVJSUFkQi93QnhRZjhBUmhzZ0IwRUlka0gvQVhFaUdVR1BBVTBiSUFGcWFqWUM4QUVnRHlBTklBSjBJQWRCR0haeUlCa2dDSFJ5SUFNZ0MzUnlyU0FCcllZZ1lJUTNBK2dCQ3lBUFFjQUJhaUFSSUFVZ0JtdEIvd0VRV3dKL1FRQWdERUVDU1EwQUdpQVBRYUFCYWlBVElBbEJBQkJiUVFBZ0RFRUNSZzBBR2tJQUlXQkNBQ0ZpSUE5QkFUWUNtQUVnRDBFQU5nS1FBU0FQUWdBM0E0Z0JJQThnQ1VFQmF5SUdOZ0tVQVNBUElBVWdFV29nQ1dvaUEwRUJheUlCTmdLQUFTQUJRUU54SVFVQ1FDQUpRUUJNQkVBZ0FTRUREQUVMSUE4Z0EwRUNheUlETmdLQUFTQUJNUUFBSVdBTElBOGdZRGNEaUFFZ0R5QmdRbzhCVmlJUk5nS1lBU0FQUVFkQkNDQmdRdjhBZzBML0FGRWJJZzAyQXBBQkFrQWdCVVVOQUNBUElBbEJBbXNpQWpZQ2xBRUNRQ0FKUVFKSUJFQWdBeUVIREFFTElBOGdBMEVCYXlJSE5nS0FBU0FETVFBQUlXSUxJQThnWWtLUEFWWWlFVFlDbUFFZ0R5QmlJQTJ0aGlCZ2hDSmhOd09JQVNBUFFRaEJCMEVJSUdKQy93Q0RRdjhBVVJzZ1lFS1BBVmdiSUExcUlnMDJBcEFCSUFWQkFVWUVRQ0FISVFNZ1lTRmdJQVloQ1NBQ0lRWU1BUXNnRHlBSlFRTnJJZ2cyQXBRQkFrQWdDVUVEU0FSQUlBY2hBUXdCQ3lBUElBZEJBV3NpQVRZQ2dBRWdCekVBQUNGakN5QVBJR05DandGV0loRTJBcGdCSUE4Z1l5QU5yWVlnWVlRaVlEY0RpQUVnRDBFSVFRZEJDQ0JqUXY4QWcwTC9BRkViSUdKQ2p3RllHeUFOYWlJTk5nS1FBU0FGUVFKR0JFQWdBU0VESUFJaENTQUlJUVlNQVFzZ0R5QUpRUVJySWdZMkFwUUJRZ0FoWWdKQUlBbEJCRWdFUUNBQklRTU1BUXNnRHlBQlFRRnJJZ00yQW9BQklBRXhBQUFoWWdzZ0R5QmlRbzhCVmlJUk5nS1lBU0FQSUdJZ0RhMkdJR0NFSW1BM0E0Z0JJQTlCQ0VFSFFRZ2dZa0wvQUlOQy93QlJHeUJqUW84QldCc2dEV29pRFRZQ2tBRWdDQ0VKQ3lBTlFTQk5CRUFDUUNBSlFRVk9CRUFnQTBFRGF5Z0NBQ0VISUE4Z0NVRUZhellDbEFFZ0R5QURRUVJyTmdLQUFRd0JDMEVBSVFjZ0NVRUNTQTBBUVJnaENRTkFJQThnQTBFQmF5SUJOZ0tBQVNBRExRQUFJVWtnRHlBR1FRRnJJZ0kyQXBRQklFa2dDWFFnQjNJaEJ5QUdRUUZMSVVvZ0FTRURJQWxCQ0dzaENTQUNJUVlnU2cwQUN3c2dEeUFIUWY4QmNTSUJRWThCU3pZQ21BRWdEMEVIUVFnZ0IwR0FnSUQ0QjNGQmdJQ0ErQWRHRzBFSUlCRWJJZ05CQ0VFSFFRZ2dCMEdBZ1B3RGNVR0FnUHdEUmhzZ0IwSC8vLy8vZUUwYmFpSUdRUWhCQjBFSUlBZEJnUDRCY1VHQS9nRkdHeUFIUVJCMlFmOEJjU0lKUVk4QlRSdHFJZ0pCQ0VFSFFRZ2dCMEgvQUhGQi93QkdHeUFIUVFoMlFmOEJjU0lJUVk4QlRSc2dEV3BxTmdLUUFTQVBJQWtnQTNRZ0IwRVlkbklnQ0NBR2RISWdBU0FDZEhLdElBMnRoaUJnaERjRGlBRUxRUUVMSVRFZ0dDQVNheUVmSUJaQkFXb2hMQ0FVUVFBNkFNQVFJQlJCd0JCcUlRc2dEMEdBQW1vUUtDRUNJQlZCQUVvRVFDQW1RUUZySVJNZ0ZDRURJQXNoQ0VFQUlSRWdEaUVHUVFBaERRTkFJQTBoQlNBUlFRaDBJQTlCNEFGcUVDOUIvd0J4UVFGMGNrR2cvUUJxTHdFQUlRRUNRQ0FSRFFBZ0FVRUFJQUpCQW1zaUIwRi9SaHNoQVNBQ1FRRktCRUFnQnlFQ0RBRUxJQTlCZ0FKcUVDZ2hBZ3NnRHlrRDZBRWhaQ0FQS0FMd0FTRkxJQU1nQXlnQ0FDQUJRUVIySWhoQkEzRWdBVUVDZGtFd2NYSWdJblJ5SWhZMkFnQWdBVUVGZGtFSGNTQUJRUkJ4SWg1QkJIWnlJUkVnU3lBQlFRZHhJZ2RySVEwZ1pDQUhyWWdpWUtjaENVRUFJUWNnRlNBRlFRSnlTZ1JBSUJGQkNIUWdDVUgvQUhGQkFYUnlRYUQ5QUdvdkFRQWhCd0pBSUJFTkFDQUhRUUFnQWtFQ2F5SUpRWDlHR3lFSElBSkJBVW9FUUNBSklRSU1BUXNnRDBHQUFtb1FLQ0VDQ3lBSFFRUjJRUUZ4SUFkQkJYWkJCM0Z5SVJFZ0RTQUhRUWR4SWdscklRMGdZQ0FKcllnaVlLY2hDUXNnQXlBSFFRSjBRWUFHY1NBSFFUQnhjaUFpUVFScWRDQVdjallDQUFKQUlBZEJBblpCQW5FZ0FVRURka0VCY1hJaUYwRURSdzBBUVFSQkF5QUNRUUpySWhaQmYwWWJJUmNnQWtFQlNnUkFJQlloQWd3QkN5QVBRWUFDYWhBb0lRSUxBbjhnRjBVRVFDQVBRb0dBZ0lBUU53SjRRUUFNQVFzZ0YwRUNUUVJBSUE5QkFTQUpRUWR4UWRTZEFXb3RBQUFpRmtFRmRrRi9JQlpCQW5aQkIzRWlHWFJCZjNNZ0NTQVdRUU54SWdsMmNXcEJBV29pRmlBWFFRRkdJaGNiTmdKOElBOGdGa0VCSUJjYk5nSjRJQWtnR1dvTUFRc2dDU0FKUVFkeFFkU2RBV290QUFBaUZrRURjU0laZGlFSklCZEJBMFlFUUNBV1FRVjJRUUZxSVJjZ0dVRURSZ1JBSUE4Z0NVRUJjVUVDY2pZQ2ZDQVBJQmRCZnlBV1FRSjJRUWR4SWhaMFFYOXpJQWxCQVhaeGFqWUNlQ0FXUVFScURBSUxJQThnRnlBSklBbEJCM0ZCMUowQmFpMEFBQ0lKUVFOeEloSjJJaUJCZnlBV1FRSjJRUWR4SWhaMFFYOXpjV28yQW5nZ0QwRi9JQWxCQW5aQkIzRWlGM1JCZjNNZ0lDQVdkbkVnQ1VFRmRtcEJBV28yQW53Z0ZpQVphaUFTYWlBWGFnd0JDeUFQSUFrZ0NVRUhjVUhVblFGcUxRQUFJZ2xCQTNFaUVuWWlJRUYvSUJaQkFuWkJCM0VpRjNSQmYzTnhJQlpCQlhacVFRTnFOZ0o0SUE5QmZ5QUpRUUoyUVFkeEloWjBRWDl6SUNBZ0YzWnhJQWxCQlhacVFRTnFOZ0o4SUJJZ0dXb2dGMm9nRm1vTElRa0NRQ0FzSUE4b0FuZ2lHVThFUUNBUEtBSjhJaElnTEUwTkFRc2dJUVJBUVFBaEJ5QWRRUUZCbWZZQVFRQVFEd3dIQzBFQUlRY2dIVUVCUVpuMkFFRUFFQThNQmdzZ0R5QU5JQWxyTmdMd0FTQVBJR0FnQ2EySU53UG9BU0FIUWZBQmNTQVlRUTl4Y2tIL0FVSC9BU0FGUVFScUlnMGdGV3RCQVhSMklBMGdGVXdiSWdrZ0NVSFZBSEVnSDBFQlNoc2lDVUYvYzNFRVFDQWhCRUJCQUNFSElCMUJBVUd2MmdCQkFCQVBEQWNMUVFBaEJ5QWRRUUZCcjlvQVFRQVFEd3dHQ3dKQUFrQWdIZ1JBSUE5QndBRnFFQnNoRnlBUElBOG9BdEFCSUJrZ0FVRVRkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FYUVg4Z0ZuUkJmM054SUFGQkNIWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCZEJIM1J5SVJZTUFRdEJBQ0VXSUFsQkFYRkZEUUVMSUFZZ0ZqWUNBQXNDUUNBQlFTQnhCRUFnRDBIQUFXb1FHeUVYSUE4Z0R5Z0MwQUVnR1NBQlFSSjBRUjkxYWlJV2F6WUMwQUVnRHlBUEtRUElBU0FXcllnM0E4Z0JJQVlnRlVFQ2RHb2dGMEYvSUJaMFFYOXpjU0FCUVFsMlFRRnhJQlowY2tFQmNpSVdRUUpxSUJOMElCZEJIM1J5TmdJQUlBaEJJQ0FXWjJzaUZpQUlMUUFBUWY4QWNTSVhJQllnRjBzYlFZQUJjam9BQUF3QkN5QUpRUUp4UlEwQUlBWWdGVUVDZEdwQkFEWUNBQXNnQmtFRWFpRVhBa0FDUUNBQlFjQUFjUVJBSUE5QndBRnFFQnNoR0NBUElBOG9BdEFCSUJrZ0FVRVJkRUVmZFdvaUZtczJBdEFCSUE4Z0R5a0R5QUVnRnEySU53UElBU0FZUVg4Z0ZuUkJmM054SUFGQkNuWkJBWEVnRm5SeVFRRnlRUUpxSUJOMElCaEJIM1J5SVJZTUFRdEJBQ0VXSUFsQkJIRkZEUUVMSUJjZ0ZqWUNBQXNnQ0VFQU9nQUJBa0FnQVVHQUFYRUVRQ0FQUWNBQmFoQWJJUmdnRHlBUEtBTFFBU0FaSUFGQkVIUkJIM1ZxSWhack5nTFFBU0FQSUE4cEE4Z0JJQmF0aURjRHlBRWdGeUFWUVFKMGFpQVlRWDhnRm5SQmYzTnhJQUZCQzNaQkFYRWdGblJ5UVFGeUlnRkJBbW9nRTNRZ0dFRWZkSEkyQWdBZ0NFR2dmeUFCWjJzNkFBRU1BUXNnQ1VFSWNVVU5BQ0FYSUJWQkFuUnFRUUEyQWdBTElBWkJDR29oQVFKQUFrQWdCMEVRY1FSQUlBOUJ3QUZxRUJzaEdTQVBJQThvQXRBQklCSWdCMEVUZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWlFYOGdGblJCZjNOeElBZEJDSFpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmxCSDNSeUlSY01BUXRCQUNFWElBbEJFSEZGRFFFTElBRWdGellDQUFzQ1FDQUhRU0J4QkVBZ0QwSEFBV29RR3lFWklBOGdEeWdDMEFFZ0VpQUhRUkowUVI5MWFpSVdhellDMEFFZ0R5QVBLUVBJQVNBV3JZZzNBOGdCSUFFZ0ZVRUNkR29nR1VGL0lCWjBRWDl6Y1NBSFFRbDJRUUZ4SUJaMGNrRUJjaUlCUVFKcUlCTjBJQmxCSDNSeU5nSUFJQWhCSUNBQloyc2lBU0FJTFFBQlFmOEFjU0lXSUFFZ0Zrc2JRWUFCY2pvQUFRd0JDeUFKUVNCeFJRMEFJQUVnRlVFQ2RHcEJBRFlDQUFzZ0JrRU1haUVCQWtBQ1FDQUhRY0FBY1FSQUlBOUJ3QUZxRUJzaEdTQVBJQThvQXRBQklCSWdCMEVSZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWlFYOGdGblJCZjNOeElBZEJDblpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmxCSDNSeUlSY01BUXRCQUNFWElBbEJ3QUJ4UlEwQkN5QUJJQmMyQWdBTElBaEJBbW9pQ0VFQU9nQUFBa0FnQjBHQUFYRUVRQ0FQUWNBQmFoQWJJUllnRHlBUEtBTFFBU0FTSUFkQkVIUkJIM1ZxSWdsck5nTFFBU0FQSUE4cEE4Z0JJQW10aURjRHlBRWdBU0FWUVFKMGFpQVdRWDhnQ1hSQmYzTnhJQWRCQzNaQkFYRWdDWFJ5UVFGeUlnRkJBbW9nRTNRZ0ZrRWZkSEkyQWdBZ0NFR2dmeUFCWjJzNkFBQU1BUXNnQ1VHQUFVa05BQ0FCSUJWQkFuUnFRUUEyQWdBTElDSkJFSE1oSWlBRElBVkJCSEZxSVFNZ0JrRVFhaUVHSUEwZ0ZVZ05BQXNMSUFwQkNIRWhPQ0FVUWJBTWFpRW9JQlJCb0FocUlTa2dGRUdRQkdvaEpTQWZRUU5PQkVBZ0ZVRURiQ0U1SUJWQkFYUWhPaUFtUVFGcklTQkJBeUFtUVFKcklnRjBJUzFCQVNBQmRDRXVJQlZCQjJwQkFYWkIvUC8vL3dkeFFRUnFJVDBnS3lBa1FYOXphaUlCUVFOMklnTkJBblFpUGtFRWFpRTdJQU5CQVdvaVAwSDgvLy8vQTNFaUhFRUNkQ0U4SUJ4QkEzUWhFaUFCUVJoSklVQkJBaUVaQTBBZ0dTRVRJQXN0QUFBaEZpQUxRUUE2QUFBZ0lrRnZjVUVDY3lFaUFrQWdGVUVBVEFSQUlCTkJBbW9oR1F3QkN5QWxJQlFnRTBFRWNSc2hFU0FUUVFKcUlSa2dEaUFUSUJWc1FRSjBhaUVJUVFBaENpQUxJUVpCQUNFTkEwQWdEU0VGSUFZdEFBRkJCWFpCQkhFZ0NpQVdRUWQyY25JaUEwRUlkQ0FQUWVBQmFoQXZRZjhBY1VFQmRISkJvSTBCYWk4QkFDRUJBa0FnQXcwQUlBRkJBQ0FDUVFKcklnTkJmMFliSVFFZ0FrRUJTZ1JBSUFNaEFnd0JDeUFQUVlBQ2FoQW9JUUlMSUE4cEErZ0JJV1VnRHlnQzhBRWhUQ0FSSUJFb0FnQWdBVUVFZGtFRGNTQUJRUUoyUVRCeGNpQWlkSElpQ1RZQ0FDQUJRY0FBY1NJcVFRVjJJQUZCZ0FGeElpZEJCblp5SVFvZ1RDQUJRUWR4SWdOcklSY2daU0FEcllnaVlLY2hEVUVBSVJnQ1FDQVZJQVZCQW5KTUJFQkJBQ0VIREFFTElBb2dCaTBBQWtFRmRrRUVjU0FHTFFBQlFRZDJjbklpQTBFSWRDQU5RZjhBY1VFQmRISkJvSTBCYWk4QkFDRUhBa0FnQXcwQUlBZEJBQ0FDUVFKcklnTkJmMFliSVFjZ0FrRUJTZ1JBSUFNaEFnd0JDeUFQUVlBQ2FoQW9JUUlMSUFkQkJYWWdCMEVHZG5KQkFuRWhDaUFYSUFkQkIzRWlBMnNoRnlCZ0lBT3RpQ0pncHlFTkN5QVJJQWRCQW5SQmdBWnhJQWRCTUhGeUlDSkJCR3AwSUFseU5nSUFRUUVoQ1VFQklRTUNRQ0FIUVFKMlFRSnhJQUZCQTNaQkFYRnlJaDVGRFFBZ0RTQU5RUWR4UWRTZEFXb3RBQUFpQTBFRGNTSU5kaUVKSUI1QkEwY0VRRUVCSUFsQmZ5QURRUUoyUVFkeEloaDBRWDl6Y1NBRFFRVjJha0VCYWlJRElCNUJBVVlpSGhzaENTQURRUUVnSGhzaEF5QU5JQmhxSVJnTUFRc2dDVUVIY1VIVW5RRnFMUUFBSWg1QkEzRWlNeUFOSUFOQkFuWkJCM0VpRzJwcUlCNUJBblpCQjNFaURXb2hHQ0FKSUROMklnbEJmeUFiZEVGL2MzRWdBMEVGZG1wQkFXb2hBMEYvSUExMFFYOXpJQWtnRzNaeElCNUJCWFpxUVFGcUlRa0xJQThnRnlBWWF6WUM4QUVnRHlCZ0lCaXRpRGNENkFFZ0FVSHdBWEVpRFNBTlFRRnJjUVJBSUFNZ0ZrSC9BSEVpRmlBR0xRQUJRZjhBY1NJWElCWWdGMHNiSWhaQkFtc2lGMEVBSUJZZ0YwOGJhaUVEQ3lBSFFmQUJjU0lYSUJkQkFXdHhCRUFnQ1NBR0xRQUJRZjhBY1NJV0lBWXRBQUpCL3dCeEloZ2dGaUFZU3hzaUZrRUNhMEVBSUJaQkFrc2JhaUVKQ3lBRElDeE5JQWtnTEUxeFJRUkFJQ0VFUUVFQUlRY2dIVUVCUWYzMkFFRUFFQThNQ1F0QkFDRUhJQjFCQVVIOTlnQkJBQkFQREFnTElBWXRBQUloRmlBR1FRQTdBQUVnRnlBTlFRUjJja0gvQVVIL0FTQUZRUVJxSWcwZ0ZXdEJBWFIySUEwZ0ZVd2JJaGRCMVFCeElCY2dHU0FmU2hzaUdFRi9jM0VFUUNBaEJFQkJBQ0VISUIxQkFVR3YyZ0JCQUJBUERBa0xRUUFoQnlBZFFRRkJyOW9BUVFBUUR3d0lDd0pBQWtBZ0FVRVFjUVJBSUE5QndBRnFFQnNoSGlBUElBOG9BdEFCSUFNZ0FVRVRkRUVmZFdvaUYyczJBdEFCSUE4Z0R5a0R5QUVnRjYySU53UElBU0FlUVg4Z0YzUkJmM054SUFGQkNIWkJBWEVnRjNSeVFRRnlRUUpxSUNCMElCNUJIM1J5SVJjTUFRdEJBQ0VYSUJoQkFYRkZEUUVMSUFnZ0Z6WUNBQXNDUUNBQlFTQnhCRUFnRDBIQUFXb1FHeUVlSUE4Z0R5Z0MwQUVnQXlBQlFSSjBRUjkxYWlJWGF6WUMwQUVnRHlBUEtRUElBU0FYcllnM0E4Z0JJQWdnRlVFQ2RHb2dIa0YvSUJkMFFYOXpjU0FCUVFsMlFRRnhJQmQwY2tFQmNpSVhRUUpxSUNCMElCNUJIM1J5TmdJQUlBWkJJQ0FYWjJzaUZ5QUdMUUFBUWY4QWNTSWVJQmNnSGtzYlFZQUJjam9BQUF3QkN5QVlRUUp4UlEwQUlBZ2dGVUVDZEdwQkFEWUNBQXNnQ0VFRWFpRWVBa0FDUUNBcUJFQWdEMEhBQVdvUUd5RWJJQThnRHlnQzBBRWdBeUFCUVJGMFFSOTFhaUlYYXpZQzBBRWdEeUFQS1FQSUFTQVhyWWczQThnQklCdEJmeUFYZEVGL2MzRWdBVUVLZGtFQmNTQVhkSEpCQVhKQkFtb2dJSFFnRzBFZmRISWhGd3dCQzBFQUlSY2dHRUVFY1VVTkFRc2dIaUFYTmdJQUN3SkFJQ2NFUUNBUFFjQUJhaEFiSVJjZ0R5QVBLQUxRQVNBRElBRkJFSFJCSDNWcUlnTnJOZ0xRQVNBUElBOHBBOGdCSUFPdGlEY0R5QUVnSGlBVlFRSjBhaUFYUVg4Z0EzUkJmM054SUFGQkMzWkJBWEVnQTNSeVFRRnlJZ0ZCQW1vZ0lIUWdGMEVmZEhJMkFnQWdCa0dnZnlBQloyczZBQUVNQVFzZ0dFRUljVVVOQUNBZUlCVkJBblJxUVFBMkFnQUxJQWhCQ0dvaEFRSkFBa0FnQjBFUWNRUkFJQTlCd0FGcUVCc2hGeUFQSUE4b0F0QUJJQWtnQjBFVGRFRWZkV29pQTJzMkF0QUJJQThnRHlrRHlBRWdBNjJJTndQSUFTQVhRWDhnQTNSQmYzTnhJQWRCQ0haQkFYRWdBM1J5UVFGeVFRSnFJQ0IwSUJkQkgzUnlJUU1NQVF0QkFDRURJQmhCRUhGRkRRRUxJQUVnQXpZQ0FBc0NRQ0FIUVNCeEJFQWdEMEhBQVdvUUd5RVhJQThnRHlnQzBBRWdDU0FIUVJKMFFSOTFhaUlEYXpZQzBBRWdEeUFQS1FQSUFTQURyWWczQThnQklBRWdGVUVDZEdvZ0YwRi9JQU4wUVg5emNTQUhRUWwyUVFGeElBTjBja0VCY2lJQlFRSnFJQ0IwSUJkQkgzUnlOZ0lBSUFaQklDQUJaMnNpQVNBR0xRQUJRZjhBY1NJRElBRWdBMHNiUVlBQmNqb0FBUXdCQ3lBWVFTQnhSUTBBSUFFZ0ZVRUNkR3BCQURZQ0FBc2dDRUVNYWlFQkFrQUNRQ0FIUWNBQWNRUkFJQTlCd0FGcUVCc2hGeUFQSUE4b0F0QUJJQWtnQjBFUmRFRWZkV29pQTJzMkF0QUJJQThnRHlrRHlBRWdBNjJJTndQSUFTQVhRWDhnQTNSQmYzTnhJQWRCQ25aQkFYRWdBM1J5UVFGeVFRSnFJQ0IwSUJkQkgzUnlJUU1NQVF0QkFDRURJQmhCd0FCeFJRMEJDeUFCSUFNMkFnQUxJQVpCQW1vaEJnSkFJQWRCZ0FGeEJFQWdEMEhBQVdvUUd5RVhJQThnRHlnQzBBRWdDU0FIUVJCMFFSOTFhaUlEYXpZQzBBRWdEeUFQS1FQSUFTQURyWWczQThnQklBRWdGVUVDZEdvZ0YwRi9JQU4wUVg5emNTQUhRUXQyUVFGeElBTjBja0VCY2lJQlFRSnFJQ0IwSUJkQkgzUnlOZ0lBSUFaQm9IOGdBV2RyT2dBQURBRUxJQmhCZ0FGSkRRQWdBU0FWUVFKMGFrRUFOZ0lBQ3lBaVFSQnpJU0lnRVNBRlFRUnhhaUVSSUFoQkVHb2hDQ0FOSUJWSURRQUxDd0pBSUF4QkFra05BQ0FUUVFKeFJRMEFJQmxCQkhFaEF3SkFBbjhDUUFKQUlERUVRQ0FVSUNVZ0F4c2hGa0VBSVJnZ0ZVRUFUQTBCSUE0Z0UwRUNheUFWYkVFQ2RHb2hFUU5BSUE5QmdBRnFFQzhoQjBFQUlRRWdGaWdDQUNJSUJFQWdFU0FZUVFKMGFpRUJRUUFoQ1VFUElRWURRQUpBSUFZZ0NIRkZEUUFnQmtHUm9zU0lBWEVpRFNBSWNRUkFJQUVnQVNnQ0FDQUhRWDl6UVFGeElDQjBjeUF1Y2pZQ0FDQUhRUUYySVFjTElBMUJBWFFnQ0hFRVFDQUJJQlZCQW5ScUlnVWdCU2dDQUNBSFFYOXpRUUZ4SUNCMGN5QXVjallDQUNBSFFRRjJJUWNMSUExQkFuUWdDSEVFUUNBQklEcEJBblJxSWdVZ0JTZ0NBQ0FIUVg5elFRRnhJQ0IwY3lBdWNqWUNBQ0FIUVFGMklRY0xJQTFCQTNRZ0NIRkZEUUFnQVNBNVFRSjBhaUlOSUEwb0FnQWdCMEYvYzBFQmNTQWdkSE1nTG5JMkFnQWdCMEVCZGlFSEN5QUJRUVJxSVFFZ0JrRUVkQ0VHSUFsQkFXb2lDVUVJUncwQUN5QUlhU0VCQ3lBV1FRUnFJUllnRHlBUEtBS1FBU0FCYXpZQ2tBRWdEeUFQS1FPSUFTQUJyWWczQTRnQklCaEJDR29pR0NBVlNBMEFDd3NnS1NBb0lBTWJJUVVnRkNBbElBTWJJUllnQTBVaEdDQVZRUUJNRFFOQkFDRURJRUFOQVNBRklCWWdPMnBKSUJZZ0JTQTdhaUlIU1hFTkFVRUFJQVVpQVNBV0lnWWdQbXBCQ0dwSklBWkJCR29nQjBseERRSWFJQVlnUEdvaEJpQUJJRHhxSVFIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBaFhrRUFJUWNEUUNBRklBZEJBblFpQTJvaUNTQURJQlpxSWdQOUFBSUFJbDlCQlAydEFTQmZRUVQ5cXdFZ1hpQmYvUTBNRFE0UEVCRVNFeFFWRmhjWUdSb2JRUno5clFIOVVQMVFJRi85VUNKZS9Rc0NBQ0FKSUY0Z0EvMEFBZ1JCSFAyckFmMVFJbDVCQWYydEFmME1kM2QzZDNkM2QzZDNkM2QzZDNkM2QvMU9JRjVCQWYyckFmME03dTd1N3U3dTd1N3U3dTd1N3U3dTd2MU8vVkFnWHYxUUlGLzlULzBMQWdBZ1h5RmVJQWRCQkdvaUJ5QWNSdzBBQ3lBY0lEOUdEUU1nRWlFRElGNzlHd01NQWdzZ0EwVWhHQ0FwSUNnZ0F4c2hCUXdDQ3lBRklRRWdGaUVHUVFBTElRY0RRQ0FIUVJ4MklRa2dBU0FHS0FJQUlnZEJCSFlnQ1NBSFFRUjBjbklnQjNJaUNUWUNBQ0FCSUFrZ0JpZ0NCRUVjZEhJaUNVRUJka0gzN3QyN0IzRWdDVUVCZEVIdTNidjNmbkZ5SUFseUlBZEJmM054TmdJQUlBRkJCR29oQVNBR1FRUnFJUVlnQTBFSWFpSURJQlZJRFFBTEN5QVRRUVpKRFFCQkFDRUpRUUFoRVNBV0lRRWdLU0FvSUJnYkloc2hCeUFVSUNVZ0dCc2lGeUVHQWtBZ0ZVRUFUQ0lORFFBRFFDQUJRUVJxSVFNZ0J5Z0NBQ0VJSUFFb0FnQWhBU0FISURnRWZ5QUlCU0FCUVFSMElCRkJISFp5SUFGQkJIWnlJQU1vQWdCQkhIUnlJQUZ5UVFOMFFZaVJvc1I0Y1NBSWNnc2dCaWdDQUVGL2MzRTJBZ0FnQmtFRWFpRUdJQWRCQkdvaEJ5QUJJUkVnQXlFQklBbEJDR29pQ1NBVlNBMEFDeUFORFFBZ0RpQVRRUVpySUJWc1FRSjBhaUZCUVFBaEhpQVhJUkVEUUVFQUlRTWdHeWdDQUNJQkJFQWdGU0FlYXlGQ1FRQWhCMEVBSVFvRFFDQUhJVTBnRDBHZ0FXb1FHeUVIQWtBZ0NpQUtRUVJxSWdZZ1FpQUdJQjVxSUJWSUd5SXpUaUpEQkVCQkFDRUdEQUVMSUJFb0FnQkJmM01oS2lCQklBb2dIbkpCQW5ScUlSaEJBQ0VHUVE4Z0NpSUpRUUowSWtSMElnMGhDQU5BQWtBZ0FTQUljVVVOQUNBSVFaR2l4SWdCY1NJbklBRnhCRUFnQjBFQmNRUkFJQU1nSjNJaEEwRXlJQWxCQW5SMElDcHhJQUZ5SVFFTElBZEJBWFloQnlBR1FRRnFJUVlMSUFFZ0owRUJkQ0kwY1FSQUlBZEJBWEVFUUNBRElEUnlJUU1nQVVIMEFDQUpRUUowZENBcWNYSWhBUXNnQjBFQmRpRUhJQVpCQVdvaEJnc2dBU0FuUVFKMElqUnhCRUFnQjBFQmNRUkFJQU1nTkhJaEF5QUJRZWdCSUFsQkFuUjBJQ3B4Y2lFQkN5QUhRUUYySVFjZ0JrRUJhaUVHQ3lBQklDZEJBM1FpSjNGRkRRQWdCMEVCY1FSQUlBTWdKM0loQXlBQlFjQUJJQWxCQW5SMElDcHhjaUVCQ3lBR1FRRnFJUVlnQjBFQmRpRUhDeUFJUVFSMElRZ2dDVUVCYWlJSklETklEUUFMSUFNZ1JIWkIvLzhEY1VVTkFDQkREUUFEUUFKQUlBTWdEWEZGRFFBZ0RVR1Jvc1NJQVhFaUNTQURjUVJBSUJnZ0dDZ0NBQ0FIUVI5MGNpQXRjallDQUNBSFFRRjJJUWNnQmtFQmFpRUdDeUFKUVFGMElBTnhCRUFnR0NBVlFRSjBhaUlJSUFnb0FnQWdCMEVmZEhJZ0xYSTJBZ0FnQjBFQmRpRUhJQVpCQVdvaEJnc2dDVUVDZENBRGNRUkFJQmdnT2tFQ2RHb2lDQ0FJS0FJQUlBZEJIM1J5SUMxeU5nSUFJQWRCQVhZaEJ5QUdRUUZxSVFZTElBbEJBM1FnQTNGRkRRQWdHQ0E1UVFKMGFpSUpJQWtvQWdBZ0IwRWZkSElnTFhJMkFnQWdCa0VCYWlFR0lBZEJBWFloQndzZ0RVRUVkQ0VOSUJoQkJHb2hHQ0FLUVFGcUlnb2dNMGdOQUFzTElBOGdEeWdDc0FFZ0JtczJBckFCSUE4Z0R5a0RxQUVnQnEySU53T29BVUVCSVFkQkJDRUtJRTFCQVhGRkRRQUxJQnNnR3lnQ0JDQURRUnQyUVE1eElBTkJIWFp5SUFOQkhIWnlJQkVvQWdSQmYzTnhjallDQkFzZ0VTZ0NBQ0FEY2lJRFFRTjJRWkdpeElnQmNTSUJRUVIySUFGQkJIUnlJQUZ5SVFZZ0hnUkFJQVZCQkdzaUJ5QUhLQUlBSUJaQkJHc29BZ0JCZjNNZ0FVRWNkSEZ5TmdJQUN5QUZJQVVvQWdBZ0JpQVdLQUlBUVg5emNYSTJBZ0FnQlNBRktBSUVJQllvQWdSQmYzTWdBMEVmZG5GeU5nSUVJQnRCQkdvaEd5QVJRUVJxSVJFZ0JVRUVhaUVGSUJaQkJHb2hGaUFlUVFocUloNGdGVWdOQUFzTElCZEJBQ0E5RUJVYUN5QVpJQjlJRFFBTEN3SkFJQXhCQWtrTkFBSkFJQjlCQTNGQkFXc2lGa0VDU1NBeGNRUkFJQlZCQUV3TkFVRUJJQ1pCQW10MElRSWdEaUFmUWZ6Ly93ZHhJQlZzUVFKMGFpRVJJQ1VnRkNBZlFRUnhHeUVGSUNaQkFXc2hDRUVBSVFvZ0ZVRU1iQ0VNSUJWQkEzUWhDd05BSUE5QmdBRnFFQzhoQjBFQUlRRWdCU2dDQUNJREJFQWdFU0FLUVFKMGFpRUJRUThoQmtFQUlRa0RRQUpBSUFNZ0JuRkZEUUFnQmtHUm9zU0lBWEVpRFNBRGNRUkFJQUVnQVNnQ0FDQUhRWDl6UVFGeElBaDBjeUFDY2pZQ0FDQUhRUUYySVFjTElBMUJBWFFnQTNFRVFDQUJJQlZCQW5ScUloMGdIU2dDQUNBSFFYOXpRUUZ4SUFoMGN5QUNjallDQUNBSFFRRjJJUWNMSUExQkFuUWdBM0VFUUNBQklBdHFJaDBnSFNnQ0FDQUhRWDl6UVFGeElBaDBjeUFDY2pZQ0FDQUhRUUYySVFjTElBMUJBM1FnQTNGRkRRQWdBU0FNYWlJTklBMG9BZ0FnQjBGL2MwRUJjU0FJZEhNZ0FuSTJBZ0FnQjBFQmRpRUhDeUFCUVFScUlRRWdCa0VFZENFR0lBbEJBV29pQ1VFSVJ3MEFDeUFEYVNFQkN5QUZRUVJxSVFVZ0R5QVBLQUtRQVNBQmF6WUNrQUVnRHlBUEtRT0lBU0FCcllnM0E0Z0JJQXBCQ0dvaUNpQVZTQTBBQ3dzZ0ZrRUJTdzBBSUJWQkFFd05BQ0FsSUJRZ0gwRUVjU0lCR3lFSklDZ2dLU0FCR3lFQ1FRQWhBd0ovQWtBZ0t5QWtRWDl6YWlJQlFUaEpEUUFnQWlBSklBRkJBWFpCL1AvLy93ZHhJZ1pCQkdvaUIycEpJQWtnQWlBSGFpSUhTWEVOQUNBQ0lBWWdDV3BCQ0dwSklBbEJCR29nQjBseERRQWdBVUVEZGtFQmFpSU5RZnovLy84RGNTSUlRUU4wSVFNZ0NTQUlRUUowSWdGcUlRWWdBU0FDYWlFQi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlWNUJBQ0VIQTBBZ0FpQUhRUUowSWhacUloRWdDU0FXYWlJVy9RQUNBQ0pmUVFUOXJRRWdYMEVFL2FzQklGNGdYLzBOREEwT0R4QVJFaE1VRlJZWEdCa2FHMEVjL2EwQi9WRDlVQ0JmL1ZBaVh2MExBZ0FnRVNCZUlCYjlBQUlFUVJ6OXF3SDlVQ0plUVFIOXJRSDlESGQzZDNkM2QzZDNkM2QzZDNkM2QzZjlUaUJlUVFIOXF3SDlETzd1N3U3dTd1N3U3dTd1N3U3dTd1NzlUdjFRSUY3OVVDQmYvVS85Q3dJQUlGOGhYaUFIUVFScUlnY2dDRWNOQUFzZ0NDQU5SZzBDSUY3OUd3TU1BUXNnQWlFQklBa2hCa0VBQ3lFSEEwQWdCMEVjZGlFSklBRWdCaWdDQUNJSFFRUjJJQWtnQjBFRWRISnlJQWR5SWdrMkFnQWdBU0FKSUFZb0FnUkJISFJ5SWdsQkFYWkI5KzdkdXdkeElBbEJBWFJCN3QyNzkzNXhjaUFKY2lBSFFYOXpjVFlDQUNBQlFRUnFJUUVnQmtFRWFpRUdJQU5CQ0dvaUF5QVZTQTBBQ3dzZ0h5QWZRUUZxUVFOeGEwRURhMEVBSUI5QkJrb2JJaEVnSDA0TkFFRURJQ1pCQW10MElSa2dLeUFrUVg5emFpSUJRUU4ySWdOQkFuUWlLMEVFYWlFZElBTkJBV29pQTBIOC8vLy9BM0VpRWtFQ2RDRWhJQkpCQTNRaEZpQVZRUXhzSVN3Z0ZVRURkQ0V0SUFGQkdFa2hKaUFESUJKR0lSc0RRQUpBQWtBQ1FBSkFBbjhDUUNBZklCRnJJZ0ZCQVdzaUEwRURUd1JBUVg4aEZ5QUJRUVZJRFFVZ0ZVRUFUQTBHSUNVZ0ZDQVJRUVJ4SWdFYklRSWdLQ0FwSUFFYklRa2dPQVJBUVFBaEJpQW1EUVFnQWlBSklCMXFTU0FDSUIxcUlBbExjUTBFSUFJZ0lXb2hBU0FKSUNGcUlRY0RRQ0FKSUFaQkFuUWlBMm9pQ0NBSS9RQUNBQ0FDSUFOcS9RQUNBUDFQL1FzQ0FDQUdRUVJxSWdZZ0VrY05BQXNnRmlFR0lCc05CZ3dGQ3lBVUlDVWdBUnNoRFVFQUlRTWdKZzBCSUFrZ0RTQWRha2tnRFNBSklCMXFJZ0ZKY1EwQklBa2dEU0FyYWtFSWFra2dEVUVFYWlBQlNYRU5BU0FKSUFJZ0hXcEpJQUVnQWt0eERRRWdBaUFoYWlFSUlBa2dJV29oQVNBTklDRnFJUWY5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoWGtFQUlRWURRQ0FKSUFaQkFuUWlBMm9pQlNBRElBMXFJZ3o5QUFJQUlsOUJCUDJ0QVNCZlFRVDlxd0VnWGlCZi9RME1EUTRQRUJFU0V4UVZGaGNZR1JvYlFSejlyUUg5VVAxUUlBejlBQUlFUVJ6OXF3SDlVQ0JmL1ZCQkEvMnJBZjBNaUlpSWlJaUlpSWlJaUlpSWlJaUlpUDFPSUFYOUFBSUEvVkFnQWlBRGF2MEFBZ0Q5VC8wTEFnQWdYeUZlSUFaQkJHb2lCaUFTUncwQUN5QWJEUVVnRmlFRElGNzlHd01NQWdzZ0EwRUNkRUhjblFGcUtBSUFJUmNNQkFzZ0RTRUhJQWtoQVNBQ0lRaEJBQXNoQmdOQUlBWkJISFloQ1NBQklBRW9BZ0FnQnlnQ0FDSUdRUVIySUFrZ0JrRUVkSEp5SUFjb0FnUkJISFJ5SUFaeVFRTjBRWWlSb3NSNGNYSWdDQ2dDQUVGL2MzRTJBZ0FnQ0VFRWFpRUlJQUZCQkdvaEFTQUhRUVJxSVFjZ0EwRUlhaUlESUJWSURRQUxEQUlMSUFraEJ5QUNJUUVMQTBBZ0J5QUhLQUlBSUFFb0FnQkJmM054TmdJQUlBRkJCR29oQVNBSFFRUnFJUWNnQmtFSWFpSUdJQlZJRFFBTEN5QVZRUUJNRFFBZ0pTQVVJQkZCQkhFaUFSc2hDaUFvSUNrZ0FSc2hBaUFVSUNVZ0FSc2hFeUFwSUNnZ0FSc2hIaUFPSUJFZ0ZXeEJBblJxSVM1QkFDRUZBMEJCQUNFRElBSW9BZ0FnRjNFaUFRUkFJQlVnQldzaEtrRUFJUWRCQUNFTkEwQWdCeUZPSUE5Qm9BRnFFQnNoQndKQUlBMGdEVUVFYWlJR0lDb2dCU0FHYWlBVlNCc2lKRTRpSndSQVFRQWhCZ3dCQ3lBWElBb29BZ0JCZjNOeElSZ2dMaUFGSUExeVFRSjBhaUVMUVFBaEJrRVBJQTBpQ1VFQ2RDSWNkQ0lnSVFnRFFBSkFJQUVnQ0hGRkRRQWdDRUdSb3NTSUFYRWlJaUFCY1FSQUlBZEJBWEVFUUNBRElDSnlJUU5CTWlBSlFRSjBkQ0FZY1NBQmNpRUJDeUFIUVFGMklRY2dCa0VCYWlFR0N5QUJJQ0pCQVhRaU1YRUVRQ0FIUVFGeEJFQWdBeUF4Y2lFRElBRkI5QUFnQ1VFQ2RIUWdHSEZ5SVFFTElBZEJBWFloQnlBR1FRRnFJUVlMSUFFZ0lrRUNkQ0l4Y1FSQUlBZEJBWEVFUUNBRElERnlJUU1nQVVIb0FTQUpRUUowZENBWWNYSWhBUXNnQjBFQmRpRUhJQVpCQVdvaEJnc2dBU0FpUVFOMElpSnhSUTBBSUFkQkFYRUVRQ0FESUNKeUlRTWdBVUhBQVNBSlFRSjBkQ0FZY1hJaEFRc2dCa0VCYWlFR0lBZEJBWFloQndzZ0NFRUVkQ0VJSUFsQkFXb2lDU0FrU0EwQUN5QURJQngyUWYvL0EzRkZEUUFnSncwQUEwQUNRQ0FESUNCeFJRMEFJQ0JCa2FMRWlBRnhJZ2tnQTNFRVFDQUxJQXNvQWdBZ0IwRWZkSElnR1hJMkFnQWdCMEVCZGlFSElBWkJBV29oQmdzZ0NVRUJkQ0FEY1FSQUlBc2dGVUVDZEdvaUNDQUlLQUlBSUFkQkgzUnlJQmx5TmdJQUlBZEJBWFloQnlBR1FRRnFJUVlMSUFsQkFuUWdBM0VFUUNBTElDMXFJZ2dnQ0NnQ0FDQUhRUjkwY2lBWmNqWUNBQ0FIUVFGMklRY2dCa0VCYWlFR0N5QUpRUU4wSUFOeFJRMEFJQXNnTEdvaUNTQUpLQUlBSUFkQkgzUnlJQmx5TmdJQUlBWkJBV29oQmlBSFFRRjJJUWNMSUNCQkJIUWhJQ0FMUVFScUlRc2dEVUVCYWlJTklDUklEUUFMQ3lBUElBOG9BckFCSUFack5nS3dBU0FQSUE4cEE2Z0JJQWF0aURjRHFBRkJBU0VIUVFRaERTQk9RUUZ4UlEwQUN5QUNJQUlvQWdRZ0EwRWJka0VPY1NBRFFSMTJjaUFEUVJ4MmNpQUtLQUlFUVg5emNYSTJBZ1FMSUFvb0FnQWdBM0lpQTBFRGRrR1Jvc1NJQVhFaUFVRUVkaUFCUVFSMGNpQUJjaUVHSUFVRVFDQWVRUVJySWdjZ0J5Z0NBQ0FUUVFScktBSUFRWDl6SUFGQkhIUnhjallDQUFzZ0hpQWVLQUlBSUFZZ0V5Z0NBRUYvYzNGeU5nSUFJQjRnSGlnQ0JDQVRLQUlFUVg5eklBTkJIM1p4Y2pZQ0JDQUNRUVJxSVFJZ0NrRUVhaUVLSUI1QkJHb2hIaUFUUVFScUlSTWdCVUVJYWlJRklCVklEUUFMQ3lBUlFRUnFJaEVnSDBnTkFBc0xRUUVoQnlBZlFRQk1EUU1nRlVFQVRBMERJQlZCL1AvLy93ZHhJZ1pCQW5RaEFpQVZRUVJKSVFoQkFDRUpBMEFnRGlBSklCVnNRUUowYWlFREFrQUNRQ0FJQkVBZ0F5RUhRUUFoQVF3QkN5QUNJQU5xSVFkQkFDRUJBMEFnQXlBQlFRSjBhaUlOSUEzOUFBSUFJbDc5RFAvLy8zLy8vLzkvLy8vL2YvLy8vMy85VGlKZi9hRUJJRjhnWHYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WTDlDd0lBSUFGQkJHb2lBU0FHUncwQUN5QUdJZ0VnRlVZTkFRc0RRQ0FIUVFBZ0J5Z0NBQ0lEUWYvLy8vOEhjU0lOYXlBTklBTkJBRWdiTmdJQUlBZEJCR29oQnlBQlFRRnFJZ0VnRlVjTkFBc0xRUUVoQnlBSlFRRnFJZ2tnSDBjTkFBc01Bd3NnSVVVTkFDQVBJQm9vQWhnMkFqUWdEeUFXTmdJd0lCMUJBVUhjeHdBZ0QwRXdhaEFQREFFTElBOGdBVFlDRkNBUElCWTJBaEFnSFVFQlFkekhBQ0FQUVJCcUVBOUJBQ0VIREFFTFFRQWhCd3NnRDBHd0Ftb2tBQ0FIRFFFTUF3c2dCQ0FCUVFsMFFkQ3BBV28yQW13Q2Z5QUVLQUowSVFFQ1FBSkFJQm9vQWhBZ0dpZ0NDR3NpQlNBYUtBSVVJQm9vQWd4cklnbHNJZ01nQkNnQ2hBRkxCRUFnQVJBUUlBUWdBMEVDZEJBWUlnRTJBblJCQUNBQlJRMERHaUFFSUFNMkFvUUJEQUVMSUFGRkRRRUxJQUZCQUNBRFFRSjBFQlVhQ3lBRUtBSjRJUUVDUUNBRlFRSnFJZ1lnQ1VFRGFrRUNkaUlNUVFKcWJDSURJQVFvQW9nQlRRUkFJQU5CQW5RaENBd0JDeUFCRUJBZ0JDQURRUUowSWdnUUdDSUJOZ0o0SUFFTkFFRUFEQUVMSUFRZ0F6WUNpQUVnQVVFQUlBZ1FGUm9DUUNBR1JRMEFJQVFvQW5naUJ5RUJBa0FnQmtFRVR3UkFJQWNnQmtGOGNTSU5RUUowYWlFQlFRQWhDQU5BSUFjZ0NFRUNkR3I5REFBQUlFa0FBQ0JKQUFBZ1NRQUFJRW45Q3dJQUlBaEJCR29pQ0NBTlJ3MEFDeUFHSUExR0RRRUxBMEFnQVVHQWdJREpCRFlDQUNBQlFRUnFJUUVnRFVFQmFpSU5JQVpIRFFBTEN5QUhJQXhCQVdvZ0JteEJBblJxSVFOQkFDRU5Ba0FDUUNBR1FRUkpCRUFnQXlFQkRBRUxJQU1nQmtGOGNTSU5RUUowYWlFQlFRQWhDQU5BSUFNZ0NFRUNkR3I5REFBQUlFa0FBQ0JKQUFBZ1NRQUFJRW45Q3dJQUlBaEJCR29pQ0NBTlJ3MEFDeUFHSUExR0RRRUxBMEFnQVVHQWdJREpCRFlDQUNBQlFRUnFJUUVnRFVFQmFpSU5JQVpIRFFBTEN5QUpRUU54SWdGRkRRQWdCa1VOQUVHQWdJRElCRUdBZ0lEQUJFR0FnSUNBQkNBQlFRSkdHeUFCUVFGR0d5RUxJQWNnQmlBTWJFRUNkR29oQTBFQUlRMENRQ0FHUVFSSkJFQWdBeUVCREFFTElBTWdCa0Y4Y1NJTlFRSjBhaUVCSUF2OUVTRmZRUUFoQ0FOQUlBTWdDRUVDZEdvZ1gvMExBZ0FnQ0VFRWFpSUlJQTFIRFFBTElBWWdEVVlOQVFzRFFDQUJJQXMyQWdBZ0FVRUVhaUVCSUExQkFXb2lEU0FHUncwQUN3c2dCQ0FKTmdLQUFTQUVJQVUyQW54QkFRdEZEUUlnR2lnQ0hDQVJhaUlaUVI5T0JFQWdJVVVOQWlBaklCazJBaEFnSFVFQ1FkWEJBQ0FqUVJCcUVBOE1Bd3NnQkJCYVFRQWhBU0FFUWJDcEFUWUNaQ0FFUWRDZUFUWUNZQ0FFUWZDZUFUWUNIQUpBQWtBQ1FBSkFJQm9vQWpRaUIwRUJTdzBBSUFRb0FwQUJSUTBDSUFjTkFBd0JDeUFhS0FJRUlRTWdCMEVFVHdSQUlBZEJmSEVoQWtFQUlRWURRQ0FESUFaQkEzUnFJZ0ZCSEdvZ0FVRVVhaUFCUVF4cUlBSDlDUUlFL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJRjc5cmdFaFhpQUdRUVJxSWdZZ0FrY05BQXNnWGlCZUlGNzlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDlyZ0VpWGlCZUlGNzlEUVFGQmdjQUFRSURBQUVDQXdBQkFnUDlyZ0g5R3dBaEFTQUNJQWRHRFFFTEEwQWdBeUFDUVFOMGFpZ0NCQ0FCYWlFQklBSkJBV29pQWlBSFJ3MEFDd3NnQVVFQ2FpSURJQVFvQXBnQlN3UkFJQVFvQXBRQklBTVFGeUlHUlEwRklBUWdCallDbEFFZ0FTQUdha0VBT3dBQUlBUWdBellDbUFFZ0dpZ0NOQ0VIQ3lBRUtBS1VBU0VlSUFkRkRRRWdHaWdDQkNFR1FRQWhBa0VBSVFFRFFDQUNJQjVxSUFZZ0FVRURkQ0lEYWlJR0tBSUFJQVlvQWdRUUVob2dHaWdDQkNJR0lBTnFLQUlFSUFKcUlRSWdBVUVCYWlJQklCb29BalJKRFFBTERBRUxJQWRCQVVjTkFTQWFLQUlFS0FJQUlSNExJQm9vQWp3aUFRUkFJQVFvQW5RaExDQUVJQUUyQW5RTElCb29BaXdFUUNBV1FRaHhJU1VnQkVFY2FpRVBJQlpCQVhFaExTQVdRUUp4UlNFdVFRSWhId05BSUI0Z0tHb2hBU0FhS0FJQUlDbEJHR3hxSWlBb0FnQWhBd0pBSUMwZ0gwRUNTU0FaSUJvb0FoeEJCR3RNY1hFaUlnUkFJQVFnQVRZQ0ZDQUVJQUVnQTJvaUF6WUNHQ0FFSUFNdkFBQTdBWEFnQTBIL0FUb0FBQ0FFS0FJWVFmOEJPZ0FCSUFSQkFEWUNDQ0FFUVFBMkFnQWdCQ0FCTmdJUURBRUxJQVFnQVRZQ0ZDQUVJQUVnQTJvaUJqWUNHQ0FFSUFZdkFBQTdBWEFnQmtIL0FUb0FBQ0FFS0FJWVFmOEJPZ0FCSUFRZ0JFRWNhallDYUNBRUlBRTJBaEFnQkVFQU5nSU1JQVFnQXdSL0lBRXRBQUJCRUhRRlFZQ0EvQWNMSWdNMkFnQkJBU0VHSUFGQkFXb2hDU0FCTFFBQklRY0NmeUFCTFFBQVFmOEJSZ1JBSUFkQmtBRlBCRUFnQkVFQk5nSU1JQU5CZ1A0RGNnd0NDeUFFSUFrMkFoQkJBQ0VHSUFkQkNYUWdBMm9NQVFzZ0JDQUpOZ0lRSUFkQkNIUWdBM0lMSVFFZ0JDQUdOZ0lJSUFSQmdJQUNOZ0lFSUFRZ0FVRUhkRFlDQUFzZ0lDZ0NBQ0VxQWtBZ0dVRUFUQTBBSUNBb0FnaEZEUUFnSWlBdWNpRW5RUUFoSmdOQUFrQUNRQUpBQWtBQ1FDQWZRUUZyRGdJQkFnQUxJQ0lFUUVFQklCbDBJZ0ZCQVhZZ0FYSWhFU0FFS0FKOElnVkJBblFpRFNBRUtBSjRha0VNYWlFQklBUW9BblFoQmtFQUlRZ2dCQ2dDZ0FFaUEwRUVUd1JBSUFWRkRRVWdCVUVEYkNFQ0lBVkJBWFFoREVFQUlCRnJJUWtEUUNBTVFRSjBJUXRCQUNFREEwQUNRQ0FCSWdjb0FnQWlBVVVOQUFKQUlBRkJrSUNBQVhFTkFDQUJRZThEY1VVTkFDQUVLQUlBSVFFQ1FDQUVLQUlJSWhBTkFDQUJRZjhCUmlFS0lBUW9BaEFpRUMwQUFDRUJBa0FnQ2tVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlBa0FnQVNBUWRrRUJjVVVOQUFKQUlCQU5BQ0FCUWY4QlJpRUtJQVFvQWhBaUVDMEFBQ0VCQWtBZ0NrVUVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SVFOZ0lJSUFZZ0NTQVJJQUVnRUhaQkFYRWlFQnMyQWdBZ0JDZ0NmQ0VCSUFkQkJHc2lDaUFLS0FJQVFTQnlOZ0lBSUFjZ0J5Z0NCRUVJY2pZQ0JDQUhJQWNvQWdBZ0VFRVRkSEpCRUhJMkFnQWdKUTBBSUFkQmZpQUJhMEVDZEdvaUFTQUJLQUlFUVlDQUFuSTJBZ1FnQVNBQktBSUFJQkJCSDNSeVFZQ0FCSEkyQWdBZ0FVRUVheUlCSUFFb0FnQkJnSUFJY2pZQ0FBc2dCeUFIS0FJQVFZQ0FnQUZ5SWdFMkFnQUxBa0FnQVVHQWdZQUljUTBBSUFGQitCNXhSUTBBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0J3Si9JQUVnRUhaQkFYRkZCRUFnQnlnQ0FBd0JDd0pBSUJBTkFDQUJRZjhCUmlFS0lBUW9BaEFpRUMwQUFDRUJBa0FnQ2tVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlJQVlnRFdvZ0NTQVJJQUVnRUhaQkFYRWlBUnMyQWdBZ0IwRUVheUlRSUJBb0FnQkJnQUp5TmdJQUlBY2dCeWdDQkVIQUFISTJBZ1FnQnlnQ0FDQUJRUlowY2tHQUFYSUxRWUNBZ0FoeUlnRTJBZ0FMQWtBZ0FVR0FpSURBQUhFTkFDQUJRY0QzQVhGRkRRQWdCQ2dDQUNFQkFrQWdCQ2dDQ0NJUURRQWdBVUgvQVVZaENpQUVLQUlRSWhBdEFBQWhBUUpBSUFwRkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VBd0JDeUFCUVk4QlRRUkFJQVFnQVRZQ0FDQUVJQkJCQVdvMkFoQkJCeUVRREFJTFFmOEJJUUVnQkVIL0FUWUNBQXRCQ0NFUUN5QUVJQkJCQVdzaUVEWUNDQ0FIQW44Z0FTQVFka0VCY1VVRVFDQUhLQUlBREFFTEFrQWdFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0JpQUxhaUFKSUJFZ0FTQVFka0VCY1NJQkd6WUNBQ0FIUVFSckloQWdFQ2dDQUVHQUVISTJBZ0FnQnlBSEtBSUVRWUFFY2pZQ0JDQUhLQUlBSUFGQkdYUnlRWUFJY2d0QmdJQ0F3QUJ5SWdFMkFnQUxJQUZCZ01DQWdBUnhEUUFnQVVHQXZBOXhSUTBBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUW9nQkNnQ0VDSVFMUUFBSVFFQ1FDQUtSUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJaEEyQWdnZ0FTQVFka0VCY1FSQUlBWWdBa0VDZEdvaFR3SkFJQkFOQUNBQlFmOEJSaUVVSUFRb0FoQWlFQzBBQUNFQkFrQWdGRVVFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlRTmdJSUlFOGdDU0FSSUFFZ0VIWkJBWEVpRUJzMkFnQWdCQ2dDZkNFQklBZEJCR3NpQ2lBS0tBSUFRWUNBQVhJMkFnQWdCeUFIS0FJRVFZQWdjallDQkNBSElBY29BZ0FnRUVFY2RISkJnTUFBY2pZQ0FDQUhJQUZCQW5ScUlnRWdBU2dDQkVFRWNqWUNCQ0FCSUFFb0FneEJBWEkyQWd3Z0FTQUJLQUlJSUJCQkVuUnlRUUp5TmdJSUN5QUhJQWNvQWdCQmdJQ0FnQVJ5TmdJQUN5QUdRUVJxSVFZZ0IwRUVhaUVCSUFOQkFXb2lBeUFGUncwQUN5QUhRUXhxSVFFZ0JpQUNRUUowYWlFR0lBaEJCR29pQ0NBRUtBS0FBU0lEUVh4eFNRMEFDd3NnQXlBSVRRMERJQVZGRFFOQkFDRVRRUUFnRVdzaEN5QURJUkFEUUFKQUlBZ2dFRVlFUUNBSUlSQU1BUXNnQVVFRWF5RU1JQUVvQWdBaERVRUFJUUlEUUFKQUlBMGdBa0VEYkNJSGRpSUpRWkNBZ0FGeERRQWdDVUh2QTNGRkRRQWdCQ2dDQUNFREFrQWdCQ2dDQ0NJSkRRQWdBMEgvQVVjaEVDQUVLQUlRSWdrdEFBQWhBd0pBSUJCRkJFQWdBMEdRQVU4RVFFSC9BU0VESUFSQi93RTJBZ0FNQWdzZ0JDQUROZ0lBSUFRZ0NVRUJhallDRUVFSElRa01BZ3NnQkNBRE5nSUFJQVFnQ1VFQmFqWUNFQXRCQ0NFSkN5QUVJQWxCQVdzaUNUWUNDQUpBSUFNZ0NYWkJBWEZGRFFBZ0JpQUNJQVZzUVFKMGFpRlFBa0FnQ1EwQUlBTkIvd0ZISVEwZ0JDZ0NFQ0lKTFFBQUlRTUNRQ0FOUlFSQUlBTkJrQUZQQkVCQi93RWhBeUFFUWY4Qk5nSUFEQUlMSUFRZ0F6WUNBQ0FFSUFsQkFXbzJBaEJCQnlFSkRBSUxJQVFnQXpZQ0FDQUVJQWxCQVdvMkFoQUxRUWdoQ1FzZ0JDQUpRUUZySWdrMkFnZ2dVQ0FMSUJFZ0F5QUpka0VCY1NJSkd6WUNBQ0FFS0FKOElSQWdEQ0FNS0FJQVFTQWdCM1J5TmdJQUlBRWdBU2dDQUNBSlFSTjBRUkJ5SUFkMGNqWUNBQ0FCSUFFb0FnUkJDQ0FIZEhJMkFnUWdBaUFsY2tVRVFDQUJRWDRnRUd0QkFuUnFJZ01nQXlnQ0JFR0FnQUp5TmdJRUlBTWdBeWdDQUNBSlFSOTBja0dBZ0FSeU5nSUFJQU5CQkdzaUF5QURLQUlBUVlDQUNISTJBZ0FMSUFKQkEwY05BQ0FCSUJCQkFuUnFJZ01nQXlnQ0JFRUVjallDQkNBRElBTW9BZ3hCQVhJMkFnd2dBeUFES0FJSUlBbEJFblJ5UVFKeU5nSUlDeUFCSUFFb0FnQkJnSUNBQVNBSGRISWlEVFlDQUNBRUtBS0FBU0VEQ3lBRElSQWdBa0VCYWlJQ0lBTWdDR3RKRFFBTEN5QUdRUVJxSVFZZ0FVRUVhaUVCSUJOQkFXb2lFeUFGUncwQUN3d0RDMEVBSVFkQkFDRU5RUUFoRndKQUFrQUNRQUpBSUFRb0Fud2lFRUhBQUVjTkFDQUVLQUtBQVVIQUFFY05BRUVBUVFFZ0dYUWlBVUVCZGlBQmNpSVJheUVGSUFSQkhHb2hFQ0FFS0FKNFFZd0NhaUVHSUFRb0FnZ2hDQ0FFS0FJRUlRTWdCQ2dDQUNFQ0lBUW9BbWdoRENBRUtBSjBJUUVnRmtFSWNRMEJBMEJCQUNFWEEwQWdBU0VKSUFZaUJ5Z0NBQ0lHQkVBQ1FDQUdRWkNBZ0FGeERRQWdCa0h2QTNFaUFVVU5BQ0FESUJBZ0JDZ0NiQ0FCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRUtJQXdnQzBFSVFRd2dBU0FEU3lJVUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBb2dDa1VnRkJzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlRb2dEQ0FMUVF4QkNDQUJJQU5MSWhRYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFLUlNBS0lCUWJEQUVMSUFzb0FnUUxCSDhnQXlBUUlBY29BZ1JCRVhaQkJIRWdCMEVFYXlJS0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloUkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUxLQUlBSWdGcklRTWdGRUhRdXdGcUxRQUFJUk1nQ1NBRklCRUNmeUFCSUFKQkVIWkxCRUFnQ3lnQ0JDRVVJQXdnQzBFSVFRd2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFNZ0NDMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQURRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElCUWdGRVVnRGhzTUFRc2dBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NVVUVRQ0FMS0FJRUlSUWdEQ0FMUVF4QkNDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQVNBSUxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFVUlNBVUlBNGJEQUVMSUFzb0FnUUxJQk56SWdFYk5nSUFJQW9nQ2lnQ0FFRWdjallDQUNBSElBY29BZ1JCQ0hJMkFnUWdCMEdNQW1zaUN5QUxLQUlBUVlDQUNISTJBZ0FnQjBHRUFtc2lDeUFMS0FJQVFZQ0FBbkkyQWdBZ0IwR0lBbXNpQ3lBTEtBSUFJQUZCSDNSeVFZQ0FCSEkyQWdBZ0JpQUJRUk4wY2tFUWNnVWdCZ3RCZ0lDQUFYSWhCZ3NDUUNBR1FZQ0JnQWh4RFFBZ0JrSDRIbkZGRFFBZ0F5QVFJQVFvQW13Z0JrRURkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFSUjJRUVJ4SUFkQkJHc2lDaWdDQUVFV2RrRUJjU0FHUVE5MlFSQnhJQVpCRTNaQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FJZ0NpQUtLQUlBUVlBQ2NqWUNBQ0FISUFjb0FnUkJ3QUJ5TmdJRUlBWWdBVUVXZEhKQmdBRnlCU0FHQzBHQWdJQUljaUVHQ3dKQUlBWkJnSWlBd0FCeERRQWdCa0hBOXdGeFJRMEFJQU1nRUNBRUtBSnNJQVpCQm5ZaUZFSHZBM0ZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF3Si9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlRb2dEQ0FMUVFoQkRDQUJJQU5MSWhNYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0NpQUtSU0FUR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaENpQU1JQXRCREVFSUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQXBGSUFvZ0V4c01BUXNnQ3lnQ0JBc0VmeUFESUJBZ0J5Z0NCRUVYZGtFRWNTQUhRUVJySWdvb0FnQkJHWFpCQVhFZ0JrRVNka0VRY1NBR1FSWjJRY0FBY1NBVVFhb0JjWEp5Y25JaUZFSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF5QVVRZEM3QVdvdEFBQWhFeUFKSUFVZ0VRSi9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlSUWdEQ0FMUVFoQkRDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0ZDQVVSU0FPR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaEZDQU1JQXRCREVFSUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQlJGSUJRZ0Roc01BUXNnQ3lnQ0JBc2dFM01pQVJzMkFvQUVJQW9nQ2lnQ0FFR0FFSEkyQWdBZ0J5QUhLQUlFUVlBRWNqWUNCQ0FHSUFGQkdYUnlRWUFJY2dVZ0JndEJnSUNBd0FCeUlRWUxBa0FnQmtHQXdJQ0FCSEVOQUNBR1FZQzhEM0ZGRFFBZ0F5QVFJQVFvQW13Z0JrRUpkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFScDJRUVJ4SUFkQkJHc2lDaWdDQUVFY2RrRUJjU0FHUVJWMlFSQnhJQVpCR1haQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FZZ0NpQUtLQUlBUVlDQUFYSTJBZ0FnQnlBSEtBSUVRWUFnY2pZQ0JDQUhJQWNvQW9RQ1FRUnlOZ0tFQWlBSElBY29Bb3dDUVFGeU5nS01BaUFISUFjb0FvZ0NJQUZCRW5SeVFRSnlOZ0tJQWlBR0lBRkJISFJ5UVlEQUFISUZJQVlMUVlDQWdJQUVjaUVHQ3lBSElBWTJBZ0FMSUFkQkJHb2hCaUFKUVFScUlRRWdGMEVCYWlJWFFjQUFSdzBBQ3lBSFFReHFJUVlnQ1VHRUJtb2hBU0FOUVR4SklWRWdEVUVFYWlFTklGRU5BQXNNQWd0QkFTQVpkQ0lCUVFGMklBRnlJUTBnQkNnQ2VDSUpJQkJCQW5ScVFReHFJUVlnQkNnQ2dBRWhBU0FFS0FJSUlRZ2dCQ2dDQkNFRElBUW9BZ0FoQWlBRUtBSm9JUXdnQkNnQ2RDRVJBa0FnRmtFSWNRUkFBa0FnQVVFRVNRMEFJQkFFUUVFQUlBMXJJUlFnQkVFY2FpRUZJQkJCREd3aEV5QVFRUU4wSVJVRFFFRUFJUXNEUUNBR0lna29BZ0FpQmdSQUFrQWdCa0dRZ0lBQmNRMEFJQVpCN3dOeElnRkZEUUFnQXlBRklBUW9BbXdnQVdvdEFBQkJBblJxSWd3b0FnQWlDaWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkVFUUNBS0tBSUVEQUlMSUFvb0FnUWhEaUFNSUFwQkRFRUlJQUVnQTBzaUVodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRb2dDQzBBQVNFQklBZ3RBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUE1RklBNGdFaHNNQVFzZ0NpZ0NCQ0VPSUF3Z0NrRUlRUXdnQVNBRFN5SVNHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRTWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdDallDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQTRnRGtVZ0Voc0xCSDhnQXlBRklBa29BZ1JCRVhaQkJIRWdDVUVFYXlJT0tBSUFRUk4yUVFGeElBWkJEblpCRUhFZ0JrRVFka0hBQUhFZ0JrR3FBWEZ5Y25KeUloSkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTWdFa0hRdXdGcUxRQUFJUmdnRVNBVUlBMENmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRVNJQXdnQ2tFTVFRZ2dBU0FEU3lJYkcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRWtVZ0VpQWJHd3dCQ3lBS0tBSUVJUklnRENBS1FRaEJEQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdFaUFTUlNBYkd3c2dHSE1pQVJzMkFnQWdEaUFPS0FJQVFTQnlOZ0lBSUFrZ0NTZ0NCRUVJY2pZQ0JDQUdJQUZCRTNSeVFSQnlCU0FHQzBHQWdJQUJjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUdRZmdlY1VVTkFDQURJQVVnQkNnQ2JDQUdRUU4ySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRVVka0VFY1NBSlFRUnJJZzRvQWdCQkZuWkJBWEVnQmtFUGRrRVFjU0FHUVJOMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQkJCQW5ScUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJQkd6WUNBQ0FPSUE0b0FnQkJnQUp5TmdJQUlBa2dDU2dDQkVIQUFISTJBZ1FnQmlBQlFSWjBja0dBQVhJRklBWUxRWUNBZ0FoeUlRWUxBa0FnQmtHQWlJREFBSEVOQUNBR1FjRDNBWEZGRFFBZ0F5QUZJQVFvQW13Z0JrRUdkaUlTUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ2lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQURRWUNBQW5FRVFDQUtLQUlFREFJTElBb29BZ1FoRGlBTUlBcEJERUVJSUFFZ0Ewc2lHQnRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRUJJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBNUZJQTRnR0JzTUFRc2dDaWdDQkNFT0lBd2dDa0VJUVF3Z0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUU1nQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQ2pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUE0Z0RrVWdHQnNMQkg4Z0F5QUZJQWtvQWdSQkYzWkJCSEVnQ1VFRWF5SU9LQUlBUVJsMlFRRnhJQVpCRW5aQkVIRWdCa0VXZGtIQUFIRWdFa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1nRWtIUXV3RnFMUUFBSVJnZ0VTQVZhaUFVSUEwQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFU0lBd2dDa0VNUVFnZ0FTQURTeUliRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dFa1VnRWlBYkd3d0JDeUFLS0FJRUlSSWdEQ0FLUVFoQkRDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0VpQVNSU0FiR3dzZ0dITWlBUnMyQWdBZ0RpQU9LQUlBUVlBUWNqWUNBQ0FKSUFrb0FnUkJnQVJ5TmdJRUlBWWdBVUVaZEhKQmdBaHlCU0FHQzBHQWdJREFBSEloQmdzQ1FDQUdRWURBZ0lBRWNRMEFJQVpCZ0x3UGNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFsMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVhZGtFRWNTQUpRUVJySWc0b0FnQkJISFpCQVhFZ0JrRVZka0VRY1NBR1FSbDJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJOcUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJnSUFCY2pZQ0FDQUpJQWtvQWdSQmdDQnlOZ0lFSUFRb0FueEJBblFnQ1dvaUFTQUJLQUlFUVFSeU5nSUVJQUVnQVNnQ0RFRUJjallDRENBQklBRW9BZ2dnQ2tFU2RISkJBbkkyQWdnZ0JpQUtRUngwY2tHQXdBQnlCU0FHQzBHQWdJQ0FCSEloQmdzZ0NTQUdOZ0lBQ3lBSlFRUnFJUVlnRVVFRWFpRVJJQXRCQVdvaUN5QVFSdzBBQ3lBSlFReHFJUVlnRVNBVGFpRVJJQWRCQkdvaUJ5QUVLQUtBQVNJQlFYeHhTUTBBQ3d3QkMwRUVJQUZCZkhFaUJpQUdRUVJORzBFQmF5SUdRWHh4UVFScUlRY2dDU0FHUVFGMFFYaHhha0VVYWlFR0N5QUVJQWcyQWdnZ0JDQUROZ0lFSUFRZ0FqWUNBQ0FFSUF3MkFtZ2dFRVVOQVNBQklBZE5EUUVEUUNBQklBZEdJVkpCQUNFSUlBY2hBU0JTUlFSQUEwQWdCQ0FHSUJFZ0NDQVFiRUVDZEdvZ0RTQUlJQVFvQW54QkFtcEJBUkJaSUFoQkFXb2lDQ0FFS0FLQUFTSUJJQWRyU1EwQUN3c2dCa0VFYWlFR0lCRkJCR29oRVNBWFFRRnFJaGNnRUVjTkFBc01BUXNDUUNBQlFRUkpEUUFnRUFSQVFRQWdEV3NoRkNBRVFSeHFJUVVnRUVFTWJDRVRJQkJCQTNRaEZRTkFRUUFoQ3dOQUlBWWlDU2dDQUNJR0JFQUNRQ0FHUVpDQWdBRnhEUUFnQmtIdkEzRWlBVVVOQUNBRElBVWdCQ2dDYkNBQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVNHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFTR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaEliYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVNHd3NFZnlBRElBVWdDU2dDQkVFUmRrRUVjU0FKUVFScklnNG9BZ0JCRTNaQkFYRWdCa0VPZGtFUWNTQUdRUkIyUWNBQWNTQUdRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJJSEkyQWdBZ0NTQUpLQUlFUVFoeU5nSUVJQWxCZmlBRUtBSjhhMEVDZEdvaUFTQUJLQUlFUVlDQUFuSTJBZ1FnQVNBQktBSUFJQXBCSDNSeVFZQ0FCSEkyQWdBZ0FVRUVheUlCSUFFb0FnQkJnSUFJY2pZQ0FDQUdJQXBCRTNSeVFSQnlCU0FHQzBHQWdJQUJjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUdRZmdlY1VVTkFDQURJQVVnQkNnQ2JDQUdRUU4ySWhKQjd3TnhhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBWUd3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhnYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FZR3dzRWZ5QURJQVVnQ1NnQ0JFRVVka0VFY1NBSlFRUnJJZzRvQWdCQkZuWkJBWEVnQmtFUGRrRVFjU0FHUVJOMlFjQUFjU0FTUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQkJCQW5ScUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJQkd6WUNBQ0FPSUE0b0FnQkJnQUp5TmdJQUlBa2dDU2dDQkVIQUFISTJBZ1FnQmlBQlFSWjBja0dBQVhJRklBWUxRWUNBZ0FoeUlRWUxBa0FnQmtHQWlJREFBSEVOQUNBR1FjRDNBWEZGRFFBZ0F5QUZJQVFvQW13Z0JrRUdkaUlTUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ2lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQURRWUNBQW5FRVFDQUtLQUlFREFJTElBb29BZ1FoRGlBTUlBcEJERUVJSUFFZ0Ewc2lHQnRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRUJJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBNUZJQTRnR0JzTUFRc2dDaWdDQkNFT0lBd2dDa0VJUVF3Z0FTQURTeUlZRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUU1nQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQ2pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUE0Z0RrVWdHQnNMQkg4Z0F5QUZJQWtvQWdSQkYzWkJCSEVnQ1VFRWF5SU9LQUlBUVJsMlFRRnhJQVpCRW5aQkVIRWdCa0VXZGtIQUFIRWdFa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1nRWtIUXV3RnFMUUFBSVJnZ0VTQVZhaUFVSUEwQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFU0lBd2dDa0VNUVFnZ0FTQURTeUliRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dFa1VnRWlBYkd3d0JDeUFLS0FJRUlSSWdEQ0FLUVFoQkRDQUJJQU5MSWhzYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0VpQVNSU0FiR3dzZ0dITWlBUnMyQWdBZ0RpQU9LQUlBUVlBUWNqWUNBQ0FKSUFrb0FnUkJnQVJ5TmdJRUlBWWdBVUVaZEhKQmdBaHlCU0FHQzBHQWdJREFBSEloQmdzQ1FDQUdRWURBZ0lBRWNRMEFJQVpCZ0x3UGNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFsMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVhZGtFRWNTQUpRUVJySWc0b0FnQkJISFpCQVhFZ0JrRVZka0VRY1NBR1FSbDJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJOcUlCUWdEUUovSUFFZ0FrRVFkazBFUUNBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4QkVBZ0NpZ0NCQXdDQ3lBS0tBSUVJUklnRENBS1FReEJDQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEFTQUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUtOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBU1JTQVNJQnNiREFFTElBb29BZ1FoRWlBTUlBcEJDRUVNSUFFZ0Ewc2lHeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRURJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQW8yQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFTSUJKRklCc2JDeUFZY3lJS0d6WUNBQ0FPSUE0b0FnQkJnSUFCY2pZQ0FDQUpJQWtvQWdSQmdDQnlOZ0lFSUFRb0FueEJBblFnQ1dvaUFTQUJLQUlFUVFSeU5nSUVJQUVnQVNnQ0RFRUJjallDRENBQklBRW9BZ2dnQ2tFU2RISkJBbkkyQWdnZ0JpQUtRUngwY2tHQXdBQnlCU0FHQzBHQWdJQ0FCSEloQmdzZ0NTQUdOZ0lBQ3lBSlFRUnFJUVlnRVVFRWFpRVJJQXRCQVdvaUN5QVFSdzBBQ3lBSlFReHFJUVlnRVNBVGFpRVJJQWRCQkdvaUJ5QUVLQUtBQVNJQlFYeHhTUTBBQ3d3QkMwRUVJQUZCZkhFaUJpQUdRUVJORzBFQmF5SUdRWHh4UVFScUlRY2dDU0FHUVFGMFFYaHhha0VVYWlFR0N5QUVJQWcyQWdnZ0JDQUROZ0lFSUFRZ0FqWUNBQ0FFSUF3MkFtZ2dFRVVOQUNBQklBZE5EUUFEUUNBQklBZEdJVk5CQUNFSUlBY2hBU0JUUlFSQUEwQWdCQ0FHSUJFZ0NDQVFiRUVDZEdvZ0RTQUlJQVFvQW54QkFtcEJBQkJaSUFoQkFXb2lDQ0FFS0FLQUFTSUJJQWRyU1EwQUN3c2dCa0VFYWlFR0lCRkJCR29oRVNBWFFRRnFJaGNnRUVjTkFBc0xEQUlMQTBCQkFDRVhBMEFnQVNFSklBWWlCeWdDQUNJR0JFQUNRQ0FHUVpDQWdBRnhEUUFnQmtIdkEzRWlBVVVOQUNBRElCQWdCQ2dDYkNBQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VLSUF3Z0MwRUlRUXdnQVNBRFN5SVVHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQW9nQ2tVZ0ZCc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUW9nRENBTFFReEJDQ0FCSUFOTEloUWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBS1JTQUtJQlFiREFFTElBc29BZ1FMQkg4Z0F5QVFJQWNvQWdSQkVYWkJCSEVnQjBFRWF5SUtLQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaFJCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1nRkVIUXV3RnFMUUFBSVJNZ0NTQUZJQkVDZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VVSUF3Z0MwRUlRUXdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQlFnRkVVZ0Roc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUlFnRENBTFFReEJDQ0FCSUFOTElnNGJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBVVJTQVVJQTRiREFFTElBc29BZ1FMSUJOeklnRWJOZ0lBSUFvZ0NpZ0NBRUVnY2pZQ0FDQUhJQWNvQWdSQkNISTJBZ1FnQmlBQlFSTjBja0VRY2dVZ0JndEJnSUNBQVhJaEJnc0NRQ0FHUVlDQmdBaHhEUUFnQmtINEhuRkZEUUFnQXlBUUlBUW9BbXdnQmtFRGRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJSMlFRUnhJQWRCQkdzaUNpZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQUlnQ2lBS0tBSUFRWUFDY2pZQ0FDQUhJQWNvQWdSQndBQnlOZ0lFSUFZZ0FVRVdkSEpCZ0FGeUJTQUdDMEdBZ0lBSWNpRUdDd0pBSUFaQmdJaUF3QUJ4RFFBZ0JrSEE5d0Z4UlEwQUlBTWdFQ0FFS0FKc0lBWkJCbllpRkVIdkEzRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXdKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVFvZ0RDQUxRUWhCRENBQklBTkxJaE1iYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nQ2lBS1JTQVRHd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoQ2lBTUlBdEJERUVJSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBcEZJQW9nRXhzTUFRc2dDeWdDQkFzRWZ5QURJQkFnQnlnQ0JFRVhka0VFY1NBSFFRUnJJZ29vQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FVUWFvQmNYSnljbklpRkVIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdzb0FnQWlBV3NoQXlBVVFkQzdBV290QUFBaEV5QUpJQVVnRVFKL0lBRWdBa0VRZGtzRVFDQUxLQUlFSVJRZ0RDQUxRUWhCRENBQklBTkxJZzRiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBeUFJTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQTBFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFOQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRkNBVVJTQU9Hd3dCQ3lBQ0lBRkJFSFJySVFJZ0EwR0FnQUp4UlFSQUlBc29BZ1FoRkNBTUlBdEJERUVJSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRUJJQWd0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQVVFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElCUkZJQlFnRGhzTUFRc2dDeWdDQkFzZ0UzTWlBUnMyQW9BRUlBb2dDaWdDQUVHQUVISTJBZ0FnQnlBSEtBSUVRWUFFY2pZQ0JDQUdJQUZCR1hSeVFZQUljZ1VnQmd0QmdJQ0F3QUJ5SVFZTEFrQWdCa0dBd0lDQUJIRU5BQ0FHUVlDOEQzRkZEUUFnQXlBUUlBUW9BbXdnQmtFSmRpSVVRZThEY1dvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhDaUFNSUF0QkNFRU1JQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QUtJQXBGSUJNYkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRUtJQXdnQzBFTVFRZ2dBU0FEU3lJVEcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQ2tVZ0NpQVRHd3dCQ3lBTEtBSUVDd1IvSUFNZ0VDQUhLQUlFUVJwMlFRUnhJQWRCQkdzaUNpZ0NBRUVjZGtFQmNTQUdRUlYyUVJCeElBWkJHWFpCd0FCeElCUkJxZ0Z4Y25KeWNpSVVRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlDeWdDQUNJQmF5RURJQlJCMExzQmFpMEFBQ0VUSUFrZ0JTQVJBbjhnQVNBQ1FSQjJTd1JBSUFzb0FnUWhGQ0FNSUF0QkNFRU1JQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFRElBZ3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBMEVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFFaEF5QVVJQlJGSUE0YkRBRUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZCRUFnQ3lnQ0JDRVVJQXdnQzBFTVFRZ2dBU0FEU3lJT0cyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFFZ0NDMEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTUFnc2dCQ0FMTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUxOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSUxJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRkVVZ0ZDQU9Hd3dCQ3lBTEtBSUVDeUFUY3lJQkd6WUNnQVlnQ2lBS0tBSUFRWUNBQVhJMkFnQWdCeUFIS0FJRVFZQWdjallDQkNBSElBY29Bb1FDUVFSeU5nS0VBaUFISUFjb0Fvd0NRUUZ5TmdLTUFpQUhJQWNvQW9nQ0lBRkJFblJ5UVFKeU5nS0lBaUFHSUFGQkhIUnlRWURBQUhJRklBWUxRWUNBZ0lBRWNpRUdDeUFISUFZMkFnQUxJQWRCQkdvaEJpQUpRUVJxSVFFZ0YwRUJhaUlYUWNBQVJ3MEFDeUFIUVF4cUlRWWdDVUdFQm1vaEFTQU5RVHhKSVZRZ0RVRUVhaUVOSUZRTkFBc0xJQVFnQ0RZQ0NDQUVJQU0yQWdRZ0JDQUNOZ0lBSUFRZ0REWUNhQXNNQWdzZ0lnUkFRUUVnR1hSQkFYWWhDU0FFS0FKOEloRkJBblFpRENBRUtBSjRha0VNYWlFQklBUW9BblFoQmtFQUlRMGdCQ2dDZ0FFaUEwRUVUd1JBSUJGRkRRUWdFVUVEYkNFRklCRkJBWFFoQzBFQUlBbHJJUUlEUUNBTFFRSjBJUXBCQUNFREEwQUNRQ0FCSWdjb0FnQWlBVVVOQUNBQlFaQ0FnQUZ4UVJCR0JFQWdCQ2dDQUNFQkFrQWdCQ2dDQ0NJUURRQWdBVUgvQVVZaEVDQUVLQUlRSWdndEFBQWhBUUpBSUJCRkJFQWdCQ0FCTmdJQUlBUWdDRUVCYWpZQ0VBd0JDeUFCUVk4QlRRUkFJQVFnQVRZQ0FDQUVJQWhCQVdvMkFoQkJCeUVRREFJTFFmOEJJUUVnQkVIL0FUWUNBQXRCQ0NFUUN5QUVJQkJCQVdzaUNEWUNDQ0FHSUFJZ0NTQUJJQWgyUVFGeElBWW9BZ0FpQVVFZmRrWWJJQUZxTmdJQUlBY2dCeWdDQUVHQWdNQUFjaUlCTmdJQUN5QUJRWUNCZ0FoeFFZQUJSZ1JBSUFRb0FnQWhBUUpBSUFRb0FnZ2lFQTBBSUFGQi93RkdJUkFnQkNnQ0VDSUlMUUFBSVFFQ1FDQVFSUVJBSUFRZ0FUWUNBQ0FFSUFoQkFXbzJBaEFNQVFzZ0FVR1BBVTBFUUNBRUlBRTJBZ0FnQkNBSVFRRnFOZ0lRUVFjaEVBd0NDMEgvQVNFQklBUkIvd0UyQWdBTFFRZ2hFQXNnQkNBUVFRRnJJZ2cyQWdnZ0JpQU1haUlRSUFJZ0NTQUJJQWgyUVFGeElCQW9BZ0FpQVVFZmRrWWJJQUZxTmdJQUlBY2dCeWdDQUVHQWdJQUVjaUlCTmdJQUN5QUJRWUNJZ01BQWNVR0FDRVlFUUNBRUtBSUFJUUVDUUNBRUtBSUlJaEFOQUNBQlFmOEJSaUVRSUFRb0FoQWlDQzBBQUNFQkFrQWdFRVVFUUNBRUlBRTJBZ0FnQkNBSVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0NFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlJTmdJSUlBWWdDbW9pRUNBQ0lBa2dBU0FJZGtFQmNTQVFLQUlBSWdGQkgzWkdHeUFCYWpZQ0FDQUhJQWNvQWdCQmdJQ0FJSElpQVRZQ0FBc2dBVUdBd0lDQUJIRkJnTUFBUncwQUlBWWdCVUVDZEdvaEVDQUVLQUlBSVFFQ1FDQUVLQUlJSWdnTkFDQUJRZjhCUmlFVUlBUW9BaEFpQ0MwQUFDRUJBa0FnRkVVRVFDQUVJQUUyQWdBZ0JDQUlRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdDRUVCYWpZQ0VFRUhJUWdNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVFnTElBUWdDRUVCYXlJSU5nSUlJQkFnQWlBSklBRWdDSFpCQVhFZ0VDZ0NBQ0lCUVI5MlJoc2dBV28yQWdBZ0J5QUhLQUlBUVlDQWdJQUNjallDQUFzZ0JrRUVhaUVHSUFkQkJHb2hBU0FEUVFGcUlnTWdFVWNOQUFzZ0IwRU1haUVCSUFZZ0JVRUNkR29oQmlBTlFRUnFJZzBnQkNnQ2dBRWlBMEY4Y1VrTkFBc0xJQU1nRFUwTkFpQVJSUTBDUVFBaEUwRUFJQWxySVFVZ0F5RUhBMEFDUUNBSElBMUdCRUFnRFNFSERBRUxJQUVvQWdBaEVFRUFJUUlEUUVHUWdJQUJJQUpCQTJ3aUIzUWdFSEZCRUNBSGRFWUVRQ0FHSUFJZ0VXeEJBblJxSVJBZ0JDZ0NBQ0VEQWtBZ0JDZ0NDQ0lJRFFBZ0EwSC9BVWNoRENBRUtBSVFJZ2d0QUFBaEF3SkFJQXhGQkVBZ0EwR1FBVThFUUVIL0FTRURJQVJCL3dFMkFnQU1BZ3NnQkNBRE5nSUFJQVFnQ0VFQmFqWUNFRUVISVFnTUFnc2dCQ0FETmdJQUlBUWdDRUVCYWpZQ0VBdEJDQ0VJQ3lBRUlBaEJBV3NpQ0RZQ0NDQVFJQVVnQ1NBRElBaDJRUUZ4SUJBb0FnQWlBMEVmZGtZYklBTnFOZ0lBSUFFZ0FTZ0NBRUdBZ01BQUlBZDBjaUlRTmdJQUlBUW9Bb0FCSVFNTElBTWhCeUFDUVFGcUlnSWdBeUFOYTBrTkFBc0xJQVpCQkdvaEJpQUJRUVJxSVFFZ0UwRUJhaUlUSUJGSERRQUxEQUlMSUFRb0FuZ2hDQ0FFS0FKMElRY2dCQ2dDZ0FFaEF3SkFJQVFvQW53aURFSEFBRWNOQUNBRFFjQUFSdzBBSUFoQmpBSnFJUU5CQUNFVFFRQkJBU0FaZEVFQmRpSUZheUVNSUFRb0FnZ2hBaUFFS0FJRUlRWWdCQ2dDQUNFQklBUW9BbWdoRFFOQVFRQWhDQU5BSUFjaENTQURJaEFvQWdBaUJ3UkFJQU1oVlNBSFFaQ0FnQUZ4UVJCR0JFQWdCaUFQUVJCQkQwRU9JQWRCN3dOeEd5QUhRWUNBd0FCeEcwRUNkR29pRFNnQ0FDSVJLQUlBSWdOcklRWUNmeUFESUFGQkVIWkxCRUFnRVNnQ0JDRUxJQTBnRVVFSVFRd2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFZZ0FpMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQUdRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lBc2dDMFVnQ2hzTUFRc2dBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NVVUVRQ0FSS0FJRUlRc2dEU0FSUVF4QkNDQURJQVpMSWdvYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlBa0VCYWlFUklBSXRBQUVoQXlBQ0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWd3Q0N5QUVJQkUyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlCRTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRc2dBa0VCYXlFQ0lBRkJBWFFoQVNBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFMUlNBTElBb2JEQUVMSUJFb0FnUUxJUU1nQ1NBTUlBVWdBeUFKS0FJQUloRkJIM1pHR3lBUmFqWUNBQ0FIUVlDQXdBQnlJUWNMSUFkQmdJR0FDSEZCZ0FGR0JFQWdCaUFQUVJCQkQwRU9JQWRCK0I1eEd5QUhRWUNBZ0FSeEcwRUNkR29pRFNnQ0FDSVJLQUlBSWdOcklRWUNmeUFESUFGQkVIWkxCRUFnRVNnQ0JDRUxJQTBnRVVFSVFRd2dBeUFHU3lJS0cyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaEVTQUNMUUFCSVFZZ0FpMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTUFnc2dCQ0FSTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQVJOZ0lRUVFnaEFpQUdRUWgwSUFGcUlRRUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lBc2dDMFVnQ2hzTUFRc2dBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NVVUVRQ0FSS0FJRUlRc2dEU0FSUVF4QkNDQURJQVpMSWdvYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlBa0VCYWlFUklBSXRBQUVoQXlBQ0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWd3Q0N5QUVJQkUyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlCRTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRc2dBa0VCYXlFQ0lBRkJBWFFoQVNBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFMUlNBTElBb2JEQUVMSUJFb0FnUUxJUU1nQ1NBTUlBVWdBeUFKS0FLQUFpSVJRUjkyUmhzZ0VXbzJBb0FDSUFkQmdJQ0FCSEloQndzZ0IwR0FpSURBQUhGQmdBaEdCRUFnQmlBUFFSQkJEMEVPSUFkQndQY0JjUnNnQjBHQWdJQWdjUnRCQW5ScUlnMG9BZ0FpRVNnQ0FDSURheUVHQW44Z0F5QUJRUkIyU3dSQUlCRW9BZ1FoQ3lBTklCRkJDRUVNSUFNZ0Jrc2lDaHRxS0FJQU5nSUFBMEFDUUNBQ0RRQWdCQ2dDRUNJQ1FRRnFJUkVnQWkwQUFTRUdJQUl0QUFCQi93RkdCRUFnQmtHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FVR0EvZ05xSVFGQkNDRUNEQUlMSUFRZ0VUWUNFQ0FHUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnRVRZQ0VFRUlJUUlnQmtFSWRDQUJhaUVCQ3lBQ1FRRnJJUUlnQVVFQmRDRUJJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhCaUFMSUF0RklBb2JEQUVMSUFFZ0EwRVFkR3NoQVNBR1FZQ0FBbkZGQkVBZ0VTZ0NCQ0VMSUEwZ0VVRU1RUWdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRTWdBaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQU5CQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFEUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0MwVWdDeUFLR3d3QkN5QVJLQUlFQ3lFRElBa2dEQ0FGSUFNZ0NTZ0NnQVFpRVVFZmRrWWJJQkZxTmdLQUJDQUhRWUNBZ0NCeUlRY0xJRlVnQjBHQXdJQ0FCSEZCZ01BQVJnUi9JQVlnRDBFUVFROUJEaUFIUVlDOEQzRWJJQWRCZ0lDQWdBSnhHMEVDZEdvaURTZ0NBQ0lSS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpMQkVBZ0VTZ0NCQ0VMSUEwZ0VVRUlRUXdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRWWdBaTBBQUVIL0FVWUVRQ0FHUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFHUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQXNnQzBVZ0Noc01BUXNnQVNBRFFSQjBheUVCSUFaQmdJQUNjVVVFUUNBUktBSUVJUXNnRFNBUlFReEJDQ0FESUFaTElnb2JhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQWtFQmFpRVJJQUl0QUFFaEF5QUNMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnd0NDeUFFSUJFMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQkUyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXNnQWtFQmF5RUNJQUZCQVhRaEFTQUdRUUYwSWdaQmdJQUNTUTBBQ3lBTFJTQUxJQW9iREFFTElCRW9BZ1FMSVFNZ0NTQU1JQVVnQXlBSktBS0FCaUlSUVI5MlJoc2dFV28yQW9BR0lBZEJnSUNBZ0FKeUJTQUhDellDQUFzZ0VFRUVhaUVESUFsQkJHb2hCeUFJUVFGcUlnaEJ3QUJIRFFBTElCQkJER29oQXlBSlFZUUdhaUVISUJOQlBFa2hWaUFUUVFScUlSTWdWZzBBQ3lBRUlBSTJBZ2dnQkNBR05nSUVJQVFnQVRZQ0FDQUVJQTAyQW1nTUFndEJBU0FaZEVFQmRpRUxJQWdnREVFQ2RDSU9ha0VNYWlFSklBUW9BZ2doQWlBRUtBSUVJUVlnQkNnQ0FDRUJJQVFvQW1naERVRUFJUkVDUUNBRFFRUkpEUUFnREFSQUlBeEJBMndoRkNBTVFRRjBJUmRCQUNBTGF5RUtBMEFnRjBFQ2RDRVNRUUFoQ0FOQUlBa2lCU2dDQUNJUUJFQWdFRUdRZ0lBQmNVRVFSZ1JBSUFZZ0QwRVFRUTlCRGlBUVFlOERjUnNnRUVHQWdNQUFjUnRCQW5ScUlnMG9BZ0FpQ1NnQ0FDSURheUVHQW44Z0F5QUJRUkIyVFFSQUlBRWdBMEVRZEdzaEFTQUdRWUNBQW5FRVFDQUpLQUlFREFJTElBa29BZ1FoRXlBTklBbEJERUVJSUFNZ0Jrc2lGUnRxS0FJQU5nSUFBMEFDUUNBQ0RRQWdCQ2dDRUNJSlFRRnFJUUlnQ1MwQUFTRURJQWt0QUFCQi93RkhCRUFnQkNBQ05nSVFRUWdoQWlBRFFRaDBJQUZxSVFFTUFRc2dBMEdQQVUwRVFDQUVJQUkyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBVUdBL2dOcUlRRkJDQ0VDQ3lBQ1FRRnJJUUlnQVVFQmRDRUJJQVpCQVhRaUJrR0FnQUpKRFFBTElCTkZJQk1nRlJzTUFRc2dDU2dDQkNFVElBMGdDVUVJUVF3Z0F5QUdTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnbEJBV29oQWlBSkxRQUJJUVlnQ1MwQUFFSC9BVWNFUUNBRUlBSTJBaEJCQ0NFQ0lBWkJDSFFnQVdvaEFRd0JDeUFHUVk4QlRRUkFJQVFnQWpZQ0VDQUdRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUJNZ0UwVWdGUnNMSVFNZ0J5QUtJQXNnQXlBSEtBSUFJZ2xCSDNaR0d5QUphallDQUNBUVFZQ0F3QUJ5SVJBTElCQkJnSUdBQ0hGQmdBRkdCRUFnQmlBUFFSQkJEMEVPSUJCQitCNXhHeUFRUVlDQWdBUnhHMEVDZEdvaURTZ0NBQ0lKS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpOQkVBZ0FTQURRUkIwYXlFQklBWkJnSUFDY1FSQUlBa29BZ1FNQWdzZ0NTZ0NCQ0VUSUEwZ0NVRU1RUWdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRTWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVF3QkN5QURRWThCVFFSQUlBUWdBallDRUNBRFFRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0UwVWdFeUFWR3d3QkN5QUpLQUlFSVJNZ0RTQUpRUWhCRENBRElBWkxJaFViYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUNVRUJhaUVDSUFrdEFBRWhCaUFKTFFBQVFmOEJSd1JBSUFRZ0FqWUNFRUVJSVFJZ0JrRUlkQ0FCYWlFQkRBRUxJQVpCandGTkJFQWdCQ0FDTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWdzZ0FrRUJheUVDSUFGQkFYUWhBU0FEUVFGMElnTkJnSUFDU1EwQUN5QURJUVlnRXlBVFJTQVZHd3NoQXlBSElBNXFJZ2tnQ2lBTElBTWdDU2dDQUNJSlFSOTJSaHNnQ1dvMkFnQWdFRUdBZ0lBRWNpRVFDeUFRUVlDSWdNQUFjVUdBQ0VZRVFDQUdJQTlCRUVFUFFRNGdFRUhBOXdGeEd5QVFRWUNBZ0NCeEcwRUNkR29pRFNnQ0FDSUpLQUlBSWdOcklRWUNmeUFESUFGQkVIWk5CRUFnQVNBRFFSQjBheUVCSUFaQmdJQUNjUVJBSUFrb0FnUU1BZ3NnQ1NnQ0JDRVRJQTBnQ1VFTVFRZ2dBeUFHU3lJVkcyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ2xCQVdvaEFpQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQUkyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXdCQ3lBRFFZOEJUUVJBSUFRZ0FqWUNFQ0FEUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0JrRUJkQ0lHUVlDQUFra05BQXNnRTBVZ0V5QVZHd3dCQ3lBSktBSUVJUk1nRFNBSlFRaEJEQ0FESUFaTEloVWJhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQ1VFQmFpRUNJQWt0QUFFaEJpQUpMUUFBUWY4QlJ3UkFJQVFnQWpZQ0VFRUlJUUlnQmtFSWRDQUJhaUVCREFFTElBWkJqd0ZOQkVBZ0JDQUNOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3NnQWtFQmF5RUNJQUZCQVhRaEFTQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRWWdFeUFUUlNBVkd3c2hBeUFISUJKcUlna2dDaUFMSUFNZ0NTZ0NBQ0lKUVI5MlJoc2dDV28yQWdBZ0VFR0FnSUFnY2lFUUN5QUZJQkJCZ01DQWdBUnhRWURBQUVZRWZ5QUdJQTlCRUVFUFFRNGdFRUdBdkE5eEd5QVFRWUNBZ0lBQ2NSdEJBblJxSWcwb0FnQWlDU2dDQUNJRGF5RUdBbjhnQXlBQlFSQjJUUVJBSUFFZ0EwRVFkR3NoQVNBR1FZQ0FBbkVFUUNBSktBSUVEQUlMSUFrb0FnUWhFeUFOSUFsQkRFRUlJQU1nQmtzaUZSdHFLQUlBTmdJQUEwQUNRQ0FDRFFBZ0JDZ0NFQ0lKUVFGcUlRSWdDUzBBQVNFRElBa3RBQUJCL3dGSEJFQWdCQ0FDTmdJUVFRZ2hBaUFEUVFoMElBRnFJUUVNQVFzZ0EwR1BBVTBFUUNBRUlBSTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FVR0EvZ05xSVFGQkNDRUNDeUFDUVFGcklRSWdBVUVCZENFQklBWkJBWFFpQmtHQWdBSkpEUUFMSUJORklCTWdGUnNNQVFzZ0NTZ0NCQ0VUSUEwZ0NVRUlRUXdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRWWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFaQkNIUWdBV29oQVF3QkN5QUdRWThCVFFSQUlBUWdBallDRUNBR1FRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQk1nRTBVZ0ZSc0xJUU1nQnlBVVFRSjBhaUlKSUFvZ0N5QURJQWtvQWdBaUNVRWZka1liSUFscU5nSUFJQkJCZ0lDQWdBSnlCU0FRQ3pZQ0FBc2dCVUVFYWlFSklBZEJCR29oQnlBSVFRRnFJZ2dnREVjTkFBc2dCVUVNYWlFSklBY2dGRUVDZEdvaEJ5QVJRUVJxSWhFZ0JDZ0NnQUVpQTBGOGNVa05BQXNNQVF0QkJDQURRWHh4SWdrZ0NVRUVUUnRCQVdzaUNVRjhjVUVFYWlFUklBZ2dDVUVCZEVGNGNXcEJGR29oQ1FzZ0JDQUNOZ0lJSUFRZ0JqWUNCQ0FFSUFFMkFnQWdCQ0FOTmdKb0lBeEZEUUVnQXlBUlRRMEJRUUFoRTBFQUlBdHJJUlFnQXlFQkEwQUNRQ0FCSUJGR0JFQWdFU0VCREFFTElBa29BZ0FoQWtFQUlSQURRRUdRZ0lBQklCQkJBMndpQ0hRZ0FuRkJFQ0FJZEVZRVFDQUhJQXdnRUd4QkFuUnFJUVVnQkNBUFFSQkJEMEVPSUFJZ0NIWWlBVUh2QTNFYklBRkJnSURBQUhFYlFRSjBhaUlOTmdKb0lBUWdCQ2dDQkNBTktBSUFJZ0lvQWdBaUFXc2lBellDQkFKL0lBRWdCQ2dDQUNJR1FSQjJTd1JBSUFJb0FnUWhDaUFFSUFFMkFnUWdEU0FDUVFoQkRDQUJJQU5MSWc0YmFpZ0NBRFlDQUNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRFNBQ0xRQUJJUU1nQWkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUdRWUQrQTJvaEJrRUlJUUlNQWdzZ0JDQU5OZ0lRSUFOQkNYUWdCbW9oQmtFSElRSU1BUXNnQkNBTk5nSVFRUWdoQWlBRFFRaDBJQVpxSVFZTElBUWdBa0VCYXlJQ05nSUlJQVFnQmtFQmRDSUdOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUtJQXBGSUE0YkRBRUxJQVFnQmlBQlFSQjBheUlHTmdJQUlBTkJnSUFDY1VVRVFDQUNLQUlFSVFvZ0RTQUNRUXhCQ0NBQklBTkxJZzRiYWlnQ0FEWUNBQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hEU0FDTFFBQklRRWdBaTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBR1FZRCtBMm9oQmtFSUlRSU1BZ3NnQkNBTk5nSVFJQUZCQ1hRZ0Jtb2hCa0VISVFJTUFRc2dCQ0FOTmdJUVFRZ2hBaUFCUVFoMElBWnFJUVlMSUFRZ0FrRUJheUlDTmdJSUlBUWdCa0VCZENJR05nSUFJQVFnQTBFQmRDSUROZ0lFSUFOQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBSW9BZ1FMSVFFZ0JTQVVJQXNnQVNBRktBSUFJZ05CSDNaR0d5QURhallDQUNBSklBa29BZ0JCZ0lEQUFDQUlkSElpQWpZQ0FDQUVLQUtBQVNFREN5QVFRUUZxSWhBZ0F5SUJJQkZyU1EwQUN3c2dDVUVFYWlFSklBZEJCR29oQnlBVFFRRnFJaE1nREVjTkFBc01BUXRCQUNFUlFRQWhGd0pBQWtBQ1FBSkFJQVFvQW53aUZFSEFBRWNOQUNBRUtBS0FBVUhBQUVjTkFFRUFRUUVnR1hRaUFVRUJkaUFCY2lJVWF5RVRJQVJCNUFCcUlRZ2dCRUhnQUdvaEVDQUVRUnhxSVFzZ0JDZ0NlRUdNQW1vaEJpQUVLQUlJSVFVZ0JDZ0NCQ0VCSUFRb0FnQWhBaUFFS0FKb0lRa2dCQ2dDZENFRElCWkJDSEVOQVFOQVFRQWhEQU5BSUFNaEVRSkFBa0FDZndKQUFrQWdCaUlOS0FJQUlnWkZCRUFnQVNBUUtBSUFJZ01vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUWNnRUNBRFFRaEJEQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUpJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdCeUFIUlNBS0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhCeUFRSUFOQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dDaHNNQVFzZ0F5Z0NCQXRGQkVBZ0VDRUpEQVlMSUFFZ0NDZ0NBQ0lES0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpMQkVBZ0F5Z0NCQ0VISUFnZ0EwRUlRUXdnQVNBR1NTSUtHMm9vQWdBaUF6WUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUNVRUJhaUVGSUFrdEFBRWhBU0FKTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQnlBSFJTQUtHd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQnlBSUlBTkJERUVJSUFFZ0Jra2lDaHRxS0FJQUlnTTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUVlnQ1MwQUFFSC9BVVlFUUNBR1FaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBS0d3d0JDeUFES0FJRUN5RUtJQUVnQXlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyU3dSQUlBTW9BZ1FoQnlBSUlBTkJDRUVNSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUWtnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FISUFkRklBNGJEQUVMSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0F5Z0NCQ0VISUFnZ0EwRU1RUWdnQVNBR1NTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRTWdCaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0IwVWdCeUFPR3d3QkN5QURLQUlFQ3lFRFFRQWhCaUFJSVFrQ1FBSkFBa0FDZndKQUFrQWdBeUFLUVFGMGNnNEVBQUVEQlFvTElBRWdDeUFOS0FJRVFSRjJRUVJ4SUExQkJHc2lCeWdDQUVFVGRrRUJjWElpRGtIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFvZ0NTQURRUWhCRENBQklBWkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVKSUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQ2lBS1JTQVNHd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQ2lBSklBTkJERUVJSUFFZ0Jra2lFaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nRWhzTUFRc2dBeWdDQkFzaEF5QVJJQk1nRkNBRElBNUIwTHNCYWkwQUFITWlBeHMyQWdBZ0J5QUhLQUlBUVNCeU5nSUFJQTBnRFNnQ0JFRUljallDQkNBTlFZd0NheUlHSUFZb0FnQkJnSUFJY2pZQ0FDQU5RWVFDYXlJR0lBWW9BZ0JCZ0lBQ2NqWUNBQ0FOUVlnQ2F5SUdJQVlvQWdBZ0EwRWZkSEpCZ0lBRWNqWUNBQ0FEUVJOMElWY2dBU0FMSUFRb0Ftd3RBQUpCQW5ScUlnY29BZ0FpQXlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyU3dSQUlBTW9BZ1FoQ1NBSElBTkJDRUVNSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUWNnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0J6WUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQnpZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FKSUFsRklBNGJEQUVMSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0F5Z0NCQ0VKSUFjZ0EwRU1RUWdnQVNBR1NTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hCeUFHTFFBQklRTWdCaTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FITmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NVVWdDU0FPR3d3QkN5QURLQUlFQ3lFRElGZEJFSElpQmlBRFJRMEJHZ3NnQVNBTElBMG9BZ1JCRkhaQkJIRWdEVUVFYXlJSktBSUFRUloyUVFGeElBWkJEM1pCRUhFZ0JrRVRka0hBQUhFZ0JrRURka0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaUNpZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VPSUFvZ0IwRUlRUXdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQTRnRGtVZ0Noc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUTRnQ2lBSFFReEJDQ0FCSUFOSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBT1JTQU9JQW9iREFFTElBY29BZ1FMSVFNZ0VTQVRJQlFnQXlBU1FkQzdBV290QUFCeklnTWJOZ0tBQWlBSklBa29BZ0JCZ0FKeU5nSUFJQTBnRFNnQ0JFSEFBSEkyQWdRZ0JpQURRUlowY2tHQUFYSUxJUVlnQVNBTElBUW9BbXdnQmtFR2RrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRb2dDU0FIUVFoQkRDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0NpQUtSU0FPR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdBMGtpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFrZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0Roc01BUXNnQnlnQ0JBdEZEUUVMSUFFZ0N5QU5LQUlFUVJkMlFRUnhJQTFCQkdzaUNTZ0NBRUVaZGtFQmNTQUdRUkoyUVJCeElBWkJGblpCd0FCeElBWkJCblpCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlnb29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBS0lBZEJDRUVNSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklBb2JEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFvZ0IwRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFLR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FRZ0NTQUpLQUlBUVlBUWNqWUNBQ0FOSUEwb0FnUkJnQVJ5TmdJRUlBWWdBMEVaZEhKQmdBaHlJUVlMSUFFZ0N5QUVLQUpzSUFaQkNYWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRGhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFjb0FnUUxSUTBGQ3lBQklBc2dEU2dDQkVFYWRrRUVjU0FOUVFScklnNG9BZ0JCSEhaQkFYRWdCa0VWZGtFUWNTQUdRUmwyUWNBQWNTQUdRUWwyUWFvQmNYSnljbklpQ2tIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVNBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VTSUFrZ0IwRUlRUXdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQklnRWtVZ0ZSc01CQXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjUTBCSUFjb0FnUWhFaUFKSUFkQkRFRUlJQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUJKRklCSWdGUnNNQXdzQ1FDQUdRWkNBZ0FGeERRQWdBU0FMSUFRb0Ftd2dCa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUW9nQ1NBSFFRaEJEQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdDaUFLUlNBT0d3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQTBraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEaHNNQVFzZ0J5Z0NCQXRGRFFBZ0FTQUxJQTBvQWdSQkVYWkJCSEVnRFVFRWF5SUtLQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VPSUFrZ0IwRUlRUXdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQTRnRGtVZ0ZSc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUTRnQ1NBSFFReEJDQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBT1JTQU9JQlViREFFTElBY29BZ1FMSVFNZ0VTQVRJQlFnQXlBU1FkQzdBV290QUFCeklnTWJOZ0lBSUFvZ0NpZ0NBRUVnY2pZQ0FDQU5JQTBvQWdSQkNISTJBZ1FnRFVHTUFtc2lCeUFIS0FJQVFZQ0FDSEkyQWdBZ0RVR0VBbXNpQnlBSEtBSUFRWUNBQW5JMkFnQWdEVUdJQW1zaUJ5QUhLQUlBSUFOQkgzUnlRWUNBQkhJMkFnQWdCaUFEUVJOMGNrRVFjaUVHQ3dKQUlBWkJnSUdBQ0hFTkFDQUJJQXNnQkNnQ2JDQUdRUU4ySWc1Qjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdFaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJJYkRBRUxJQWNvQWdRTFJRMEFJQUVnQ3lBTktBSUVRUlIyUVFSeElBMUJCR3NpQ2lnQ0FFRVdka0VCY1NBR1FROTJRUkJ4SUFaQkUzWkJ3QUJ4SUE1QnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUpJQWRCQ0VFTUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQlViREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBa2dCMEVNUVFnZ0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBVkd3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ2dBSWdDaUFLS0FJQVFZQUNjallDQUNBTklBMG9BZ1JCd0FCeU5nSUVJQVlnQTBFV2RISkJnQUZ5SVFZTEFrQWdCa0dBaUlEQUFIRU5BQ0FCSUFzZ0JDZ0NiQ0FHUVFaMklnNUI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRWhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWhJYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lCSWJEQUVMSUFjb0FnUUxSUTBBSUFFZ0N5QU5LQUlFUVJkMlFRUnhJQTFCQkdzaUNpZ0NBRUVaZGtFQmNTQUdRUkoyUVJCeElBWkJGblpCd0FCeElBNUJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFKSUFkQkNFRU1JQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUJVYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQWtnQjBFTVFRZ2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQVZHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNnQVFnQ2lBS0tBSUFRWUFRY2pZQ0FDQU5JQTBvQWdSQmdBUnlOZ0lFSUFZZ0EwRVpkSEpCZ0FoeUlRWUxJQVpCZ01DQWdBUnhEUU1nQVNBTElBUW9BbXdnQmtFSmRpSVNRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlBU2dDQUNJRGF5RUhBbjhnQXlBQ1FSQjJTd1JBSUFFb0FnUWhDaUFKSUFGQkNFRU1JQU1nQjBzaURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEJ5QUtJQXBGSUE0YkRBRUxJQUlnQTBFUWRHc2hBaUFIUVlDQUFuRkZCRUFnQVNnQ0JDRUtJQWtnQVVFTVFRZ2dBeUFIU3lJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ05CQVdvaEJTQURMUUFCSVFFZ0F5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0IwRUJkQ0lIUVlDQUFra05BQXNnQ2tVZ0NpQU9Hd3dCQ3lBQktBSUVDMFVFUUNBSElRRU1CQXNnQnlBTElBMG9BZ1JCR25aQkJIRWdEVUVFYXlJT0tBSUFRUngyUVFGeElBWkJGWFpCRUhFZ0JrRVpka0hBQUhFZ0VrR3FBWEZ5Y25KeUlncEIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdGcklRTWdBU0FDUVJCMlN3UkFJQWNvQWdRaEVpQUpJQWRCQ0VFTUlBRWdBMHNpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQklnRWtVZ0ZSc01Bd3NnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVOQVNBRElRRUxJQWNvQWdRTUFRc2dCeWdDQkNFU0lBa2dCMEVNUVFnZ0FTQURTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUJKRklCSWdGUnNMSVFNZ0VTQVRJQlFnQXlBS1FkQzdBV290QUFCeklnTWJOZ0tBQmlBT0lBNG9BZ0JCZ0lBQmNqWUNBQ0FOSUEwb0FnUkJnQ0J5TmdJRUlBMGdEU2dDaEFKQkJISTJBb1FDSUEwZ0RTZ0NqQUpCQVhJMkFvd0NJQTBnRFNnQ2lBSWdBMEVTZEhKQkFuSTJBb2dDSUFZZ0EwRWNkSEpCZ01BQWNpRUdDeUFOSUFaQi8vLy90bnR4TmdJQUN5QU5RUVJxSVFZZ0VVRUVhaUVESUF4QkFXb2lERUhBQUVjTkFBc2dEVUVNYWlFR0lCRkJoQVpxSVFNZ0YwRThTU0ZZSUJkQkJHb2hGeUJZRFFBTERBSUxRUUVnR1hRaUFVRUJkaUFCY2lFT0lBUW9BbmdpQnlBVVFRSjBha0VNYWlFRElBUW9Bb0FCSVFZZ0JDZ0NDQ0VGSUFRb0FnUWhBU0FFS0FJQUlRSWdCQ2dDYUNFSklBUW9BblFoQ3dKQUFrQWdGa0VJY1FSQUlBWkJCRWtOQWlBVVJRMEJJQVJCNUFCcUlSQWdCRUhnQUdvaERTQVVRUU5zSVJzZ0ZFRUJkQ0VrUVFBZ0Rtc2hGU0FFUVJ4cUlSSURRRUVBSVJnRFFBSkFBa0FDZndKQUlBTWlDQ2dDQUNJREJFQUNRQ0FEUVpDQWdBRnhEUUFnQVNBU0lBUW9BbXdnQTBIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVF3Z0NTQUhRUXhCQ0NBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU1SU0FNSUFvYkRBRUxJQWNvQWdRaERDQUpJQWRCQ0VFTUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBTUlBeEZJQW9iQzBVTkFDQUJJQklnQ0NnQ0JFRVJka0VFY1NBSVFRUnJJZ3dvQWdCQkUzWkJBWEVnQTBFT2RrRVFjU0FEUVJCMlFjQUFjU0FEUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBWkpJaHdiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJ3YkRBRUxJQWNvQWdRaENpQUpJQWRCQ0VFTUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBS0lBcEZJQndiQ3lFR0lBc2dGU0FPSUFZZ0UwSFF1d0ZxTFFBQWN5SUdHellDQUNBTUlBd29BZ0JCSUhJMkFnQWdDQ0FJS0FJRVFRaHlOZ0lFSUFNZ0JrRVRkSEpCRUhJaEF3c0NRQ0FEUVlDQmdBaHhEUUFnQVNBU0lBUW9BbXdnQTBFRGRpSUtRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0V4c0xSUTBBSUFFZ0VpQUlLQUlFUVJSMlFRUnhJQWhCQkdzaURDZ0NBRUVXZGtFQmNTQURRUTkyUVJCeElBTkJFM1pCd0FCeElBcEJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBVVFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBd2dEQ2dDQUVHQUFuSTJBZ0FnQ0NBSUtBSUVRY0FBY2pZQ0JDQURJQVpCRm5SeVFZQUJjaUVEQ3dKQUlBTkJnSWlBd0FCeERRQWdBU0FTSUFRb0Ftd2dBMEVHZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUmQyUVFSeElBaEJCR3NpRENnQ0FFRVpka0VCY1NBRFFSSjJRUkJ4SUFOQkZuWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFrUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBRUhJMkFnQWdDQ0FJS0FJRVFZQUVjallDQkNBRElBWkJHWFJ5UVlBSWNpRURDeUFEUVlEQWdJQUVjUTBESUFFZ0VpQUVLQUpzSUFOQkNYWWlDa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ0VvQWdBaUJtc2hCd0ovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0IwR0FnQUp4QkVBZ0FTZ0NCQXdDQ3lBQktBSUVJUXdnQ1NBQlFReEJDQ0FHSUFkTEloTWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUZJQVl0QUFFaEFTQUdMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUhRUUYwSWdkQmdJQUNTUTBBQ3lBTVJTQU1JQk1iREFFTElBRW9BZ1FoRENBSklBRkJDRUVNSUFZZ0Iwc2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhCeUFNSUF4RklCTWJDMFVFUUNBSElRRU1CQXNnQnlBU0lBZ29BZ1JCR25aQkJIRWdDRUVFYXlJTUtBSUFRUngyUVFGeElBTkJGWFpCRUhFZ0EwRVpka0hBQUhFZ0NrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUtLQUlBSWdGcklRWWdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFHUVlDQUFuRUVRQ0FHSVFFTUF3c2dDaWdDQkNFSElBa2dDa0VNUVFnZ0FTQUdTeUljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUUVnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFkRklBY2dIQnNNQXdzZ0NpZ0NCQ0VISUFrZ0NrRUlRUXdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRWWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFaQkNIUWdBbW9oQWd3QkN5QUdRWThCVFFSQUlBUWdDallDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0J5QUhSU0FjR3d3Q0N5QUJJQTBvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QU5JQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0RCc01BUXNnQmlnQ0JDRUhJQTBnQmtFSVFRd2dBU0FEU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnREJzTFJRUkFJQTBoQ1F3RUN5QUJJQkFvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFJZ1kyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2xCQVdvaEJTQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQjBVZ0J5QU1Hd3dCQ3lBR0tBSUVJUWNnRUNBR1FRaEJEQ0FCSUFOSklnd2JhaWdDQUNJR05nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSlFRRnFJUVVnQ1MwQUFTRUJJQWt0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FISUFkRklBd2JDeUVNSUFFZ0JpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Noc01BUXNnQmlnQ0JDRUhJQkFnQmtFSVFRd2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnQ2hzTElRWkJBQ0VESUJBaENRSkFBa0FDUUFKL0FrQUNRQ0FHSUF4QkFYUnlEZ1FBQVFNRkNBc2dBU0FTSUFnb0FnUkJFWFpCQkhFZ0NFRUVheUlIS0FJQVFSTjJRUUZ4Y2lJS1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaERDQUpJQVpCREVFSUlBRWdBMGtpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQmlnQ0JDRU1JQWtnQmtFSVFRd2dBU0FEU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBd2dERVVnRXhzTElRTWdDeUFWSUE0Z0F5QUtRZEM3QVdvdEFBQnpJZ01iTmdJQUlBY2dCeWdDQUVFZ2NqWUNBQ0FJSUFnb0FnUkJDSEkyQWdRZ0EwRVRkQ0ZaSUFFZ0VpQUVLQUpzTFFBQ1FRSjBhaUlIS0FJQUlnWW9BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrMEVRQ0FDSUFOQkVIUnJJUUlnQVVHQWdBSnhCRUFnQmlnQ0JBd0NDeUFHS0FJRUlRa2dCeUFHUVF4QkNDQUJJQU5KSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSElBWXRBQUVoQXlBR0xRQUFRZjhCUndSQUlBUWdCellDRUVFSUlRVWdBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBSE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFKUlNBSklBb2JEQUVMSUFZb0FnUWhDU0FISUFaQkNFRU1JQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRY2dCaTBBQVNFQklBWXRBQUJCL3dGSEJFQWdCQ0FITmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBYzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUpJQWxGSUFvYkN5RUdJRmxCRUhJaUF5QUdSUTBCR2dzZ0FTQVNJQWdvQWdSQkZIWkJCSEVnQ0VFRWF5SUpLQUlBUVJaMlFRRnhJQU5CRDNaQkVIRWdBMEVUZGtIQUFIRWdBMEVEZGtHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJSEtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTkJFQWdBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NRUkFJQWNvQWdRTUFnc2dCeWdDQkNFS0lBd2dCMEVNUVFnZ0FTQUdTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUVlnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQlRZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDa1VnQ2lBTUd3d0JDeUFIS0FJRUlRb2dEQ0FIUVFoQkRDQUJJQVpKSWd3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0NpQUtSU0FNR3dzaEJpQUxJQlJCQW5ScUlCVWdEaUFHSUJOQjBMc0JhaTBBQUhNaUJoczJBZ0FnQ1NBSktBSUFRWUFDY2pZQ0FDQUlJQWdvQWdSQndBQnlOZ0lFSUFNZ0JrRVdkSEpCZ0FGeUN5RURJQUVnRWlBRUtBSnNJQU5CQm5aQjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTkJFQWdBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NRUkFJQWNvQWdRTUFnc2dCeWdDQkNFTUlBa2dCMEVNUVFnZ0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUVlnQnkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQ1RZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dERVVnRENBS0d3d0JDeUFIS0FJRUlRd2dDU0FIUVFoQkRDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQVNBSExRQUFRZjhCUndSQUlBUWdDVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0RDQU1SU0FLR3d0RkRRRUxJQUVnRWlBSUtBSUVRUmQyUVFSeElBaEJCR3NpQ1NnQ0FFRVpka0VCY1NBRFFSSjJRUkJ4SUFOQkZuWkJ3QUJ4SUFOQkJuWkJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFNSUFkQkRFRUlJQUVnQmtraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEQnNNQVFzZ0J5Z0NCQ0VLSUF3Z0IwRUlRUXdnQVNBR1NTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0RCc0xJUVlnQ3lBa1FRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBa2dDU2dDQUVHQUVISTJBZ0FnQ0NBSUtBSUVRWUFFY2pZQ0JDQURJQVpCR1hSeVFZQUljaUVEQ3lBQklCSWdCQ2dDYkNBRFFRbDJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dDaHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0Noc0xSUTBEQ3lBQklCSWdDQ2dDQkVFYWRrRUVjU0FJUVFScklnd29BZ0JCSEhaQkFYRWdBMEVWZGtFUWNTQURRUmwyUWNBQWNTQURRUWwyUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdvb0FnQWlCbXNoQVNBR0lBSkJFSFpOQkVBZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1EwQklBb29BZ1FoQnlBSklBcEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRlFRRnFJUW9nQlMwQUFTRUdJQVV0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQW8yQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnSEJzTUFnc2dDaWdDQkNFSElBa2dDa0VJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUUVnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFjZ0IwVWdIQnNNQVFzZ0NpZ0NCQXNoQmlBTElCdEJBblJxSUJVZ0RpQUdJQk5CMExzQmFpMEFBSE1pQnhzMkFnQWdEQ0FNS0FJQVFZQ0FBWEkyQWdBZ0NDQUlLQUlFUVlBZ2NqWUNCQ0FFS0FKOFFRSjBJQWhxSWdZZ0JpZ0NCRUVFY2pZQ0JDQUdJQVlvQWd4QkFYSTJBZ3dnQmlBR0tBSUlJQWRCRW5SeVFRSnlOZ0lJSUFNZ0IwRWNkSEpCZ01BQWNpRURDeUFJSUFOQi8vLy90bnR4TmdJQUN5QUlRUVJxSVFNZ0MwRUVhaUVMSUJoQkFXb2lHQ0FVUncwQUN5QUlRUXhxSVFNZ0N5QWJRUUowYWlFTElCRkJCR29pRVNBRUtBS0FBU0lHUVh4eFNRMEFDd3dDQ3dKQUlBWkJCRWtOQUNBVUJFQWdCRUhrQUdvaEVDQUVRZUFBYWlFTklCUkJBMndoR3lBVVFRRjBJU1JCQUNBT2F5RVZJQVJCSEdvaEVnTkFRUUFoR0FOQUFrQUNRQUovQWtBZ0F5SUlLQUlBSWdNRVFBSkFJQU5Ca0lDQUFYRU5BQ0FCSUJJZ0JDZ0NiQ0FEUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnQ2hzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdDaHNMUlEwQUlBRWdFaUFJS0FJRVFSRjJRUVJ4SUFoQkJHc2lEQ2dDQUVFVGRrRUJjU0FEUVE1MlFSQnhJQU5CRUhaQndBQnhJQU5CcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QVZJQTRnQmlBVFFkQzdBV290QUFCeklnY2JOZ0lBSUF3Z0RDZ0NBRUVnY2pZQ0FDQUlJQWdvQWdSQkNISTJBZ1FnQ0VGK0lBUW9BbnhyUVFKMGFpSUdJQVlvQWdSQmdJQUNjallDQkNBR0lBWW9BZ0FnQjBFZmRISkJnSUFFY2pZQ0FDQUdRUVJySWdZZ0JpZ0NBRUdBZ0FoeU5nSUFJQU1nQjBFVGRISkJFSEloQXdzQ1FDQURRWUNCZ0FoeERRQWdBU0FTSUFRb0Ftd2dBMEVEZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUlIyUVFSeElBaEJCR3NpRENnQ0FFRVdka0VCY1NBRFFROTJRUkJ4SUFOQkUzWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFVUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBQW5JMkFnQWdDQ0FJS0FJRVFjQUFjallDQkNBRElBWkJGblJ5UVlBQmNpRURDd0pBSUFOQmdJaUF3QUJ4RFFBZ0FTQVNJQVFvQW13Z0EwRUdkaUlLUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdFeHNMUlEwQUlBRWdFaUFJS0FJRVFSZDJRUVJ4SUFoQkJHc2lEQ2dDQUVFWmRrRUJjU0FEUVJKMlFSQnhJQU5CRm5aQndBQnhJQXBCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QWtRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQXdnRENnQ0FFR0FFSEkyQWdBZ0NDQUlLQUlFUVlBRWNqWUNCQ0FESUFaQkdYUnlRWUFJY2lFREN5QURRWURBZ0lBRWNRMERJQUVnRWlBRUtBSnNJQU5CQ1hZaUNrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnRW9BZ0FpQm1zaEJ3Si9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQjBHQWdBSnhCRUFnQVNnQ0JBd0NDeUFCS0FJRUlRd2dDU0FCUVF4QkNDQUdJQWRMSWhNYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFRklBWXRBQUVoQVNBR0xRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBSFFRRjBJZ2RCZ0lBQ1NRMEFDeUFNUlNBTUlCTWJEQUVMSUFFb0FnUWhEQ0FKSUFGQkNFRU1JQVlnQjBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEJ5QU1JQXhGSUJNYkMwVUVRQ0FISVFFTUJBc2dCeUFTSUFnb0FnUkJHblpCQkhFZ0NFRUVheUlNS0FJQVFSeDJRUUZ4SUFOQkZYWkJFSEVnQTBFWmRrSEFBSEVnQ2tHcUFYRnljbkp5SWhOQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJS0tBSUFJZ0ZySVFZZ0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQUdRWUNBQW5FRVFDQUdJUUVNQXdzZ0NpZ0NCQ0VISUFrZ0NrRU1RUWdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRRWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWRGSUFjZ0hCc01Bd3NnQ2lnQ0JDRUhJQWtnQ2tFSVFRd2dBU0FHU3lJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFZZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQVpCQ0hRZ0Ftb2hBZ3dCQ3lBR1FZOEJUUVJBSUFRZ0NqWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQnlBSFJTQWNHd3dDQ3lBQklBMG9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBTklBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnREJzTUFRc2dCaWdDQkNFSElBMGdCa0VJUVF3Z0FTQURTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdEQnNMUlFSQUlBMGhDUXdFQ3lBQklCQW9BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lEQnRxS0FJQUlnWTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUU1nQ1MwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBTUd3d0JDeUFHS0FJRUlRY2dFQ0FHUVFoQkRDQUJJQU5KSWd3YmFpZ0NBQ0lHTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lKUVFGcUlRVWdDUzBBQVNFQklBa3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUhJQWRGSUF3YkN5RU1JQUVnQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoQnlBUUlBWkJERUVJSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dCaWdDQkNFSElCQWdCa0VJUVF3Z0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFjZ0IwVWdDaHNMSVFaQkFDRURJQkFoQ1FKQUFrQUNRQUovQWtBQ1FDQUdJQXhCQVhSeURnUUFBUU1GQ0FzZ0FTQVNJQWdvQWdSQkVYWkJCSEVnQ0VFRWF5SUhLQUlBUVJOMlFRRnhjaUlLUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQmlnQ0FDSURheUVCQW44Z0F5QUNRUkIyVFFSQUlBSWdBMEVRZEdzaEFpQUJRWUNBQW5FRVFDQUdLQUlFREFJTElBWW9BZ1FoRENBSklBWkJERUVJSUFFZ0Ewa2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTUFRc2dBMEdQQVUwRVFDQUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCaWdDQkNFTUlBa2dCa0VJUVF3Z0FTQURTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUUVnQmkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUF3Z0RFVWdFeHNMSVFNZ0N5QVZJQTRnQXlBS1FkQzdBV290QUFCeklnWWJOZ0lBSUFjZ0J5Z0NBRUVnY2pZQ0FDQUlJQWdvQWdSQkNISTJBZ1FnQ0VGK0lBUW9BbnhyUVFKMGFpSURJQU1vQWdSQmdJQUNjallDQkNBRElBTW9BZ0FnQmtFZmRISkJnSUFFY2pZQ0FDQURRUVJySWdNZ0F5Z0NBRUdBZ0FoeU5nSUFJQVpCRTNRaFdpQUJJQklnQkNnQ2JDMEFBa0VDZEdvaUJ5Z0NBQ0lHS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpOQkVBZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1FSQUlBWW9BZ1FNQWdzZ0JpZ0NCQ0VKSUFjZ0JrRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hCeUFHTFFBQklRTWdCaTBBQUVIL0FVY0VRQ0FFSUFjMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdCellDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NVVWdDU0FLR3d3QkN5QUdLQUlFSVFrZ0J5QUdRUWhCRENBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVISUFZdEFBRWhBU0FHTFFBQVFmOEJSd1JBSUFRZ0J6WUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FITmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnQ1NBSlJTQUtHd3NoQmlCYVFSQnlJZ01nQmtVTkFSb0xJQUVnRWlBSUtBSUVRUlIyUVFSeElBaEJCR3NpQ1NnQ0FFRVdka0VCY1NBRFFROTJRUkJ4SUFOQkUzWkJ3QUJ4SUFOQkEzWkJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWd3b0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFNSUFkQkRFRUlJQUVnQmtraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEQnNNQVFzZ0J5Z0NCQ0VLSUF3Z0IwRUlRUXdnQVNBR1NTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0RCc0xJUVlnQ3lBVVFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBa2dDU2dDQUVHQUFuSTJBZ0FnQ0NBSUtBSUVRY0FBY2pZQ0JDQURJQVpCRm5SeVFZQUJjZ3NoQXlBQklCSWdCQ2dDYkNBRFFRWjJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRa2dCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBazJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dDaHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0Noc0xSUTBCQ3lBQklCSWdDQ2dDQkVFWGRrRUVjU0FJUVFScklna29BZ0JCR1haQkFYRWdBMEVTZGtFUWNTQURRUloyUWNBQWNTQURRUVoyUWFvQmNYSnljbklpRTBIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVFvZ0RDQUhRUXhCQ0NBQklBWkpJZ3diYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUF3YkRBRUxJQWNvQWdRaENpQU1JQWRCQ0VFTUlBRWdCa2tpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBS0lBcEZJQXdiQ3lFR0lBc2dKRUVDZEdvZ0ZTQU9JQVlnRTBIUXV3RnFMUUFBY3lJR0d6WUNBQ0FKSUFrb0FnQkJnQkJ5TmdJQUlBZ2dDQ2dDQkVHQUJISTJBZ1FnQXlBR1FSbDBja0dBQ0hJaEF3c2dBU0FTSUFRb0Ftd2dBMEVKZGtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdBVUdBZ0FKeEJFQWdCeWdDQkF3Q0N5QUhLQUlFSVF3Z0NTQUhRUXhCQ0NBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhCaUFITFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0RBRUxJQVpCandGTkJFQWdCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU1SU0FNSUFvYkRBRUxJQWNvQWdRaERDQUpJQWRCQ0VFTUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBTUlBeEZJQW9iQzBVTkF3c2dBU0FTSUFnb0FnUkJHblpCQkhFZ0NFRUVheUlNS0FJQVFSeDJRUUZ4SUFOQkZYWkJFSEVnQTBFWmRrSEFBSEVnQTBFSmRrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUtLQUlBSWdacklRRWdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRU5BU0FLS0FJRUlRY2dDU0FLUVF4QkNDQUJJQVpKSWh3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCVUVCYWlFS0lBVXRBQUVoQmlBRkxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBS05nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFIUlNBSElCd2JEQUlMSUFvb0FnUWhCeUFKSUFwQkNFRU1JQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lGUVFGcUlRb2dCUzBBQVNFQklBVXRBQUJCL3dGSEJFQWdCQ0FLTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBbzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUhJQWRGSUJ3YkRBRUxJQW9vQWdRTElRWWdDeUFiUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnY2JOZ0lBSUF3Z0RDZ0NBRUdBZ0FGeU5nSUFJQWdnQ0NnQ0JFR0FJSEkyQWdRZ0JDZ0NmRUVDZENBSWFpSUdJQVlvQWdSQkJISTJBZ1FnQmlBR0tBSU1RUUZ5TmdJTUlBWWdCaWdDQ0NBSFFSSjBja0VDY2pZQ0NDQURJQWRCSEhSeVFZREFBSEloQXdzZ0NDQURRZi8vLzdaN2NUWUNBQXNnQ0VFRWFpRURJQXRCQkdvaEN5QVlRUUZxSWhnZ0ZFY05BQXNnQ0VFTWFpRURJQXNnRzBFQ2RHb2hDeUFSUVFScUloRWdCQ2dDZ0FFaUJrRjhjVWtOQUFzTUFRdEJCQ0FHUVh4eElnTWdBMEVFVFJ0QkFXc2lBMEY4Y1VFRWFpRVJJQWNnQTBFQmRFRjRjV3BCRkdvaEF3c2dCQ0FGTmdJSUlBUWdBVFlDQkNBRUlBSTJBZ0FnQkNBSk5nSm9JQlJGRFFRZ0JpQVJUUTBFQTBCQkFDRUZJQkVnQkNnQ2dBRkhCRUFEUUNBRUlBTWdDeUFGSUJSc1FRSjBhaUFPSUFWQkFCQllJQVZCQVdvaUJTQUVLQUtBQVNBUmEwa05BQXNMSUFNZ0F5Z0NBRUgvLy8rMmUzRTJBZ0FnQzBFRWFpRUxJQU5CQkdvaEF5QVhRUUZxSWhjZ0ZFY05BQXNNQkF0QkJDQUdRWHh4SWdNZ0EwRUVUUnRCQVdzaUEwRjhjVUVFYWlFUklBY2dBMEVCZEVGNGNXcEJGR29oQXdzZ0JDQUZOZ0lJSUFRZ0FUWUNCQ0FFSUFJMkFnQWdCQ0FKTmdKb0lCUkZEUUlnQmlBUlRRMENBMEJCQUNFRklCRWdCQ2dDZ0FGSEJFQURRQ0FFSUFNZ0N5QUZJQlJzUVFKMGFpQU9JQVZCQVJCWUlBVkJBV29pQlNBRUtBS0FBU0FSYTBrTkFBc0xJQU1nQXlnQ0FFSC8vLysyZTNFMkFnQWdDMEVFYWlFTElBTkJCR29oQXlBWFFRRnFJaGNnRkVjTkFBc01BZ3NEUUVFQUlRd0RRQ0FESVJFQ1FBSkFBbjhDUUFKQUlBWWlEU2dDQUNJR1JRUkFJQUVnRUNnQ0FDSURLQUlBSWdacklRRUNmeUFHSUFKQkVIWkxCRUFnQXlnQ0JDRUhJQkFnQTBFSVFRd2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ05CQVdvaENTQURMUUFCSVFFZ0F5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBY2dCMFVnQ2hzTUFRc2dBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FES0FJRUlRY2dFQ0FEUVF4QkNDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSklBWXRBQUVoQXlBR0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFIUlNBSElBb2JEQUVMSUFNb0FnUUxSUVJBSUJBaENRd0dDeUFCSUFnb0FnQWlBeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJTd1JBSUFNb0FnUWhCeUFJSUFOQkNFRU1JQUVnQmtraUNodHFLQUlBSWdNMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdsQkFXb2hCU0FKTFFBQklRRWdDUzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWNnQjBVZ0Noc01BUXNnQWlBR1FSQjBheUVDSUFGQmdJQUNjVVVFUUNBREtBSUVJUWNnQ0NBRFFReEJDQ0FCSUFaSklnb2JhaWdDQUNJRE5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSlFRRnFJUVVnQ1MwQUFTRUdJQWt0QUFCQi93RkdCRUFnQmtHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dBeWdDQkFzaENpQUJJQU1vQWdBaUJtc2hBUUovSUFZZ0FrRVFka3NFUUNBREtBSUVJUWNnQ0NBRFFRaEJEQ0FCSUFaSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUpJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdCeUFIUlNBT0d3d0JDeUFDSUFaQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFNb0FnUWhCeUFJSUFOQkRFRUlJQUVnQmtraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dEaHNNQVFzZ0F5Z0NCQXNoQTBFQUlRWWdDQ0VKQWtBQ1FBSkFBbjhDUUFKQUlBTWdDa0VCZEhJT0JBQUJBd1VLQ3lBQklBc2dEU2dDQkVFUmRrRUVjU0FOUVFScklnY29BZ0JCRTNaQkFYRnlJZzVCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lES0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpMQkVBZ0F5Z0NCQ0VLSUFrZ0EwRUlRUXdnQVNBR1NTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdOQkFXb2hDU0FETFFBQklRRWdBeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0Voc01BUXNnQWlBR1FSQjBheUVDSUFGQmdJQUNjVVVFUUNBREtBSUVJUW9nQ1NBRFFReEJDQ0FCSUFaSkloSWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUpJQVl0QUFFaEF5QUdMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQkliREFFTElBTW9BZ1FMSVFNZ0VTQVRJQlFnQXlBT1FkQzdBV290QUFCeklnTWJOZ0lBSUFjZ0J5Z0NBRUVnY2pZQ0FDQU5JQTBvQWdSQkNISTJBZ1FnQTBFVGRDRmJJQUVnQ3lBRUtBSnNMUUFDUVFKMGFpSUhLQUlBSWdNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFrZ0J5QURRUWhCRENBQklBWkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVISUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBYzJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFjMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQ1NBSlJTQU9Hd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQ1NBSElBTkJERUVJSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWNnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0J6WUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQnpZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBbEZJQWtnRGhzTUFRc2dBeWdDQkFzaEF5QmJRUkJ5SWdZZ0EwVU5BUm9MSUFFZ0N5QU5LQUlFUVJSMlFRUnhJQTFCQkdzaUNTZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElBWkJBM1pCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlnb29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBS0lBZEJDRUVNSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklBb2JEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFvZ0IwRU1RUWdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFLR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FJZ0NTQUpLQUlBUVlBQ2NqWUNBQ0FOSUEwb0FnUkJ3QUJ5TmdJRUlBWWdBMEVXZEhKQmdBRnlDeUVHSUFFZ0N5QUVLQUpzSUFaQkJuWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FKTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUpOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRGhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFSklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBNGJEQUVMSUFjb0FnUUxSUTBCQ3lBQklBc2dEU2dDQkVFWGRrRUVjU0FOUVFScklna29BZ0JCR1haQkFYRWdCa0VTZGtFUWNTQUdRUloyUWNBQWNTQUdRUVoyUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSUtLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVE0Z0NpQUhRUWhCRENBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnRGlBT1JTQUtHd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoRGlBS0lBZEJERUVJSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBNUZJQTRnQ2hzTUFRc2dCeWdDQkFzaEF5QVJJQk1nRkNBRElCSkIwTHNCYWkwQUFITWlBeHMyQW9BRUlBa2dDU2dDQUVHQUVISTJBZ0FnRFNBTktBSUVRWUFFY2pZQ0JDQUdJQU5CR1hSeVFZQUljaUVHQ3lBQklBc2dCQ2dDYkNBR1FRbDJRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQTBraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUtJQXBGSUE0YkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRUtJQWtnQjBFTVFRZ2dBU0FEU1NJT0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQU9Hd3dCQ3lBSEtBSUVDMFVOQlFzZ0FTQUxJQTBvQWdSQkduWkJCSEVnRFVFRWF5SU9LQUlBUVJ4MlFRRnhJQVpCRlhaQkVIRWdCa0VaZGtIQUFIRWdCa0VKZGtHcUFYRnljbkp5SWdwQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFZ0F5QUNRUkIyU3dSQUlBY29BZ1FoRWlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FTSUJKRklCVWJEQVFMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVOQVNBSEtBSUVJUklnQ1NBSFFReEJDQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBU1JTQVNJQlViREFNTEFrQWdCa0dRZ0lBQmNRMEFJQUVnQ3lBRUtBSnNJQVpCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Roc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBY29BZ1FMUlEwQUlBRWdDeUFOS0FJRVFSRjJRUVJ4SUExQkJHc2lDaWdDQUVFVGRrRUJjU0FHUVE1MlFSQnhJQVpCRUhaQndBQnhJQVpCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklCVWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFrZ0IwRU1RUWdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFWR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDQUNBS0lBb29BZ0JCSUhJMkFnQWdEU0FOS0FJRVFRaHlOZ0lFSUFZZ0EwRVRkSEpCRUhJaEJnc0NRQ0FHUVlDQmdBaHhEUUFnQVNBTElBUW9BbXdnQmtFRGRpSU9RZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQTBraUVodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQUtJQXBGSUJJYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRUtJQWtnQjBFTVFRZ2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQVNHd3dCQ3lBSEtBSUVDMFVOQUNBQklBc2dEU2dDQkVFVWRrRUVjU0FOUVFScklnb29BZ0JCRm5aQkFYRWdCa0VQZGtFUWNTQUdRUk4yUWNBQWNTQU9RYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUTRnQ1NBSFFRaEJEQ0FCSUFOSkloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdEaUFPUlNBVkd3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhEaUFKSUFkQkRFRUlJQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUE1RklBNGdGUnNNQVFzZ0J5Z0NCQXNoQXlBUklCTWdGQ0FESUJKQjBMc0JhaTBBQUhNaUF4czJBb0FDSUFvZ0NpZ0NBRUdBQW5JMkFnQWdEU0FOS0FJRVFjQUFjallDQkNBR0lBTkJGblJ5UVlBQmNpRUdDd0pBSUFaQmdJaUF3QUJ4RFFBZ0FTQUxJQVFvQW13Z0JrRUdkaUlPUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoQ2lBSklBZEJDRUVNSUFFZ0Ewa2lFaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FLSUFwRklCSWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VLSUFrZ0IwRU1RUWdnQVNBRFNTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NrVWdDaUFTR3d3QkN5QUhLQUlFQzBVTkFDQUJJQXNnRFNnQ0JFRVhka0VFY1NBTlFRUnJJZ29vQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FPUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVE0Z0NTQUhRUWhCRENBQklBTkpJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnRGlBT1JTQVZHd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoRGlBSklBZEJERUVJSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBNUZJQTRnRlJzTUFRc2dCeWdDQkFzaEF5QVJJQk1nRkNBRElCSkIwTHNCYWkwQUFITWlBeHMyQW9BRUlBb2dDaWdDQUVHQUVISTJBZ0FnRFNBTktBSUVRWUFFY2pZQ0JDQUdJQU5CR1hSeVFZQUljaUVHQ3lBR1FZREFnSUFFY1EwRElBRWdDeUFFS0FKc0lBWkJDWFlpRWtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdFb0FnQWlBMnNoQndKL0lBTWdBa0VRZGtzRVFDQUJLQUlFSVFvZ0NTQUJRUWhCRENBRElBZExJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUWNnQ2lBS1JTQU9Hd3dCQ3lBQ0lBTkJFSFJySVFJZ0IwR0FnQUp4UlFSQUlBRW9BZ1FoQ2lBSklBRkJERUVJSUFNZ0Iwc2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRFFRRnFJUVVnQXkwQUFTRUJJQU10QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQWRCQVhRaUIwR0FnQUpKRFFBTElBcEZJQW9nRGhzTUFRc2dBU2dDQkF0RkJFQWdCeUVCREFRTElBY2dDeUFOS0FJRVFScDJRUVJ4SUExQkJHc2lEaWdDQUVFY2RrRUJjU0FHUVJWMlFSQnhJQVpCR1haQndBQnhJQkpCcWdGeGNuSnljaUlLUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUJheUVESUFFZ0FrRVFka3NFUUNBSEtBSUVJUklnQ1NBSFFRaEJEQ0FCSUFOTEloVWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBU0lCSkZJQlViREFNTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkRRRWdBeUVCQ3lBSEtBSUVEQUVMSUFjb0FnUWhFaUFKSUFkQkRFRUlJQUVnQTBzaUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQVNSU0FTSUJVYkN5RURJQkVnRXlBVUlBTWdDa0hRdXdGcUxRQUFjeUlER3pZQ2dBWWdEaUFPS0FJQVFZQ0FBWEkyQWdBZ0RTQU5LQUlFUVlBZ2NqWUNCQ0FOSUEwb0FvUUNRUVJ5TmdLRUFpQU5JQTBvQW93Q1FRRnlOZ0tNQWlBTklBMG9Bb2dDSUFOQkVuUnlRUUp5TmdLSUFpQUdJQU5CSEhSeVFZREFBSEloQmdzZ0RTQUdRZi8vLzdaN2NUWUNBQXNnRFVFRWFpRUdJQkZCQkdvaEF5QU1RUUZxSWd4QndBQkhEUUFMSUExQkRHb2hCaUFSUVlRR2FpRURJQmRCUEVraFhDQVhRUVJxSVJjZ1hBMEFDd3NnQkNBRk5nSUlJQVFnQVRZQ0JDQUVJQUkyQWdBZ0JDQUpOZ0pvQ3dKQUlCWkJJSEZGRFFBZ0JDQUVRZVFBYWpZQ2FDQUVJQVFvQWdRZ0JDZ0NaQ0lHS0FJQUlnRnJJZ0kyQWdRQ1FDQUJJQVFvQWdBaUJVRVFka3NFUUNBRUlBRTJBZ1FnQkNBR1FRaEJEQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFJTUFnc2dCQ0FKTmdJUUlBTkJDWFFnQldvaEJVRUhJUUlNQVFzZ0JDQUpOZ0lRUVFnaEFpQURRUWgwSUFWcUlRVUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBVUVCZENJQk5nSUVJQUZCZ0lBQ1NRMEFDeUFCSVFJTUFRc2dCQ0FGSUFGQkVIUnJJZ1UyQWdBZ0FrR0FnQUp4RFFBZ0JDQUdRUXhCQ0NBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRRURRQUpBSUFFTkFDQUVLQUlRSWdGQkFXb2hCeUFCTFFBQklRTWdBUzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRRU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFFTUFRc2dCQ0FITmdJUVFRZ2hBU0FEUVFoMElBVnFJUVVMSUFRZ0FVRUJheUlCTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQWtFQmRDSUNOZ0lFSUFKQmdJQUNTUTBBQ3dzZ0JDQUNJQVlvQWdBaUFXc2lBallDQkFKQUlBRWdCVUVRZGtzRVFDQUVJQUUyQWdRZ0JDQUdRUWhCRENBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRSU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFJTUFRc2dCQ0FKTmdJUVFRZ2hBaUFEUVFoMElBVnFJUVVMSUFRZ0FrRUJheUlDTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQVVFQmRDSUJOZ0lFSUFGQmdJQUNTUTBBQ3lBQklRSU1BUXNnQkNBRklBRkJFSFJySWdVMkFnQWdBa0dBZ0FKeERRQWdCQ0FHUVF4QkNDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUVEUUFKQUlBRU5BQ0FFS0FJUUlnRkJBV29oQnlBQkxRQUJJUU1nQVMwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUVNQWdzZ0JDQUhOZ0lRSUFOQkNYUWdCV29oQlVFSElRRU1BUXNnQkNBSE5nSVFRUWdoQVNBRFFRaDBJQVZxSVFVTElBUWdBVUVCYXlJQk5nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FrRUJkQ0lDTmdJRUlBSkJnSUFDU1EwQUN3c2dCQ0FDSUFZb0FnQWlBV3NpQWpZQ0JBSkFJQUVnQlVFUWRrc0VRQ0FFSUFFMkFnUWdCQ0FHUVFoQkRDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUlNQWdzZ0JDQUpOZ0lRSUFOQkNYUWdCV29oQlVFSElRSU1BUXNnQkNBSk5nSVFRUWdoQWlBRFFRaDBJQVZxSVFVTElBUWdBa0VCYXlJQ05nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUJJUUlNQVFzZ0JDQUZJQUZCRUhScklnVTJBZ0FnQWtHQWdBSnhEUUFnQkNBR1FReEJDQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFFRFFBSkFJQUVOQUNBRUtBSVFJZ0ZCQVdvaEJ5QUJMUUFCSVFNZ0FTMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFFTUFnc2dCQ0FITmdJUUlBTkJDWFFnQldvaEJVRUhJUUVNQVFzZ0JDQUhOZ0lRUVFnaEFTQURRUWgwSUFWcUlRVUxJQVFnQVVFQmF5SUJOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBa0VCZENJQ05nSUVJQUpCZ0lBQ1NRMEFDd3NnQkNBQ0lBWW9BZ0FpQVdzaUFqWUNCQ0FCSUFWQkVIWkxCRUFnQkNBQk5nSUVJQVFnQmtFSVFRd2dBU0FDU3h0cUtBSUFOZ0prSUFRb0FnZ2hBZ05BQWtBZ0FnMEFJQVFvQWhBaUJrRUJhaUVISUFZdEFBRWhBeUFHTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBVkJnUDREYWlFRlFRZ2hBZ3dDQ3lBRUlBYzJBaEFnQTBFSmRDQUZhaUVGUVFjaEFnd0JDeUFFSUFjMkFoQkJDQ0VDSUFOQkNIUWdCV29oQlFzZ0JDQUNRUUZySWdJMkFnZ2dCQ0FGUVFGMElnVTJBZ0FnQkNBQlFRRjBJZ0UyQWdRZ0FVR0FnQUpKRFFBTERBRUxJQVFnQlNBQlFSQjBheUlITmdJQUlBSkJnSUFDY1EwQUlBUWdCa0VNUVFnZ0FTQUNTeHRxS0FJQU5nSmtJQVFvQWdnaEJRTkFBa0FnQlEwQUlBUW9BaEFpQTBFQmFpRUdJQU10QUFFaEFTQURMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFkQmdQNERhaUVIUVFnaEJRd0NDeUFFSUFZMkFoQWdBVUVKZENBSGFpRUhRUWNoQlF3QkN5QUVJQVkyQWhCQkNDRUZJQUZCQ0hRZ0Iyb2hCd3NnQkNBRlFRRnJJZ1UyQWdnZ0JDQUhRUUYwSWdjMkFnQWdCQ0FDUVFGMElnSTJBZ1FnQWtHQWdBSkpEUUFMQ3dzZ0p3MEFJQVFRV2lBRVFiQ3BBVFlDWkNBRVFkQ2VBVFlDWUNBRVFmQ2VBVFlDSEF0QkFDQWZRUUZxSWdFZ0FVRURSaUlCR3lFZklCa2dBV3NoR1NBbVFRRnFJaVlnSUNnQ0NFOE5BU0FaUVFCS0RRQUxDeUFvSUNwcUlTZ2dCQ2dDR0NBRUx3RndPd0FBSUNsQkFXb2lLU0FhS0FJc1NRMEFDd3NDUUNBclJRMEFBa0FnQkNnQ0dDSUJJQVFvQWhBaUEwRUNha3NFUUNBaFJRMEJJQ01nQVNBRUtBSVVJZ1pyTmdJNElDTWdBeUFHYXpZQ05DQWpJQUVnQTJ0QkFtczJBakFnSFVFQ1FaRHlBQ0FqUVRCcUVBOE1BZ3NnQkNnQ0RDSUJRUU5KRFFFZ0lRUkFJQ01nQVRZQ1VDQWRRUUpCNlRVZ0kwSFFBR29RRHd3Q0N5QWpJQUUyQWtBZ0hVRUNRZWsxSUNOQlFHc1FEd3dCQ3lBaklBRWdCQ2dDRkNJR2F6WUNLQ0FqSUFNZ0JtczJBaVFnSXlBQklBTnJRUUpyTmdJZ0lCMUJBa0dROGdBZ0kwRWdhaEFQQ3lBYUtBSThSUTBBSUFRZ0xEWUNkQXNnTUNnQ0JDRUJJQm9vQWd3aFhTQWFLQUlJSURBb0FnQnJJUWdnTUNnQ0VDSUdRUUZ4QkVBZ01pZ0NIQ0EzUVpnQmJHb2lCMEdRQVdzb0FnQWdDR29nQjBHWUFXc29BZ0JySVFnTElGMGdBV3NoQXlBR1FRSnhCRUFnTWlnQ0hDQTNRWmdCYkdvaUFVR01BV3NvQWdBZ0Eyb2dBVUdVQVdzb0FnQnJJUU1MSUJvb0Fqd2lCaUVDSUFaRkJFQWdCQ2dDZENFQ0N5QUVLQUtBQVNFV0lBUW9BbndoRFFKQUlDOG9BcWdHSWdkRkRRQWdGa1VnRFVWeUlRRWdCMEVlVEFSQUlBRU5BVUVBSVJBRFFDQU5JQkJzSVFSQkFDRUJBMEFnQWlBQklBUnFRUUowYWlJUktBSUFJZ2tnQ1VFZmRTSUZjeUFGYXlJRklBZDJCRUFnRVVFQUlBVWdMeWdDcUFaMkloRnJJQkVnQ1VFQVNCczJBZ0FMSUFGQkFXb2lBU0FOUncwQUN5QVFRUUZxSWhBZ0ZrY05BQXNNQVFzZ0FRMEFJQUpCQUNBTklCWnNRUUowRUJVYUN5QUdCRUFnRFNBV2JDRUdJQzhvQWhSQkFVWUVRQ0FHUlEwRlFRQWhBU0FHUVFSUEJFQWdCa0Y4Y1NFQlFRQWhCQU5BSUFJZ0JFRUNkR29pQXlBRC9RQUNBQ0plL1JzQVFRSnQvUkVnWHYwYkFVRUNiZjBjQVNCZS9Sc0NRUUp0L1J3Q0lGNzlHd05CQW0zOUhBUDlDd0lBSUFSQkJHb2lCQ0FCUncwQUN5QUJJQVpHRFFZTEEwQWdBaUFCUVFKMGFpSURJQU1vQWdCQkFtMDJBZ0FnQVVFQmFpSUJJQVpIRFFBTERBVUxJQVpGRFFRZ01Db0NJRU1BQUFBL2xDRm1RUUFoQkFKQUlBWkJCRWtFUUNBQ0lRRU1BUXNnQWlBR1FYeHhJZ1JCQW5ScUlRRWdadjBUSVY1QkFDRURBMEFnQWlBRFFRSjBhaUlISUY0Z0IvMEFBZ0Q5K2dIOTVnSDlDd0lBSUFOQkJHb2lBeUFFUncwQUN5QUVJQVpHRFFVTEEwQWdBU0JtSUFFb0FnQ3lsRGdDQUNBQlFRUnFJUUVnQkVFQmFpSUVJQVpIRFFBTERBUUxJRFlnTldzaEVTQXZLQUlVUVFGSERRSWdGa1VOQXlBeUtBSWtJZ1lnQXlBUmJDSURRUUowYWlBSVFRSjBhaUVKSUExQmZIRWlERUVCYXlJQlFRUnhJUXNnTmlBTklEVnFhMEVDZENFYUlBRkJBblpCQVdwQi92Ly8vd2R4SVIwZ0F5QUlha0VDZENBR2FpQUNheUVLUVFBaENDQUJRUU5ISVJRRFFFRUFJUUVDUUNBTVJRMEFJQWdnRFd3aEF5QUpJQWdnRVd4QkFuUnFJUVpCQUNFSElCUUVRQU5BSUFZZ0FVRUNkR29nQWlBQklBTnFRUUowYXYwQUFnQWlYdjBiQUVFQ2JmMFJJRjc5R3dGQkFtMzlIQUVnWHYwYkFrRUNiZjBjQWlCZS9Sc0RRUUp0L1J3RC9Rc0NBQ0FHSUFGQkJISWlCRUVDZEdvZ0FpQURJQVJxUVFKMGF2MEFBZ0FpWHYwYkFFRUNiZjBSSUY3OUd3RkJBbTM5SEFFZ1h2MGJBa0VDYmYwY0FpQmUvUnNEUVFKdC9Sd0QvUXNDQUNBQlFRaHFJUUVnQjBFQ2FpSUhJQjFIRFFBTEN5QUxEUUFnQmlBQlFRSjBhaUFDSUFFZ0EycEJBblJxL1FBQ0FDSmUvUnNBUVFKdC9SRWdYdjBiQVVFQ2JmMGNBU0JlL1JzQ1FRSnQvUndDSUY3OUd3TkJBbTM5SEFQOUN3SUFJQUZCQkdvaEFRc0NRQ0FCSUExUERRQWdDQ0FOYkNFRElBa2dDQ0FSYkVFQ2RHb2hCd0pBSUEwZ0FXc2lFRUVFU1FSQUlBRWhCQXdCQ3lBS0lBZ2dHbXhxUVJCSkJFQWdBU0VFREFFTElBRWdFRUY4Y1NJRmFpRUVRUUFoQmdOQUlBY2dBU0FHYWlJaFFRSjBhaUFDSUFNZ0lXcEJBblJxL1FBQ0FDSmUvUnNBUVFKdC9SRWdYdjBiQVVFQ2JmMGNBU0JlL1JzQ1FRSnQvUndDSUY3OUd3TkJBbTM5SEFQOUN3SUFJQVpCQkdvaUJpQUZSdzBBQ3lBRklCQkdEUUVMSUFSQkFXb2hBU0FOSUFSclFRRnhCRUFnQnlBRVFRSjBhaUFDSUFNZ0JHcEJBblJxS0FJQVFRSnROZ0lBSUFFaEJBc2dBU0FOUmcwQUEwQWdCeUFFUVFKMGFpQUNJQU1nQkdwQkFuUnFLQUlBUVFKdE5nSUFJQWNnQkVFQmFpSUJRUUowYWlBQ0lBRWdBMnBCQW5ScUtBSUFRUUp0TmdJQUlBUkJBbW9pQkNBTlJ3MEFDd3NnQ0VFQmFpSUlJQlpIRFFBTERBTUxJQ01nR1RZQ0FDQWRRUUpCMWNFQUlDTVFEd3NnRUNnQ0FFRUFOZ0lBREFFTElCWkZEUUFnRFVVTkFDQXlLQUlrSUFNZ0VXeEJBblJxSUFoQkFuUnFJUWNnRFVGOGNTSURRUUowSVFZZ01Db0NJRU1BQUFBL2xDSm0vUk1oWGtFQUlSQWdEVUVFU1NFSUEwQUNRQUpBSUFnRVFDQUNJUWtnQnlFQlFRQWhCQXdCQ3lBR0lBZHFJUUVnQWlBR2FpRUpRUUFoQkFOQUlBY2dCRUVDZENJRmFpQmVJQUlnQldyOUFBSUEvZm9CL2VZQi9Rc0NBQ0FFUVFScUlnUWdBMGNOQUFzZ0NTRUNJQU1pQkNBTlJnMEJDeUFKSVFJRFFDQUJJR1lnQWlnQ0FMS1VPQUlBSUFGQkJHb2hBU0FDUVFScUlRSWdCRUVCYWlJRUlBMUhEUUFMQ3lBSElCRkJBblJxSVFjZ0VFRUJhaUlRSUJaSERRQUxDeUFBRUJBZ0kwSGdBR29rQUF2V0JBRUpmeUFBS0FJc1FRaFBCRUFnQUNnQ0tDRUZRUWdoQ2dOQUlBQW9BZ3hCQlhRaENDQUFLQUlBSVFRZ0FDZ0NKQ0VEQWtBZ0FDZ0NGQ0lHSUFBb0FoQWlBVTBOQUNBRUlBaHFJUWNnQVVFQmFpRUNJQVlnQVd0QkFYRUVRQ0FISUFGQkJuUnFJZ2tnQlNBQklBTnNRUUowYWlJQi9RQUNBUDBMQWdBZ0NTQUIvUUFDRVAwTEFoQWdBaUVCQ3lBQ0lBWkdEUUFEUUNBSElBRkJCblJxSWdJZ0JTQUJJQU5zUVFKMGFpSUovUUFDQVAwTEFnQWdBaUFKL1FBQ0VQMExBaEFnQnlBQlFRRnFJZ0pCQm5ScUlna2dCU0FDSUFOc1FRSjBhaUlDL1FBQ0VQMExBaEFnQ1NBQy9RQUNBUDBMQWdBZ0FVRUNhaUlCSUFaSERRQUxDd0pBSUFBb0Fod2lCaUFBS0FJWUlnRk5EUUFnQkNBSWEwRWdhaUVISUFVZ0FDZ0NDQ0FEYkVFQ2RHb2hDQ0FCUVFGcUlRSWdCaUFCYTBFQmNRUkFJQWNnQVVFR2RHb2lCQ0FJSUFFZ0EyeEJBblJxSWdIOUFBSUEvUXNDQUNBRUlBSDlBQUlRL1FzQ0VDQUNJUUVMSUFJZ0JrWU5BQU5BSUFjZ0FVRUdkR29pQWlBSUlBRWdBMnhCQW5ScUlnVDlBQUlBL1FzQ0FDQUNJQVQ5QUFJUS9Rc0NFQ0FISUFGQkFXb2lBa0VHZEdvaUJDQUlJQUlnQTJ4QkFuUnFJZ0w5QUFJUS9Rc0NFQ0FFSUFMOUFBSUEvUXNDQUNBQlFRSnFJZ0VnQmtjTkFBc0xJQUFRSWtFQUlRRWdBQ2dDSUFSQUEwQWdCU0FBS0FJa0lBRnNRUUowYWlJQ0lBQW9BZ0FnQVVFRmRHb2lBLzBBQWdEOUN3SUFJQUlnQS8wQUFoRDlDd0lRSUFGQkFXb2lBU0FBS0FJZ1NRMEFDd3NnQlVFZ2FpRUZJQXBCQ0dvaUNpQUFLQUlzVFEwQUN3c2dBQ2dDQUJBUUlBQVFFQXYzRFFFbGZ5QUFLQUlzUVFoUEJFQWdBQ2dDSkNJS1FRVjBJUjRnQ2tFSGJDRVdJQXBCQm13aEZ5QUtRUVZzSVJnZ0NrRURiQ0VaSUFwQkFYUWhHaUFBS0FJb0lnRWdDa0VjYkdvaEh5QUJJQXBCR0d4cUlTQWdBU0FLUVJSc2FpRWhJQUVnQ2tFRWRHb2hJaUFCSUFwQkRHeHFJU01nQVNBS1FRTjBJaVJxSVNVZ0FTQUtRUUowSWh0cUlTWkJDQ0VjQTBBZ0FDQUJJQUFvQWlSQkNCQTdJQUFRSWdKQUlBQW9BaUFpQzBVTkFDQWRJQjVzSVFnZ0FDZ0NBQ0VHUVFBaEJBSkFBa0FnQzBIb0Fra05BQ0FHUVF4cUlnNGdDMEVCYXlJQ1FRVjBJZ05xSUE1SkRRQWdCa0VJYWlJUElBTnFJQTlKRFFBZ0F5QUdhaUFHU1EwQUlBWkJCR29pRUNBRGFpQVFTUTBBSUFKQi8vLy9QMHNOQUNBQklBZ2dKbW9pQXlBTFFRSjBJZ1ZxSWd4SklBTWdBU0FGYWlJSFNYRU5BQ0FCSUFnZ0pXb2lBaUFGYWlJTlNTQUNJQWRKY1EwQUlBRWdCU0FJSUNOcUlnbHFJZ1ZKSUFjZ0NVdHhEUUFnQmlBSFNTQUJJQVlnQzBFRmRHb2lFVUVjYXlJU1NYRU5BQ0FCSUJGQkdHc2lFMGtnQnlBUVMzRU5BQ0FCSUJGQkZHc2lGRWtnQnlBUFMzRU5BQ0FISUE1TElBRWdFVUVRYXlJSFNYRU5BQ0FESUExSklBSWdERWx4RFFBZ0F5QUZTU0FKSUF4SmNRMEFJQU1nRWtrZ0JpQU1TWEVOQUNBRElCTkpJQXdnRUV0eERRQWdBeUFVU1NBTUlBOUxjUTBBSUFNZ0Iwa2dEQ0FPUzNFTkFDQUNJQVZKSUFrZ0RVbHhEUUFnQWlBU1NTQUdJQTFKY1EwQUlBSWdFMGtnRFNBUVMzRU5BQ0FDSUJSSklBMGdEMHR4RFFBZ0FpQUhTU0FOSUE1TGNRMEFJQWtnRWtrZ0JTQUdTM0VOQUNBSklCTkpJQVVnRUV0eERRQWdDU0FVU1NBRklBOUxjUTBBSUFjZ0NVc2dCU0FPUzNFTkFDQUxRZnovLy84QWNTRUVRUUFoQXdOQUlBRWdBMEVDZEdvZ0JpQURRUVYwYWlJQy9Ra0NBQ0FDS2dJZy9TQUJJQUpCUUdzcUFnRDlJQUlnQWlvQ1lQMGdBLzBMQWdBZ0FTQURJQXBxUVFKMGFpQUMvUWtDQkNBQ0tnSWsvU0FCSUFJcUFrVDlJQUlnQWlvQ1pQMGdBLzBMQWdBZ0FTQURJQnBxUVFKMGFpQUMvUWtDQ0NBQ0tnSW8vU0FCSUFJcUFrajlJQUlnQWlvQ2FQMGdBLzBMQWdBZ0FTQURJQmxxUVFKMGFpQUMvUWtDRENBQ0tnSXMvU0FCSUFJcUFrejlJQUlnQWlvQ2JQMGdBLzBMQWdBZ0EwRUVhaUlESUFSSERRQUxJQVFnQzBZTkFRc0RRQ0FCSUFSQkFuUnFJQVlnQkVFRmRHb2lBeW9DQURnQ0FDQUJJQVFnQ21wQkFuUnFJQU1xQWdRNEFnQWdBU0FFSUJwcVFRSjBhaUFES2dJSU9BSUFJQUVnQkNBWmFrRUNkR29nQXlvQ0REZ0NBQ0FFUVFGcUlnUWdDMGNOQUFzTElBQW9BZ0FoQmtFQUlRUUNRQ0FMUWR3QVNRMEFJQVpCSEdvaUR5QUxRUUZySWdKQkJYUWlBMm9nRDBrTkFDQUdRUmhxSWhBZ0Eyb2dFRWtOQUNBR1FSQnFJaEVnQTJvZ0VVa05BQ0FHUVJScUloSWdBMm9nRWtrTkFDQUNRZi8vL3o5TERRQWdDQ0FpYWlJRElBZ2dJV29pQWlBTFFRSjBJZ1ZxSWd4SklBSWdBeUFGYWlJSFNYRU5BQ0FESUFnZ0lHb2lDU0FGYWlJTlNTQUhJQWxMY1EwQUlBTWdDQ0FmYWlJSUlBVnFJZ1ZKSUFjZ0NFdHhEUUFnQXlBR0lBdEJCWFJxSWc1QkRHc2lFMGtnQnlBUlMzRU5BQ0FESUE1QkNHc2lGRWtnQnlBU1MzRU5BQ0FESUE1QkJHc2lGVWtnQnlBUVMzRU5BQ0FESUE1SklBY2dEMHR4RFFBZ0FpQU5TU0FKSUF4SmNRMEFJQUlnQlVrZ0NDQU1TWEVOQUNBQ0lCTkpJQXdnRVV0eERRQWdBaUFVU1NBTUlCSkxjUTBBSUFJZ0ZVa2dEQ0FRUzNFTkFDQUNJQTVKSUF3Z0QwdHhEUUFnQ0NBTlNTQUZJQWxMY1EwQUlBa2dFMGtnRFNBUlMzRU5BQ0FKSUJSSklBMGdFa3R4RFFBZ0NTQVZTU0FOSUJCTGNRMEFJQWtnRGtrZ0RTQVBTM0VOQUNBSUlCTkpJQVVnRVV0eERRQWdDQ0FVU1NBRklCSkxjUTBBSUFnZ0ZVa2dCU0FRUzNFTkFDQUlJQTVKSUFVZ0QwdHhEUUFnQzBIOC8vLy9BSEVoQkVFQUlRTURRQ0FCSUFNZ0cycEJBblJxSUFZZ0EwRUZkR29pQXYwSkFoQWdBaW9DTVAwZ0FTQUNLZ0pRL1NBQ0lBSXFBbkQ5SUFQOUN3SUFJQUVnQXlBWWFrRUNkR29nQXYwSkFoUWdBaW9DTlAwZ0FTQUNLZ0pVL1NBQ0lBSXFBblQ5SUFQOUN3SUFJQUVnQXlBWGFrRUNkR29nQXYwSkFoZ2dBaW9DT1AwZ0FTQUNLZ0pZL1NBQ0lBSXFBbmo5SUFQOUN3SUFJQUVnQXlBV2FrRUNkR29nQXYwSkFod2dBaW9DUFAwZ0FTQUNLZ0pjL1NBQ0lBSXFBbno5SUFQOUN3SUFJQU5CQkdvaUF5QUVSdzBBQ3lBRUlBdEdEUUVMQTBBZ0FTQUVJQnRxUVFKMGFpQUdJQVJCQlhScUlnTXFBaEE0QWdBZ0FTQUVJQmhxUVFKMGFpQURLZ0lVT0FJQUlBRWdCQ0FYYWtFQ2RHb2dBeW9DR0RnQ0FDQUJJQVFnRm1wQkFuUnFJQU1xQWh3NEFnQWdCRUVCYWlJRUlBdEhEUUFMQ3lBZFFRRnFJUjBnQVNBa1FRSjBhaUVCSUJ4QkNHb2lIQ0FBS0FJc1RRMEFDd3NnQUNnQ0FCQVFJQUFRRUF0ekFRSi9JQUFvQWh3aUFVRUlhaUlESUFBb0FpQWlBazBFUUFOQUlBQWdBQ2dDR0NBQlFRSjBhaUFBS0FJVVFRZ1FNQ0FESWdGQkNHb2lBeUFBS0FJZ0lnSk5EUUFMQ3lBQklBSkpCRUFnQUNBQUtBSVlJQUZCQW5ScUlBQW9BaFFnQWlBQmF4QXdDeUFBS0FJQUVCQWdBQkFRQzBRQUlBQW9BaHdpQVNBQUtBSWdTUVJBQTBBZ0FDQUFLQUlZSUFBb0FoUWdBV3hCQW5ScUVGMGdBVUVCYWlJQklBQW9BaUJKRFFBTEN5QUFLQUlBRUJBZ0FCQVFDNmdCQVFWL0lBQW9BbFFpQXlnQ0FDRUZJQU1vQWdRaUJDQUFLQUlVSUFBb0Fod2lCMnNpQmlBRUlBWkpHeUlHQkVBZ0JTQUhJQVlRRWhvZ0F5QURLQUlBSUFacUlnVTJBZ0FnQXlBREtBSUVJQVpySWdRMkFnUUxJQVFnQWlBQ0lBUkxHeUlFQkVBZ0JTQUJJQVFRRWhvZ0F5QURLQUlBSUFScUlnVTJBZ0FnQXlBREtBSUVJQVJyTmdJRUN5QUZRUUE2QUFBZ0FDQUFLQUlzSWdFMkFod2dBQ0FCTmdJVUlBSUxuZ1VDQm40RWZ5QUJJQUVvQWdCQkIycEJlSEVpQVVFUWFqWUNBQ0FBSVFzZ0FTa0RBQ0VESUFFcEF3Z2hCeU1BUVNCcklnZ2tBQ0FIUXYvLy8vLy8veitESVFRQ2ZpQUhRakNJUXYvL0FZTWlCYWNpQ2tHQitBQnJRZjBQVFFSQUlBUkNCSVlnQTBJOGlJUWhBaUFLUVlENEFHdXRJUVVDUUNBRFF2Ly8vLy8vLy8vL0Q0TWlBMEtCZ0lDQWdJQ0FnQWhhQkVBZ0FrSUJmQ0VDREFFTElBTkNnSUNBZ0lDQWdJQUlVZzBBSUFKQ0FZTWdBbndoQWd0Q0FDQUNJQUpDLy8vLy8vLy8vd2RXSWdBYklRSWdBSzBnQlh3TUFRc0NRQ0FESUFTRVVBMEFJQVZDLy84QlVnMEFJQVJDQklZZ0EwSThpSVJDZ0lDQWdJQ0FnQVNFSVFKQy93OE1BUXRDL3c4Z0NrSCtod0ZMRFFBYVFnQkJnUGdBUVlINEFDQUZVQ0lCR3lJQUlBcHJJZ2xCOEFCS0RRQWFJQU1oQWlBRUlBUkNnSUNBZ0lDQXdBQ0VJQUViSWdZaEJBSkFRWUFCSUFscklnRkJ3QUJ4QkVBZ0F5QUJRVUJxcllZaEJFSUFJUUlNQVFzZ0FVVU5BQ0FFSUFHdElnV0dJQUpCd0FBZ0FXdXRpSVFoQkNBQ0lBV0dJUUlMSUFnZ0FqY0RFQ0FJSUFRM0F4Z0NRQ0FKUWNBQWNRUkFJQVlnQ1VGQWFxMklJUU5DQUNFR0RBRUxJQWxGRFFBZ0JrSEFBQ0FKYTYyR0lBTWdDYTBpQW9pRUlRTWdCaUFDaUNFR0N5QUlJQU0zQXdBZ0NDQUdOd01JSUFncEF3aENCSVlnQ0NrREFDSUNRanlJaENFREFrQWdBQ0FLUnlBSUtRTVFJQWdwQXhpRVFnQlNjYTBnQWtMLy8vLy8vLy8vL3crRGhDSUNRb0dBZ0lDQWdJQ0FDRm9FUUNBRFFnRjhJUU1NQVFzZ0FrS0FnSUNBZ0lDQWdBaFNEUUFnQTBJQmd5QURmQ0VEQ3lBRFFvQ0FnSUNBZ0lBSWhTQURJQU5DLy8vLy8vLy8vd2RXSWdBYklRSWdBSzBMSVFNZ0NFRWdhaVFBSUFzZ0IwS0FnSUNBZ0lDQWdJQi9neUFEUWpTR2hDQUNoTDg1QXdBTGhoZ0RFMzhCZkFOK0l3QkJzQVJySWd3a0FDQU1RUUEyQWl3Q1FDQUJ2U0lhUWdCVEJFQkJBU0VSUWJvSUlSTWdBWm9pQWIwaEdnd0JDeUFFUVlBUWNRUkFRUUVoRVVHOUNDRVREQUVMUWNBSVFic0lJQVJCQVhFaUVSc2hFeUFSUlNFVkN3SkFJQnBDZ0lDQWdJQ0FnUGovQUlOQ2dJQ0FnSUNBZ1BqL0FGRUVRQ0FBUVNBZ0FpQVJRUU5xSWdNZ0JFSC8vM3R4RUJ3Z0FDQVRJQkVRR1NBQVFaSUpRZllLSUFWQklIRWlCUnRCK3dsQitnb2dCUnNnQVNBQllodEJBeEFaSUFCQklDQUNJQU1nQkVHQXdBQnpFQndnQXlBQ0lBSWdBMGdiSVFvTUFRc2dERUVRYWlFU0FrQUNmd0pBSUFFZ0RFRXNhaEJsSWdFZ0FhQWlBVVFBQUFBQUFBQUFBR0lFUUNBTUlBd29BaXdpQmtFQmF6WUNMQ0FGUVNCeUlnNUI0UUJIRFFFTUF3c2dCVUVnY2lJT1FlRUFSZzBDSUF3b0Fpd2hDVUVHSUFNZ0EwRUFTQnNNQVFzZ0RDQUdRUjFySWdrMkFpd2dBVVFBQUFBQUFBQ3dRYUloQVVFR0lBTWdBMEVBU0JzTElRc2dERUV3YWtHZ0FrRUFJQWxCQUU0YmFpSU5JUWNEUUNBSEFuOGdBVVFBQUFBQUFBRHdRV01nQVVRQUFBQUFBQUFBQUdaeEJFQWdBYXNNQVF0QkFBc2lBellDQUNBSFFRUnFJUWNnQVNBRHVLRkVBQUFBQUdYTnpVR2lJZ0ZFQUFBQUFBQUFBQUJpRFFBTEFrQWdDVUVBVEFSQUlBa2hBeUFISVFZZ0RTRUlEQUVMSUEwaENDQUpJUU1EUUVFZElBTWdBMEVkVHhzaEF3SkFJQWRCQkdzaUJpQUlTUTBBSUFPdElSeENBQ0VhQTBBZ0JpQWFRdi8vLy84UGd5QUdOUUlBSUJ5R2ZDSWJRb0NVNjl3RGdDSWFRb0RzbEtNTWZpQWJmRDRDQUNBR1FRUnJJZ1lnQ0U4TkFBc2dHMEtBbE92Y0ExUU5BQ0FJUVFScklnZ2dHajRDQUFzRFFDQUlJQWNpQmtrRVFDQUdRUVJySWdjb0FnQkZEUUVMQ3lBTUlBd29BaXdnQTJzaUF6WUNMQ0FHSVFjZ0EwRUFTZzBBQ3dzZ0EwRUFTQVJBSUF0QkdXcEJDVzVCQVdvaER5QU9RZVlBUmlFUUEwQkJDVUVBSUFOcklnTWdBMEVKVHhzaENnSkFJQVlnQ0UwRVFDQUlLQUlBUlVFQ2RDRUhEQUVMUVlDVTY5d0RJQXAySVJSQmZ5QUtkRUYvY3lFV1FRQWhBeUFJSVFjRFFDQUhJQU1nQnlnQ0FDSVhJQXAyYWpZQ0FDQVdJQmR4SUJSc0lRTWdCMEVFYWlJSElBWkpEUUFMSUFnb0FnQkZRUUowSVFjZ0EwVU5BQ0FHSUFNMkFnQWdCa0VFYWlFR0N5QU1JQXdvQWl3Z0Ntb2lBellDTENBTklBY2dDR29pQ0NBUUd5SUhJQTlCQW5ScUlBWWdCaUFIYTBFQ2RTQVBTaHNoQmlBRFFRQklEUUFMQzBFQUlRTUNRQ0FHSUFoTkRRQWdEU0FJYTBFQ2RVRUpiQ0VEUVFvaEJ5QUlLQUlBSWdwQkNra05BQU5BSUFOQkFXb2hBeUFLSUFkQkNtd2lCMDhOQUFzTElBc2dBMEVBSUE1QjVnQkhHMnNnRGtIbkFFWWdDMEVBUjNGcklnY2dCaUFOYTBFQ2RVRUpiRUVKYTBnRVFDQU1RVEJxUVlSZ1FhUmlJQWxCQUVnYmFpQUhRWURJQUdvaUNrRUpiU0lQUVFKMGFpRUpRUW9oQnlBUFFYZHNJQXBxSWdwQkIwd0VRQU5BSUFkQkNtd2hCeUFLUVFGcUlncEJDRWNOQUFzTEFrQWdDU2dDQUNJUUlCQWdCMjRpRHlBSGJDSUtSaUFKUVFScUloUWdCa1p4RFFBZ0VDQUtheUVRQWtBZ0QwRUJjVVVFUUVRQUFBQUFBQUJBUXlFQklBZEJnSlRyM0FOSERRRWdDQ0FKVHcwQklBbEJCR3N0QUFCQkFYRkZEUUVMUkFFQUFBQUFBRUJESVFFTFJBQUFBQUFBQU9BL1JBQUFBQUFBQVBBL1JBQUFBQUFBQVBnL0lBWWdGRVliUkFBQUFBQUFBUGcvSUJBZ0IwRUJkaUlVUmhzZ0VDQVVTUnNoR1FKQUlCVU5BQ0FUTFFBQVFTMUhEUUFnR1pvaEdTQUJtaUVCQ3lBSklBbzJBZ0FnQVNBWm9DQUJZUTBBSUFrZ0J5QUthaUlETmdJQUlBTkJnSlRyM0FOUEJFQURRQ0FKUVFBMkFnQWdDQ0FKUVFScklnbExCRUFnQ0VFRWF5SUlRUUEyQWdBTElBa2dDU2dDQUVFQmFpSUROZ0lBSUFOQi81UHIzQU5MRFFBTEN5QU5JQWhyUVFKMVFRbHNJUU5CQ2lFSElBZ29BZ0FpQ2tFS1NRMEFBMEFnQTBFQmFpRURJQW9nQjBFS2JDSUhUdzBBQ3dzZ0NVRUVhaUlISUFZZ0JpQUhTeHNoQmdzRFFDQUdJZ2NnQ0UwaUNrVUVRQ0FHUVFScklnWW9BZ0JGRFFFTEN3SkFJQTVCNXdCSEJFQWdCRUVJY1NFSkRBRUxJQU5CZjNOQmZ5QUxRUUVnQ3hzaUJpQURTaUFEUVh0S2NTSUpHeUFHYWlFTFFYOUJmaUFKR3lBRmFpRUZJQVJCQ0hFaUNRMEFRWGNoQmdKQUlBb05BQ0FIUVFScktBSUFJZzVGRFFCQkNpRUtRUUFoQmlBT1FRcHdEUUFEUUNBR0lnbEJBV29oQmlBT0lBcEJDbXdpQ25CRkRRQUxJQWxCZjNNaEJnc2dCeUFOYTBFQ2RVRUpiQ0VLSUFWQlgzRkJ4Z0JHQkVCQkFDRUpJQXNnQmlBS2FrRUpheUlHUVFBZ0JrRUFTaHNpQmlBR0lBdEtHeUVMREFFTFFRQWhDU0FMSUFNZ0Ntb2dCbXBCQ1dzaUJrRUFJQVpCQUVvYklnWWdCaUFMU2hzaEN3dEJmeUVLSUF0Qi9mLy8vd2RCL3YvLy93Y2dDU0FMY2lJUUcwb05BU0FMSUJCQkFFZHFRUUZxSVE0Q1FDQUZRVjl4SWhWQnhnQkdCRUFnQXlBT1FmLy8vLzhIYzBvTkF5QURRUUFnQTBFQVNoc2hCZ3dCQ3lBU0lBTWdBMEVmZFNJR2N5QUdhNjBnRWhBcUlnWnJRUUZNQkVBRFFDQUdRUUZySWdaQk1Eb0FBQ0FTSUFaclFRSklEUUFMQ3lBR1FRSnJJZzhnQlRvQUFDQUdRUUZyUVMxQkt5QURRUUJJR3pvQUFDQVNJQTlySWdZZ0RrSC8vLy8vQjNOS0RRSUxJQVlnRG1vaUF5QVJRZi8vLy84SGMwb05BU0FBUVNBZ0FpQURJQkZxSWdNZ0JCQWNJQUFnRXlBUkVCa2dBRUV3SUFJZ0F5QUVRWUNBQkhNUUhBSkFBa0FDUUNBVlFjWUFSZ1JBSUF4QkVHcEJDWEloQlNBTklBZ2dDQ0FOU3hzaUNTRUlBMEFnQ0RVQ0FDQUZFQ29oQmdKQUlBZ2dDVWNFUUNBR0lBeEJFR3BORFFFRFFDQUdRUUZySWdaQk1Eb0FBQ0FHSUF4QkVHcExEUUFMREFFTElBVWdCa2NOQUNBR1FRRnJJZ1pCTURvQUFBc2dBQ0FHSUFVZ0Jtc1FHU0FJUVFScUlnZ2dEVTBOQUFzZ0VBUkFJQUJCZ2d4QkFSQVpDeUFISUFoTkRRRWdDMEVBVEEwQkEwQWdDRFVDQUNBRkVDb2lCaUFNUVJCcVN3UkFBMEFnQmtFQmF5SUdRVEE2QUFBZ0JpQU1RUkJxU3cwQUN3c2dBQ0FHUVFrZ0N5QUxRUWxPR3hBWklBdEJDV3NoQmlBSVFRUnFJZ2dnQjA4TkF5QUxRUWxLSVJnZ0JpRUxJQmdOQUFzTUFnc0NRQ0FMUVFCSURRQWdCeUFJUVFScUlBY2dDRXNiSVEwZ0RFRVFha0VKY2lFRklBZ2hCd05BSUFVZ0J6VUNBQ0FGRUNvaUJrWUVRQ0FHUVFGcklnWkJNRG9BQUFzQ1FDQUhJQWhIQkVBZ0JpQU1RUkJxVFEwQkEwQWdCa0VCYXlJR1FUQTZBQUFnQmlBTVFSQnFTdzBBQ3d3QkN5QUFJQVpCQVJBWklBWkJBV29oQmlBSklBdHlSUTBBSUFCQmdneEJBUkFaQ3lBQUlBWWdCU0FHYXlJR0lBc2dCaUFMU0JzUUdTQUxJQVpySVFzZ0IwRUVhaUlISUExUERRRWdDMEVBVGcwQUN3c2dBRUV3SUF0QkVtcEJFa0VBRUJ3Z0FDQVBJQklnRDJzUUdRd0NDeUFMSVFZTElBQkJNQ0FHUVFscVFRbEJBQkFjQ3lBQVFTQWdBaUFESUFSQmdNQUFjeEFjSUFNZ0FpQUNJQU5JR3lFS0RBRUxJQk1nQlVFYWRFRWZkVUVKY1dvaENBSkFJQU5CQzBzTkFFRU1JQU5ySVFaRUFBQUFBQUFBTUVBaEdRTkFJQmxFQUFBQUFBQUFNRUNpSVJrZ0JrRUJheUlHRFFBTElBZ3RBQUJCTFVZRVFDQVpJQUdhSUJtaG9Kb2hBUXdCQ3lBQklCbWdJQm1oSVFFTElCSWdEQ2dDTENJSElBZEJIM1VpQm5NZ0JtdXRJQklRS2lJR1JnUkFJQVpCQVdzaUJrRXdPZ0FBQ3lBUlFRSnlJUXNnQlVFZ2NTRU5JQVpCQW1zaUNTQUZRUTlxT2dBQUlBWkJBV3RCTFVFcklBZEJBRWdiT2dBQUlBUkJDSEVoQmlBTVFSQnFJUWNEUUNBSElnVUNmeUFCbVVRQUFBQUFBQURnUVdNRVFDQUJxZ3dCQzBHQWdJQ0FlQXNpQjBIUXhBRnFMUUFBSUExeU9nQUFJQUVnQjdlaFJBQUFBQUFBQURCQW9pRUJBa0FnQlVFQmFpSUhJQXhCRUdwclFRRkhEUUFDUUNBR0RRQWdBMEVBU2cwQUlBRkVBQUFBQUFBQUFBQmhEUUVMSUFWQkxqb0FBU0FGUVFKcUlRY0xJQUZFQUFBQUFBQUFBQUJpRFFBTFFYOGhDa0g5Ly8vL0J5QUxJQklnQ1dzaUJtb2lEV3NnQTBnTkFDQUFRU0FnQWlBTklBTkJBbW9nQnlBTVFSQnFJZ2RySWdVZ0JVRUNheUFEU0JzZ0JTQURHeUlLYWlJRElBUVFIQ0FBSUFnZ0N4QVpJQUJCTUNBQ0lBTWdCRUdBZ0FSekVCd2dBQ0FISUFVUUdTQUFRVEFnQ2lBRmEwRUFRUUFRSENBQUlBa2dCaEFaSUFCQklDQUNJQU1nQkVHQXdBQnpFQndnQXlBQ0lBSWdBMGdiSVFvTElBeEJzQVJxSkFBZ0Nnc0VBRUlBQ3dRQVFRQUxud01CQ1g5QjVnb2hBQUpBQTBBZ0FDMEFBQ0lCUlEwQklBRkJQVVlOQVNBQVFRRnFJZ0JCQTNFTkFBc0NRQUpBUVlDQ2hBZ2dBQ2dDQUNJQ2F5QUNja0dBZ1lLRWVIRkJnSUdDaEhoSERRQURRRUdBZ29RSUlBSkJ2ZnIwNlFOeklnRnJJQUZ5UVlDQmdvUjRjVUdBZ1lLRWVFY05BU0FBS0FJRUlRSWdBRUVFYWlJQklRQWdBa0dBZ29RSUlBSnJja0dBZ1lLRWVIRkJnSUdDaEhoR0RRQUxEQUVMSUFBaEFRc0RRQ0FCSWdBdEFBQWlBa1VOQVNBQVFRRnFJUUVnQWtFOVJ3MEFDd3NnQUNJQlFlWUtSZ1JBUVFBUEN3SkFJQUZCNWdwcklnQkI1Z3BxTFFBQURRQkJzTThCS0FJQUlnUkZEUUFnQkNnQ0FDSUZSUTBBQTBBQ1FBSi9JQVVoQWtIbUNpRUdRUUFnQUNJQlJRMEFHa0htQ2kwQUFDSURCSDhDUUFOQUlBTWdBaTBBQUNJSFJ3MEJJQWRGRFFFZ0FVRUJheUlCUlEwQklBSkJBV29oQWlBR0xRQUJJUU1nQmtFQmFpRUdJQU1OQUF0QkFDRURDeUFEQlVFQUN5QUNMUUFBYXd0RkJFQWdBQ0FGYWlJQkxRQUFRVDFHRFFFTElBUW9BZ1FoQlNBRVFRUnFJUVFnQlEwQkRBSUxDeUFCUVFGcUlRZ0xJQWdMQ1FBZ0FDZ0NQQkFOQzg0Q0FRaC9Jd0JCSUdzaUF5UUFJQU1nQUNnQ0hDSUVOZ0lRSUFBb0FoUWhCU0FESUFJMkFod2dBeUFCTmdJWUlBTWdCU0FFYXlJQk5nSVVJQUVnQW1vaEJVRUNJUVlnQTBFUWFpRUJBbjhEUUFKQUFrQUNRQ0FBS0FJOElBRWdCaUFEUVF4cUVBRWlCQVIvUVpUSEFTQUVOZ0lBUVg4RlFRQUxSUVJBSUFVZ0F5Z0NEQ0lIUmcwQklBZEJBRTROQWd3REN5QUZRWDlIRFFJTElBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEFnQWd3REN5QUJJQWNnQVNnQ0JDSUlTeUlKUVFOMGFpSUVJQWNnQ0VFQUlBa2JheUlJSUFRb0FnQnFOZ0lBSUFGQkRFRUVJQWtiYWlJQklBRW9BZ0FnQ0dzMkFnQWdCU0FIYXlFRklBWWdDV3NoQmlBRUlRRU1BUXNMSUFCQkFEWUNIQ0FBUWdBM0F4QWdBQ0FBS0FJQVFTQnlOZ0lBUVFBZ0JrRUNSZzBBR2lBQ0lBRW9BZ1JyQ3lFS0lBTkJJR29rQUNBS0MxWUJBbjhnQUNnQ1BDRUVJd0JCRUdzaUFDUUFJQVFnQWFjZ0FVSWdpS2NnQWtIL0FYRWdBRUVJYWhBSklnSUVmMEdVeHdFZ0FqWUNBRUYvQlVFQUN5RUNJQUFwQXdnaEFTQUFRUkJxSkFCQ2Z5QUJJQUliQ3dZQUlBQVFBQXNHQUNBQUVBTUw4bjRGQW53MmZ3aDdBMzRHZlNNQVFlREFBR3NpR0NRQUlCaEJBRFlDSUVFQ0lRd0NRQUpBSUFBb0FnQWlCMEdObEp6VUFFWU5BQ0FIUWYrZi9ZOEZSd1JBQWtBZ0IwR0FnSURnQUVjTkFDQUFLQUlFUWVxZ2dZRUNSdzBBSUFBb0FnaEJqWlNjMUFCR0RRSUxRYzBJRUFCQkFTRU1EQUlMUVFBaERBc0NmMEVBUVFGQjRBQVFFeUlIUlEwQUdpQUhRUUUyQWt3Q1FBSkFBa0FDUUNBTURnTUFBd0VEQ3lBSFFjTUFOZ0pZSUFkQnhBQTJBbFFnQjBIRkFEWUNVQ0FIUWNZQU5nSVFJQWRCeHdBMkFnUWdCMEhJQURZQ0hDQUhRY2tBTmdJWUlBZEJ5Z0EyQWhRZ0IwSExBRFlDQUNBSFFjd0FOZ0pjSUFkQnpRQTJBaXdnQjBIT0FEWUNLQ0FIUWM4QU5nSWtJQWRCMEFBMkFpQWdCMEhSQURZQ0RDQUhRZElBTmdJSUlBY1FUU0lJTmdJd0lBZ05BUXdDQ3lBSFFkTUFOZ0pZSUFkQjFBQTJBbFFnQjBIVkFEWUNVQ0FIUWRZQU5nSVFJQWRCMXdBMkFnUWdCMEhZQURZQ1hDQUhRZGtBTmdJc0lBZEIyZ0EyQWlnZ0IwSGJBRFlDSkNBSFFkd0FOZ0lnSUFkQjNRQTJBaHdnQjBIZUFEWUNHQ0FIUWQ4QU5nSVVJQWRCNEFBMkFnd2dCMEhoQURZQ0NDQUhRZUlBTmdJQUlBY0NmMEVCUVlnQkVCTWlDQVJBSUFnUVRTSU9OZ0lBQWtBZ0RrVU5BQ0FJL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ2JDQUlRUUE2QUh3Z0NCQXpJZzQyQWdRZ0RrVU5BQ0FJRURNaURqWUNDQ0FPUlEwQUlBZ01BZ3NnQ0JCd0MwRUFDeUlJTmdJd0lBaEZEUUVMSUFkQkFUWUNTQ0FIUVFFMkFrQWdCMEVBTmdJOElBZENBRGNDTkNBSFFRRTJBa1FnQnd3QkN5QUhFQkJCQUFzaUNBUkFJQWhCQURZQ1BDQUlRZU1BTmdKSUN5QUlCRUFnQ0VFQU5nSTRJQWhCNUFBMkFrUUxJQWdFUUNBSVFRQTJBalFnQ0VIbEFEWUNRQXNnR0VFa2FpSUhCRUFnQjBFQVFiakFBQkFWSWdkQkFEWUN1RUFnQjBKL053S0lRQXNnQXdSQUlCZ2dHQ2dDM0VCQkFYSTJBdHhBQ3lBWUlBRTJBaHdnR0NBQU5nSVlJQmdnQURZQ0ZFRUJJUXhCQUNFQkFrQWdHRUVVYWlJSFJRMEFRUUZCeUFBUUV5SUFCSDhDZnlBQVFZQ0F3QUEyQWtBZ0FFR0FnTUFBRUJRaURqWUNJQ0FPUlFSQUlBQVFFRUVBREFFTElBQWdEallDSkNBQVFRSTJBaHdnQUVFRE5nSVlJQUJCQkRZQ0ZDQUFRUVUyQWhBZ0FFRUdOZ0lzSUFCQkNEWUNLQ0FBSUFBb0FrUkJBbkkyQWtRZ0FBc0ZRUUFMSWdCRkRRQWdBQVJBSUFCQkFEWUNCQ0FBSUFjMkFnQUxJQWMxQWdnaFJTQUFCRUFnQUNCRk53TUlDd0pBSUFCRkRRQWdBQzBBUkVFQ2NVVU5BQ0FBUVQ4MkFoQUxJQUFFUUNBQVFjRUFOZ0lZQ3lBQUJFQWdBRUhDQURZQ0hBc2dBQ0VCQ3lBQklRQUNmeUFZUVNScUlRRUNRQ0FJUlEwQUlBRkZEUUFnQ0NnQ1RFVUVRQ0FJUVRScVFRRkJ0TWtBUVFBUUQwRUFEQUlMSUFnb0FqQWdBU0FJS0FJWUVRTUFRUUVoQ3dzZ0N3dEZCRUJCM0FnUUFDQUFFRFFnQ0JBMURBRUxBbjhnR0VFZ2FpRUJRUUFoQndKQUlBQkZEUUFnQ0VVTkFDQUlLQUpNUlFSQUlBaEJOR3BCQVVHRnlnQkJBQkFQUVFBTUFnc2dBQ0FJS0FJd0lBRWdDRUUwYWlBSUtBSUFFUUVBSVFjTElBY0xSUVJBUWZnSUVBQWdBQkEwSUFnUU5TQVlLQUlnRUNFTUFRc2dHQ2dDSUNFQlFRQWhCd0pBSUFoRkRRQWdBRVVOQUNBSUtBSk1SUTBBSUFnb0FqQWdBQ0FCSUFoQk5Hb2dDQ2dDQkJFQkFDRUhDd0pBSUFjRVFFRUFJUWNDUUNBSVJRMEFJQUJGRFFBZ0NDZ0NURVVOQUNBSUtBSXdJQUFnQ0VFMGFpQUlLQUlRRVFBQUlRY0xJQWNOQVF0Qi93a1FBQ0FJRURVZ0FCQTBJQmdvQWlBUUlRd0JDeUFBRURRZ0NCQTFJQmdvQWlBaURTZ0NIQ0lBQkVBZ0FCQVFJQmdvQWlBaURVSUFOd0ljQ3lBTktBSVFJU0VDUUFKQUlBSkZCRUFDUUNBRVJRMEFJQ0ZCQkVjTkFFRUJJUmxCQkNFaERBTUxBa0FDUUNBTktBSVVJZ0ZCQTBZTkFDQWhRUU5IRFFBZ0RTZ0NHQ0lBS0FJQUlBQW9BZ1JIRFFFZ0FDZ0NORUVCUmcwQklBMUJBellDRkF3REN5QWhRUUpMRFFBZ0RVRUNOZ0lVREFNTEFrQUNRQ0FCUVFOckRnTURBUUFFQ3lNQVFSQnJJZzRrQUFKQUFrQUNRQ0FOS0FJUVFRUkpEUUFnRFNnQ0dDSUFLQUlBSWdFZ0FDZ0NORWNOQUNBQklBQW9BbWhIRFFBZ0FTQUFLQUtjQVVjTkFDQUFLQUlFSWdFZ0FDZ0NPRWNOQUNBQklBQW9BbXhIRFFBZ0FTQUFLQUtnQVVZTkFRc2dEa0dIQ0RZQ0JDQU9RYmdLTmdJQVFlakVBVUh0UFNBT0VCWU1BUXNDUUNBQUtBSU1JQUFvQWdoc0lnaEZCRUFnQUNnQ3lBRWhBUXdCQzBNQUFJQS9RWDhnQUNnQ3RBRjBRWDl6czVVaFNFTUFBSUEvUVg4Z0FDZ0NnQUYwUVg5enM1VWhTa01BQUlBL1FYOGdBQ2dDVEhSQmYzT3psU0ZMUXdBQWdEOUJmeUFBS0FJWWRFRi9jN09WSVVrZ0FDZ0N5QUVoQVNBQUtBS1VBU0VDSUFBb0FtQWhDaUFBS0FJc0lRZEJBQ0VBQWtBZ0NFRUlTUTBBSUFjZ0NpQUlRUUowSWd0cUlnOUpJQW9nQnlBTGFpSVhTWEVOQUNBQ0lCZEpJQWNnQWlBTGFpSUpTWEVOQUNBQklCZEpJQWNnQVNBTGFpSUxTWEVOQUNBQ0lBOUpJQWtnQ2t0eERRQWdBU0FQU1NBS0lBdEpjUTBBSUFFZ0NVa2dBaUFMU1hFTkFDQUlRWHh4SVFBZ1NQMFRJVDBnU3YwVElUNGdTLzBUSVVNZ1NmMFRJVUJCQUNFTEEwQWdBaUFMUVFKMElnOXFJaGY5QUFJQUlVRWdDaUFQYWlJSi9RQUNBQ0ZDSUFjZ0Qyb2lFUDBNQUFDQVB3QUFnRDhBQUlBL0FBQ0FQeUJBSUJEOUFBSUEvZm9CL2VZQi9lVUIvUXdBQUg5REFBQi9Rd0FBZjBNQUFIOUQvZVlCL1F3QUFJQS9BQUNBUHdBQWdEOEFBSUEvSUQwZ0FTQVBhdjBBQWdEOStnSDk1Z0g5NVFFaVAvM21BZjM0QWYwTEFnQWdDZjBNQUFDQVB3QUFnRDhBQUlBL0FBQ0FQeUJESUVMOStnSDk1Z0g5NVFIOURBQUFmME1BQUg5REFBQi9Rd0FBZjBQOTVnRWdQLzNtQWYzNEFmMExBZ0FnRi8wTUFBQ0FQd0FBZ0Q4QUFJQS9BQUNBUHlBK0lFSDkrZ0g5NWdIOTVRSDlEQUFBZjBNQUFIOURBQUIvUXdBQWYwUDk1Z0VnUC8zbUFmMzRBZjBMQWdBZ0MwRUVhaUlMSUFCSERRQUxJQUFnQ0VZTkFRc0RRQUovUXdBQWdEOGdTU0FISUFCQkFuUWlDMm9pRHlnQ0FMS1VrME1BQUg5RGxFTUFBSUEvSUVnZ0FTQUxhaWdDQUxLVWt5Sk1sQ0pOaTBNQUFBQlBYUVJBSUUyb0RBRUxRWUNBZ0lCNEN5RVhJQUlnQzJvaUNTZ0NBQ0VRSUFvZ0Myb2lDeWdDQUNFTUlBOGdGellDQUNBTEFuOURBQUNBUHlCTElBeXlsSk5EQUFCL1E1UWdUSlFpVFl0REFBQUFUMTBFUUNCTnFBd0JDMEdBZ0lDQWVBczJBZ0FnQ1FKL1F3QUFnRDhnU2lBUXNwU1RRd0FBZjBPVUlFeVVJa3lMUXdBQUFFOWRCRUFnVEtnTUFRdEJnSUNBZ0hnTE5nSUFJQUJCQVdvaUFDQUlSdzBBQ3dzZ0FSQVFJQTBvQWhnaUFFRUlOZ0tBQVNBQVFRZzJBa3dnQUVFSU5nSVlJQUJCQURZQ3lBRWdEVUVCTmdJVUlBMGdEU2dDRUVFQmF5SUFOZ0lRSUFCQkJFa05BRUVESVFBRFFDQU5LQUlZSUFCQk5HeHFJZ0VnQVNnQ1pEWUNNQ0FCSUFIOUFBSlUvUXNDSUNBQklBSDlBQUpFL1FzQ0VDQUJJQUg5QUFJMC9Rc0NBQ0FBUVFGcUlnQWdEU2dDRUVrTkFBc0xJQTVCRUdva0FBd0RDeU1BUVJCcklnc2tBQUpBQWtBQ1FDQU5LQUlRUVFOSkRRQWdEU2dDR0NJQUtBSUFJZ0VnQUNnQ05FY05BQ0FCSUFBb0FtaEhEUUFnQUNnQ0JDSUJJQUFvQWpoSERRQWdBU0FBS0FKc1JnMEJDeUFMUWNVSU5nSUVJQXRCdUFvMkFnQkI2TVFCUVpjK0lBc1FGZ3dCQ3dKQUlBQW9BZ3dnQUNnQ0NHd2lBa1VOQUVGL0lBQW9BaGdpQ25SQmYzTWhBVUVBUVFFZ0NrRUJhM1FpQ2lBQUtBS0lBUnNoRDBFQUlBb2dBQ2dDVkJzaEZ5QUFLQUtVQVNFS0lBQW9BbUFoQnlBQUtBSXNJUTVCQUNFQUFrQWdBa0VFU1EwQUlBNGdCeUFDUVFKMElnaHFJZ2xKSUFjZ0NDQU9haUlRU1hFTkFDQUtJQkJKSUE0Z0NDQUthaUlJU1hFTkFDQUhJQWhKSUFrZ0NrdHhEUUFnQWtGOGNTRUFJQUg5RVNFL0lBLzlFU0ZBSUJmOUVTRkJRUUFoQ0FOQUlBNGdDRUVDZENJSmFpSVFJRDhnQ1NBS2FpSU0vUUFDQUNCQS9iRUIvZm9CSWozOURHbDBzejlwZExNL2FYU3pQMmwwc3ovOTVnRWdCeUFKYWlJSi9RQUNBQ0JCL2JFQi9mb0JJajc5RExOWkdyaXpXUnE0czFrYXVMTlpHcmo5NWdFZ0VQMEFBZ0Q5K2dFaVEvM2tBZjNrQWYwTUFBQUFQd0FBQUQ4QUFBQS9BQUFBUC8za0FmMzRBU0pDL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL2JnQklEOGdRdjA1L1ZMOUN3SUFJQWtnUHlBOS9Rd1owRGEvR2RBMnZ4blFOcjhaMERhLy9lWUJJRVA5RE5VSmdEL1ZDWUEvMVFtQVA5VUpnRC85NWdFZ1B2ME1Kekd3dmljeHNMNG5NYkMrSnpHd3Z2M21BZjNrQWYza0FmME1BQUFBUHdBQUFEOEFBQUEvQUFBQVAvM2tBZjM0QVNKQy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9iZ0JJRDhnUXYwNS9WTDlDd0lBSUF3Z1B5QTkvUXk5TndhM3ZUY0d0NzAzQnJlOU53YTMvZVlCSUVQOURHYjBmejltOUg4L1p2Ui9QMmIwZnovOTVnRWdQdjBNTmRMaVB6WFM0ajgxMHVJL05kTGlQLzNtQWYza0FmM2tBZjBNQUFBQVB3QUFBRDhBQUFBL0FBQUFQLzNrQWYzNEFTSTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvYmdCSUQ4Z1BmMDUvVkw5Q3dJQUlBaEJCR29pQ0NBQVJ3MEFDeUFBSUFKR0RRRUxBMEFDZnlBS0lBQkJBblFpQ0dvaUNTZ0NBQ0FQYTdJaVNFTnBkTE0vbENBSElBaHFJaEFvQWdBZ0YydXlJa3BEczFrYXVKUWdDQ0FPYWlJTUtBSUFzaUpMa3BKREFBQUFQNUlpU1l0REFBQUFUMTBFUUNCSnFBd0JDMEdBZ0lDQWVBc2hDQ0FNSUFFZ0NFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlCQWdBUUovSUVoREdkQTJ2NVFnUzBQVkNZQS9sQ0JLUXljeHNMNlVrcEpEQUFBQVA1SWlTWXREQUFBQVQxMEVRQ0JKcUF3QkMwR0FnSUNBZUFzaUNFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlBa2dBUUovSUVoRHZUY0d0NVFnUzBObTlIOC9sQ0JLUXpYUzRqK1VrcEpEQUFBQVA1SWlTSXREQUFBQVQxMEVRQ0JJcUF3QkMwR0FnSUNBZUFzaUNFRUFJQWhCQUVvYklBRWdDRWdiTmdJQUlBQkJBV29pQUNBQ1J3MEFDd3NnRFVFQk5nSVVDeUFMUVJCcUpBQU1BZ3NnSVNBQ0lBSWdJVXNiSVNGQkFTRVpEQUVMQWtBQ1FBSi9Ba0FDUUNBTktBSVlJZ0VvQWdCQkFVY05BQUpBQWtBZ0FTZ0NORUVCYXc0Q0FRQUNDeUFCS0FKb1FRSkhEUUVDUUNBQktBSUVRUUZIRFFBZ0FTZ0NPRUVDUncwQUlBRW9BbXhCQWtjTkFFRUFJUXNnRFNJWEtBSVlJZ0FvQWhnaEFTQUFLQUtVQVNFUklBQW9BbUFoQ2lBQUtBSXNJUkFnQUNnQ0NDSU5JQUFvQWd3aUFteEJBblFpQUJBWUlRY2dBQkFZSVFnZ0FCQVlJUTRDUUFKQUFrQUNRQUpBQWtBZ0IwVU5BQ0FJUlEwQUlBNUZEUUJCZnlBQmRFRi9jeUVKUVFFZ0FVRUJhM1FoRENBQ0lCY29BZ1JCQVhFaUFHc2hIaUFYS0FJQVFRRnhJUnNnQUVVTkF5QU5SUTBEQW45QkFDQU1hN0s3SWdWRWFyeDBreGdFMWoraUlBVkVEQUlyaHhiWjVqK2lvQ0lHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNoRkFKL0lBVkVKekVJckJ4YS9EK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUVhSUExQkNFa2hPQUovSUFWRU85OVBqWmR1OWoraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5RWRJRGdOQVNBSUlBZHJRUkJKRFFFZ0RpQUhhMEVRU1EwQklBY2dFR3RCRUVrTkFTQU9JQWhyUVJCSkRRRWdDQ0FRYTBFUVNRMEJJQTRnRUd0QkVFa05BU0FPSUExQmZIRWlDMEVDZENJQ2FpRUJJQUlnQjJvaEFDQWEvUkVoUGlBVS9SRWhReUFKL1JFaFB5QWQvUkVoUUFOQUlBY2dEMEVDZENJVGF2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQVFJQk5xL1FBQ0FDSTlJRUQ5cmdFaVFTQS8vYllCSUVIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVMvUXNDQUNBSUlCTnEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBnUS8yeEFTSkJJRC85dGdFZ1FmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVkw5Q3dJQUlBNGdFMnI5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnUFNBKy9hNEJJajBnUC8yMkFTQTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVG45VXYwTEFnQWdEMEVFYWlJUElBdEhEUUFMSUFJZ0VHb2hFQ0FDSUFocUlRSWdDeUFOUmcwRURBSUxJQWNRRUNBSUVCQWdEaEFRREFRTElBY2hBQ0FJSVFJZ0RpRUJDd05BSUFBZ0VDZ0NBQ0lQSUIxcUloTWdDU0FKSUJOS0cwRUFJQk5CQUU0Yk5nSUFJQUlnRHlBVWF5SVRJQWtnQ1NBVFNodEJBQ0FUUVFCT0d6WUNBQ0FCSUE4Z0dtb2lEeUFKSUFrZ0Qwb2JRUUFnRDBFQVRoczJBZ0FnQVVFRWFpRUJJQUpCQkdvaEFpQUFRUVJxSVFBZ0VFRUVhaUVRSUF0QkFXb2lDeUFOUncwQUN3d0JDeUFPSVFFZ0NDRUNJQWNoQUFzZ0RTQWJheUVhQWtBZ0hrRitjU0lkQkg4Q2YwRUFJQXhyc3JzaUJVUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lFaUlCcEJmbkVpSEVFQmF5RTVBbjhnQlVRbk1RaXNIRnI4UDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElTTWdPVUYrY1NFNkFuOGdCVVE3MzArTmwyNzJQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSVNRZ0hVRUJheUVsSURwQkFtb2hKaUFOUVFKMElRMERRQ0FCSUExcUlROGdBaUFOYWlFVElBQWdEV29oQ3lBTklCQnFJUlFnR3dSQUlBQWdFQ2dDQUNJVklDUnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUFJZ0ZTQWlheUlTSUFrZ0NTQVNTaHRCQUNBU1FRQk9HellDQUNBQklCVWdJMm9pRlNBSklBa2dGVW9iUVFBZ0ZVRUFUaHMyQWdBZ0NpZ0NBQ0VXSUFzQ2Z5QVJLQUlBSUF4cnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUJRb0FnQWlGV29pRWlBSklBa2dFa29iUVFBZ0VrRUFUaHMyQWdBZ0V5QVZBbjhnRmlBTWE3SzdJZ1pFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdHJJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUE4Q2Z5QUdSQ2N4Q0t3Y1d2dy9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNnRldvaUZTQUpJQWtnRlVvYlFRQWdGVUVBVGhzMkFnQWdEMEVFYWlFUElCTkJCR29oRXlBTFFRUnFJUXNnRkVFRWFpRVVJQUpCQkdvaEFpQVFRUVJxSVJBZ0FVRUVhaUVCSUFCQkJHb2hBQXRCQUNFVklCd0Vmd05BSUFvb0FnQWhIeUFBQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFRS0FJQUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lBSUFJZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNBQ0FCQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJQUlBb29BZ0FoSHlBQUFuOGdFU2dDQUNBTWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBUUtBSUVJaEpxSWhZZ0NTQUpJQlpLRzBFQUlCWkJBRTRiTmdJRUlBSWdFZ0ovSUI4Z0RHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlXSUFrZ0NTQVdTaHRCQUNBV1FRQk9HellDQkNBQkFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUJKcUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUVJQW9vQWdBaEh5QUxBbjhnRVNnQ0FDQU1hN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QVVLQUlBSWhKcUloWWdDU0FKSUJaS0cwRUFJQlpCQUU0Yk5nSUFJQk1nRWdKL0lCOGdER3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJV0lBa2dDU0FXU2h0QkFDQVdRUUJPR3pZQ0FDQVBBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElCSnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lBSUFvb0FnQWhIeUFMQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFVS0FJRUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lFSUJNZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNCQ0FQQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJRUlCRkJCR29oRVNBS1FRUnFJUW9nRDBFSWFpRVBJQk5CQ0dvaEV5QUxRUWhxSVFzZ0ZFRUlhaUVVSUFGQkNHb2hBU0FDUVFocUlRSWdBRUVJYWlFQUlCQkJDR29oRUNBVlFRSnFJaFVnSEVrTkFBc2dKZ1ZCQUFzZ0dra0VmeUFLS0FJQUlSWWdBQUovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dFQ2dDQUNJVmFpSVNJQWtnQ1NBU1NodEJBQ0FTUVFCT0d6WUNBQ0FDSUJVQ2Z5QVdJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUVpQUpJQWtnRWtvYlFRQWdFa0VBVGhzMkFnQWdBUUovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QVZhaUlWSUFrZ0NTQVZTaHRCQUNBVlFRQk9HellDQUNBS0tBSUFJUlVnQ3dKL0lCRW9BZ0FnREd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRkNnQ0FDSUxhaUlVSUFrZ0NTQVVTaHRCQUNBVVFRQk9HellDQUNBVElBc0NmeUFWSUF4cnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lFeUFKSUFrZ0Uwb2JRUUFnRTBFQVRoczJBZ0FnRHdKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFMYWlJTElBa2dDU0FMU2h0QkFDQUxRUUJPR3pZQ0FDQVJRUVJxSVJFZ0NrRUVhaUVLSUFKQkJHb2hBaUFRUVFScUlSQWdBRUVFYWlFQUlBRkJCR29GSUFFTElBMXFJUUVnQWlBTmFpRUNJQUFnRFdvaEFDQU5JQkJxSVJBZ0lFRUNhaUlnSUIxSkRRQUxJQ1ZCZm5GQkFtb0ZRUUFMSUI1UERRQWdHd1JBSUFBQ2YwRUFJQXhyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQkFvQWdBaUMyb2lEU0FKSUFrZ0RVb2JRUUFnRFVFQVRoczJBZ0FnQWlBTEFuOGdCVVJxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEMyc2lEU0FKSUFrZ0RVb2JRUUFnRFVFQVRoczJBZ0FnQVFKL0lBVkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFMYWlJTElBa2dDU0FMU2h0QkFDQUxRUUJPR3pZQ0FDQUNRUVJxSVFJZ0VFRUVhaUVRSUFGQkJHb2hBU0FBUVFScUlRQUxJQnBCZm5FaUlBUi9JQ0JCQVdzaUMwRitjU0U3QWtBQ2YwRUFJQ0JCRDBrTkFCcEJBQ0FBSUFJZ0MwRUJkaUlVUVFOMFFRaHFJaE5xSWd0SklBSWdBQ0FUYWlJTlNYRU5BQnBCQUNBQklBMUpJQUFnQVNBVGFpSVBTWEVOQUJwQkFDQUFJQkFnRTJvaUUwa2dEU0FRUzNFTkFCcEJBQ0FLSUExSklBQWdDaUFVUVFKMFFRUnFJaDVxSWh0SmNRMEFHa0VBSUEwZ0VVc2dBQ0FSSUI1cUlnMUpjUTBBR2tFQUlBSWdEMGtnQVNBTFNYRU5BQnBCQUNBQ0lCTkpJQXNnRUV0eERRQWFRUUFnQ2lBTFNTQUNJQnRKY1EwQUdrRUFJQUlnRFVrZ0N5QVJTM0VOQUJwQkFDQUJJQk5KSUE4Z0VFdHhEUUFhUVFBZ0NpQVBTU0FCSUJ0SmNRMEFHa0VBSUFFZ0RVa2dEeUFSUzNFTkFCb2dDaUFVUVFGcUloWkIvUC8vL3dkeElodEJBblFpSW1vaEN5QUJJQnRCQTNRaUhtb2hEU0FBSUI1cUlROGdDZjBSSVQ4Z0RQMFJJVU5CQUNFVEEwQWdFQ0FUUVFOMEloUkJHSElpSFdvaUl5QVFJQlJCRUhJaUhHb2lKQ0FRSUJSQkNISWlGV29pSlNBUUlCUnFJaWI5Q1FJQS9WWUNBQUg5VmdJQUF2MVdBZ0FESVQwQ2Z5QVJJQk5CQW5RaUgycjlBQUlBSUVQOXNRSDkrZ0VpUHYxZklrRDlERHZmVDQyWGJ2WS9POTlQalpkdTlqLzk4Z0VpUWYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hKeUFLSUI5cS9RQUNBQ0ZDSUFBZ0ZHb2lILzBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0E5QW44Z1FmMGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5RVNBbi9Sd0JBbjhnUGlBKy9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9WOGlRZjBNTzk5UGpaZHU5ajg3MzArTmwyNzJQLzN5QVNJKy9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBjQWdKL0lENzlJUUVpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3RElrVDlyZ0VpUGlBLy9iWUJJRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxU0lqNzlXZ0lBQUNBQUlCVnFJaWNnUHYxYUFnQUJJQUFnSEdvaUtTQSsvVm9DQUFJZ0FDQWRhaUlxSUQ3OVdnSUFBd0ovSUVJZ1EvMnhBZjM2QVNJKy9WOGlRdjBNYXJ4MGt4Z0UxajlxdkhTVEdBVFdQLzN5QVNCQS9Rd01BaXVIRnRubVB3d0NLNGNXMmVZLy9mSUIvZkFCSWtEOUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJU2dnQWlBVWFpSXIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlCQS9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUNqOUhBRUNmeUErL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL1Y4aVFQME1hcngwa3hnRTFqOXF2SFNUR0FUV1AvM3lBU0JCL1F3TUFpdUhGdG5tUHd3Q0s0Y1cyZVkvL2ZJQi9mQUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQU1pUWYyeEFTSStJRC85dGdFZ1B2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUHYxYUFnQUFJQUlnRldvaUtDQSsvVm9DQUFFZ0FpQWNhaUlzSUQ3OVdnSUFBaUFDSUIxcUlpMGdQdjFhQWdBREFuOGdRdjBNSnpFSXJCeGEvRDhuTVFpc0hGcjhQLzN5QVNJKy9TRUJJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUV1SUFFZ0ZHb2lGUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0E5QW44Z1B2MGhBQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5RVNBdS9Sd0JBbjhnUVAwTUp6RUlyQnhhL0Q4bk1RaXNIRnI4UC8zeUFTSTkvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wY0FnSi9JRDM5SVFFaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0RJa0Q5cmdFaVBTQS8vYllCSUQzOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajM5V2dJQUFDQUJJQlZxSWhVZ1BmMWFBZ0FCSUFFZ0hHb2lIQ0E5L1ZvQ0FBSWdBU0FkYWlJZElEMzlXZ0lBQXlBZi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlDTkJCR29nSkVFRWFpQWxRUVJxSUNiOUNRSUUvVllDQUFIOVZnSUFBdjFXQWdBRElqNGdSUDJ1QVNJOUlELzl0Z0VnUGYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQZjFhQWdRQUlDY2dQZjFhQWdRQklDa2dQZjFhQWdRQ0lDb2dQZjFhQWdRRElDdjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdQaUJCL2JFQklqMGdQLzIyQVNBOS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVaUk5L1ZvQ0JBQWdLQ0E5L1ZvQ0JBRWdMQ0E5L1ZvQ0JBSWdMU0E5L1ZvQ0JBTWdGUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0ErSUVEOXJnRWlQU0EvL2JZQklEMzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTSWozOVdnSUVBQ0FWSUQzOVdnSUVBU0FjSUQzOVdnSUVBaUFkSUQzOVdnSUVBeUFUUVFScUloTWdHMGNOQUFzZ0VTQWlhaUVSSUJBZ0htb2hFQ0FDSUI1cUlRSWdGaUFiUmdSQUlBOGhBQ0FOSVFFZ0N5RUtEQUlMSUE4aEFDQU5JUUVnQ3lFS0lCdEJBWFFMSVFzRFFDQUtLQUlBSVJNZ0FBSi9JQkVvQWdBZ0RHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0VDZ0NBQ0lOYWlJUElBa2dDU0FQU2h0QkFDQVBRUUJPR3pZQ0FDQUNJQTBDZnlBVElBeHJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpRHlBSklBa2dEMG9iUVFBZ0QwRUFUaHMyQWdBZ0FRSi9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBTmFpSU5JQWtnQ1NBTlNodEJBQ0FOUVFCT0d6WUNBQ0FLS0FJQUlSTWdBQUovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dFQ2dDQkNJTmFpSVBJQWtnQ1NBUFNodEJBQ0FQUVFCT0d6WUNCQ0FDSUEwQ2Z5QVRJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUR5QUpJQWtnRDBvYlFRQWdEMEVBVGhzMkFnUWdBUUovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QU5haUlOSUFrZ0NTQU5TaHRCQUNBTlFRQk9HellDQkNBUlFRUnFJUkVnQ2tFRWFpRUtJQUZCQ0dvaEFTQUNRUWhxSVFJZ0FFRUlhaUVBSUJCQkNHb2hFQ0FMUVFKcUlnc2dJRWtOQUFzTElEdEJBbW9GUVFBTElCcFBEUUFnQ2lnQ0FDRUxJQUFDZnlBUktBSUFJQXhyc3JzaUJVUTczMCtObDI3MlA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJQkFvQWdBaUFHb2lDaUFKSUFrZ0Nrb2JRUUFnQ2tFQVRoczJBZ0FnQWlBQUFuOGdDeUFNYTdLN0lnWkVhcngwa3hnRTFqK2lJQVZFREFJcmh4Ylo1aitpb0NJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF0cklnSWdDU0FDSUFsSUcwRUFJQUpCQUU0Yk5nSUFJQUVDZnlBR1JDY3hDS3djV3Z3L29pSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2dBR29pQUNBSklBQWdDVWdiUVFBZ0FFRUFUaHMyQWdBTElCY29BaGdvQWl3UUVDQVhLQUlZSWdBZ0J6WUNMQ0FBS0FKZ0VCQWdGeWdDR0NJQUlBZzJBbUFnQUNnQ2xBRVFFQ0FYS0FJWUlnQWdEallDbEFFZ0FDQUEvUUFDQUNJLy9Rc0NhQ0FBSUQvOUN3STBJQmRCQVRZQ0ZBc01Cd3NnQVNnQ0JFRUJSdzBCSUFFb0FqaEJBVWNOQVNBQktBSnNRUUZIRFFFZ0FTZ0NHQ0VBSUFFb0FwUUJJUUlnQVNnQ1lDRUhJQUVvQWl3aERDQUJLQUlJSWdvZ0FTZ0NEQ0lXYkVFQ2RDSUJFQmdoRHlBQkVCZ2hGeUFCRUJnaENTQVBSUTBGSUJkRkRRVWdDVVVOQlNBV0JFQWdDaUFOS0FJQVFRRnhJaDlySVNJQ2YwRUFRUUVnQUVFQmEzUWlGR3V5dXlJRlJHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSVNkQmZ5QUFkQ0U4SUNKQmZuRWlIVUVCYXlJS1FRRjJJZ0JCQVdvaEl3Si9JQVZFSnpFSXJCeGEvRCtpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lFcElBcEJmbkVoQ2lBQVFRSjBJUWdnQUVFRGRDRUFJQ05CZkhFaEd5QThRWDl6SVJFQ2Z5QUZSRHZmVDQyWGJ2WS9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoS2lBS1FRSnFJU1FnQ0VFRWFpRWxJQUJCQ0dvaElDQWJRUUowSVNZZ0cwRURkQ0VlSUJ0QkFYUWhFQ0FSL1JFaFB5QVUvUkVoUXlBZFFRZEpJU2dnRHlFS0lCY2hBQ0FKSVE0RFFDQWZCRUFnQ2lBTUtBSUFJZ0VnS21vaUNDQVJJQWdnRVVnYlFRQWdDRUVBVGhzMkFnQWdBQ0FCSUNkcklnZ2dFU0FJSUJGSUcwRUFJQWhCQUU0Yk5nSUFJQTRnQVNBcGFpSUJJQkVnQVNBUlNCdEJBQ0FCUVFCT0d6WUNBQ0FPUVFScUlRNGdDa0VFYWlFS0lBeEJCR29oRENBQVFRUnFJUUFMQW44Q2Z5QWRSUVJBSUFjaEFTQU9JUXNnQ2lFSVFRQU1BUXRCQUNFWkFrQUNRQ0FvRFFBZ0NpQUFJQ0JxSWdGSklBQWdDaUFnYWlJSVNYRU5BQ0FLSUE0Z0lHb2lDMGtnQ0NBT1MzRU5BQ0FLSUF3Z0lHb2lHa2tnQ0NBTVMzRU5BQ0FISUFoSklBb2dCeUFsYWlJY1NYRU5BQ0FDSUFoSklBb2dBaUFsYWlJSVNYRU5BQ0FBSUF0SklBRWdEa3R4RFFBZ0FDQWFTU0FCSUF4TGNRMEFJQUFnSEVrZ0FTQUhTM0VOQUNBQUlBaEpJQUVnQWt0eERRQWdEaUFhU1NBTElBeExjUTBBSUE0Z0hFa2dCeUFMU1hFTkFDQUNJQXRKSUFnZ0RrdHhEUUFnQnlBbWFpRUJJQTRnSG1vaEN5QUtJQjVxSVFnRFFDQU1JQmxCQTNRaUdrRVljaUljYWlJcklBd2dHa0VRY2lJVmFpSXNJQXdnR2tFSWNpSVNhaUl0SUF3Z0dtb2lMdjBKQWdEOVZnSUFBZjFXQWdBQy9WWUNBQU1oUFFKL0lBSWdHVUVDZENJdmF2MEFBZ0FnUS8yeEFmMzZBU0krL1Y4aVFQME1POTlQalpkdTlqODczMCtObDI3MlAvM3lBU0pCL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5RXdJQWNnTDJyOUFBSUFJVUlnQ2lBYWFpSXYvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlCQi9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUREOUhBRUNmeUErSUQ3OURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOVh5SkIvUXc3MzArTmwyNzJQenZmVDQyWGJ2WS8vZklCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFNaVJQMnVBU0krSUQvOXRnRWdQdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVB2MWFBZ0FBSUFvZ0Vtb2lNQ0ErL1ZvQ0FBRWdDaUFWYWlJeUlENzlXZ0lBQWlBS0lCeHFJak1nUHYxYUFnQURBbjhnUWlCRC9iRUIvZm9CSWo3OVh5SkMvUXhxdkhTVEdBVFdQMnE4ZEpNWUJOWS8vZklCSUVEOURBd0NLNGNXMmVZL0RBSXJoeGJaNWovOThnSDk4QUVpUVAwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hNU0FBSUJwcUlqVDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdQUUovSUVEOUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUkVnTWYwY0FRSi9JRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5WHlKQS9ReHF2SFNUR0FUV1AycThkSk1ZQk5ZLy9mSUJJRUg5REF3Q0s0Y1cyZVkvREFJcmh4Ylo1ai85OGdIOThBRWlQdjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBSUNmeUErL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBeUpCL2JFQklqNGdQLzIyQVNBKy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVaUkrL1ZvQ0FBQWdBQ0FTYWlJeElENzlXZ0lBQVNBQUlCVnFJalVnUHYxYUFnQUNJQUFnSEdvaU5pQSsvVm9DQUFNQ2Z5QkMvUXduTVFpc0hGcjhQeWN4Q0t3Y1d2dy8vZklCSWo3OUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJVGNnRGlBYWFpSWEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDBDZnlBKy9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSURmOUhBRUNmeUJBL1F3bk1RaXNIRnI4UHljeENLd2NXdncvL2ZJQklqMzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQZjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBTWlRUDJ1QVNJOUlELzl0Z0VnUGYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQZjFhQWdBQUlBNGdFbW9pRWlBOS9Wb0NBQUVnRGlBVmFpSVZJRDM5V2dJQUFpQU9JQnhxSWh3Z1BmMWFBZ0FESUMvOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0swRUVhaUFzUVFScUlDMUJCR29nTHYwSkFnVDlWZ0lBQWYxV0FnQUMvVllDQUFNaVBpQkUvYTRCSWowZ1AvMjJBU0E5L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RuOVVpSTkvVm9DQkFBZ01DQTkvVm9DQkFFZ01pQTkvVm9DQkFJZ015QTkvVm9DQkFNZ05QME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFDQStJRUg5c1FFaVBTQS8vYllCSUQzOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajM5V2dJRUFDQXhJRDM5V2dJRUFTQTFJRDM5V2dJRUFpQTJJRDM5V2dJRUF5QWEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRDRnUVAydUFTSTlJRC85dGdFZ1BmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUGYxYUFnUUFJQklnUGYxYUFnUUJJQlVnUGYxYUFnUUNJQndnUGYxYUFnUURJQmxCQkdvaUdTQWJSdzBBQ3lBQ0lDWnFJUUlnRENBZWFpRU1JQUFnSG1vaEFDQVFJUmtnSkNBYklDTkdEUUlhREFFTElBb2hDQ0FPSVFzZ0J5RUJDd05BSUFFb0FnQWhEaUFJQW44Z0FpZ0NBQ0FVYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFNS0FJQUlncHFJZ2NnRVNBSElCRklHMEVBSUFkQkFFNGJOZ0lBSUFBZ0NnSi9JQTRnRkd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SUhJQkVnQnlBUlNCdEJBQ0FIUVFCT0d6WUNBQ0FMQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQXBxSWdvZ0VTQUtJQkZJRzBFQUlBcEJBRTRiTmdJQUlBRW9BZ0FoRGlBSUFuOGdBaWdDQUNBVWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBTUtBSUVJZ3BxSWdjZ0VTQUhJQkZJRzBFQUlBZEJBRTRiTmdJRUlBQWdDZ0ovSUE0Z0ZHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlISUJFZ0J5QVJTQnRCQUNBSFFRQk9HellDQkNBTEFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUFwcUlnb2dFU0FLSUJGSUcwRUFJQXBCQUU0Yk5nSUVJQUpCQkdvaEFpQUJRUVJxSVFFZ0MwRUlhaUVMSUFCQkNHb2hBQ0FJUVFocUlRZ2dERUVJYWlFTUlCbEJBbW9pR1NBZFNRMEFDeUFrQ3lBaVR3UkFJQUVoQnlBSUlRb2dDd3dCQ3lBQktBSUFJUTRnQ0FKL0lBSW9BZ0FnRkd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRENnQ0FDSUthaUlISUJFZ0J5QVJTQnRCQUNBSFFRQk9HellDQUNBQUlBb0NmeUFPSUJScnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lCeUFSSUFjZ0VVZ2JRUUFnQjBFQVRoczJBZ0FnQ3dKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFLYWlJS0lCRWdDaUFSU0J0QkFDQUtRUUJPR3pZQ0FDQUNRUVJxSVFJZ0FVRUVhaUVISUFCQkJHb2hBQ0FJUVFScUlRb2dERUVFYWlFTUlBdEJCR29MSVE0Z0UwRUJhaUlUSUJaSERRQUxDeUFOS0FJWUtBSXNFQkFnRFNnQ0dDSUFJQTgyQWl3Z0FDZ0NZQkFRSUEwb0FoZ2lBQ0FYTmdKZ0lBQW9BcFFCRUJBZ0RTZ0NHQ0lBSUFrMkFwUUJJQUFnQVAwQUFnQWlQLzBMQW1nZ0FDQS8vUXNDTkNBTlFRRTJBaFJCQUNFWkRBWUxJQUVvQW1oQkFVY05BQ0FCS0FJRVFRRkhEUUFnQVNnQ09FRUJSdzBBSUFFb0FteEJBVWNOQUNBQktBSVlJUUlnQVNnQ2xBRWhDQ0FCS0FKZ0lRd2dBU2dDTENFQUlBRW9BZ3dnQVNnQ0NHd2lGMEVDZENJQkVCZ2hCeUFCRUJnaER5QUJFQmdoRGdKQUlBZEZEUUFnRDBVTkFDQU9SUTBBSUJkRkRRUkJmeUFDZEVGL2N5RVpRUUVnQWtFQmEzUWhFU0FYUVFoSkRRSWdEeUFIYTBFUVNRMENJQTRnQjJ0QkVFa05BaUFISUFCclFSQkpEUUlnQnlBTWEwRVFTUTBDSUFjZ0NHdEJFRWtOQWlBT0lBOXJRUkJKRFFJZ0R5QUFhMEVRU1EwQ0lBOGdER3RCRUVrTkFpQVBJQWhyUVJCSkRRSWdEaUFBYTBFUVNRMENJQTRnREd0QkVFa05BaUFPSUFoclFSQkpEUUlnQ0NBWFFYeHhJZ3BCQW5RaUNXb2hDeUFKSUE1cUlRRWdCeUFKYWlFQ0lCbjlFU0UvSUJIOUVTRTlBMEFDZnlBSUlCTkJBblFpRUdyOUFBSUFJRDM5c1FIOStnRWlQdjFmSWtEOUREdmZUNDJYYnZZL085OVBqWmR1OWovOThnRWlRZjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEZDQU1JQkJxL1FBQ0FDRkNJQWNnRUdyOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FDQVFhdjBBQWdBaVF3Si9JRUg5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9SRWdGUDBjQVFKL0lENGdQdjBOQ0FrS0N3d05EZzhBQVFJREFBRUNBLzFmSWo3OUREdmZUNDJYYnZZL085OVBqWmR1OWovOThnRWlRZjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBSUNmeUJCL1NFQklnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBLzJ1QVNKQklELzl0Z0VnUWYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WTDlDd0lBQW44Z1FpQTkvYkVCL2ZvQklrSDlYeUpDL1F4cXZIU1RHQVRXUDJxOGRKTVlCTlkvL2ZJQklFRDlEQXdDSzRjVzJlWS9EQUlyaHhiWjVqLzk4Z0g5OEFFaVFQMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoRkNBUElCQnEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRU1DZnlCQS9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUJUOUhBRUNmeUJCL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL1Y4aVFQME1hcngwa3hnRTFqOXF2SFNUR0FUV1AvM3lBU0ErL1F3TUFpdUhGdG5tUHd3Q0s0Y1cyZVkvL2ZJQi9mQUJJajc5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQVA5c1FFaVBpQS8vYllCSUQ3OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVMvUXNDQUFKL0lFTDlEQ2N4Q0t3Y1d2dy9KekVJckJ4YS9ELzk4Z0VpUHYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hGQ0FPSUJCcS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlFTUNmeUErL1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMFJJQlQ5SEFFQ2Z5QkEvUXduTVFpc0hGcjhQeWN4Q0t3Y1d2dy8vZklCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFQOXJnRWlQaUEvL2JZQklENzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTL1FzQ0FDQVRRUVJxSWhNZ0NrY05BQXNnQ2lBWFJnMEVJQWtnREdvaERDQUFJQWxxSVFBZ0NTQVBhZ3dEQ3lBSEVCQWdEeEFRSUE0UUVBd0ZDeUFZUWJrRE5nSUVJQmhCdUFvMkFnQkI2TVFCUWNJK0lCZ1FGZ3dFQ3lBSElRSWdEaUVCSUFnaEN5QVBDeUVJQTBBZ0RDZ0NBQ0VUSUFJQ2Z5QUxLQUlBSUJGcnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUFBb0FnQWlDV29pRUNBWklCQWdHVWdiUVFBZ0VFRUFUaHMyQWdBZ0NDQUpBbjhnRXlBUmE3SzdJZ1pFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdHJJaEFnR1NBUUlCbElHMEVBSUJCQkFFNGJOZ0lBSUFFQ2Z5QUdSQ2N4Q0t3Y1d2dy9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNnQ1dvaUNTQVpJQWtnR1VnYlFRQWdDVUVBVGhzMkFnQWdBVUVFYWlFQklBaEJCR29oQ0NBQ1FRUnFJUUlnQzBFRWFpRUxJQXhCQkdvaERDQUFRUVJxSVFBZ0NrRUJhaUlLSUJkSERRQUxDeUFOS0FJWUtBSXNFQkFnRFNnQ0dDSUFJQWMyQWl3Z0FDZ0NZQkFRSUEwb0FoZ2lBQ0FQTmdKZ0lBQW9BcFFCRUJBZ0RTZ0NHQ0FPTmdLVUFTQU5RUUUyQWhSQkFDRVpEQUVMSUE4UUVDQVhFQkFnQ1JBUUN5QVlLQUlnSVFBQ1FDQUREUUFnSVVVTkFDQUFLQUlZSVE1QkFDRVRBMEFnRGlBVFFUUnNhaUlES0FJWUlnSkJDRWNFUUFKQUlBSkJCMDBFUUNBREtBSU1JQU1vQWdoc0lRRWdBeWdDTENFS0lBTW9BaUFFUUNBQlJRMENRUUVnQWtFQmEzU3RJVVZCQUNFSElBRkJCRThFUUNBQlFYeHhJUWNnUmYwU0lUOUJBQ0VNQTBBZ0NpQU1RUUowYWlJQ0lBTDlBQUlBSWozOXh3RkJCLzNMQVNJKy9SMEFJRC85SFFBaVJuLzlFaUErL1IwQklELzlIUUVpUjMvOUhnRWdQU0EvL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2NjQlFRZjl5d0VpUGYwZEFDQkdmLzBTSUQzOUhRRWdSMy85SGdIOURRQUJBZ01JQ1FvTEVCRVNFeGdaR2h2OUN3SUFJQXhCQkdvaURDQUhSdzBBQ3lBQklBZEdEUU1MQTBBZ0NpQUhRUUowYWlJQ0lBSTBBZ0JDQjRZZ1JYOCtBZ0FnQjBFQmFpSUhJQUZIRFFBTERBSUxJQUZGRFFGQmZ5QUNkRUYvYzYwaFJVRUFJUWNnQVVFRVR3UkFJQUZCZkhFaEJ5QkYvUkloUDBFQUlRd0RRQ0FLSUF4QkFuUnFJZ0lnQXYwQUFnQWlQZjNKQWYwTS93QUFBQUFBQUFEL0FBQUFBQUFBQVAzVkFTSSsvUjBBSUQvOUhRQWlSb0Q5RWlBKy9SMEJJRC85SFFFaVI0RDlIZ0VnUFNBLy9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9ja0IvUXovQUFBQUFBQUFBUDhBQUFBQUFBQUEvZFVCSWozOUhRQWdSb0Q5RWlBOS9SMEJJRWVBL1I0Qi9RMEFBUUlEQ0FrS0N4QVJFaE1ZR1JvYi9Rc0NBQ0FNUVFScUlnd2dCMGNOQUFzZ0FTQUhSZzBDQ3dOQUlBb2dCMEVDZEdvaUFpQUNOUUlBUXY4QmZpQkZnRDRDQUNBSFFRRnFJZ2NnQVVjTkFBc01BUXNnQWtFSWF5RUtJQU1vQWd3Z0F5Z0NDR3doQVNBREtBSXNJUWdnQXlnQ0lBUkFJQUZGRFFGQkFDRUhJQUZCQkU4RVFDQUJRWHh4SVFkQkFDRUNBMEFnQ0NBQ1FRSjBhaUlMSUF2OUFBSUFJQXI5ckFIOUN3SUFJQUpCQkdvaUFpQUhSdzBBQ3lBQklBZEdEUUlMQTBBZ0NDQUhRUUowYWlJQ0lBSW9BZ0FnQ25VMkFnQWdCMEVCYWlJSElBRkhEUUFMREFFTElBRkZEUUJCQUNFSElBRkJCRThFUUNBQlFYeHhJUWRCQUNFQ0EwQWdDQ0FDUVFKMGFpSUxJQXY5QUFJQUlBcjlyUUg5Q3dJQUlBSkJCR29pQWlBSFJ3MEFDeUFCSUFkR0RRRUxBMEFnQ0NBSFFRSjBhaUlDSUFJb0FnQWdDblkyQWdBZ0IwRUJhaUlISUFGSERRQUxDeUFEUVFnMkFoZ0xJQk5CQVdvaUV5QWhSdzBBQ3dzZ0FDZ0NEQ0FBS0FJSWJDRUJBa0FnR1VVRVFDQUFLQUlVUVFKR0JFQWdBQ2dDRUVFQlJnUkFJQUFvQWhnb0Fpd2dBUkFPREFNTElBUkZEUUlnQUNnQ0dDSUFLQUlzSUFBb0FtQWdBUkFJREFJTElBQW9BaGdpQUNnQ0xDQUFLQUpnSUFBb0FwUUJJQUVRQnd3QkN3SkFBa0FDUUNBaFFRRnJEZ1FBQXdFQ0F3c2dBQ2dDR0NnQ0xDQUJFQVlNQWdzZ0FDZ0NHQ0lBS0FJc0lBQW9BbUFnQUNnQ2xBRWdBUkFGREFFTElBQW9BaGdpQUNnQ0xDQUFLQUpnSUFBb0FwUUJJQUFvQXNnQklBRVFCQXNnR0NnQ0lCQWhRUUFoREFzZ0dFSGd3QUJxSkFBZ0RBc0lBRUVJSUFBUUpRdXJBZ0lDZmdKL1FuOGhBeUFBTFFCRVFRaHhSUVJBSUFBZ0FDZ0NJQ0lHTmdJa0FrQUNRQUpBSUFBZ0FDZ0NNQ0lGQkg4RFFDQUdJQVVnQUNnQ0FDQUFLQUlVRVFBQUlnVkJmMFlOQWlBQUlBQW9BaVFnQldvaUJqWUNKQ0FBSUFBb0FqQWdCV3NpQlRZQ01DQUZEUUFMSUFBb0FpQUZJQVlMTmdJa0lBRkNBRlVOQVVJQUlRTU1BZ3NnQUNBQUtBSkVRUWh5TmdKRUlBSkJCRUdCOVFCQkFCQVBJQUJCQURZQ01DQUFJQUFvQWtSQkNISTJBa1JDZnc4TFFnQWhBd05BSUFFZ0FDZ0NBQ0FBS0FJWUVRc0FJZ1JDZjFFRVFDQUNRUVJCOHZRQVFRQVFEeUFBSUFBb0FrUkJDSEkyQWtRZ0FDQUFLUU00SUFOOE53TTRRbjhnQXlBRFVCc1BDeUFESUFSOElRTWdBU0FFZlNJQlFnQlZEUUFMQ3lBQUlBQXBBemdnQTN3M0F6Z0xJQU1MSXdFQmZ5QUJJQUVvQWdBZ0FTZ0NDQ0lCSUFDbklnSWdBU0FDU1J0cU5nSUVRUUVMUEFJQ2Z3RitJQUVvQWdBZ0FTZ0NDR29pQXlBQktBSUVJZ0pHQkVCQ2Z3OExJQUVnQWlBQXAybzJBZ1FnQXlBQ2E2d2lCQ0FBSUFBZ0JGVWJDNWdEQWdKK0FuOGdBQ2dDTUNJRklBR25JZ1pQQkVBZ0FDQUZJQVpyTmdJd0lBQWdBQ2dDSkNBR2FqWUNKQ0FBSUFBcEF6Z2dBWHczQXpnZ0FROExJQUF0QUVSQkJIRUVRQ0FBUVFBMkFqQWdBQ0FBS0FJa0lBVnFOZ0lrSUFBZ0JhMGlBU0FBS1FNNGZEY0RPQ0FCUW44Z0JSc1BDd0pBSUFWRkJFQU1BUXNnQUVFQU5nSXdJQUFnQUNnQ0lEWUNKQ0FCSUFXdElnTjlJUUVMSUFGQ0FGVUVRQU5BSUFBcEF3Z2dBQ2tET0NBQklBTjhmRlFFUUNBQ1FRUkJtL1VBUVFBUUR5QUFRUUEyQWpBZ0FDQUFLQUlnTmdJa0lBQWdBQ2tET0NBRGZDSUROd000SUFBcEF3Z2lBU0FEZlNFRUlBRWdBQ2dDQUNBQUtBSWNFUW9BSVFVZ0FDZ0NSQ0VDSUFBZ0JRUi9JQUFnQVRjRE9DQUNRWHR4QlNBQ0MwRUVjallDUkVKL0lBUWdBU0FEVVJzUEN5QUJJQUFvQWdBZ0FDZ0NHQkVMQUNJRVFuOVJCRUFnQWtFRVFadjFBRUVBRUE4Z0FDQUFLQUpFUVFSeU5nSkVJQUFnQUNrRE9DQURmRGNET0VKL0lBTWdBMUFiRHdzZ0F5QUVmQ0VESUFFZ0JIMGlBVUlBVlEwQUN3c2dBQ0FBS1FNNElBTjhOd000SUFNTG13RUJCWDlCQVNBQ0tBSUlJZ2NnQjBFQlRSc2hCQ0FDS0FJRUlnTWdBaWdDQUdzaEJnTkFJQVFpQlVFQmRDRUVJQVVnQm1zZ0FVa05BQXNnQlNBSFJ3UkFJQVVRRkNJRFJRUkFRWDhQQ3lBQ0tBSUFJZ1FFUUNBRElBUWdCaEFTR2lBQ0tBSUFFQkFMSUFJZ0JUWUNDQ0FDSUFNMkFnQWdBaUFESUFacUlnTTJBZ1FMSUFNZ0FDQUJFQklhSUFJZ0FpZ0NCQ0FCYWpZQ0JDQUJDMFlCQW44Z0FpZ0NBQ0FDS0FJSWFpSUVJQUlvQWdRaUEwWUVRRUYvRHdzZ0FDQURJQVFnQTJzaUFDQUJJQUFnQVVrYklnQVFFaG9nQWlBQ0tBSUVJQUJxTmdJRUlBQUxxZ0lCQkg4akFFRVFheUlFSkFBQ1FDQUFLQUowRFFBZ0FrRUJUUVJBSUFOQkFVSDd3Z0JCQUJBUERBRUxJQUVnQkVFTWFrRUNFQkVnQkNnQ0RDSUdRZi8vQTNFaUIwVUVRQ0FEUVFGQm5NTUFRUUFRRHd3QkN5QUNJQWRCQm14QkFtcEpCRUFnQTBFQlFmdkNBRUVBRUE4TUFRc2dCa0VHYkJBVUlnTkZEUUFnQUVFSUVCUWlBallDZENBQ1JRUkFJQU1RRUF3QkN5QUNJQU0yQWdBZ0FpQUVMd0VNSWdJN0FRUWdBa1VFUUVFQklRVU1BUXRCQUNFQ0EwQWdBVUVDYWlBRVFReHFJZ1ZCQWhBUklBTWdBa0VHYkdvaUJpQUVLQUlNT3dFQUlBRkJCR29nQlVFQ0VCRWdCaUFFS0FJTU93RUNJQUZCQm1vaUFTQUZRUUlRRVNBR0lBUW9BZ3c3QVFSQkFTRUZJQUpCQVdvaUFpQUFLQUowTHdFRVNRMEFDd3NnQkVFUWFpUUFJQVVMOEFFQkJYOGpBRUVRYXlJRUpBQUNmeUFBS0FKNElnVkZCRUFnQTBFQlFjM0NBRUVBRUE5QkFBd0JDeUFGS0FJTUJFQWdBMEVCUWR2VkFFRUFFQTlCQUF3QkN5QUNJQVV0QUJJaUJVRUNkQ0lHU1FSQUlBTkJBVUdzd2dCQkFCQVBRUUFNQVF0QkFDQUdFQlFpQWtVTkFCb2dCUVJBUVFBaEF3TkFJQUVnQkVFTWFpSUhRUUlRRVNBQ0lBTkJBblJxSWdZZ0JDZ0NERHNCQUNBQlFRSnFJQWRCQVJBUklBWWdCQ2dDRERvQUFpQUJRUU5xSUFkQkFSQVJJQVlnQkNnQ0REb0FBeUFCUVFScUlRRWdBMEVCYWlJRElBVkhEUUFMQ3lBQUtBSjRJQUkyQWd4QkFRc2hDQ0FFUVJCcUpBQWdDQXZ3QXdFSmZ5TUFRUkJySWdVa0FBSkFJQUpCQTBrTkFDQUFLQUo0RFFBZ0FTQUZRUXhxUVFJUUVTQUZMd0VNSWdsQmdRaHJRZjkzVFFSQUlBVWdDVFlDQUNBRFFRRkJ0Qm9nQlJBUERBRUxJQUZCQW1vZ0JVRU1ha0VCRUJFZ0JTOEJEQ0lJUlFSQUlBTkJBVUhVRjBFQUVBOE1BUXNnQ0VFRGFpQUNTdzBBSUFnZ0NXeEJBblFRRkNJSFJRMEFJQWdRRkNJS1JRUkFJQWNRRUF3QkN5QUlFQlFpQzBVRVFDQUhFQkFnQ2hBUURBRUxRUlFRRkNJR1JRUkFJQWNRRUNBS0VCQWdDeEFRREFFTElBRkJBMm9oQXlBR0lBbzJBZ2dnQmlBTE5nSUVJQVlnQ1RzQkVDQUdJQWMyQWdBZ0JTZ0NEQ0VNSUFaQkFEWUNEQ0FHSUF3NkFCSWdBQ0FHTmdKNEEwQWdBeUFGUVF4cVFRRVFFU0FFSUFwcUlBVXRBQXhCL3dCeFFRRnFPZ0FBSUFRZ0Myb2dCU2dDREVHQUFYRkJCM1k2QUFBZ0EwRUJhaUVESUFSQkFXb2lCQ0FJUncwQUN5QUpSUVJBUVFFaEJBd0JDMEVBSVFZRFFFRUFJUVJCQUNFQUEwQWdBa0VFSUFRZ0Ntb3RBQUJCQjJwQkEzWWlCQ0FFUVFSUEd5SUVJQU1nQVd0cVNBUkFRUUFoQkF3REN5QURJQVZCREdvZ0JCQVJJQWNnQlNnQ0REWUNBQ0FIUVFScUlRY2dBeUFFYWlFRElBQkJBV29pQUVILy93TnhJZ1FnQ0VrTkFBdEJBU0VFSUFaQkFXb2lCa0gvL3dOeElBbEpEUUFMQ3lBRlFSQnFKQUFnQkF1WUFRRUNmeU1BUVJCcklnVWtBQ0FBS0FJWUlnUkIvd0ZIQkVBZ0JTQUVOZ0lBSUFOQkFrSGtFeUFGRUE4TEFrQUNRQ0FDSUFBb0FoUkdCRUFnQWcwQlFRRWhCQXdDQzBFQUlRUWdBMEVCUWJ2c0FFRUFFQThNQVF0QkFDRUNBMEJCQVNFRUlBRWdBQ2dDU0NBQ1FReHNha0VJYWtFQkVCRWdBVUVCYWlFQklBSkJBV29pQWlBQUtBSVVTUTBBQ3dzZ0JVRVFhaVFBSUFRTGpnWUJCbjhqQUVIUUFHc2lCQ1FBQWtBZ0FrRUNUUVJBSUFOQkFVR2I3QUJCQUJBUERBRUxJQUF0QUh3RVFDQURRUVJCN3RJQVFRQVFEMEVCSVFZTUFRdEJBU0VHSUFFZ0FFRW9ha0VCRUJFZ0FVRUJhaUFBUVRScVFRRVFFU0FCUVFKcUlBQkJMR3BCQVJBUklBRkJBMm9oQlFKQUFrQUNRQUpBQWtBZ0FDZ0NLQ0lIUVFGckRnSUFBUUlMSUFKQkJrMEVRQ0FFSUFJMkFoQWdBMEVCUWNEeEFDQUVRUkJxRUE5QkFDRUdEQVVMQWtBZ0FrRUhSZzBBSUFBb0FqQkJEa1lOQUNBRUlBSTJBakFnQTBFQ1FjRHhBQ0FFUVRCcUVBOExJQVVnQUVFd2FrRUVFQkVnQUNnQ01FRU9SdzBEUVNRUUZDSUZSUVJBUVFBaEJpQURRUUZCc3p4QkFCQVBEQVVMSUFWQkRqWUNBQ0FFUVFBMkFrQWdCRUVBTmdJNElBUkJBRFlDU0NBRVFRQTJBandnQkVFQU5nSkVJQVJCQURZQ1RFR3c2cEFDSVFZZ0JFR3c2cEFDTmdJMElBVkJnSXlWb2dRMkFnUUNmeUFDUVFkSEJFQWdBa0VqUmdSQUlBRkJCMm9nQkVITUFHcEJCQkFSSUFGQkMyb2dCRUhJQUdwQkJCQVJJQUZCRDJvZ0JFSEVBR3BCQkJBUklBRkJFMm9nQkVGQWEwRUVFQkVnQVVFWGFpQUVRVHhxUVFRUUVTQUJRUnRxSUFSQk9HcEJCQkFSSUFGQkgyb2dCRUUwYWtFRUVCRWdCVUVBTmdJRUlBUW9BalFoQmlBRUtBSTRJUUlnQkNnQ1FDRURJQVFvQWp3aEJ5QUVLQUpFSVFnZ0JDZ0NUQ0VKSUFRb0FrZ01BZ3NnQkNBQ05nSWdJQU5CQWtIazhRQWdCRUVnYWhBUEMwRUFJUUpCQUNFRFFRQWhCMEVBQ3lFQklBVWdCellDR0NBRklBZzJBaEFnQlNBSk5nSUlJQVVnQmpZQ0lDQUZJQUkyQWh3Z0JTQUROZ0lVSUFVZ0FUWUNEQ0FBUVFBMkFuQWdBQ0FGTmdKc0RBTUxJQUFnQWtFRGF5SUJOZ0p3SUFCQkFTQUJFQk1pQXpZQ2JDQURSUTBCSUFKQkEwd05Ba0VBSVFJRFFDQUZJQVJCekFCcVFRRVFFU0FBS0FKc0lBSnFJQVFvQWt3NkFBQWdCVUVCYWlFRklBSkJBV29pQWlBQlJ3MEFDd3dDQ3lBSFFRTkpEUUlnQkNBSE5nSUFJQU5CQkVIYjl3QWdCQkFQREFJTFFRQWhCaUFBUVFBMkFuQU1BUXRCQVNFR0lBQkJBVG9BZkFzZ0JFSFFBR29rQUNBR0M3UURBUU4vSXdCQklHc2lCQ1FBQWtBZ0FDZ0NTQVJBSUFOQkFrR05OVUVBRUE5QkFTRUNEQUVMSUFKQkRrY0VRRUVBSVFJZ0EwRUJRZnJyQUVFQUVBOE1BUXNnQVNBQVFSQnFRUVFRRVNBQlFRUnFJQUJCREdwQkJCQVJJQUZCQ0dvZ0FFRVVha0VDRUJFZ0FDZ0NEQ0VGQWtBZ0JBSi9JQUFvQWhBaUJrVUVRQ0FBS0FJVURBRUxJQUFvQWhRaUFpQUZSUTBBR2lBQ0RRRkJBQXMyQWdnZ0JDQUdOZ0lFSUFRZ0JUWUNBQ0FEUVFGQjN1b0FJQVFRRDBFQUlRSU1BUXNnQWtHQmdBRnJRZi8vZmswRVFFRUFJUUlnQTBFQlFZanFBRUVBRUE4TUFRc2dBQ0FDUVF3UUV5SUNOZ0pJSUFKRkJFQkJBQ0VDSUFOQkFVR3Q2Z0JCQUJBUERBRUxRUUVoQWlBQlFRcHFJQUJCR0dwQkFSQVJJQUZCQzJvZ0FFRWNha0VCRUJFZ0FDZ0NIQ0lGUVFkSEJFQWdCQ0FGTmdJUUlBTkJCRUdkK2dBZ0JFRVFhaEFQQ3lBQlFReHFJQUJCSUdwQkFSQVJJQUZCRFdvZ0FFRWtha0VCRUJFZ0FDZ0NBQ0lCSUFFdEFMd0JRZnNCY1NBQUtBSVlRZjhCUmtFQ2RISTZBTHdCSUFBb0FnQWlBU0FBS0FJTU5nTFlBU0FCSUFBb0FoQTJBdHdCSUFCQkFUb0FoUUVMSUFSQklHb2tBQ0FDQzdvRUFRWi9Jd0JCRUdzaUJpUUFBbjhnQUMwQVpFRUNjVVVFUUNBRFFRRkJrZFFBUVFBUUQwRUFEQUVMSUFCQkFEWUNhQUpBQWtBQ1FDQUNCRUFEUUNBQ1FRZE5CRUFnQTBFQlFia1pRUUFRRHd3RkN5QUJJQVpCREdvaUJVRUVFQkVnQmlnQ0RDRUVJQUZCQkdvZ0JVRUVFQkZCQ0NFSElBWW9BZ3doQlFKQUFrQUNRQUpBSUFRT0FnRUFBd3NnQWtFUVNRUkFRZUVaSVFRTUJ3c2dBVUVJYWlBR1FRaHFRUVFRRVNBR0tBSUlCRUJCeWo4aEJBd0hDeUFCUVF4cUlBWkJER3BCQkJBUklBWW9BZ3dpQkEwQlFiSVlJUVFNQmdzZ0EwRUJRYklZUVFBUUR3d0dDMEVRSVFjTElBUWdCMGtFUUNBRFFRRkJoY1VBUVFBUUR3d0ZDeUFDSUFSSkJFQWdBMEVCUWIzRUFFRUFFQTlCQUF3R0N3SkFBa0FnQUNBQklBZHFJQVFnQjJzZ0F3Si9Ba0FDUUFKQUlBVkI4ZGk5bXdaTUJFQWdCVUhqeHNHVEJrWU5BU0FGUWViS2tac0dSZzBESUFWQjhNSzFtd1pIRFFWQjRNQUJEQVFMSUFWQjh0aU5nd2RHRFFGQndNQUJJQVZCOHNpaHl3WkdEUU1hSUFWQjh0aTltd1pIRFFSQnlNQUJEQU1MUWREQUFRd0NDMEhZd0FFTUFRdEI2TUFCQ3lnQ0JCRUJBQTBCUVFBTUJ3c2dBQ0FBS0FKb1FmLy8vLzhIY2pZQ2FBdEJBU0FJSUFWQjhzaWh5d1pHR3lFSUlBRWdCR29oQVNBQ0lBUnJJZ0lOQUFzZ0NBMEJDeUFEUVFGQjJjTUFRUUFRRDBFQURBTUxJQUJCQVRvQWhBRWdBQ0FBS0FKa1FRUnlOZ0prUVFFTUFnc2dBMEVCSUFSQkFCQVBDeUFEUVFGQm5nNUJBQkFQUVFBTElRa2dCa0VRYWlRQUlBa0w0Z0VCQVg4Z0FDZ0NaRUVCUndSQUlBTkJBVUcrMUFCQkFCQVBRUUFQQ3dKQUlBSkJCMDBFUUF3QkN5QUJJQUJCT0dwQkJCQVJJQUZCQkdvZ0FFRThha0VFRUJFZ0FrRURjUVJBREFFTElBQWdBa0VJYXlJQ1FRSjJJZ1EyQWtBQ1FDQUNSUTBBSUFBZ0JFRUVFQk1pQWpZQ1JDQUNSUVJBSUFOQkFVR3BFRUVBRUE5QkFBOExJQUFvQWtCRkRRQWdBVUVJYWlFRFFRQWhBZ05BSUFNZ0FDZ0NSQ0FDUVFKMGFrRUVFQkVnQTBFRWFpRURJQUpCQVdvaUFpQUFLQUpBU1EwQUN3c2dBQ0FBS0FKa1FRSnlOZ0prUVFFUEN5QURRUUZCcWkxQkFCQVBRUUFMeEFFQkFuOGdBQ0FBS0FJZ0lnUTJBaVFDUUNBQUtBSXdJZ01FUUFOQUlBUWdBeUFBS0FJQUlBQW9BaFFSQUFBaUEwRi9SZzBDSUFBZ0FDZ0NKQ0FEYWlJRU5nSWtJQUFnQUNnQ01DQURheUlETmdJd0lBTU5BQXNnQUNnQ0lDRUVDeUFBUVFBMkFqQWdBQ0FFTmdJa0lBRWdBQ2dDQUNBQUtBSWNFUW9BUlFSQUlBQWdBQ2dDUkVFSWNqWUNSRUVBRHdzZ0FDQUJOd000UVFFUEN5QUFJQUFvQWtSQkNISTJBa1FnQWtFRVFZSDFBRUVBRUE4Z0FDQUFLQUpFUVFoeU5nSkVRUUFMZ2dFQkFuOGpBRUVRYXlJRUpBQUNmeUFBS0FKa0JFQWdBMEVCUWR2VEFFRUFFQTlCQUF3QkN5QUNRUVJIQkVBZ0EwRUJRYzR0UVFBUUQwRUFEQUVMSUFFZ0JFRU1ha0VFRUJFZ0JDZ0NERUdLanFyb0FFY0VRQ0FEUVFGQjlpVkJBQkFQUVFBTUFRc2dBQ0FBS0FKa1FRRnlOZ0prUVFFTElRVWdCRUVRYWlRQUlBVUxEUUFnQUNnQ0FDQUJJQUlRUlFzSkFDQUFLQUlBRUVvTENRQWdBQ2dDQUJCSkN3MEFJQUFvQWdBZ0FTQUNFRXdMUVFFQmZ5QUNCSDhnQTBFQ1FkdkxBRUVBRUE4Z0FDZ0NBQ0FCSUFJZ0F5QUVFRVpGQkVBZ0EwRUJRYWt2UVFBUUQwRUFEd3NnQUNBQ0lBTVFjUVZCQUFzTEZRQWdBQ2dDQUNBQklBSWdBeUFFSUFVZ0JoQk9DdzhBSUFBb0FnQWdBU0FDSUFNUVR3c1RBQ0FBS0FJQUlBRWdBaUFESUFRZ0JSQXJDeDBBSUFBb0FnQWdBU0FDSUFNZ0JDQUZJQVlnQnlBSUlBa2dDaEFuQytvRUFRZC9Ba0FnQVNnQ0NFRTFJQU1RSkVVTkFDQUJLQUlFSWdjb0FnQWhCU0FIS0FJSUlRUUNRQ0FGQkVCQkFTRUdJQVZCQVVjRVFDQUZRWDV4SVFvRFFBSi9RUUFnQmtVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVHSUFSQkNHb2hCQ0FKUVFKcUlna2dDa2NOQUFzTEFrQWdCVUVCY1FSQUlBWkZEUUVnQVNBQUlBTWdCQ2dDQUJFQUFFRUFSeUVHQ3lBSFFRQTJBZ0FnQmtVTkF3d0NDeUFIUVFBMkFnQkJBQThMSUFkQkFEWUNBQXNnQVNnQ0NDSUhLQUlBSVFVZ0J5Z0NDQ0VFQWtBQ1FBSi9Ba0FnQlFSQVFRRWhCaUFGUVFGeElRZ2dCVUVCUncwQlFRQU1BZ3NnQjBFQU5nSUFEQUlMSUFWQmZuRWhCVUVBSVFrRFFBSi9RUUFnQmtVTkFCcEJBQ0FCSUFBZ0F5QUVLQUlBRVFBQVJRMEFHaUFCSUFBZ0F5QUVLQUlFRVFBQVFRQkhDeUVHSUFSQkNHb2hCQ0FKUVFKcUlna2dCVWNOQUFzZ0JrVUxJUVVnQ0FSQUlBVU5BaUFCSUFBZ0F5QUVLQUlBRVFBQVFRQkhJUVlMSUFkQkFEWUNBRUVBSVFnZ0JrVU5BZ3NnQVMwQWhBRkZCRUFnQTBFQlFiM1dBRUVBRUE5QkFBOExJQUV0QUlVQlJRUkFJQU5CQVVHZzFnQkJBQkFQUVFBUEN5QUFJQUVvQWdBZ0FpQURFRkFoQ0NBQ1JRMEJJQUlvQWdBaUFFVU5BVUVCSVFRQ1FBSkFBa0FDUUFKQUFrQWdBU2dDTUVFTWF3NE5Bd1FFQkFVQUFRUUVCQVFFQWdRTFFRSWhCQXdFQzBFRElRUU1Bd3RCQkNFRURBSUxRUVVoQkF3QkMwRi9JUVFMSUFBZ0JEWUNGQ0FCS0FKc0lnTkZEUUVnQUNBRE5nSWNJQUlvQWdBZ0FTZ0NjRFlDSUNBQlFRQTJBbXdnQ0E4TElBZEJBRFlDQUVFQUlRZ0xJQWdMNUFrQ0NuOEJmaU1BUWZBQWF5SURKQUJCZ0FnaENBSi9Ba0JCQVVHQUNCQVRJZ1lFUUNBRFFkd0FhaUVMSUFOQjdBQnFJUWtEUUFKQUFrQUNRQ0FCSUFOQjZBQnFJZ1JCQ0NBQ0VCcEJDRWNOQUNBRUlBTkIyQUJxUVFRUUVTQUpJQXRCQkJBUlFRZ2hCUUpBQWtBQ1FBSkFBa0FnQXlnQ1dBNENBQUVFQ3lBQktRTUlJZzFRQkg1Q0FBVWdEU0FCS1FNNGZRc2lEVUw0Ly8vL0QxTU5BU0FDUVFGQnlqOUJBQkFQREFRTElBRWdBMEhvQUdvaUJFRUlJQUlRR2tFSVJ3MERJQVFnQTBIa0FHcEJCQkFSSUFNb0FtUkZEUUVnQWtFQlFjby9RUUFRRHd3REN5QURJQTJuUVFocU5nSllEQUVMSUFrZ0EwSFlBR3BCQkJBUlFSQWhCUXNnQXlnQ1hDSUVRZVBrd05NR1JnUkFJQUFvQW1RaUFVRUVjUVJBSUFBZ0FVRUljallDWkF3Q0N5QUNRUUZCclN0QkFCQVBJQVlRRUVFQURBY0xJQU1vQWxnaUIwVUVRQ0FDUVFGQnNoaEJBQkFQSUFZUUVFRUFEQWNMSUFVZ0Iwc0VRQ0FESUFRMkFnUWdBeUFITmdJQUlBSkJBVUg2NXdBZ0F4QVBEQVlMQWtBQ2Z3Si9Ba0FDZndKQUFrQUNRQUpBQWtBZ0JFSHgyTDJiQmt3RVFDQUVRZVBHd1pNR1JnMENJQVJCNXNxUm13WkdEUVFnQkVId3dyV2JCa2NOQVVIZ3dBRU1CZ3NnQkVHZndNRFNCa3dFUUNBRVFmTFl2WnNHUmcwRlFjREFBU0FFUWZMSW9jc0dSZzBHR2lBRVFmRHkwYk1HUncwQlFhakFBUXdJQ3lBRVFmTFlqWU1IUmcwQ0lBUkJvTURBMGdaR0RRWkJzTUFCSUFSQjZPVEEwd1pHRFFjYUN5QUFLQUprSWdSQkFYRU5DQ0FDUVFGQi9BNUJBQkFQSUFZUUVFRUFEQThMUWREQUFRd0RDMEhZd0FFTUFndEI2TUFCREFFTFFjakFBUXNoQ2lBRElBUkIvd0Z4TmdKTUlBTWdCRUVZZGpZQ1FDQURJQVJCQ0haQi93RnhOZ0pJSUFNZ0JFRVFka0gvQVhFMkFrUWdBa0VDUWNrT0lBTkJRR3NRRHlBSElBVnJJZ1VnQUMwQVpFRUVjUTBDR2lBRElBTW9BbHdpQkVFWWRqWUNNQ0FESUFSQi93RnhOZ0k4SUFNZ0JFRVFka0gvQVhFMkFqUWdBeUFFUVFoMlFmOEJjVFlDT0NBQ1FRSkIyak1nQTBFd2FoQVBJQUFnQUNnQ1pFSC8vLy8vQjNJMkFtUWdBU0FGclNJTklBSWdBU2dDS0JFSUFDQU5VUTBISUFKQkFVR1NIRUVBRUE4Z0JoQVFRUUFNQ2d0Qm9NQUJDeUVLSUFjZ0JXc0xJUVVnQVNrRENDSU5VQVIrUWdBRklBMGdBU2tET0gwTElBV3RVd1JBSUFNb0FsZ2hCQ0FES0FKY0lRQWdBeUFCS1FNSUlnMVFCSDVDQUFVZ0RTQUJLUU00ZlFzK0FpZ2dBeUFGTmdJa0lBTWdBRUgvQVhFMkFpQWdBeUFBUVJoMk5nSVVJQU1nQkRZQ0VDQURJQUJCQ0haQi93RnhOZ0ljSUFNZ0FFRVFka0gvQVhFMkFoZ2dBa0VCUWMzMUFDQURRUkJxRUE4TUJ3c2dCU0FJVFFSQUlBWWhCQXdFQ3lBRklRZ2dCaUFGRUJjaUJBMERJQVlRRUNBQ1FRRkIvdzlCQUJBUFFRQU1Cd3NnQkVFQ2NVVUVRQ0FDUVFGQndnOUJBQkFQSUFZUUVFRUFEQWNMSUFBZ0JFSC8vLy8vQjNJMkFtUWdBU0FISUFWcnJTSU5JQUlnQVNnQ0tCRUlBQ0FOVVEwRElBQXRBR1JCQ0hGRkRRRWdBa0VDUVpJY1FRQVFEd3NnQmhBUVFRRU1CUXNnQWtFQlFaSWNRUUFRRHlBR0VCQkJBQXdFQ3lBQklBUWdCU0FDRUJvZ0JVY0VRQ0FDUVFGQnhCeEJBQkFQSUFRUUVFRUFEQVFMSUFBZ0JDSUdJQVVnQWlBS0tBSUVFUUVBRFFBTElBUVFFRUVBREFJTElBSkJBVUdpSlVFQUVBOUJBQXdCQ3lBR0VCQkJBQXNoRENBRFFmQUFhaVFBSUF3TDVnRUJCbjhnQUNnQ0NFRTFJQUlRSkFSQUFrQWdBQ2dDQ0NJR0tBSUFJUU1nQmlnQ0NDRUZBa0FDUUFKL0FrQWdBd1JBUVFFaEJDQURRUUZ4SVFjZ0EwRUJSdzBCUVFBTUFnc2dCa0VBTmdJQURBSUxJQU5CZm5FaEF3TkFBbjlCQUNBRVJRMEFHa0VBSUFBZ0FTQUNJQVVvQWdBUkFBQkZEUUFhSUFBZ0FTQUNJQVVvQWdRUkFBQkJBRWNMSVFRZ0JVRUlhaUVGSUFoQkFtb2lDQ0FEUncwQUN5QUVSUXNoQXlBSEJFQWdBdzBDSUFBZ0FTQUNJQVVvQWdBUkFBQkJBRWNoQkFzZ0JrRUFOZ0lBSUFSRkRRSUxJQUFvQWdBYVFRRVBDeUFHUVFBMkFnQUxDMEVBQ3dvQUlBQW9BZ0FhUVFBTEZBQWdBQ2dDQUNJQUJFQWdBQ0FCTmdLNEFRc0xJUUFnQUNnQ0FDQUJFRk1nQUVFQU9nQjhJQUFnQVNnQ3VFQkJBWEUyQW9BQkN6SUFJQUpGQkVCQkFBOExJQUFvQWdBZ0FTQUNJQU1RU0VVRVFDQURRUUZCcVM5QkFCQVBRUUFQQ3lBQUlBSWdBeEJ4QzJrQ0FuOEJmQ01BUVJCcklnTWtBQ0FDQkVBRFFDQUFJQU5CQ0dvUVJDQUJBbjhnQXlzRENDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBczJBZ0FnQVVFRWFpRUJJQUJCQ0dvaEFDQUVRUUZxSWdRZ0FrY05BQXNMSUFOQkVHb2tBQXVFQVFJQ2Z3RjlJd0JCRUdzaUF5UUFJQUlFUUFOQUlBTWdBQzBBQURvQUR5QURJQUF0QUFFNkFBNGdBeUFBTFFBQ09nQU5JQU1nQUMwQUF6b0FEQ0FCQW44Z0F5b0NEQ0lGaTBNQUFBQlBYUVJBSUFXb0RBRUxRWUNBZ0lCNEN6WUNBQ0FCUVFScUlRRWdBRUVFYWlFQUlBUkJBV29pQkNBQ1J3MEFDd3NnQTBFUWFpUUFDMHNCQW44akFFRVFheUlESkFBZ0FnUkFBMEFnQUNBRFFReHFRUVFRRVNBQklBTW9BZ3cyQWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FFUVFGcUlnUWdBa2NOQUFzTElBTkJFR29rQUF0TEFRSi9Jd0JCRUdzaUF5UUFJQUlFUUFOQUlBQWdBMEVNYWtFQ0VCRWdBU0FES0FJTU5nSUFJQUZCQkdvaEFTQUFRUUpxSVFBZ0JFRUJhaUlFSUFKSERRQUxDeUFEUVJCcUpBQUxTZ0VDZnlNQVFSQnJJZ01rQUNBQ0JFQURRQ0FBSUFOQkNHb1FSQ0FCSUFNckF3aTJPQUlBSUFGQkJHb2hBU0FBUVFocUlRQWdCRUVCYWlJRUlBSkhEUUFMQ3lBRFFSQnFKQUFMYUFFQ2Z5TUFRUkJySWdNa0FDQUNCRUFEUUNBRElBQXRBQUE2QUE4Z0F5QUFMUUFCT2dBT0lBTWdBQzBBQWpvQURTQURJQUF0QUFNNkFBd2dBU0FES2dJTU9BSUFJQUZCQkdvaEFTQUFRUVJxSVFBZ0JFRUJhaUlFSUFKSERRQUxDeUFEUVJCcUpBQUxUQUVDZnlNQVFSQnJJZ01rQUNBQ0JFQURRQ0FBSUFOQkRHcEJCQkFSSUFFZ0F5Z0NETE00QWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FFUVFGcUlnUWdBa2NOQUFzTElBTkJFR29rQUF0TUFRSi9Jd0JCRUdzaUF5UUFJQUlFUUFOQUlBQWdBMEVNYWtFQ0VCRWdBU0FES0FJTXN6Z0NBQ0FCUVFScUlRRWdBRUVDYWlFQUlBUkJBV29pQkNBQ1J3MEFDd3NnQTBFUWFpUUFDNm9JQWcxL0FYc2pBRUVRYXlJSUpBQUNmeUFBS0FJSVFSQkdCRUFnQUNnQ25BRWdBQ2dDekFGQmpDeHNhZ3dCQ3lBQUtBSU1DeUVKQWtBZ0FrVUVRQ0FEUVFGQjhCOUJBQkFQREFFTElBQW9Ba2doQmtFQklRUWdBU0FJUVFocVFRRVFFU0FJS0FJSUlnVkJBazhFUUNBRFFRSkJ4c2dBUVFBUUR3d0JDeUFDSUFWQkFXcEhCRUJCQUNFRUlBTkJBa0h3SDBFQUVBOE1BUXNDUUNBR0tBSVFJZ05GRFFBZ0NTZ0MwQ3NoQkNBRFFRaFBCRUFnQTBGNGNTRUdRUUFoQWdOQUlBUkJBRFlDdkVNZ0JFRUFOZ0tFT3lBRVFRQTJBc3d5SUFSQkFEWUNsQ29nQkVFQU5nTGNJU0FFUVFBMkFxUVpJQVJCQURZQzdCQWdCRUVBTmdLMENDQUVRY0REQUdvaEJDQUNRUWhxSWdJZ0JrY05BQXNMSUFOQkIzRWlBMFVOQUVFQUlRSURRQ0FFUVFBMkFyUUlJQVJCdUFocUlRUWdBa0VCYWlJQ0lBTkhEUUFMQ3lBSktBTG9LeUlDQkg4Z0FoQVFJQWxCQURZQzZDc2dDQ2dDQ0FVZ0JRdEZCRUJCQVNFRURBRUxBMEFnQVVFQmFpSUJJQWhCREdwQkFSQVJBa0FnQ1NnQ2dDeEZEUUFnQ1NnQy9Dc2lBeWdDQUNBSUtBSU1SdzBBSUFNb0FnUWlCU0FBS0FKSUlnWW9BaEJIRFFBZ0F5Z0NDQ0lDQkVCQkFDRUVJQUlvQWhBZ0JTQUZiQ0lGSUFJb0FnQkJBblJCMEwwQmFpZ0NBR3hIRFFNZ0NTQUZRUUowRUJRaUJ6WUM2Q3NnQjBVTkF5QUNLQUlNSUFjZ0JTQUNLQUlBUVFKMFFZREFBV29vQWdBUkJRQUxJQU1vQWd3aUFrVU5BRUVBSVFRZ0FpZ0NFQ0FHS0FJUUlnTWdBaWdDQUVFQ2RFSFF2UUZxS0FJQWJFY05BaUFEUVFKMEVCUWlCVVVOQWlBQ0tBSU1JQVVnQXlBQ0tBSUFRUUowUVpEQUFXb29BZ0FSQlFBQ1FDQUdLQUlRSWdkRkRRQWdDU2dDMENzaEJFRUFJUXNDUUFKQUlBZEJCRWtOQUNBRVFiUUlhaUlNSUFVZ0IwRUNkR3BKQkVBZ0JTQUVJQWRCdUFoc2Fra05BUXNnQkVIY0lXb2hEU0FFUWFRWmFpRU9JQVJCN0JCcUlROGdCU0FIUVh4eElnWkJBblJxSVFJZ0JDQUdRYmdJYkdvaEJFRUFJUU1EUUNBTUlBTkJ1QWhzSWdwcUlBVWdBMEVDZEdyOUFBSUFJaEg5V2dJQUFDQUtJQTlxSUJIOVdnSUFBU0FLSUE1cUlCSDlXZ0lBQWlBS0lBMXFJQkg5V2dJQUF5QURRUVJxSWdNZ0JrY05BQXNnQmlBSFJnMENEQUVMSUFVaEFrRUFJUVlMSUFjZ0JpSURhMEVIY1NJS0JFQURRQ0FFSUFJb0FnQTJBclFJSUFOQkFXb2hBeUFFUWJnSWFpRUVJQUpCQkdvaEFpQUxRUUZxSWdzZ0NrY05BQXNMSUFZZ0IydEJlRXNOQUFOQUlBUWdBaWdDQURZQ3RBZ2dCQ0FDS0FJRU5nTHNFQ0FFSUFJb0FnZzJBcVFaSUFRZ0FpZ0NERFlDM0NFZ0JDQUNLQUlRTmdLVUtpQUVJQUlvQWhRMkFzd3lJQVFnQWlnQ0dEWUNoRHNnQkNBQ0tBSWNOZ0s4UXlBRVFjRERBR29oQkNBQ1FTQnFJUUlnQTBFSWFpSURJQWRIRFFBTEN5QUZFQkFMUVFFaEJDQVFRUUZxSWhBZ0NDZ0NDRWtOQUFzTElBaEJFR29rQUNBRUN3UUFRbjhMdndrQkMzOGpBRUVRYXlJRkpBQUNmeUFBS0FJSVFSQkdCRUFnQUNnQ25BRWdBQ2dDekFGQmpDeHNhZ3dCQ3lBQUtBSU1DeUVIQW44Z0FrRUJUUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0JDeUFCSUFWQkRHcEJBaEFSSUFVb0Fnd0VRQ0FEUVFKQjhDeEJBQkFQUVFFTUFRc2dBa0VHVFFSQUlBTkJBVUhZSTBFQUVBOUJBQXdCQ3lBQlFRSnFJQVZCQ0dwQkFSQVJJQWNvQXZ3cklna2hBQUpBQWtBQ1FDQUhLQUtBTENJR1JRMEFJQVVvQWdnaENBTkFJQUFvQWdBZ0NFWU5BU0FBUVJScUlRQWdCRUVCYWlJRUlBWkhEUUFMREFFTElBUWdCa2NOQVFzZ0J5Z0NoQ3dnQmtZRWZ5QUhJQVpCQ21vaUFEWUNoQ3dnQ1NBQVFSUnNFQmNpQUVVRVFDQUhLQUw4S3hBUUlBZEJBRFlDaEN3Z0IwSUFOd0w4S3lBRFFRRkI4aU5CQUJBUFFRQU1Bd3NnQnlBQU5nTDhLeUFBSUFjb0FvQXNJZ1JCRkd4cVFRQWdCeWdDaEN3Z0JHdEJGR3dRRlJvZ0J5Z0MvQ3NoQ1NBSEtBS0FMQVVnQmd0QkZHd2dDV29oQUVFQklRc0xJQUFnQlNnQ0NEWUNBQ0FCUVFOcUlBVkJER3BCQWhBUklBVW9BZ3dFUUNBRFFRSkI4Q3hCQUJBUFFRRU1BUXNnQVVFRmFpQUZRUVJxUVFJUUVTQUZLQUlFSWdSQkFrOEVRQ0FEUVFKQnFCZEJBQkFQUVFFTUFRc2dBa0VIYXlFR0lBUUVRQ0FCUVFkcUlRSkJBQ0VKQTBBZ0JrRUNUUVJBSUFOQkFVSFlJMEVBRUE5QkFBd0RDeUFDSUFWQkRHcEJBUkFSSUFVb0FneEJBVWNFUUNBRFFRSkJzaXBCQUJBUFFRRU1Bd3NnQWtFQmFpQUZRUUlRRVNBQUlBVW9BZ0FpQkVILy93RnhJZ0UyQWdRZ0JrRURheUlJSUFSQkQzWkJBV29pQmlBQmJFRUNhaUlLU1FSQUlBTkJBVUhZSTBFQUVBOUJBQXdEQ3lBQ1FRTnFJUUpCQUNFRUlBRUVRQU5BSUFJZ0JVRU1haUFHRUJFZ0JDQUZLQUlNUndSQUlBTkJBa0hhTDBFQUVBOUJBUXdGQ3lBQ0lBWnFJUUlnQkVFQmFpSUVJQUFvQWdSSkRRQUxDeUFDSUFWQkFoQVJJQVVnQlNnQ0FDSUVRZi8vQVhFaUFUWUNBQ0FBS0FJRUlBRkhCRUFnQTBFQ1FkZ1lRUUFRRDBFQkRBTUxJQWdnQ21zaUNpQUVRUTkyUVFGcUlnWWdBV3hCQTJvaURFa0VRQ0FEUVFGQjJDTkJBQkFQUVFBTUF3c2dBa0VDYWlFQ1FRQWhCQ0FCQkVBRFFDQUNJQVZCREdvZ0JoQVJJQVFnQlNnQ0RFY0VRQ0FEUVFKQjJpOUJBQkFQUVFFTUJRc2dBaUFHYWlFQ0lBUkJBV29pQkNBQUtBSUVTUTBBQ3dzZ0FpQUZRUXhxUVFNUUVTQUZLQUlNSVFZZ0FFSUFOd0lJSUFBZ0JrR0FnQVJ4UlNBQUxRQVFRZjRCY1hJNkFCQWdCU0FHUWY4QmNTSUlOZ0lJQWtBZ0NFVU5BQ0FIS0FMMEt5SU5CRUFnQnlnQzhDc2hCRUVBSVFFRFFDQUlJQVFvQWdoR0JFQWdBQ0FFTmdJSURBTUxJQVJCRkdvaEJDQUJRUUZxSWdFZ0RVY05BQXNMSUFOQkFVSFlJMEVBRUE5QkFBd0RDeUFGSUFaQkNIWkIvd0Z4SWdZMkFnZ0NRQ0FHUlEwQUlBY29BdlFySWdnRVFDQUhLQUx3S3lFRVFRQWhBUU5BSUFZZ0JDZ0NDRVlFUUNBQUlBUTJBZ3dNQXdzZ0JFRVVhaUVFSUFGQkFXb2lBU0FJUncwQUN3c2dBMEVCUWRnalFRQVFEMEVBREFNTElBb2dER3NoQmlBQ1FRTnFJUUlnQ1VFQmFpSUpJQVVvQWdSSkRRQUxDeUFHQkVBZ0EwRUJRZGdqUVFBUUQwRUFEQUVMUVFFZ0MwVU5BQm9nQnlBSEtBS0FMRUVCYWpZQ2dDeEJBUXNoRGlBRlFSQnFKQUFnRGd2MUFRRUZmeU1BUVJCcklnUWtBQUpBSUFJZ0FDZ0NTQ2dDRUNJR1FRSnFSd1JBSUFOQkFVSHdJa0VBRUE4TUFRc2dBU0FFUVF4cVFRSVFFU0FHSUFRb0FneEhCRUFnQTBFQlFmQWlRUUFRRHd3QkN5QUdSUVJBUVFFaEJRd0JDeUFCUVFKcUlRSWdBQ2dDU0NnQ0dDRUFRUUFoQVFOQUlBSWdCRUVJYWtFQkVCRWdBQ0FFS0FJSUlnVkIvd0J4SWdkQkFXb2lDRFlDR0NBQUlBVkJCM1pCQVhFMkFpQWdCMEVmVHdSQUlBUWdDRFlDQkNBRUlBRTJBZ0FnQTBFQlFiZnpBQ0FFRUE5QkFDRUZEQUlMSUFCQk5Hb2hBRUVCSVFVZ0FrRUJhaUVDSUFGQkFXb2lBU0FHUncwQUN3c2dCRUVRYWlRQUlBVUxtQVVCQ244akFFRVFheUlISkFBQ2Z5QUFLQUlJUVJCR0JFQWdBQ2dDbkFFZ0FDZ0N6QUZCakN4c2Fnd0JDeUFBS0FJTUN5RUZBbjhnQWtFQlRRUkFJQU5CQVVIeEhrRUFFQTlCQUF3QkN5QUJJQWRCREdwQkFoQVJBa0FnQnlnQ0RBUkFJQU5CQWtHR0cwRUFFQThNQVFzZ0FrRUdUUVJBSUFOQkFVSHhIa0VBRUE5QkFBd0NDeUFCUVFKcUlBZEJER3BCQWhBUklBVW9BdkFySVFRZ0J5MEFEQ0VLQWtBQ1FBSkFJQVVvQXZRcklnWkZCRUFnQkNFQURBRUxJQVFoQUFOQUlBQW9BZ2dnQ2tZTkFTQUFRUlJxSVFBZ0NFRUJhaUlJSUFaSERRQUxEQUVMSUFZZ0NFY05BUXNnQlNnQytDc2dCa1lFUUNBRklBWkJDbW9pQURZQytDc2dCQ0FBUVJSc0VCY2hBQ0FGS0FMd0t5RUVJQUJGQkVBZ0JCQVFJQVZCQURZQytDc2dCVUlBTndMd0t5QURRUUZCaXg5QkFCQVBRUUFNQkFzQ1FDQUFJQVJHRFFBZ0JTZ0NnQ3dpQzBVTkFDQUZLQUw4S3lFTVFRQWhDQU5BSUF3Z0NFRVViR29pQmlnQ0NDSUpCRUFnQmlBQUlBa2dCR3RxTmdJSUN5QUdLQUlNSWdrRVFDQUdJQUFnQ1NBRWEybzJBZ3dMSUFoQkFXb2lDQ0FMUncwQUN3c2dCU0FBTmdMd0t5QUFJQVVvQXZRcklnUkJGR3hxUVFBZ0JTZ0MrQ3NnQkd0QkZHd1FGUm9nQlNnQzlDc2hCaUFGS0FMd0t5RUVDeUFGSUFaQkFXbzJBdlFySUFRZ0JrRVViR29oQUFzZ0FDZ0NEQ0lFQkVBZ0JCQVFJQUJDQURjQ0RBc2dBQ0FLTmdJSUlBQWdCeWdDRENJRVFRcDJRUU54TmdJQUlBQWdCRUVJZGtFRGNUWUNCQ0FCUVFScUlBZEJER3BCQWhBUklBY29BZ3dFUUNBRFFRSkJ2UlpCQUJBUERBRUxJQUFnQWtFR2F5SUNFQlFpQkRZQ0RDQUVSUVJBSUFOQkFVSHhIa0VBRUE5QkFBd0NDeUFFSUFGQkJtb2dBaEFTR2lBQUlBSTJBaEFMUVFFTElRMGdCMEVRYWlRQUlBMExKd0JCQVNFQklBSWdBQ2dDU0NnQ0VFRUNkRWNFZnlBRFFRRkIxeUZCQUJBUFFRQUZRUUVMQzZzREFRVi9Jd0JCRUdzaUJpUUFBbjhnQWtFQlRRUkFJQU5CQVVIOUhVRUFFQTlCQUF3QkN5QUFMUUM4QVVFQmNRUkFJQU5CQVVHSjNnQkJBQkFQUVFBTUFRc2dBQ2dDbkFFZ0FDZ0N6QUZCakN4c2FpSUFJQUF0QUlnc1FRSnlPZ0NJTENBQklBWkJER3BCQVJBUkFrQWdBQ2dDckNnaUJFVUVRQ0FBSUFZb0FneEJBV29pQlVFSUVCTWlCRFlDckNnZ0JFVUVRQ0FEUVFGQmx4NUJBQkFQUVFBTUF3c2dBQ0FGTmdLb0tBd0JDeUFHS0FJTUlnVWdBQ2dDcUNoSkRRQWdCQ0FGUVFGcUlnUkJBM1FRRnlJRlJRUkFJQU5CQVVHWEhrRUFFQTlCQUF3Q0N5QUFJQVUyQXF3b0lBVWdBQ2dDcUNnaUIwRURkR3BCQUNBRUlBZHJRUU4wRUJVYUlBQWdCRFlDcUNnZ0FDZ0NyQ2doQkFzZ0JDQUdLQUlNSWdWQkEzUnFLQUlBQkVBZ0JpQUZOZ0lBSUFOQkFVRzlOU0FHRUE5QkFBd0JDeUFDUVFGcklnSVFGQ0VFSUFBb0Fxd29JZ0FnQmlnQ0RDSUZRUU4wYWlBRU5nSUFJQVJGQkVBZ0EwRUJRWmNlUVFBUUQwRUFEQUVMSUFBZ0JVRURkR29nQWpZQ0JDQUFJQVlvQWd4QkEzUnFLQUlBSUFGQkFXb2dBaEFTR2tFQkN5RUlJQVpCRUdva0FDQUlDL1VDQVFWL0l3QkJFR3NpQmlRQUFuOGdBa0VCVFFSQUlBTkJBVUdrSUVFQUVBOUJBQXdCQ3lBQUlBQXRBTHdCUVFGeU9nQzhBU0FCSUFaQkRHcEJBUkFSQWtBZ0FDZ0NkQ0lFUlFSQUlBQWdCaWdDREVFQmFpSUZRUWdRRXlJRU5nSjBJQVJGQkVBZ0EwRUJRYjRnUVFBUUQwRUFEQU1MSUFBZ0JUWUNjQXdCQ3lBR0tBSU1JZ1VnQUNnQ2NFa05BQ0FFSUFWQkFXb2lCRUVEZEJBWElnVkZCRUFnQTBFQlFiNGdRUUFRRDBFQURBSUxJQUFnQlRZQ2RDQUZJQUFvQW5BaUIwRURkR3BCQUNBRUlBZHJRUU4wRUJVYUlBQWdCRFlDY0NBQUtBSjBJUVFMSUFRZ0JpZ0NEQ0lGUVFOMGFpZ0NBQVJBSUFZZ0JUWUNBQ0FEUVFGQjB6VWdCaEFQUVFBTUFRc2dBa0VCYXlJQ0VCUWhCQ0FBS0FKMElnQWdCaWdDRENJRlFRTjBhaUFFTmdJQUlBUkZCRUFnQTBFQlFiNGdRUUFRRDBFQURBRUxJQUFnQlVFRGRHb2dBallDQkNBQUlBWW9BZ3hCQTNScUtBSUFJQUZCQVdvZ0FoQVNHa0VCQ3lFSUlBWkJFR29rQUNBSUM2QUJBUVIvSXdCQkVHc2lCQ1FBQW44Z0FrVUVRQ0FEUVFGQjF4NUJBQkFQUVFBTUFRc2dBU0FFUVF4cVFRRVFFVUVCSUFKQkFXc2lCVVVOQUJwQkFDRUFRUUFoQWdOQUlBRkJBV29pQVNBRVFRaHFRUUVRRVNBRUtBSUlJZ1pCR0hSQkgzVWdCa0gvQUhFZ0FuSkJCM1J4SVFJZ0FFRUJhaUlBSUFWSERRQUxRUUVnQWtVTkFCb2dBMEVCUWRjZVFRQVFEMEVBQ3lFSElBUkJFR29rQUNBSEN4c0FRUUVoQUNBQ0JIOUJBUVVnQTBFQlFmNGdRUUFRRDBFQUN3dUFBUUVCZnlNQVFSQnJJZ0FrQUVFQklRUUNRQ0FDUVFGTkJFQkJBQ0VFSUFOQkFVSGtJRUVBRUE4TUFRc2dBU0FBUVF4cVFRRVFFU0FCUVFGcUlBQkJDR3BCQVJBUklBSkJBbXNnQUNnQ0NDSUJRUVYyUVFKeElBRkJCSFpCQTNGcVFRSnFjRVVOQUVFQUlRUWdBMEVCUWVRZ1FRQVFEd3NnQUVFUWFpUUFJQVFMQkFCQkFBc0xvcndCSVFCQmdBZ0xrWFZqWVc1dWIzUWdZV3hzYjJOaGRHVWdiM0JxWDNSalpGOXpaV2RmWkdGMFlWOWphSFZ1YTE5MEtpQmhjbkpoZVFBdEt5QWdJREJZTUhnQUxUQllLekJZSURCWUxUQjRLekI0SURCNEFGVnVhMjV2ZDI0Z1ptOXliV0YwQUVaaGFXeGxaQ0IwYnlCelpYUjFjQ0IwYUdVZ1pHVmpiMlJsY2dCR1lXbHNaV1FnZEc4Z2NtVmhaQ0IwYUdVZ2FHVmhaR1Z5QUc1aGJnQXFiRjkwYVd4bFgyeGxiaUErSUZWSlRsUmZUVUZZSUMwZ1QxQktYME5QVFUxUFRsOURRa3hMWDBSQlZFRmZSVmhVVWtFZ0xTQndYMm95YXkwK2JWOXpjR1ZqYVdacFkxOXdZWEpoYlM1dFgyUmxZMjlrWlhJdWJWOXpiM1JmYkdWdVozUm9BR2x1WmdCR1lXbHNaV1FnZEc4Z1pHVmpiMlJsSUhSb1pTQnBiV0ZuWlFCSmJuWmhiR2xrSUdGalkyVnpjeUIwYnlCd2FTMCthVzVqYkhWa1pRQXZkRzF3TDI5d1pXNXFjR1ZuTDNOeVl5OWlhVzR2WTI5dGJXOXVMMk52Ykc5eUxtTUFRVXhNWDBOUVZWTUFUMUJLWDA1VlRWOVVTRkpGUVVSVEFFNUJUZ0JKVGtZQWNGOXFNbXN0UG0xZmMzQmxZMmxtYVdOZmNHRnlZVzB1YlY5a1pXTnZaR1Z5TG0xZmMyOTBYMnhsYm1kMGFDQStJRlZKVGxSZlRVRllJQzBnVDFCS1gwTlBUVTFQVGw5RFFreExYMFJCVkVGZlJWaFVVa0VBQ1FrSklIQnlaV05qYVc1MGMybDZaU0FvZHl4b0tUMEFDUWtKSUhOMFpYQnphWHBsY3lBb2JTeGxLVDBBTGdBb2JuVnNiQ2tBS0NWa0xDVmtLU0FBSlhOOUNnQUpDU0I5Q2dCYlJFVldYU0JFZFcxd0lHRnVJR2x0WVdkbFgyTnZiWEJmYUdWaFpHVnlJSE4wY25WamRDQjdDZ0JiUkVWV1hTQkVkVzF3SUdGdUlHbHRZV2RsWDJobFlXUmxjaUJ6ZEhKMVkzUWdld29BU1cxaFoyVWdhVzVtYnlCN0NnQUpJR1JsWm1GMWJIUWdkR2xzWlNCN0NnQWxjd2tnWTI5dGNHOXVaVzUwSUNWa0lIc0tBQWtKSUdOdmJYQWdKV1FnZXdvQUNTQlVhV3hsSUdsdVpHVjRPaUI3Q2dBSklFMWhjbXRsY2lCc2FYTjBPaUI3Q2dCRGIyUmxjM1J5WldGdElHbHVaR1Y0SUdaeWIyMGdiV0ZwYmlCb1pXRmtaWEk2SUhzS0FFTnZaR1Z6ZEhKbFlXMGdhVzVtYnlCbWNtOXRJRzFoYVc0Z2FHVmhaR1Z5T2lCN0NnQlRkSEpsWVcwZ1pYSnliM0lnZDJocGJHVWdjbVZoWkdsdVp5QktVRElnU0dWaFpHVnlJR0p2ZUFvQVJtOTFibVFnWVNCdGFYTndiR0ZqWldRZ0p5VmpKV01sWXlWakp5QmliM2dnYjNWMGMybGtaU0JxY0RKb0lHSnZlQW9BVFdGc1ptOXliV1ZrSUVwUU1pQm1hV3hsSUdadmNtMWhkRG9nWm1seWMzUWdZbTk0SUcxMWMzUWdZbVVnU2xCRlJ5QXlNREF3SUhOcFoyNWhkSFZ5WlNCaWIzZ0tBRTFoYkdadmNtMWxaQ0JLVURJZ1ptbHNaU0JtYjNKdFlYUTZJSE5sWTI5dVpDQmliM2dnYlhWemRDQmlaU0JtYVd4bElIUjVjR1VnWW05NENnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJvWVc1a2JHVWdhbkJsWnpJd01EQWdZbTk0Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCM2FYUm9JRVpVV1ZBZ1FtOTRDZ0JCSUcxaGNtdGxjaUJKUkNCM1lYTWdaWGh3WldOMFpXUWdLREI0Wm1ZdExTa2dhVzV6ZEdWaFpDQnZaaUFsTGpoNENnQUpDU0J0WTNROUpYZ0tBQWtKQ1NCallteHJjM1I1UFNVamVBb0FDUWtKSUdOemRIazlKU040Q2dBSkNTQndjbWM5SlNONENnQkpiblJsWjJWeUlHOTJaWEptYkc5M0NnQUpJSFJrZUQwbGRTd2dkR1I1UFNWMUNnQUpJSFIzUFNWMUxDQjBhRDBsZFFvQUNTQjBlREE5SlhVc0lIUjVNRDBsZFFvQVNXNTJZV3hwWkNCamIyMXdiMjVsYm5RZ2FXNWtaWGc2SUNWMUNnQlRkSEpsWVcwZ2RHOXZJSE5vYjNKMENnQk5ZWEpyWlhJZ2FHRnVaR3hsY2lCbWRXNWpkR2x2YmlCbVlXbHNaV1FnZEc4Z2NtVmhaQ0IwYUdVZ2JXRnlhMlZ5SUhObFoyMWxiblFLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUdadmNpQmpkWEp5Wlc1MElIQnlaV05wYm1OMElHTnZaR1ZpYkc5amF5QmxiR1Z0Wlc1MENnQkZjbkp2Y2lCeVpXRmthVzVuSUZOUVEyOWtJRk5RUTI5aklHVnNaVzFsYm5RS0FFVnljbTl5SUhKbFlXUnBibWNnVTFGalpDQnZjaUJUVVdOaklHVnNaVzFsYm5RS0FFRWdRbEJEUXlCb1pXRmtaWElnWW05NElHbHpJR0YyWVdsc1lXSnNaU0JoYkhSb2IzVm5hQ0JDVUVNZ1oybDJaVzRnWW5rZ2RHaGxJRWxJUkZJZ1ltOTRJQ2dsWkNrZ2FXNWthV05oZEdVZ1kyOXRjRzl1Wlc1MGN5QmlhWFFnWkdWd2RHZ2dhWE1nWTI5dWMzUmhiblFLQUVWeWNtOXlJSGRwZEdnZ1UwbGFJRzFoY210bGNqb2dhV3hzWldkaGJDQjBhV3hsSUc5bVpuTmxkQW9BU1c1MllXeHBaQ0J3Y21WamFXNWpkQW9BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z2FHRnVaR3hsSUdKaGJtUWdjSEpsWTJsdWRITUtBRVpoYVd4bFpDQjBieUJrWldOdlpHVWdZV3hzSUhWelpXUWdZMjl0Y0c5dVpXNTBjd29BVTJsNlpTQnZaaUJqYjJSbElHSnNiMk5ySUdSaGRHRWdaWGhqWldWa2N5QnplWE4wWlcwZ2JHbHRhWFJ6Q2dCVGFYcGxJRzltSUhScGJHVWdaR0YwWVNCbGVHTmxaV1J6SUhONWMzUmxiU0JzYVcxcGRITUtBRU5oYm01dmRDQjBZV3RsSUdsdUlHTm9ZWEpuWlNCdGRXeDBhWEJzWlNCTlExUWdiV0Z5YTJWeWN3b0FRMjl5Y25Wd2RHVmtJRkJRVFNCdFlYSnJaWEp6Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCbWIzSWdkR2xzWlNCeVpYTnZiSFYwYVc5dWN3b0FRMkZ1Ym05MElIUmhhMlVnYVc0Z1kyaGhjbWRsSUcxMWJIUnBjR3hsSUdOdmJHeGxZM1JwYjI1ekNnQkpiblpoYkdsa0lGQkRURklnWW05NExpQlNaWEJ2Y25SeklEQWdjR0ZzWlhSMFpTQmpiMngxYlc1ekNnQlhaU0JrYnlCdWIzUWdjM1Z3Y0c5eWRDQlNUMGtnYVc0Z1pHVmpiMlJwYm1jZ1NGUWdZMjlrWldKc2IyTnJjd29BUTJGdWJtOTBJR2hoYm1Sc1pTQmliM2dnYjJZZ2RXNWtaV1pwYm1Wa0lITnBlbVZ6Q2dCRFlXNXViM1FnZEdGclpTQnBiaUJqYUdGeVoyVWdZMjlzYkdWamRHbHZibk1nZDJsMGFHOTFkQ0J6WVcxbElHNTFiV0psY2lCdlppQnBibVJwZUdWekNnQkpiblpoYkdsa0lIUnBiR1ZqTFQ1M2FXNWZlSGg0SUhaaGJIVmxjd29BUTJGdWJtOTBJR2hoYm1Sc1pTQmliM2dnYjJZZ2JHVnpjeUIwYUdGdUlEZ2dZbmwwWlhNS0FFTmhibTV2ZENCb1lXNWtiR1VnV0V3Z1ltOTRJRzltSUd4bGMzTWdkR2hoYmlBeE5pQmllWFJsY3dvQVEyOXRjRzl1Wlc1MElHbHVaR1Y0SUNWMUlIVnpaV1FnYzJWMlpYSmhiQ0IwYVcxbGN3b0FTVzUyWVd4cFpDQlFRMHhTSUdKdmVDNGdVbVZ3YjNKMGN5QWxaQ0JsYm5SeWFXVnpDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCamNtVmhkR1VnVkdGbkxYUnlaV1VnYm05a1pYTUtBRU5oYm01dmRDQjBZV3RsSUdsdUlHTm9ZWEpuWlNCdFkzUWdaR0YwWVNCM2FYUm9hVzRnYlhWc2RHbHdiR1VnVFVOVUlISmxZMjl5WkhNS0FFTmhibTV2ZENCa1pXTnZaR1VnZEdsc1pTd2diV1Z0YjNKNUlHVnljbTl5Q2dCdmNHcGZhakpyWDJGd2NHeDVYMjVpWDNScGJHVmZjR0Z5ZEhOZlkyOXljbVZqZEdsdmJpQmxjbkp2Y2dvQVVISnZZbXhsYlNCM2FYUm9JSE5yYVhCd2FXNW5JRXBRUlVjeU1EQXdJR0p2ZUN3Z2MzUnlaV0Z0SUdWeWNtOXlDZ0JRY205aWJHVnRJSGRwZEdnZ2NtVmhaR2x1WnlCS1VFVkhNakF3TUNCaWIzZ3NJSE4wY21WaGJTQmxjbkp2Y2dvQVZXNXJibTkzYmlCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHRmtaQ0IwYkNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHRmtaQ0J0YUNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklIUmhhMlVnYVc0Z1kyaGhjbWRsSUZOSldpQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVUZCVUlHMWhjbXRsY2dvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdjbVZoWkNCUVVGUWdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUZOUFZDQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVUV4VUlHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJOUTFRZ2JXRnlhMlZ5Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5QnlaV0ZrSUUxRFZDQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2djM0JoWTJVZ1ptOXlJR1Y0Y0dWamRHVmtJRk5QVUNCdFlYSnJaWElLQUVWNGNHVmpkR1ZrSUZOUFVDQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnVFVOUElHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJTUjA0Z2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkJRVFNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklISmxZV1FnVUZCTklHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJVVEUwZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkJNVFNCdFlYSnJaWElLQUU1dmRDQmxibTkxWjJnZ2MzQmhZMlVnWm05eUlHVjRjR1ZqZEdWa0lFVlFTQ0J0WVhKclpYSUtBRVY0Y0dWamRHVmtJRVZRU0NCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dRMUpISUcxaGNtdGxjZ29BVlc1cmJtOTNiaUJ3Y205bmNtVnpjMmx2YmlCdmNtUmxjaUJwYmlCRFQwUWdiV0Z5YTJWeUNnQlZibXR1YjNkdUlGTmpiMlFnZG1Gc2RXVWdhVzRnUTA5RUlHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJEVDBRZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRkZEUkNCdFlYSnJaWElLQUVOeWNtOXlJSEpsWVdScGJtY2dRMEpFSUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlFUME1nYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklFTlBReUJ0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1VVTkRJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCTlEwTWdiV0Z5YTJWeUNnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJ5WldGa0lFMURReUJ0WVhKclpYSUtBSEpsY1hWcGNtVmtJRk5KV2lCdFlYSnJaWElnYm05MElHWnZkVzVrSUdsdUlHMWhhVzRnYUdWaFpHVnlDZ0J5WlhGMWFYSmxaQ0JEVDBRZ2JXRnlhMlZ5SUc1dmRDQm1iM1Z1WkNCcGJpQnRZV2x1SUdobFlXUmxjZ29BY21WeGRXbHlaV1FnVVVORUlHMWhjbXRsY2lCdWIzUWdabTkxYm1RZ2FXNGdiV0ZwYmlCb1pXRmtaWElLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklHaGhibVJzWlNCcWNHVm5NakF3TUNCbWFXeGxJR2hsWVdSbGNnb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnY21WaFpDQm9aV0ZrWlhJS0FFVnljbTl5SUhkcGRHZ2dTbEFnVTJsbmJtRjBkWEpsSURvZ1ltRmtJRzFoWjJsaklHNTFiV0psY2dvQVNXNGdVMDlVSUcxaGNtdGxjaXdnVkZCVGIzUWdLQ1ZrS1NCcGN5QnViM1FnZG1Gc2FXUWdjbVZuWVhKa2N5QjBieUIwYUdVZ1kzVnljbVZ1ZENCdWRXMWlaWElnYjJZZ2RHbHNaUzF3WVhKMElDZ2xaQ2tzSUdkcGRtbHVaeUIxY0FvQVNXNGdVMDlVSUcxaGNtdGxjaXdnVkZCVGIzUWdLQ1ZrS1NCcGN5QnViM1FnZG1Gc2FXUWdjbVZuWVhKa2N5QjBieUIwYUdVZ2NISmxkbWx2ZFhNZ2JuVnRZbVZ5SUc5bUlIUnBiR1V0Y0dGeWRDQW9KV1FwTENCbmFYWnBibWNnZFhBS0FFbHVJRk5QVkNCdFlYSnJaWElzSUZSUVUyOTBJQ2dsWkNrZ2FYTWdibTkwSUhaaGJHbGtJSEpsWjJGeVpITWdkRzhnZEdobElHTjFjbkpsYm5RZ2JuVnRZbVZ5SUc5bUlIUnBiR1V0Y0dGeWRDQW9hR1ZoWkdWeUtTQW9KV1FwTENCbmFYWnBibWNnZFhBS0FIUnBiR1Z6SUhKbGNYVnBjbVVnWVhRZ2JHVmhjM1FnYjI1bElISmxjMjlzZFhScGIyNEtBRTFoY210bGNpQnBjeUJ1YjNRZ1kyOXRjR3hwWVc1MElIZHBkR2dnYVhSeklIQnZjMmwwYVc5dUNnQlFjbTlpYkdWdElIZHBkR2dnYzJWbGF5Qm1kVzVqZEdsdmJnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCVFVFTnZaQ0JUVUVOdll5QmxiR1Z0Wlc1MExDQkpiblpoYkdsa0lHTmliR3QzTDJOaWJHdG9JR052YldKcGJtRjBhVzl1Q2dCSmJuWmhiR2xrSUcxMWJIUnBjR3hsSUdOdmJYQnZibVZ1ZENCMGNtRnVjMlp2Y20xaGRHbHZiZ29BUTJGdWJtOTBJSFJoYTJVZ2FXNGdZMmhoY21kbElHTnZiR3hsWTNScGIyNXpJRzkwYUdWeUlIUm9ZVzRnWVhKeVlYa2daR1ZqYjNKeVpXeGhkR2x2YmdvQVZHOXZJR3hoY21kbElIWmhiSFZsSUdadmNpQk9jSEJ0Q2dCT2IzUWdaVzV2ZFdkb0lHSjVkR1Z6SUhSdklISmxZV1FnVG5Cd2JRb0FZbUZrSUhCc1lXTmxaQ0JxY0dWbklHTnZaR1Z6ZEhKbFlXMEtBQWtnVFdGcGJpQm9aV0ZrWlhJZ2MzUmhjblFnY0c5emFYUnBiMjQ5Sld4c2FRb0pJRTFoYVc0Z2FHVmhaR1Z5SUdWdVpDQndiM05wZEdsdmJqMGxiR3hwQ2dCTllYSnJaWElnYzJsNlpTQnBibU52Ym5OcGMzUmxiblFnZDJsMGFDQnpkSEpsWVcwZ2JHVnVaM1JvQ2dCVWFXeGxJSEJoY25RZ2JHVnVaM1JvSUhOcGVtVWdhVzVqYjI1emFYTjBaVzUwSUhkcGRHZ2djM1J5WldGdElHeGxibWQwYUFvQVEyRnVibTkwSUhSaGEyVWdhVzRnWTJoaGNtZGxJRzExYkhScGNHeGxJR1JoZEdFZ2MzQmhibTVwYm1jS0FGZHliMjVuSUdac1lXY0tBRVZ5Y205eUlIZHBkR2dnUmxSWlVDQnphV2R1WVhSMWNtVWdRbTk0SUhOcGVtVUtBRVZ5Y205eUlIZHBkR2dnU2xBZ2MybG5ibUYwZFhKbElFSnZlQ0J6YVhwbENnQkpiblpoYkdsa0lIQnlaV05wYm1OMElITnBlbVVLQUVsdVkyOXVjMmx6ZEdWdWRDQnRZWEpyWlhJZ2MybDZaUW9BU1c1MllXeHBaQ0J0WVhKclpYSWdjMmw2WlFvQVJYSnliM0lnZDJsMGFDQlRTVm9nYldGeWEyVnlJSE5wZW1VS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJR0ZrWkNCaElHNWxkeUIyWVd4cFpHRjBhVzl1SUhCeWIyTmxaSFZ5WlFvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdaR1ZqYjJSbElIUnBiR1VLQUVaaGFXeGxaQ0IwYnlCa1pXTnZaR1VnZEdobElHTnZaR1Z6ZEhKbFlXMGdhVzRnZEdobElFcFFNaUJtYVd4bENnQkRZVzV1YjNRZ2RHRnJaU0JwYmlCamFHRnlaMlVnWTI5c2JHVmpkR2x2Ym5NZ2QybDBhQ0JwYm1ScGVDQnphSFZtWm14bENnQkRZVzV1YjNRZ1lXeHNiMk5oZEdVZ1ZHbGxjaUF4SUdoaGJtUnNaUW9BVG04Z1pHVmpiMlJsWkNCaGNtVmhJSEJoY21GdFpYUmxjbk1zSUhObGRDQjBhR1VnWkdWamIyUmxaQ0JoY21WaElIUnZJSFJvWlNCM2FHOXNaU0JwYldGblpRb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnWTNKbFlYUmxJRlJoWnkxMGNtVmxDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCeVpXbHVhWFJwWVd4cGVtVWdkR2hsSUhSaFp5QjBjbVZsQ2dCRmNuSnZjaUJ5WldGa2FXNW5JRk5RUTI5a0lGTlFRMjlqSUdWc1pXMWxiblFzSUVsdWRtRnNhV1FnZEhKaGJuTm1iM0p0WVhScGIyNGdabTkxYm1RS0FFVnljbTl5SUhKbFlXUnBibWNnVTFCRGIyUWdVMUJEYjJNZ1pXeGxiV1Z1ZEM0Z1ZXNXpkWEJ3YjNKMFpXUWdUV2w0WldRZ1NGUWdZMjlrWlMxaWJHOWpheUJ6ZEhsc1pTQm1iM1Z1WkFvQVZHbHNaU0JaSUdOdmIzSmthVzVoZEdWeklHRnlaU0J1YjNRZ2MzVndjRzl5ZEdWa0NnQlVhV3hsSUZnZ1kyOXZjbVJwYm1GMFpYTWdZWEpsSUc1dmRDQnpkWEJ3YjNKMFpXUUtBRWx0WVdkbElHTnZiM0prYVc1aGRHVnpJR0ZpYjNabElFbE9WRjlOUVZnZ1lYSmxJRzV2ZENCemRYQndiM0owWldRS0FFcFFSVWN5TURBd0lFaGxZV1JsY2lCaWIzZ2dibTkwSUhKbFlXUWdlV1YwTENBbkpXTWxZeVZqSldNbklHSnZlQ0IzYVd4c0lHSmxJR2xuYm05eVpXUUtBRzl3YWw5cU1tdGZiV1Z5WjJWZmNIQjBLQ2tnYUdGeklHRnNjbVZoWkhrZ1ltVmxiaUJqWVd4c1pXUUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUhKbFlXUWdVMDlVSUcxaGNtdGxjaTRnVkdsc1pTQnBibVJsZUNCaGJHeHZZMkYwYVc5dUlHWmhhV3hsWkFvQVNXZHViM0pwYm1jZ2FXaGtjaUJpYjNndUlFWnBjbk4wSUdsb1pISWdZbTk0SUdGc2NtVmhaSGtnY21WaFpBb0FXbkJ3ZENBbGRTQmhiSEpsWVdSNUlISmxZV1FLQUZwd2NHMGdKWFVnWVd4eVpXRmtlU0J5WldGa0NnQlFWRVZTVFNCamFHVmpheUJtWVdsc2RYSmxPaUFsWkNCemVXNTBhR1YwYVhwbFpDQXdlRVpHSUcxaGNtdGxjbk1nY21WaFpBb0FDUWtKSUdOaWJHdDNQVEplSldRS0FBa0pDU0JqWW14cmFEMHlYaVZrQ2dBSkNRa2djVzUwYzNSNVBTVmtDZ0FsY3lCa2VEMGxaQ3dnWkhrOUpXUUtBQWtKQ1NCeWIybHphR2xtZEQwbFpBb0FDUWtKSUc1MWJXZGlhWFJ6UFNWa0NnQUpDU0J1ZFcxc1lYbGxjbk05SldRS0FDVnpJRzUxYldOdmJYQnpQU1ZrQ2dCdmNHcGZhbkF5WDJGd2NHeDVYMk5rWldZNklHRmpiajBsWkN3Z2JuVnRZMjl0Y0hNOUpXUUtBRzl3YWw5cWNESmZZWEJ3YkhsZlkyUmxaam9nWTI0OUpXUXNJRzUxYldOdmJYQnpQU1ZrQ2dBSkNRa2diblZ0Y21WemIyeDFkR2x2Ym5NOUpXUUtBQWtKSUhSNWNHVTlKU040TENCd2IzTTlKV3hzYVN3Z2JHVnVQU1ZrQ2dBbGN5QnpaMjVrUFNWa0NnQUpDUWtnY1cxbVltbGtQU1ZrQ2dBbGN5QndjbVZqUFNWa0NnQUpDU0J1WWlCdlppQjBhV3hsTFhCaGNuUWdhVzRnZEdsc1pTQmJKV1JkUFNWa0NnQWxjeUI0TVQwbFpDd2dlVEU5SldRS0FDVnpJSGd3UFNWa0xDQjVNRDBsWkFvQVJtRnBiR1ZrSUhSdklHUmxZMjlrWlNCMGFXeGxJQ1ZrTHlWa0NnQlRaWFIwYVc1bklHUmxZMjlrYVc1bklHRnlaV0VnZEc4Z0pXUXNKV1FzSldRc0pXUUtBRVpoYVd4bFpDQjBieUJrWldOdlpHVWdZMjl0Y0c5dVpXNTBJQ1ZrQ2dCSmJuWmhiR2xrSUhaaGJIVmxJR1p2Y2lCdWRXMXlaWE52YkhWMGFXOXVjeUE2SUNWa0xDQnRZWGdnZG1Gc2RXVWdhWE1nYzJWMElHbHVJRzl3Wlc1cWNHVm5MbWdnWVhRZ0pXUUtBRWx1ZG1Gc2FXUWdZMjl0Y0c5dVpXNTBJRzUxYldKbGNqb2dKV1FzSUhKbFoyRnlaR2x1WnlCMGFHVWdiblZ0WW1WeUlHOW1JR052YlhCdmJtVnVkSE1nSldRS0FGUnZieUJ0WVc1NUlGQlBRM01nSldRS0FFbHVkbUZzYVdRZ2RHbHNaU0J1ZFcxaVpYSWdKV1FLQUVsdWRtRnNhV1FnZEdsc1pTQndZWEowSUdsdVpHVjRJR1p2Y2lCMGFXeGxJRzUxYldKbGNpQWxaQzRnUjI5MElDVmtMQ0JsZUhCbFkzUmxaQ0FsWkFvQVJYSnliM0lnZDJsMGFDQlRTVm9nYldGeWEyVnlPaUJ1ZFcxaVpYSWdiMllnWTI5dGNHOXVaVzUwSUdseklHbHNiR1ZuWVd3Z0xUNGdKV1FLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUdadmNpQmphV1ZzWVdJS0FFTmhibTV2ZENCaGJHeHZZMkYwWlNCallteHJMVDVrWldOdlpHVmtYMlJoZEdFS0FFWmhhV3hsWkNCMGJ5QnRaWEpuWlNCUVVGUWdaR0YwWVFvQVJtRnBiR1ZrSUhSdklHMWxjbWRsSUZCUVRTQmtZWFJoQ2dCSmJuWmhiR2xrSUc1MWJXSmxjaUJ2WmlCc1lYbGxjbk1nYVc0Z1EwOUVJRzFoY210bGNpQTZJQ1ZrSUc1dmRDQnBiaUJ5WVc1blpTQmJNUzAyTlRVek5WMEtBQ1Z6T2lWa09tTnZiRzl5WDJOdGVXdGZkRzlmY21kaUNnbERRVTRnVGs5VUlFTlBUbFpGVWxRS0FDVnpPaVZrT21OdmJHOXlYMlZ6ZVdOalgzUnZYM0puWWdvSlEwRk9JRTVQVkNCRFQwNVdSVkpVQ2dBbGN6b2xaRHBqYjJ4dmNsOXplV05qWDNSdlgzSm5ZZ29KUTBGT0lFNVBWQ0JEVDA1V1JWSlVDZ0JUZEhKbFlXMGdkRzl2SUhOb2IzSjBMQ0JsZUhCbFkzUmxaQ0JUVDFRS0FGVnVZV0pzWlNCMGJ5QnpaWFFnZERFZ2FHRnVaR3hsSUdGeklGUk1Vd29BVTNSeVpXRnRJR1J2WlhNZ2JtOTBJR1Z1WkNCM2FYUm9JRVZQUXdvQVEyRnVibTkwSUdoaGJtUnNaU0JpYjNnZ2MybDZaWE1nYUdsbmFHVnlJSFJvWVc0Z01sNHpNZ29BYjNCcVgzQnBYMjVsZUhSZmJISmpjQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNteGpjQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZlkzQnliQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNHTnliQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzQnBYMjVsZUhSZmNuQmpiQ2dwT2lCcGJuWmhiR2xrSUdOdmJYQnViekF2WTI5dGNHNXZNUW9BYjNCcVgzUXhYMlJsWTI5a1pWOWpZbXhyS0NrNklIVnVjM1Z3Y0c5eWRHVmtJR0p3Ym05ZmNHeDFjMTl2Ym1VZ1BTQWxaQ0ErUFNBek1Rb0FSbUZwYkdWa0lIUnZJR1JsWTI5a1pTQjBhV3hsSURFdk1Rb0FTVzV6ZFdabWFXTnBaVzUwSUdSaGRHRWdabTl5SUVOTlFWQWdZbTk0TGdvQVRtVmxaQ0IwYnlCeVpXRmtJR0VnVUVOTVVpQmliM2dnWW1WbWIzSmxJSFJvWlNCRFRVRlFJR0p2ZUM0S0FFbHVjM1ZtWm1samFXVnVkQ0JrWVhSaElHWnZjaUJEUkVWR0lHSnZlQzRLQUU1MWJXSmxjaUJ2WmlCamFHRnVibVZzSUdSbGMyTnlhWEIwYVc5dUlHbHpJR1Z4ZFdGc0lIUnZJSHBsY204Z2FXNGdRMFJGUmlCaWIzZ3VDZ0JUZEhKbFlXMGdaWEp5YjNJZ2QyaHBiR1VnY21WaFpHbHVaeUJLVURJZ1NHVmhaR1Z5SUdKdmVEb2dibThnSjJsb1pISW5JR0p2ZUM0S0FFNXZiaUJqYjI1bWIzSnRZVzUwSUdOdlpHVnpkSEpsWVcwZ1ZGQnpiM1E5UFZST2MyOTBMZ29BVTNSeVpXRnRJR1Z5Y205eUlIZG9hV3hsSUhKbFlXUnBibWNnU2xBeUlFaGxZV1JsY2lCaWIzZzZJR0p2ZUNCc1pXNW5kR2dnYVhNZ2FXNWpiMjV6YVhOMFpXNTBMZ29BUW05NElHeGxibWQwYUNCcGN5QnBibU52Ym5OcGMzUmxiblF1Q2dCU1pYTnZiSFYwYVc5dUlHWmhZM1J2Y2lCcGN5Qm5jbVZoZEdWeUlIUm9ZVzRnZEdobElHMWhlR2x0ZFcwZ2NtVnpiMngxZEdsdmJpQnBiaUIwYUdVZ1kyOXRjRzl1Wlc1MExnb0FRMjl0Y0c5dVpXNTBJRzFoY0hCcGJtY2djMlZsYlhNZ2QzSnZibWN1SUZSeWVXbHVaeUIwYnlCamIzSnlaV04wTGdvQVNXNWpiMjF3YkdWMFpTQmphR0Z1Ym1Wc0lHUmxabWx1YVhScGIyNXpMZ29BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdTVzUyWVd4cFpDQmpiMlJsWW14dlkyc2diR1Z1WjNSb0lIWmhiSFZsY3k0S0FGZGxJR1J2SUc1dmRDQnpkWEJ3YjNKMElHMXZjbVVnZEdoaGJpQXpJR052WkdsdVp5QndZWE56WlhNZ2FXNGdZVzRnU0ZRZ1kyOWtaV0pzYjJOck95QlVhR2x6SUdOdlpHVmliRzlqYTNNZ2FHRnpJQ1ZrSUhCaGMzTmxjeTRLQUUxaGJHWnZjbTFsWkNCSVZDQmpiMlJsWW14dlkyc3VJRVJsWTI5a2FXNW5JSFJvYVhNZ1kyOWtaV0pzYjJOcklHbHpJSE4wYjNCd1pXUXVJRlJvWlhKbElHRnlaU0FsWkNCNlpYSnZJR0pwZEhCc1lXNWxjeUJwYmlBbFpDQmlhWFJ3YkdGdVpYTXVDZ0JEWVc1dWIzUWdkR0ZyWlNCcGJpQmphR0Z5WjJVZ2JYVnNkR2x3YkdVZ2RISmhibk5tYjNKdFlYUnBiMjRnYzNSaFoyVnpMZ29BVlc1cmJtOTNiaUJ0WVhKclpYSWdhR0Z6SUdKbFpXNGdaR1YwWldOMFpXUWdZVzVrSUdkbGJtVnlZWFJsWkNCbGNuSnZjaTRLQUVOdlpHVmpJSEJ5YjNacFpHVmtJSFJ2SUhSb1pTQnZjR3BmYzJWMGRYQmZaR1ZqYjJSbGNpQm1kVzVqZEdsdmJpQnBjeUJ1YjNRZ1lTQmtaV052YlhCeVpYTnpiM0lnYUdGdVpHeGxjaTRLQUVOdlpHVmpJSEJ5YjNacFpHVmtJSFJ2SUhSb1pTQnZjR3BmY21WaFpGOW9aV0ZrWlhJZ1puVnVZM1JwYjI0Z2FYTWdibTkwSUdFZ1pHVmpiMjF3Y21WemMyOXlJR2hoYm1Sc1pYSXVDZ0JVYVd4bGN5QmtiMjRuZENCaGJHd2dhR0YyWlNCMGFHVWdjMkZ0WlNCa2FXMWxibk5wYjI0dUlGTnJhWEFnZEdobElFMURWQ0J6ZEdWd0xnb0FUblZ0WW1WeUlHOW1JR052YlhCdmJtVnVkSE1nS0NWa0tTQnBjeUJwYm1OdmJuTnBjM1JsYm5RZ2QybDBhQ0JoSUUxRFZDNGdVMnRwY0NCMGFHVWdUVU5VSUhOMFpYQXVDZ0JLVURJZ1ltOTRJSGRvYVdOb0lHRnlaU0JoWm5SbGNpQjBhR1VnWTI5a1pYTjBjbVZoYlNCM2FXeHNJRzV2ZENCaVpTQnlaV0ZrSUdKNUlIUm9hWE1nWm5WdVkzUnBiMjR1Q2dCTllXeG1iM0p0WldRZ1NGUWdZMjlrWldKc2IyTnJMaUJYYUdWdUlIUm9aU0J1ZFcxaVpYSWdiMllnZW1WeWJ5QndiR0Z1WlhNZ1ltbDBjR3hoYm1WeklHbHpJR1Z4ZFdGc0lIUnZJSFJvWlNCdWRXMWlaWElnYjJZZ1ltbDBjR3hoYm1WekxDQnZibXg1SUhSb1pTQmpiR1ZoYm5Wd0lIQmhjM01nYldGclpYTWdjMlZ1YzJVc0lHSjFkQ0IzWlNCb1lYWmxJQ1ZrSUhCaGMzTmxjeUJwYmlCMGFHbHpJR052WkdWaWJHOWpheTRnVkdobGNtVm1iM0psTENCdmJteDVJSFJvWlNCamJHVmhiblZ3SUhCaGMzTWdkMmxzYkNCaVpTQmtaV052WkdWa0xpQlVhR2x6SUcxbGMzTmhaMlVnZDJsc2JDQnViM1FnWW1VZ1pHbHpjR3hoZVdWa0lHRm5ZV2x1TGdvQVNXMWhaMlVnYUdGeklHeGxjM01nWTI5dGNHOXVaVzUwY3lCMGFHRnVJR052WkdWemRISmxZVzB1Q2dCT1pXVmtJSFJ2SUdSbFkyOWtaU0IwYUdVZ2JXRnBiaUJvWldGa1pYSWdZbVZtYjNKbElHSmxaMmx1SUhSdklHUmxZMjlrWlNCMGFHVWdjbVZ0WVdsdWFXNW5JR052WkdWemRISmxZVzB1Q2dCUWMyOTBJSFpoYkhWbElHOW1JSFJvWlNCamRYSnlaVzUwSUhScGJHVXRjR0Z5ZENCcGN5QmxjWFZoYkNCMGJ5QjZaWEp2TENCM1pTQmhjM04xYldsdVp5QnBkQ0JwY3lCMGFHVWdiR0Z6ZENCMGFXeGxMWEJoY25RZ2IyWWdkR2hsSUdOdlpHVnpkSEpsWVcwdUNnQkJJRzFoYkdadmNtMWxaQ0JqYjJSbFlteHZZMnNnZEdoaGRDQm9ZWE1nYlc5eVpTQjBhR0Z1SUc5dVpTQmpiMlJwYm1jZ2NHRnpjeXdnWW5WMElIcGxjbThnYkdWdVozUm9JR1p2Y2lBeWJtUWdZVzVrSUhCdmRHVnVkR2xoYkd4NUlIUm9aU0F6Y21RZ2NHRnpjeUJwYmlCaGJpQklWQ0JqYjJSbFlteHZZMnN1Q2dBSkNRa2dkR2xzWlMxd1lYSjBXeVZrWFRvZ2MzUmhjbDl3YjNNOUpXeHNhU3dnWlc1a1gyaGxZV1JsY2owbGJHeHBMQ0JsYm1SZmNHOXpQU1ZzYkdrdUNnQlVhV3hsSUNWMUlHaGhjeUJVVUhOdmRDQTlQU0F3SUdGdVpDQlVUbk52ZENBOVBTQXdMQ0JpZFhRZ2JtOGdiM1JvWlhJZ2RHbHNaUzF3WVhKMGN5QjNaWEpsSUdadmRXNWtMaUJGVDBNZ2FYTWdZV3h6YnlCdGFYTnphVzVuTGdvQVEyOXRjRzl1Wlc1MElDVmtJR1J2WlhOdUozUWdhR0YyWlNCaElHMWhjSEJwYm1jdUNnQkJJR052Ym1admNtMXBibWNnU2xBeUlISmxZV1JsY2lCemFHRnNiQ0JwWjI1dmNtVWdZV3hzSUVOdmJHOTFjaUJUY0dWamFXWnBZMkYwYVc5dUlHSnZlR1Z6SUdGbWRHVnlJSFJvWlNCbWFYSnpkQ3dnYzI4Z2QyVWdhV2R1YjNKbElIUm9hWE1nYjI1bExnb0FWR2hsSUhOcFoyNWhkSFZ5WlNCaWIzZ2diWFZ6ZENCaVpTQjBhR1VnWm1seWMzUWdZbTk0SUdsdUlIUm9aU0JtYVd4bExnb0FWR2hsSUNCaWIzZ2diWFZ6ZENCaVpTQjBhR1VnWm1seWMzUWdZbTk0SUdsdUlIUm9aU0JtYVd4bExnb0FWR2hsSUdaMGVYQWdZbTk0SUcxMWMzUWdZbVVnZEdobElITmxZMjl1WkNCaWIzZ2dhVzRnZEdobElHWnBiR1V1Q2dCR1lXbHNaV1FnZEc4Z1pHVmpiMlJsTGdvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnU1c1amIzSnlaV04wSUUxRlRDQnpaV2R0Wlc1MElITmxjWFZsYm1ObExnb0FRMjl0Y0c5dVpXNTBJQ1ZrSUdseklHMWhjSEJsWkNCMGQybGpaUzRLQUU5dWJIa2diMjVsSUVOTlFWQWdZbTk0SUdseklHRnNiRzkzWldRdUNnQlhaU0J1WldWa0lHRnVJR2x0WVdkbElIQnlaWFpwYjNWemJIa2dZM0psWVhSbFpDNEtBRWxJUkZJZ1ltOTRYMjFwYzNOcGJtY3VJRkpsY1hWcGNtVmtMZ29BU2xBeVNDQmliM2dnYldsemMybHVaeTRnVW1WeGRXbHlaV1F1Q2dCT2IzUWdjM1Z5WlNCb2IzY2dkR2hoZENCb1lYQndaVzVsWkM0S0FFMWhhVzRnYUdWaFpHVnlJR2hoY3lCaVpXVnVJR052Y25KbFkzUnNlU0JrWldOdlpHVmtMZ29BVkdsc1pTQWxaQzhsWkNCb1lYTWdZbVZsYmlCa1pXTnZaR1ZrTGdvQVNHVmhaR1Z5SUc5bUlIUnBiR1VnSldRZ0x5QWxaQ0JvWVhNZ1ltVmxiaUJ5WldGa0xnb0FSVzF3ZEhrZ1UwOVVJRzFoY210bGNpQmtaWFJsWTNSbFpEb2dVSE52ZEQwbFpDNEtBRVJwY21WamRDQjFjMlVnWVhRZ0l5VmtJR2h2ZDJWMlpYSWdjR052YkQwbFpDNEtBRWx0Y0d4bGJXVnVkR0YwYVc5dUlHeHBiV2wwWVhScGIyNDZJR1p2Y2lCd1lXeGxkSFJsSUcxaGNIQnBibWNzSUhCamIyeGJKV1JkSUhOb2IzVnNaQ0JpWlNCbGNYVmhiQ0IwYnlBbFpDd2dZblYwSUdseklHVnhkV0ZzSUhSdklDVmtMZ29BU1c1MllXeHBaQ0JqYjIxd2IyNWxiblF2Y0dGc1pYUjBaU0JwYm1SbGVDQm1iM0lnWkdseVpXTjBJRzFoY0hCcGJtY2dKV1F1Q2dCSmJuWmhiR2xrSUhaaGJIVmxJR1p2Y2lCamJXRndXeVZrWFM1dGRIbHdJRDBnSldRdUNnQlFjMjkwSUhaaGJIVmxJR2x6SUc1dmRDQmpiM0p5WldOMElISmxaMkZ5WkhNZ2RHOGdkR2hsSUVwUVJVY3lNREF3SUc1dmNtMDZJQ1ZrTGdvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnVmt4RElHTnZaR1VnY0hKdlpIVmpaWE1nYzJsbmJtbG1hV05oYm5RZ2MyRnRjR3hsY3lCdmRYUnphV1JsSUhSb1pTQmpiMlJsWW14dlkyc2dZWEpsWVM0S0FGVnVaWGh3WldOMFpXUWdUMDlOTGdvQU16SWdZbWwwY3lCaGNtVWdibTkwSUdWdWIzVm5hQ0IwYnlCa1pXTnZaR1VnZEdocGN5QmpiMlJsWW14dlkyc3NJSE5wYm1ObElIUm9aU0J1ZFcxaVpYSWdiMllnWW1sMGNHeGhibVVzSUNWa0xDQnBjeUJzWVhKblpYSWdkR2hoYmlBek1DNEtBRUp2ZEhSdmJTQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlVEU5SldRcElITm9iM1ZzWkNCaVpTQStJREF1Q2dCU2FXZG9kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURFOUpXUXBJSE5vYjNWc1pDQmlaU0ErSURBdUNnQlZjQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZVRBOUpXUXBJSE5vYjNWc1pDQmlaU0ErUFNBd0xnb0FUR1ZtZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVEQTlKV1FwSUhOb2IzVnNaQ0JpWlNBK1BTQXdMZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlFVRlFnYldGeWEyVnlPaUJ3WVdOclpYUWdhR1ZoWkdWeUlHaGhkbVVnWW1WbGJpQndjbVYyYVc5MWMyeDVJR1p2ZFc1a0lHbHVJSFJvWlNCdFlXbHVJR2hsWVdSbGNpQW9VRkJOSUcxaGNtdGxjaWt1Q2dCVGRHRnlkQ0IwYnlCeVpXRmtJR295YXlCdFlXbHVJR2hsWVdSbGNpQW9KV3hzWkNrdUNnQkNiM1IwYjIwZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUdSbFkyOWtaV1FnWVhKbFlTQW9jbVZuYVc5dVgza3hQU1ZrS1NCcGN5QnZkWFJ6YVdSbElIUm9aU0JwYldGblpTQmhjbVZoSUNoWmMybDZQU1ZrS1M0S0FGVndJSEJ2YzJsMGFXOXVJRzltSUhSb1pTQmtaV052WkdWa0lHRnlaV0VnS0hKbFoybHZibDk1TUQwbFpDa2dhWE1nYjNWMGMybGtaU0IwYUdVZ2FXMWhaMlVnWVhKbFlTQW9XWE5wZWowbFpDa3VDZ0JTYVdkb2RDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREU5SldRcElHbHpJRzkxZEhOcFpHVWdkR2hsSUdsdFlXZGxJR0Z5WldFZ0tGaHphWG85SldRcExnb0FUR1ZtZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVEQTlKV1FwSUdseklHOTFkSE5wWkdVZ2RHaGxJR2x0WVdkbElHRnlaV0VnS0ZoemFYbzlKV1FwTGdvQVFtOTBkRzl0SUhCdmMybDBhVzl1SUc5bUlIUm9aU0JrWldOdlpHVmtJR0Z5WldFZ0tISmxaMmx2Ymw5NU1UMGxaQ2tnYVhNZ2IzVjBjMmxrWlNCMGFHVWdhVzFoWjJVZ1lYSmxZU0FvV1U5emFYbzlKV1FwTGdvQVZYQWdjRzl6YVhScGIyNGdiMllnZEdobElHUmxZMjlrWldRZ1lYSmxZU0FvY21WbmFXOXVYM2t3UFNWa0tTQnBjeUJ2ZFhSemFXUmxJSFJvWlNCcGJXRm5aU0JoY21WaElDaFpUM05wZWowbFpDa3VDZ0JTYVdkb2RDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREU5SldRcElHbHpJRzkxZEhOcFpHVWdkR2hsSUdsdFlXZGxJR0Z5WldFZ0tGaFBjMmw2UFNWa0tTNEtBRXhsWm5RZ2NHOXphWFJwYjI0Z2IyWWdkR2hsSUdSbFkyOWtaV1FnWVhKbFlTQW9jbVZuYVc5dVgzZ3dQU1ZrS1NCcGN5QnZkWFJ6YVdSbElIUm9aU0JwYldGblpTQmhjbVZoSUNoWVQzTnBlajBsWkNrdUNnQlRhWHBsSUhnZ2IyWWdkR2hsSUdSbFkyOWtaV1FnWTI5dGNHOXVaVzUwSUdsdFlXZGxJR2x6SUdsdVkyOXljbVZqZENBb1kyOXRjRnNsWkYwdWR6MGxaQ2t1Q2dCVGFYcGxJSGtnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZMjl0Y0c5dVpXNTBJR2x0WVdkbElHbHpJR2x1WTI5eWNtVmpkQ0FvWTI5dGNGc2xaRjB1YUQwbFpDa3VDZ0JVYVd4bElISmxZV1FzSUdSbFkyOWtaV1FnWVc1a0lIVndaR0YwWldRZ2FYTWdibTkwSUhSb1pTQmtaWE5wY21Wa0lHOXVaU0FvSldRZ2RuTWdKV1FwTGdvQVNXNTJZV3hwWkNCamIyMXdiMjVsYm5RZ2FXNWtaWGdnSldRZ0tENDlJQ1ZrS1M0S0FHOXdhbDl5WldGa1gyaGxZV1JsY2lncElITm9iM1ZzWkNCaVpTQmpZV3hzWldRZ1ltVm1iM0psSUc5d2FsOXpaWFJmWkdWamIyUmxaRjlqYjIxd2IyNWxiblJ6S0NrdUNnQk5aVzF2Y25rZ1lXeHNiMk5oZEdsdmJpQm1ZV2xzZFhKbElHbHVJRzl3YWw5cWNESmZZWEJ3YkhsZmNHTnNjaWdwTGdvQWFXMWhaMlV0UG1OdmJYQnpXeVZrWFM1a1lYUmhJRDA5SUU1VlRFd2dhVzRnYjNCcVgycHdNbDloY0hCc2VWOXdZMnh5S0NrdUNnQnBiblpoYkdsa0lHSnZlQ0J6YVhwbElDVmtJQ2dsZUNrS0FFWmhhV3dnZEc4Z2NtVmhaQ0IwYUdVZ1kzVnljbVZ1ZENCdFlYSnJaWElnYzJWbmJXVnVkQ0FvSlNONEtRb0FSWEp5YjNJZ2QybDBhQ0JUU1ZvZ2JXRnlhMlZ5T2lCSlNFUlNJSGNvSlhVcElHZ29KWFVwSUhaekxpQlRTVm9nZHlnbGRTa2dhQ2dsZFNrS0FFVnljbTl5SUhKbFlXUnBibWNnUTA5RElHMWhjbXRsY2lBb1ltRmtJRzUxYldKbGNpQnZaaUJqYjIxd2IyNWxiblJ6S1FvQVNXNTJZV3hwWkNCdWRXMWlaWElnYjJZZ2RHbHNaWE1nT2lBbGRTQjRJQ1YxSUNodFlYaHBiWFZ0SUdacGVHVmtJR0o1SUdwd1pXY3lNREF3SUc1dmNtMGdhWE1nTmpVMU16VWdkR2xzWlhNcENnQkpiblpoYkdsa0lHNTFiV0psY2lCdlppQmpiMjF3YjI1bGJuUnpJQ2hwYUdSeUtRb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnYUdGdVpHeGxJR2x0WVdkbElHaGxZV1JsY2lBb2FXaGtjaWtLQUZkeWIyNW5JSFpoYkhWbGN5Qm1iM0k2SUhjb0pXUXBJR2dvSldRcElHNTFiV052YlhCektDVmtLU0FvYVdoa2Npa0tBRWx1ZG1Gc2FXUWdkbUZzZFdWeklHWnZjaUJqYjIxd0lEMGdKV1FnT2lCa2VEMGxkU0JrZVQwbGRTQW9jMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNU0JoYm1RZ01qVTFJR0ZqWTI5eVpHbHVaeUIwYnlCMGFHVWdTbEJGUnpJd01EQWdibTl5YlNrS0FFSmhaQ0JwYldGblpTQm9aV0ZrWlhJZ1ltOTRJQ2hpWVdRZ2MybDZaU2tLQUVKaFpDQkRUMHhTSUdobFlXUmxjaUJpYjNnZ0tHSmhaQ0J6YVhwbEtRb0FRbUZrSUVKUVEwTWdhR1ZoWkdWeUlHSnZlQ0FvWW1Ga0lITnBlbVVwQ2dCRmNuSnZjaUIzYVhSb0lGTkpXaUJ0WVhKclpYSTZJRzVsWjJGMGFYWmxJRzl5SUhwbGNtOGdhVzFoWjJVZ2MybDZaU0FvSld4c1pDQjRJQ1ZzYkdRcENnQnphMmx3T2lCelpXZHRaVzUwSUhSdmJ5QnNiMjVuSUNnbFpDa2dkMmwwYUNCdFlYZ2dLQ1ZrS1NCbWIzSWdZMjlrWldKc2IyTnJJQ1ZrSUNod1BTVmtMQ0JpUFNWa0xDQnlQU1ZrTENCalBTVmtLUW9BY21WaFpEb2djMlZuYldWdWRDQjBiMjhnYkc5dVp5QW9KV1FwSUhkcGRHZ2diV0Y0SUNnbFpDa2dabTl5SUdOdlpHVmliRzlqYXlBbFpDQW9jRDBsWkN3Z1lqMGxaQ3dnY2owbFpDd2dZejBsWkNrS0FFUmxjM0JwZEdVZ1NsQXlJRUpRUXlFOU1qVTFMQ0J3Y21WamFYTnBiMjRnWVc1a0wyOXlJSE5uYm1RZ2RtRnNkV1Z6SUdadmNpQmpiMjF3V3lWa1hTQnBjeUJrYVdabVpYSmxiblFnZEdoaGJpQmpiMjF3V3pCZE9nb2dJQ0FnSUNBZ0lGc3dYU0J3Y21WaktDVmtLU0J6WjI1a0tDVmtLU0JiSldSZElIQnlaV01vSldRcElITm5ibVFvSldRcENnQmlZV1FnWTI5dGNHOXVaVzUwSUc1MWJXSmxjaUJwYmlCU1IwNGdLQ1ZrSUhkb1pXNGdkR2hsY21VZ1lYSmxJRzl1YkhrZ0pXUXBDZ0JGY25KdmNpQjNhWFJvSUZOSldpQnRZWEpyWlhJNklHNTFiV0psY2lCdlppQmpiMjF3YjI1bGJuUWdhWE1nYm05MElHTnZiWEJoZEdsaWJHVWdkMmwwYUNCMGFHVWdjbVZ0WVdsdWFXNW5JRzUxYldKbGNpQnZaaUJ3WVhKaGJXVjBaWEp6SUNnZ0pXUWdkbk1nSldRcENnQkZjbkp2Y2lCM2FYUm9JRk5KV2lCdFlYSnJaWEk2SUdsdWRtRnNhV1FnZEdsc1pTQnphWHBsSUNoMFpIZzZJQ1ZrTENCMFpIazZJQ1ZrS1FvQVFtRmtJRU5QVEZJZ2FHVmhaR1Z5SUdKdmVDQW9ZbUZrSUhOcGVtVTZJQ1ZrS1FvQVFtRmtJRU5QVEZJZ2FHVmhaR1Z5SUdKdmVDQW9RMGxGVEdGaUxDQmlZV1FnYzJsNlpUb2dKV1FwQ2dCUVZFVlNUU0JqYUdWamF5Qm1ZV2xzZFhKbE9pQWxaQ0J5WlcxaGFXNXBibWNnWW5sMFpYTWdhVzRnWTI5a1pTQmliRzlqYXlBb0pXUWdkWE5sWkNBdklDVmtLUW9BVFdGc1ptOXliV1ZrSUVoVUlHTnZaR1ZpYkc5amF5NGdUMjVsSUc5bUlIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1SUdseklHNXZkQ0J0WlhRNklESWdQRDBnVTJOMWNDQThQU0J0YVc0b1RHTjFjQ3dnTkRBM09Ta0tBRWx1ZG1Gc2FXUWdkbUZzZFdWeklHWnZjaUJqYjIxd0lEMGdKV1FnT2lCd2NtVmpQU1YxSUNoemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeElHRnVaQ0F6T0NCaFkyTnZjbVJwYm1jZ2RHOGdkR2hsSUVwUVJVY3lNREF3SUc1dmNtMHVJRTl3Wlc1S2NHVm5JRzl1YkhrZ2MzVndjRzl5ZEhNZ2RYQWdkRzhnTXpFcENnQkpiblpoYkdsa0lHSnBkQ0J1ZFcxaVpYSWdKV1FnYVc0Z2IzQnFYM1F5WDNKbFlXUmZjR0ZqYTJWMFgyaGxZV1JsY2lncENnQlRkSEpsWVcwZ1pYSnliM0loQ2dCRmNuSnZjaUJ2YmlCM2NtbDBhVzVuSUhOMGNtVmhiU0VLQUZOMGNtVmhiU0J5WldGamFHVmtJR2wwY3lCbGJtUWdJUW9BUlhod1pXTjBaV1FnWVNCVFQwTWdiV0Z5YTJWeUlBb0FTVzUyWVd4cFpDQmliM2dnYzJsNlpTQWxaQ0JtYjNJZ1ltOTRJQ2NsWXlWakpXTWxZeWN1SUU1bFpXUWdKV1FnWW5sMFpYTXNJQ1ZrSUdKNWRHVnpJSEpsYldGcGJtbHVaeUFLQUUxaGJHWnZjbTFsWkNCSVZDQmpiMlJsWW14dlkyc3VJRVJsWTI5a2FXNW5JSFJvYVhNZ1kyOWtaV0pzYjJOcklHbHpJSE4wYjNCd1pXUXVJRlZmY1NCcGN5QnNZWEpuWlhJZ2RHaGhiaUI2WlhKdklHSnBkSEJzWVc1bGN5QXJJREVnQ2dCTllXeG1iM0p0WldRZ1NGUWdZMjlrWldKc2IyTnJMaUJFWldOdlpHbHVaeUIwYUdseklHTnZaR1ZpYkc5amF5QnBjeUJ6ZEc5d2NHVmtMaUJWWDNFZ2FYTnNZWEpuWlhJZ2RHaGhiaUJpYVhSd2JHRnVaWE1nS3lBeElBb0FRMDlNVWlCQ1QxZ2diV1YwYUNCMllXeDFaU0JwY3lCdWIzUWdZU0J5WldkMWJHRnlJSFpoYkhWbElDZ2xaQ2tzSUhOdklIZGxJSGRwYkd3Z2FXZHViM0psSUhSb1pTQmxiblJwY21VZ1EyOXNiM1Z5SUZOd1pXTnBabWxqWVhScGIyNGdZbTk0TGlBS0FGZG9hV3hsSUhKbFlXUnBibWNnUTBOUVgxRk9WRk5VV1NCbGJHVnRaVzUwSUdsdWMybGtaU0JSUTBRZ2IzSWdVVU5ESUcxaGNtdGxjaUJ6WldkdFpXNTBMQ0J1ZFcxaVpYSWdiMllnYzNWaVltRnVaSE1nS0NWa0tTQnBjeUJuY21WaGRHVnlJSFJ2SUU5UVNsOUtNa3RmVFVGWVFrRk9SRk1nS0NWa0tTNGdVMjhnZDJVZ2JHbHRhWFFnZEdobElHNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5QnpkRzl5WldRZ2RHOGdUMUJLWDBveVMxOU5RVmhDUVU1RVV5QW9KV1FwSUdGdVpDQnphMmx3SUhSb1pTQnlaWE4wTGlBS0FFcFFNaUJKU0VSU0lHSnZlRG9nWTI5dGNISmxjM05wYjI0Z2RIbHdaU0JwYm1ScFkyRjBaU0IwYUdGMElIUm9aU0JtYVd4bElHbHpJRzV2ZENCaElHTnZibVp2Y20xcGJtY2dTbEF5SUdacGJHVWdLQ1ZrS1NBS0FGUnBiR1VnYVc1a1pYZ2djSEp2ZG1sa1pXUWdZbmtnZEdobElIVnpaWElnYVhNZ2FXNWpiM0p5WldOMElDVmtJQ2h0WVhnZ1BTQWxaQ2tnQ2dCRmNuSnZjaUJrWldOdlpHbHVaeUJqYjIxd2IyNWxiblFnSldRdUNsUm9aU0J1ZFcxaVpYSWdiMllnY21WemIyeDFkR2x2Ym5NZ2RHOGdjbVZ0YjNabElDZ2xaQ2tnYVhNZ1ozSmxZWFJsY2lCdmNpQmxjWFZoYkNCMGFHRnVJSFJvWlNCdWRXMWlaWElnYjJZZ2NtVnpiMngxZEdsdmJuTWdiMllnZEdocGN5QmpiMjF3YjI1bGJuUWdLQ1ZrS1FwTmIyUnBabmtnZEdobElHTndYM0psWkhWalpTQndZWEpoYldWMFpYSXVDZ29BU1cxaFoyVWdaR0YwWVNCb1lYTWdZbVZsYmlCMWNHUmhkR1ZrSUhkcGRHZ2dkR2xzWlNBbFpDNEtDZ0JCb1AwQUM0QWdJd0NsQUVNQVpnQ0RBTzZvRkFEZjJDTUF2aEJEQVAvMWd3QitJRlVBWDFFakFEVUFRd0JPUklNQXpzUVVBTS9NSXdEKzRrTUEvNW1EQUpZQXhRQS9NU01BcFFCREFGNUVnd0RPeUJRQTN4RWpBUDcwUXdELy9JTUFuZ0JWQUhjQUl3QTFBRU1BLy9HREFLNklGQUMzQUNNQS92aERBTy9rZ3dDT2lNVUFIeEVqQUtVQVF3Qm1BSU1BN3FnVUFOOVVJd0MrRUVNQTd5S0RBSDRnVlFCL0lpTUFOUUJEQUU1RWd3RE94QlFBdnhFakFQN2lRd0QzQUlNQWxnREZBRDhpSXdDbEFFTUFYa1NEQU03SUZBRFhBQ01BL3ZSREFQKzZnd0NlQUZVQWJ3QWpBRFVBUXdELzVvTUFyb2dVQUsraUl3RCsrRU1BNXdDREFJNkl4UUF2SWdJQXhRQ0VBSDRnQWdET3hDUUE5d0FDQVA2aVJBQldBQUlBbmdBVUFOY0FBZ0MrRUlRQVpnQUNBSzZJSkFEZkVRSUE3cWhFQURZQUFnQ09pQlFBSHhFQ0FNVUFoQUJ1QUFJQXpvZ2tBUCtJQWdEK3VFUUFUa1FDQUpZQUZBQzNBQUlBL3VTRUFGNUVBZ0NtQUNRQTV3QUNBTjVVUkFBdUlnSUFQZ0FVQUhjQUFnREZBSVFBZmlBQ0FNN0VKQUQvOFFJQS9xSkVBRllBQWdDZUFCUUF2eEVDQUw0UWhBQm1BQUlBcm9na0FPOGlBZ0R1cUVRQU5nQUNBSTZJRkFCL0lnSUF4UUNFQUc0QUFnRE9pQ1FBNytRQ0FQNjRSQUJPUkFJQWxnQVVBSytpQWdEKzVJUUFYa1FDQUtZQUpBRGYyQUlBM2xSRUFDNGlBZ0ErQUJRQVgxRUNBRlVBaEFCbUFBSUEzb2drQVA4eUFnRCtFVVFBVGtRQ0FLNEFGQUMzQUFJQWZqR0VBRjVSQWdER0FDUUExd0FDQU80Z1JBQWVFUUlBbmdBVUFIY0FBZ0JWQUlRQVhsUUNBTTVFSkFEbkFBSUEvdkZFQURZQUFnQ21BQlFBWDFVQ0FQNTBoQUErRVFJQXZpQWtBSDkwQWdEZXhFUUEvL2dDQUpZQUZBQXZJZ0lBVlFDRUFHWUFBZ0RlaUNRQTl3QUNBUDRSUkFCT1JBSUFyZ0FVQUkrSUFnQitNWVFBWGxFQ0FNWUFKQURQeUFJQTdpQkVBQjRSQWdDZUFCUUFid0FDQUZVQWhBQmVWQUlBemtRa0FOL1JBZ0QrOFVRQU5nQUNBS1lBRkFCL0lnSUEvblNFQUQ0UkFnQytJQ1FBdnlJQ0FON0VSQUR2SWdJQWxnQVVBRDh5QXdEZTFQMzAvL3dVQUQ0UlZRQ1BpQU1BdmpLRkFPY0FKUUJlVWY2cWYzSURBTTVFL2ZqdlJCUUFmbVJGQUsraUF3Q21BRjFWMzVuOThUWUEvdlZ2WWdNQTN0SDk5UC9tRkFCK2NWVUF2N0VEQUs2SWhRRGYxU1VBVGtUKzhuOW1Bd0RHQVAzNDcrSVVBRjVVUlFDZkVRTUFsZ0JkVmMvSS9mRWVFZTdJWndBREFON1UvZlQvOHhRQVBoRlZBTDhSQXdDK01vVUEzOWdsQUY1Ui9xb3ZJZ01BemtUOStQY0FGQUIrWkVVQW41Z0RBS1lBWFZYWEFQM3hOZ0QrOVc5RUF3RGUwZjMwLzdrVUFINXhWUUMzQUFNQXJvaUZBTi9jSlFCT1JQN3lkd0FEQU1ZQS9manY1QlFBWGxSRkFIOXpBd0NXQUYxVnY3ajk4UjRSN3NnL01nSUFwUUNFQUg1QUFnRGVFQ1FBM3hFQ0FQNXlSQUJXQUFJQXJxZ1VBTCt5QWdDV0FJUUFaZ0FDQU1ZQUpBRG5BQUlBN3NoRUFDNGlBZ0NPaUJRQWR3QUNBS1VBaEFCdUFBSUF6b2drQVBjQUFnRCtrVVFBTmdBQ0FLNmlGQUN2cWdJQS9yaUVBRjRBQWdDK0FDUUF6OFFDQU81RVJBRC85QUlBUGlJVUFCOFJBZ0NsQUlRQWZrQUNBTjRRSkFEL21RSUEvbkpFQUZZQUFnQ3VxQlFBdHdBQ0FKWUFoQUJtQUFJQXhnQWtBTmNBQWdEdXlFUUFMaUlDQUk2SUZBQlBSQUlBcFFDRUFHNEFBZ0RPaUNRQTcrSUNBUDZSUkFBMkFBSUFycUlVQUg5RUFnRCt1SVFBWGdBQ0FMNEFKQUNmQUFJQTdrUkVBUDkyQWdBK0loUUFQekVEQU1ZQWhRRC8yZjN5Zm1UKzhiK1pBd0N1b2lVQTcyYjk5RllBN3VKL2N3TUF2cGhGQVBjQS9maG1BUDUybjRnREFJNklGUURmMWFVQUxpTGVtRTlFQXdDK3NvVUEvL3o5OG00aWxnQzNBQU1BcnFvbEFOL1IvZlEyQU43VWIyUURBSzZvUlFEdjZ2MzRYa1R1Nkg5eEF3QStNaFVBejhTbEFQLzZ6b2cvTVFNQXhnQ0ZBUDkzL2ZKK1pQN3h2N01EQUs2aUpRRG5BUDMwVmdEdTRuY0FBd0MrbUVVQTcrVDkrR1lBL25aL1pnTUFqb2dWQU5jQXBRQXVJdDZZUHpNREFMNnloUUQvZGYzeWJpS1dBSitSQXdDdXFpVUEzNW45OURZQTN0UmZVUU1BcnFoRkFPL3MvZmhlUk83b2YzSURBRDR5RlFDL3NhVUEvL1BPaUI4UkF3RGVWUDN5SGhFVUFINWsvdmpQekFNQXZwRkZBTzhpSlFBdUl2N3pqNGdEQU1ZQWhRRDNBQlFBWGhIKy9LK29Bd0NtQURVQTM4ajk4VDR4L21adlpBTUF6c2o5OHYvMUZBQm1BUDcwdjdvREFLNGlSUURuQUNVQVBqTCs2bjl6QXdDK3NvVUEzMVVVQUZZQWZuR2ZFUU1BbGdBMUFNL0UvZkUrTSs3b1QwUURBTjVVL2ZJZUVSUUFmbVQrK0wrWkF3QytrVVVBNytJbEFDNGkvdk4vWmdNQXhnQ0ZBTy9rRkFCZUVmNzhuNWdEQUtZQU5RRFhBUDN4UGpIK1ptOGlBd0RPeVAzeS83a1VBR1lBL3ZTM0FBTUFyaUpGQU4vUkpRQStNdjdxZHdBREFMNnloUUR2N0JRQVZnQitjWDl5QXdDV0FEVUF2N2o5OFQ0ejd1aGZWUHp4M3RIOSt0Y0EvUGdXQVAzL2YzVDg5SDV4L2ZPL3Mvenk3K3J1NkU5RS9QR3VJZ1VBdjdqOCtQY0EvdngzQVB6MFhoSDk5WDkxL1BMZjJPN2lQelA4OGI2eS9mclBpUHo0Ly92OS8zOXovUFJ1QVAzenR3RDg4dTltL3ZrL01menhuZ0FGQUwrNi9Qai8vZjcyWndEODlDWUEvZldQaVB6eTM5emUxQzhpL1BIZTBmMzZ6OFQ4K0JZQS9mOS9jdnowZm5IOTg3K1ovUEx2N083b1J3RDg4YTRpQlFDbkFQejQvL2YrL0ZjQS9QUmVFZjMxbHdEODh0L1Y3dUkzQVB6eHZyTDkrc2NBL1BqLy92My9mMmI4OUc0QS9mT3ZxUHp5NXdEKytUOHkvUEdlQUFVQXY3SDgrTy9rL3ZaZlZQejBKZ0Q5OVljQS9QTGZtZDdVSHhFVEFHVUFRd0RlQUlNQWpZZ2pBRTVFRXdDbEFFTUFyb2lEQURVQUl3RFhBQk1BeFFCREFKNEFnd0JWQUNNQUxpSVRBSlVBUXdCK0FJTUEvaEFqQUhjQUV3QmxBRU1Bem9pREFJMklJd0FlRVJNQXBRQkRBRjRBZ3dBMUFDTUE1d0FUQU1VQVF3QytBSU1BVlFBakFQOFJFd0NWQUVNQVBnQ0RBTzVBSXdDdm9oTUFaUUJEQU40QWd3Q05pQ01BVGtRVEFLVUFRd0N1aUlNQU5RQWpBTzlFRXdERkFFTUFuZ0NEQUZVQUl3QXVJaE1BbFFCREFINEFnd0QrRUNNQXR3QVRBR1VBUXdET2lJTUFqWWdqQUI0UkV3Q2xBRU1BWGdDREFEVUFJd0RQeEJNQXhRQkRBTDRBZ3dCVkFDTUE5d0FUQUpVQVF3QStBSU1BN2tBakFHOEFBUUNFQUFFQVZnQUJBQlFBQVFEWEFBRUFKQUFCQUpZQUFRQkZBQUVBZHdBQkFJUUFBUURHQUFFQUZBQUJBSStJQVFBa0FBRUE5d0FCQURVQUFRQXZJZ0VBaEFBQkFQNUFBUUFVQUFFQXR3QUJBQ1FBQVFDL0FBRUFSUUFCQUdjQUFRQ0VBQUVBcGdBQkFCUUFBUUJQUkFFQUpBQUJBT2NBQVFBMUFBRUFQeEVCQUlRQUFRQldBQUVBRkFBQkFNOEFBUUFrQUFFQWxnQUJBRVVBQVFCdkFBRUFoQUFCQU1ZQUFRQVVBQUVBbndBQkFDUUFBUUR2QUFFQU5RQUJBRDh5QVFDRUFBRUEva0FCQUJRQUFRQ3ZBQUVBSkFBQkFQOUVBUUJGQUFFQVh3QUJBSVFBQVFDbUFBRUFGQUFCQUg4QUFRQWtBQUVBM3dBQkFEVUFBUUFmRVFFQUpBQUJBRllBQVFDRkFBRUF2d0FCQUJRQUFRRDNBQUVBeGdBQkFIY0FBUUFrQUFFQS8vZ0JBRVVBQVFCL0FBRUFGQUFCQU44QUFRQ21BQUVBUHpFQkFDUUFBUUF1SWdFQWhRQUJBTGNBQVFBVUFBRUE3MFFCQUs2aUFRQm5BQUVBSkFBQkFQOVJBUUJGQUFFQWx3QUJBQlFBQVFEUEFBRUFOZ0FCQUQ4aUFRQWtBQUVBVmdBQkFJVUFBUUMvc2dFQUZBQUJBTzlBQVFER0FBRUFid0FCQUNRQUFRRC9jZ0VBUlFBQkFKOEFBUUFVQUFFQTF3QUJBS1lBQVFCUFJBRUFKQUFCQUM0aUFRQ0ZBQUVBcjZnQkFCUUFBUURuQUFFQXJxSUJBRjhBQVFBa0FBRUEvMFFCQUVVQUFRQ1BpQUVBRkFBQkFLK3FBUUEyQUFFQUh4RUNBUDc0SkFCV0FBSUF0Z0NGQVA5bUFnRE9BQlFBSGhFQ0FKWUFOUUN2cUFJQTlnQWtBRDR4QWdDbUFFVUF2N01DQUw2eUZBRC85UUlBWmdCK1VWOVVBZ0QrOGlRQUxpSUNBSzRpaFFEdlJBSUF4Z0FVQVAvMEFnQjJBRFVBZjBRQ0FONUFKQUErTWdJQW5nQkZBTmNBQWdDK2lCUUEvL29DQUY0Ui92RlBSQUlBL3Zna0FGWUFBZ0MyQUlVQTc4Z0NBTTRBRkFBZUVRSUFsZ0ExQUkrSUFnRDJBQ1FBUGpFQ0FLWUFSUURmUkFJQXZySVVBUCtvQWdCbUFINVJid0FDQVA3eUpBQXVJZ0lBcmlLRkFPY0FBZ0RHQUJRQTcrSUNBSFlBTlFCL2NnSUEza0FrQUQ0eUFnQ2VBRVVBdjdFQ0FMNklGQUQvY3dJQVhoSCs4VDh6QVFDRUFBRUE3aUFCQU1VQUFRRFB4QUVBUkFBQkFQOHlBUUFWQUFFQWo0Z0JBSVFBQVFCbUFBRUFKUUFCQUs4QUFRQkVBQUVBN3lJQkFLWUFBUUJmQUFFQWhBQUJBRTVFQVFERkFBRUF6OHdCQUVRQUFRRDNBQUVBRlFBQkFHOEFBUUNFQUFFQVZnQUJBQ1VBQVFDZkFBRUFSQUFCQU44QUFRRCtNQUVBTHlJQkFJUUFBUUR1SUFFQXhRQUJBTS9JQVFCRUFBRUEveEVCQUJVQUFRQjNBQUVBaEFBQkFHWUFBUUFsQUFFQWZ3QUJBRVFBQVFEbkFBRUFwZ0FCQURjQUFRQ0VBQUVBVGtRQkFNVUFBUUMzQUFFQVJBQUJBTDhBQVFBVkFBRUFQd0FCQUlRQUFRQldBQUVBSlFBQkFKY0FBUUJFQUFFQTF3QUJBUDR3QVFBZkVRSUE3cWhFQUk2SUFnRFdBTVVBLy9NQ0FQNzhKUUErQUFJQXRnQlZBTi9ZQWdEKytFUUFaZ0FDQUg0Z2hRRC9tUUlBNWdEMUFEWUFBZ0NtQUJVQW53QUNBUDd5UkFCMkFBSUF6a1RGQVA5MkFnRCs4U1VBVGtRQ0FLNEFWUURQeUFJQS92UkVBRjVFQWdDK0VJVUE3K1FDQU41VTlRQWVFUUlBbGdBVkFDOGlBZ0R1cUVRQWpvZ0NBTllBeFFELytnSUEvdndsQUQ0QUFnQzJBRlVBdnhFQ0FQNzRSQUJtQUFJQWZpQ0ZBTzhpQWdEbUFQVUFOZ0FDQUtZQUZRQi9JZ0lBL3ZKRUFIWUFBZ0RPUk1VQS85VUNBUDd4SlFCT1JBSUFyZ0JWQUc4QUFnRCs5RVFBWGtRQ0FMNFFoUURmRVFJQTNsVDFBQjRSQWdDV0FCVUFYMUVEQVBZQUZBQWVFVVFBam9pbEFOL1VBd0N1b2xVQS8zWWtBRDRpdGdDdnFnTUE1Z0FVQVAvMVJBQm1BSVVBejh3REFKNEF4UUR2UkNRQU5nRCsrSDh4QXdEdTZCUUEvL0ZFQUhZQXBRRFB4QU1BZmlKVkFOL1JKQUJPUlA3MFgxRURBTllBRkFEdjRrUUFYa1NGQUw4aUF3Q1dBTVVBMzhna0FDNGkvdkp2SWdNQTlnQVVBQjRSUkFDT2lLVUF2N0VEQUs2aVZRRC9NeVFBUGlLMkFLK29Bd0RtQUJRQS83bEVBR1lBaFFDL3FBTUFuZ0RGQU8va0pBQTJBUDc0YjJRREFPN29GQUQvL0VRQWRnQ2xBTS9JQXdCK0lsVUE3K29rQUU1RS92Ui9kQU1BMWdBVUFQLzZSQUJlUklVQXY3SURBSllBeFFEZlJDUUFMaUwrOGo4eDh3RCsrdjN4TmdBRUFMNHlkUURmRWZNQTNsVDk4dS9rMVFCK2NmNzhmM1B6QVA3ei9mZ2VFUVFBbGdCVkFMK3g4d0RPQUxVQTM5ajk5R1lBL3JsZlZQTUEvbmI5OFNZQUJBQ21BSFVBbndEekFLNEEvZkwvOTlVQVJnRCs5WDkwOHdEbUFQMzRGZ0FFQUlZQVZRQ1BpUE1BeGdDMUFPL2kvZlJlRWU2b1B4SHpBUDc2L2ZFMkFBUUF2akoxQU4vUjh3RGVWUDN5Ly92VkFINXgvdngvUlBNQS92UDkrQjRSQkFDV0FGVUFmM0x6QU00QXRRRHZJdjMwWmdEK3VVOUU4d0QrZHYzeEpnQUVBS1lBZFFDL0VmTUFyZ0Q5OHYvLzFRQkdBUDcxUHpMekFPWUEvZmdXQUFRQWhnQlZBRzhBOHdER0FMVUF2N2o5OUY0UjdxZ3ZJZ0JCckowQkM2UWVBUUFBQUFFQUFBQUJBQUFBQWdBQUFBSUFBQUFDQUFBQUF3QUFBQU1BQUFBRUFBQUFCUUFBQUxjaFFpRm5JVUloRVJFUkVUTXpNek4zZDNkM0FBQUFBQUFBQUFBQlZnQUFBQUFBQUJCUEFBQWdUd0FBQVZZQUFBRUFBQUFnVHdBQUVFOEFBQUUwQUFBQUFBQUFNRThBQUxCUEFBQUJOQUFBQVFBQUFFQlBBQURBVHdBQUFSZ0FBQUFBQUFCUVR3QUFFRkFBQUFFWUFBQUJBQUFBWUU4QUFDQlFBQURCQ2dBQUFBQUFBSEJQQUFCd1VBQUF3UW9BQUFFQUFBQ0FUd0FBZ0ZBQUFDRUZBQUFBQUFBQWtFOEFBSkJTQUFBaEJRQUFBUUFBQUtCUEFBQ2dVZ0FBSVFJQUFBQUFBQUN3VXdBQUVGTUFBQ0VDQUFBQkFBQUF3Rk1BQUNCVEFBQUJWZ0FBQUFBQUFOQlBBQURBVHdBQUFWWUFBQUVBQUFEZ1R3QUFzRThBQUFGVUFBQUFBQUFBOEU4QUFMQlFBQUFCVkFBQUFRQUFBQUJRQUFEQVVBQUFBVWdBQUFBQUFBQVFVQUFBc0ZBQUFBRklBQUFCQUFBQUlGQUFBTUJRQUFBQk9BQUFBQUFBQURCUUFBQ3dVQUFBQVRnQUFBRUFBQUJBVUFBQXdGQUFBQUV3QUFBQUFBQUFVRkFBQUJCUkFBQUJNQUFBQVFBQUFHQlFBQUFnVVFBQUFTUUFBQUFBQUFCd1VBQUFNRkVBQUFFa0FBQUJBQUFBZ0ZBQUFFQlJBQUFCSEFBQUFBQUFBSkJRQUFCd1VRQUFBUndBQUFFQUFBQ2dVQUFBZ0ZFQUFBRVdBQUFBQUFBQWtGSUFBSkJSQUFBQkZnQUFBUUFBQUtCU0FBQ2dVUUFBQVZZQUFBQUFBQURRVUFBQXdGQUFBQUZXQUFBQkFBQUE0RkFBQUxCUUFBQUJWQUFBQUFBQUFQQlFBQUN3VUFBQUFWUUFBQUVBQUFBQVVRQUF3RkFBQUFGUkFBQUFBQUFBRUZFQUFOQlFBQUFCVVFBQUFRQUFBQ0JSQUFEZ1VBQUFBVWdBQUFBQUFBQXdVUUFBOEZBQUFBRklBQUFCQUFBQVFGRUFBQUJSQUFBQk9BQUFBQUFBQUZCUkFBQVFVUUFBQVRnQUFBRUFBQUJnVVFBQUlGRUFBQUUwQUFBQUFBQUFjRkVBQURCUkFBQUJOQUFBQVFBQUFJQlJBQUJBVVFBQUFUQUFBQUFBQUFDUVVRQUFVRkVBQUFFd0FBQUJBQUFBb0ZFQUFHQlJBQUFCS0FBQUFBQUFBTEJSQUFCUVVRQUFBU2dBQUFFQUFBREFVUUFBWUZFQUFBRWtBQUFBQUFBQTBGRUFBSEJSQUFBQkpBQUFBUUFBQU9CUkFBQ0FVUUFBQVNJQUFBQUFBQUR3VVFBQWtGRUFBQUVpQUFBQkFBQUFBRklBQUtCUkFBQUJIQUFBQUFBQUFCQlNBQUN3VVFBQUFSd0FBQUVBQUFBZ1VnQUF3RkVBQUFFWUFBQUFBQUFBTUZJQUFOQlJBQUFCR0FBQUFRQUFBRUJTQUFEZ1VRQUFBUllBQUFBQUFBQlFVZ0FBOEZFQUFBRVdBQUFCQUFBQVlGSUFBQUJTQUFBQkZBQUFBQUFBQUhCU0FBQVFVZ0FBQVJRQUFBRUFBQUNBVWdBQUlGSUFBQUVTQUFBQUFBQUFrRklBQURCU0FBQUJFZ0FBQVFBQUFLQlNBQUJBVWdBQUFSRUFBQUFBQUFDd1VnQUFVRklBQUFFUkFBQUJBQUFBd0ZJQUFHQlNBQURCQ2dBQUFBQUFBTkJTQUFCd1VnQUF3UW9BQUFFQUFBRGdVZ0FBZ0ZJQUFNRUpBQUFBQUFBQThGSUFBSkJTQUFEQkNRQUFBUUFBQUFCVEFBQ2dVZ0FBb1FnQUFBQUFBQUFRVXdBQXNGSUFBS0VJQUFBQkFBQUFJRk1BQU1CU0FBQWhCUUFBQUFBQUFEQlRBQURRVWdBQUlRVUFBQUVBQUFCQVV3QUE0RklBQUVFRUFBQUFBQUFBVUZNQUFQQlNBQUJCQkFBQUFRQUFBR0JUQUFBQVV3QUFvUUlBQUFBQUFBQndVd0FBRUZNQUFLRUNBQUFCQUFBQWdGTUFBQ0JUQUFBaEFnQUFBQUFBQUpCVEFBQXdVd0FBSVFJQUFBRUFBQUNnVXdBQVFGTUFBRUVCQUFBQUFBQUFzRk1BQUZCVEFBQkJBUUFBQVFBQUFNQlRBQUJnVXdBQUVRRUFBQUFBQUFEUVV3QUFjRk1BQUJFQkFBQUJBQUFBNEZNQUFJQlRBQUNGQUFBQUFBQUFBUEJUQUFDUVV3QUFoUUFBQUFFQUFBQUFWQUFBb0ZNQUFFa0FBQUFBQUFBQUVGUUFBTEJUQUFCSkFBQUFBUUFBQUNCVUFBREFVd0FBSlFBQUFBQUFBQUF3VkFBQTBGTUFBQ1VBQUFBQkFBQUFRRlFBQU9CVEFBQVZBQUFBQUFBQUFGQlVBQUR3VXdBQUZRQUFBQUVBQUFCZ1ZBQUFBRlFBQUFrQUFBQUFBQUFBY0ZRQUFCQlVBQUFKQUFBQUFRQUFBSUJVQUFBZ1ZBQUFCUUFBQUFBQUFBQ1FWQUFBTUZRQUFBVUFBQUFCQUFBQW9GUUFBRUJVQUFBQkFBQUFBQUFBQUpCVUFBQlFWQUFBQVFBQUFBRUFBQUNnVkFBQVlGUUFBQUZXQUFBQUFBQUFzRlFBQUxCVUFBQUJWZ0FBQVFBQUFNQlVBQURBVkFBQUFBRURBd0VDQXdNRkJnY0hCZ1lIQndBQkF3TUJBZ01EQlFZSEJ3WUdCd2NGQmdjSEJnWUhCd2dJQ0FnSUNBZ0lCUVlIQndZR0J3Y0lDQWdJQ0FnSUNBRUNBd01DQWdNREJnWUhCd1lHQndjQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQmdZSEJ3WUdCd2NJQ0FnSUNBZ0lDQVlHQndjR0JnY0hDQWdJQ0FnSUNBZ0RBd1FFQXdNRUJBY0hCd2NIQndjSEF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lBd01FQkFNREJBUUhCd2NIQndjSEJ3TURCQVFEQXdRRUJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQUVDQXdNQ0FnTURCZ1lIQndZR0J3Y0JBZ01EQWdJREF3WUdCd2NHQmdjSEJnWUhCd1lHQndjSUNBZ0lDQWdJQ0FZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdDQWdNREFnSURBd1lHQndjR0JnY0hBZ0lEQXdJQ0F3TUdCZ2NIQmdZSEJ3WUdCd2NHQmdjSENBZ0lDQWdJQ0FnR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQXdNRUJBTURCQVFIQndjSEJ3Y0hCd01EQkFRREF3UUVCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FNREJBUURBd1FFQndjSEJ3Y0hCd2NEQXdRRUF3TUVCQWNIQndjSEJ3Y0hCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBY0hCd2NIQndjSENBZ0lDQWdJQ0FnQUFRVUdBUUlHQmdNREJ3Y0RBd2NIQUFFRkJnRUNCZ1lEQXdjSEF3TUhCd01EQndjREF3Y0hCQVFIQndRRUJ3Y0RBd2NIQXdNSEJ3UUVCd2NFQkFjSEFRSUdCZ0lDQmdZREF3Y0hBd01IQndFQ0JnWUNBZ1lHQXdNSEJ3TURCd2NEQXdjSEF3TUhCd1FFQndjRUJBY0hBd01IQndNREJ3Y0VCQWNIQkFRSEJ3VUdDQWdHQmdnSUJ3Y0lDQWNIQ0FnRkJnZ0lCZ1lJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0dCZ2dJQmdZSUNBY0hDQWdIQndnSUJnWUlDQVlHQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lBUUlHQmdJQ0JnWURBd2NIQXdNSEJ3RUNCZ1lDQWdZR0F3TUhCd01EQndjREF3Y0hBd01IQndRRUJ3Y0VCQWNIQXdNSEJ3TURCd2NFQkFjSEJBUUhCd0lDQmdZQ0FnWUdBd01IQndNREJ3Y0NBZ1lHQWdJR0JnTURCd2NEQXdjSEF3TUhCd01EQndjRUJBY0hCQVFIQndNREJ3Y0RBd2NIQkFRSEJ3UUVCd2NHQmdnSUJnWUlDQWNIQ0FnSEJ3Z0lCZ1lJQ0FZR0NBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQmdZSUNBWUdDQWdIQndnSUJ3Y0lDQVlHQ0FnR0JnZ0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FBQkF3TUJBZ01EQlFZSEJ3WUdCd2NBQVFNREFRSURBd1VHQndjR0JnY0hCUVlIQndZR0J3Y0lDQWdJQ0FnSUNBVUdCd2NHQmdjSENBZ0lDQWdJQ0FnQkFnTURBZ0lEQXdZR0J3Y0dCZ2NIQVFJREF3SUNBd01HQmdjSEJnWUhCd1lHQndjR0JnY0hDQWdJQ0FnSUNBZ0dCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndNREJBUURBd1FFQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBTURCQVFEQXdRRUJ3Y0hCd2NIQndjREF3UUVBd01FQkFjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQWNIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0JBZ01EQWdJREF3WUdCd2NHQmdjSEFRSURBd0lDQXdNR0JnY0hCZ1lIQndZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdHQmdjSEJnWUhCd2dJQ0FnSUNBZ0lBZ0lEQXdJQ0F3TUdCZ2NIQmdZSEJ3SUNBd01DQWdNREJnWUhCd1lHQndjR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQmdZSEJ3WUdCd2NJQ0FnSUNBZ0lDQU1EQkFRREF3UUVCd2NIQndjSEJ3Y0RBd1FFQXdNRUJBY0hCd2NIQndjSEJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdEQXdRRUF3TUVCQWNIQndjSEJ3Y0hBd01FQkFNREJBUUhCd2NIQndjSEJ3Y0hCd2NIQndjSENBZ0lDQWdJQ0FnSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQUFNQkJBTUdCQWNCQkFJRkJBY0ZCd0FEQVFRREJnUUhBUVFDQlFRSEJRY0JCQUlGQkFjRkJ3SUZBZ1VGQndVSEFRUUNCUVFIQlFjQ0JRSUZCUWNGQndNR0JBY0dDQWNJQkFjRkJ3Y0lCd2dEQmdRSEJnZ0hDQVFIQlFjSENBY0lCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnQkJBSUZCQWNGQndJRkFnVUZCd1VIQVFRQ0JRUUhCUWNDQlFJRkJRY0ZCd0lGQWdVRkJ3VUhBZ1VDQlFVSEJRY0NCUUlGQlFjRkJ3SUZBZ1VGQndVSEJBY0ZCd2NJQndnRkJ3VUhCd2dIQ0FRSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVVIQlFjSENBY0lCUWNGQndjSUJ3Z0ZCd1VIQndnSENBTUdCQWNHQ0FjSUJBY0ZCd2NJQndnREJnUUhCZ2dIQ0FRSEJRY0hDQWNJQkFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVFIQlFjSENBY0lCUWNGQndjSUJ3Z0dDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJnZ0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdIQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnRkJ3VUhCd2dIQ0FVSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQWNJQndnSUNBZ0lCd2dIQ0FnSUNBZ0hDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJ3Z0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdKQ1FvS0NRa0tDZ3dNRFFzTURBMExDUWtLQ2drSkNnb01EQXNOREF3TERRd01EUTBNREFzTERBa05DZ2tNQ2dzTURBc0xEQXdORFF3SkN3b0pEQW9OQ1FrS0Nna0pDZ29NREEwTERBd05Dd2tKQ2dvSkNRb0tEQXdMRFF3TUN3ME1EQTBOREF3TEN3d0pEUW9KREFvTERBd0xDd3dNRFEwTUNRc0tDUXdLRFFvS0Nnb0tDZ29LRFFzTkN3MExEUXNLQ2drSkNnb0pDUTBMREF3TkN3d01EUTBORFFzTEN3c05DZzBLQ2dzS0N3ME5EQXdMQ3d3TURRb01DUW9MQ1F3S0Nna0pDZ29KQ1FzTkRBd0xEUXdNQ2dvS0Nnb0tDZ29MRFFzTkN3MExEUXNMREF3TkRRd01Dd29NQ1FvTkNRd0xDd3NMRFEwTkRRc0tDd29LRFFvTkFFSFp1d0VMTndFQUFRQUJBQUVBQUFFQkFBQUJBUUFCQUFFQUFRQUJBQUFBQUFFQkFRRUFBQUFBQUFFQUFRQUFBQUFCQVFFQkFBQUFBUUFCQVFFQVFabThBUXMzQVFBQkFBRUFBUUFBQVFFQUFBRUJBQUVBQVFBQkFBRUFBQUFBQVFFQkFRQUFBQUFBQVFBQkFBQUFBQUVCQVFFQUFBQUJBQUVCQVFCQjJid0JDd2NCQUFFQUFRQUJBRUhwdkFFTGxRSUJBQUVBQVFBQkFBQUFBQUVCQVFFQUFBQUFBQUVBQVFBQUFBQUJBUUVCQUFBQUFBQUJBQUVCQVFBQUFRRUFBQUFCQUFFQUFRQUJBUUVCQVFFQkFRRUFBUUFCQUFFQUFRQUFBQUFCQVFFQkFBRUFBQUVCQUFFQUFBQUFBUUVCQVFBQkFBRUJBUUVCQWdBQUFBUUFBQUFFQUFBQUNBQUFBSkQvQUFBTUFBQUFHQUFBQUZML0FBQVVBQUFBR1FBQUFGUC9BQUFVQUFBQUdnQUFBRjcvQUFBVUFBQUFHd0FBQUZ6L0FBQVVBQUFBSEFBQUFGMy9BQUFVQUFBQUhRQUFBRi8vQUFBVUFBQUFIZ0FBQUZIL0FBQUNBQUFBSHdBQUFGWC9BQUFFQUFBQUlBQUFBRmYvQUFBRUFBQUFJUUFBQUZqL0FBQVFBQUFBSWdBQUFHRC9BQUFFQUFBQUl3QUFBR0gvQUFBUUFBQUFKQUFBQUpIL0FFR0l2d0VMWldQL0FBQUVBQUFBSlFBQUFHVC9BQUFVQUFBQUpnQUFBSFQvQUFBVUFBQUFKd0FBQUhqL0FBQUVBQUFBS0FBQUFGRC9BQUFFQUFBQUtRQUFBRm4vQUFBRUFBQUFLZ0FBQUhYL0FBQVVBQUFBS3dBQUFIZi9BQUFVQUFBQUxBQUFBQUFBQUFBVUFFR0F3QUVMTlMwQUFBQXVBQUFBTHdBQUFEQUFBQUF4QUFBQU1nQUFBRE1BQUFBMEFBQUFJQ0JRYWpZQUFBQndlWFJtTndBQUFHZ3ljR280QUVIQXdBRUxNbkprYUdrNUFBQUFjbXh2WXpvQUFBQmpZM0JpT3dBQUFISnNZM0E4QUFBQWNHRnRZejBBQUFCbVpXUmpQZ0FBQVBoaUFFR0F3UUVMUVJrQUN3QVpHUmtBQUFBQUJRQUFBQUFBQUFrQUFBQUFDd0FBQUFBQUFBQUFHUUFLQ2hrWkdRTUtCd0FCQUFrTEdBQUFDUVlMQUFBTEFBWVpBQUFBR1JrWkFFSFJ3UUVMSVE0QUFBQUFBQUFBQUJrQUN3MFpHUmtBRFFBQUFnQUpEZ0FBQUFrQURnQUFEZ0JCaThJQkN3RU1BRUdYd2dFTEZSTUFBQUFBRXdBQUFBQUpEQUFBQUFBQURBQUFEQUJCeGNJQkN3RVFBRUhSd2dFTEZROEFBQUFFRHdBQUFBQUpFQUFBQUFBQUVBQUFFQUJCLzhJQkN3RVNBRUdMd3dFTEhoRUFBQUFBRVFBQUFBQUpFZ0FBQUFBQUVnQUFFZ0FBR2dBQUFCb2FHZ0JCd3NNQkN3NGFBQUFBR2hvYUFBQUFBQUFBQ1FCQjg4TUJDd0VVQUVIL3d3RUxGUmNBQUFBQUZ3QUFBQUFKRkFBQUFBQUFGQUFBRkFCQnJjUUJDd0VXQUVHNXhBRUxKeFVBQUFBQUZRQUFBQUFKRmdBQUFBQUFGZ0FBRmdBQU1ERXlNelExTmpjNE9VRkNRMFJGUmdCQjRNUUJDd21RYkFFQUFBQUFBQVVBUWZURUFRc0JhUUJCak1VQkN3cHFBQUFBYXdBQUFIaG9BRUdreFFFTEFRSUFRYlRGQVFzSS8vLy8vLy8vLy84QVFmakZBUXNCQlFCQmhNWUJDd0ZzQUVHY3hnRUxEbW9BQUFCdEFBQUFpR2dBQUFBRUFFRzB4Z0VMQVFFQVFjVEdBUXNGLy8vLy93bz0iKTtyZXR1cm4gcmVjZWl2ZUluc3RhbmNlKGluc3RhbnRpYXRlU3luYyh1LGUpWzBdKX0oKTtOLnEsYS5fbWFsbG9jPU4ucixhLl9mcmVlPU4ucyxhLl9qcDJfZGVjb2RlPU4udTt3PWZ1bmN0aW9uIHJ1bkNhbGxlcigpe2J8fHJ1bigpO2J8fCh3PXJ1bkNhbGxlcil9O2Z1bmN0aW9uIHJ1bigpe2lmKCEobT4wKSl7IWZ1bmN0aW9uIHByZVJ1bigpe2lmKGEucHJlUnVuKXsiZnVuY3Rpb24iPT10eXBlb2YgYS5wcmVSdW4mJihhLnByZVJ1bj1bYS5wcmVSdW5dKTtmb3IoO2EucHJlUnVuLmxlbmd0aDspZT1hLnByZVJ1bi5zaGlmdCgpLGQudW5zaGlmdChlKX12YXIgZTtjYWxsUnVudGltZUNhbGxiYWNrcyhkKX0oKTtpZighKG0+MCkpaWYoYS5zZXRTdGF0dXMpe2Euc2V0U3RhdHVzKCJSdW5uaW5nLi4uIik7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Euc2V0U3RhdHVzKCIiKX0pLDEpO2RvUnVuKCl9KSwxKX1lbHNlIGRvUnVuKCl9ZnVuY3Rpb24gZG9SdW4oKXtpZighYil7Yj0hMDthLmNhbGxlZFJ1bj0hMDshZnVuY3Rpb24gaW5pdFJ1bnRpbWUoKXtjYWxsUnVudGltZUNhbGxiYWNrcyhmKX0oKTt0KGEpO2Eub25SdW50aW1lSW5pdGlhbGl6ZWQmJmEub25SdW50aW1lSW5pdGlhbGl6ZWQoKTshZnVuY3Rpb24gcG9zdFJ1bigpe2lmKGEucG9zdFJ1bil7ImZ1bmN0aW9uIj09dHlwZW9mIGEucG9zdFJ1biYmKGEucG9zdFJ1bj1bYS5wb3N0UnVuXSk7Zm9yKDthLnBvc3RSdW4ubGVuZ3RoOyllPWEucG9zdFJ1bi5zaGlmdCgpLHAudW5zaGlmdChlKX12YXIgZTtjYWxsUnVudGltZUNhbGxiYWNrcyhwKX0oKX19fWlmKGEucHJlSW5pdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGEucHJlSW5pdCYmKGEucHJlSW5pdD1bYS5wcmVJbml0XSk7Zm9yKDthLnByZUluaXQubGVuZ3RoPjA7KWEucHJlSW5pdC5wb3AoKSgpfXJ1bigpO3JldHVybiBhfSk7Y29uc3QgaGk9Q2k7Y2xhc3MgSnB4RXJyb3IgZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKcHhFcnJvciIpfX1jbGFzcyBKcHhJbWFnZXtzdGF0aWMjeT1udWxsO3N0YXRpYyBkZWNvZGUoZSx0KXt0fHw9e307dGhpcy4jeXx8PWhpKHt3YXJufSk7Y29uc3QgaT10aGlzLiN5LmRlY29kZShlLHQpO2lmKCJzdHJpbmciPT10eXBlb2YgaSl0aHJvdyBuZXcgSnB4RXJyb3IoaSk7cmV0dXJuIGl9c3RhdGljIGNsZWFudXAoKXt0aGlzLiN5PW51bGx9c3RhdGljIHBhcnNlSW1hZ2VQcm9wZXJ0aWVzKGUpe2xldCB0PWUuZ2V0Qnl0ZSgpO2Zvcig7dD49MDspe2NvbnN0IGk9dDt0PWUuZ2V0Qnl0ZSgpO2lmKDY1MzYxPT09KGk8PDh8dCkpe2Uuc2tpcCg0KTtjb25zdCB0PWUuZ2V0SW50MzIoKT4+PjAsaT1lLmdldEludDMyKCk+Pj4wLGE9ZS5nZXRJbnQzMigpPj4+MCxzPWUuZ2V0SW50MzIoKT4+PjA7ZS5za2lwKDE2KTtyZXR1cm57d2lkdGg6dC1hLGhlaWdodDppLXMsYml0c1BlckNvbXBvbmVudDo4LGNvbXBvbmVudHNDb3VudDplLmdldFVpbnQxNigpfX19dGhyb3cgbmV3IEpweEVycm9yKCJObyBzaXplIG1hcmtlciBmb3VuZCBpbiBKUFggc3RyZWFtIil9fWNsYXNzIEpweFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHJlYW09ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMubWF5YmVMZW5ndGg9dDt0aGlzLnBhcmFtcz1pfWdldCBieXRlcygpe3JldHVybiBzaGFkb3codGhpcywiYnl0ZXMiLHRoaXMuc3RyZWFtLmdldEJ5dGVzKHRoaXMubWF5YmVMZW5ndGgpKX1lbnN1cmVCdWZmZXIoZSl7fXJlYWRCbG9jayhlKXt0aGlzLmRlY29kZUltYWdlKG51bGwsZSl9ZGVjb2RlSW1hZ2UoZSx0KXtpZih0aGlzLmVvZilyZXR1cm4gdGhpcy5idWZmZXI7ZXx8PXRoaXMuYnl0ZXM7dGhpcy5idWZmZXI9SnB4SW1hZ2UuZGVjb2RlKGUsdCk7dGhpcy5idWZmZXJMZW5ndGg9dGhpcy5idWZmZXIubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319Y2xhc3MgTFpXU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5jYWNoZWREYXRhPTA7dGhpcy5iaXRzQ2FjaGVkPTA7Y29uc3QgYT00MDk2LHM9e2Vhcmx5Q2hhbmdlOmksY29kZUxlbmd0aDo5LG5leHRDb2RlOjI1OCxkaWN0aW9uYXJ5VmFsdWVzOm5ldyBVaW50OEFycmF5KGEpLGRpY3Rpb25hcnlMZW5ndGhzOm5ldyBVaW50MTZBcnJheShhKSxkaWN0aW9uYXJ5UHJldkNvZGVzOm5ldyBVaW50MTZBcnJheShhKSxjdXJyZW50U2VxdWVuY2U6bmV3IFVpbnQ4QXJyYXkoYSksY3VycmVudFNlcXVlbmNlTGVuZ3RoOjB9O2ZvcihsZXQgZT0wO2U8MjU2OysrZSl7cy5kaWN0aW9uYXJ5VmFsdWVzW2VdPWU7cy5kaWN0aW9uYXJ5TGVuZ3Roc1tlXT0xfXRoaXMubHp3U3RhdGU9c31yZWFkQml0cyhlKXtsZXQgdD10aGlzLmJpdHNDYWNoZWQsaT10aGlzLmNhY2hlZERhdGE7Zm9yKDt0PGU7KXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGUoKTtpZigtMT09PWUpe3RoaXMuZW9mPSEwO3JldHVybiBudWxsfWk9aTw8OHxlO3QrPTh9dGhpcy5iaXRzQ2FjaGVkPXQtPWU7dGhpcy5jYWNoZWREYXRhPWk7dGhpcy5sYXN0Q29kZT1udWxsO3JldHVybiBpPj4+dCYoMTw8ZSktMX1yZWFkQmxvY2soKXtsZXQgZSx0LGksYT0xMDI0O2NvbnN0IHM9dGhpcy5sendTdGF0ZTtpZighcylyZXR1cm47Y29uc3Qgcj1zLmVhcmx5Q2hhbmdlO2xldCBuPXMubmV4dENvZGU7Y29uc3QgZz1zLmRpY3Rpb25hcnlWYWx1ZXMsbz1zLmRpY3Rpb25hcnlMZW5ndGhzLGM9cy5kaWN0aW9uYXJ5UHJldkNvZGVzO2xldCBDPXMuY29kZUxlbmd0aCxoPXMucHJldkNvZGU7Y29uc3QgbD1zLmN1cnJlbnRTZXF1ZW5jZTtsZXQgUT1zLmN1cnJlbnRTZXF1ZW5jZUxlbmd0aCxFPTAsdT10aGlzLmJ1ZmZlckxlbmd0aCxkPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK2EpO2ZvcihlPTA7ZTw1MTI7ZSsrKXtjb25zdCBlPXRoaXMucmVhZEJpdHMoQykscz1RPjA7aWYoZTwyNTYpe2xbMF09ZTtRPTF9ZWxzZXtpZighKGU+PTI1OCkpe2lmKDI1Nj09PWUpe0M9OTtuPTI1ODtRPTA7Y29udGludWV9dGhpcy5lb2Y9ITA7ZGVsZXRlIHRoaXMubHp3U3RhdGU7YnJlYWt9aWYoZTxuKXtRPW9bZV07Zm9yKHQ9US0xLGk9ZTt0Pj0wO3QtLSl7bFt0XT1nW2ldO2k9Y1tpXX19ZWxzZSBsW1ErK109bFswXX1pZihzKXtjW25dPWg7b1tuXT1vW2hdKzE7Z1tuXT1sWzBdO24rKztDPW4rciZuK3ItMT9DOjB8TWF0aC5taW4oTWF0aC5sb2cobityKS8uNjkzMTQ3MTgwNTU5OTQ1MysxLDEyKX1oPWU7RSs9UTtpZihhPEUpe2Rve2ErPTUxMn13aGlsZShhPEUpO2Q9dGhpcy5lbnN1cmVCdWZmZXIodGhpcy5idWZmZXJMZW5ndGgrYSl9Zm9yKHQ9MDt0PFE7dCsrKWRbdSsrXT1sW3RdfXMubmV4dENvZGU9bjtzLmNvZGVMZW5ndGg9QztzLnByZXZDb2RlPWg7cy5jdXJyZW50U2VxdWVuY2VMZW5ndGg9UTt0aGlzLmJ1ZmZlckxlbmd0aD11fX1jbGFzcyBQcmVkaWN0b3JTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBlO2NvbnN0IGE9dGhpcy5wcmVkaWN0b3I9aS5nZXQoIlByZWRpY3RvciIpfHwxO2lmKGE8PTEpcmV0dXJuIGU7aWYoMiE9PWEmJihhPDEwfHxhPjE1KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuc3VwcG9ydGVkIHByZWRpY3RvcjogJHthfWApO3RoaXMucmVhZEJsb2NrPTI9PT1hP3RoaXMucmVhZEJsb2NrVGlmZjp0aGlzLnJlYWRCbG9ja1BuZzt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3Qgcz10aGlzLmNvbG9ycz1pLmdldCgiQ29sb3JzIil8fDEscj10aGlzLmJpdHM9aS5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxuPXRoaXMuY29sdW1ucz1pLmdldCgiQ29sdW1ucyIpfHwxO3RoaXMucGl4Qnl0ZXM9cypyKzc+PjM7dGhpcy5yb3dCeXRlcz1uKnMqcis3Pj4zO3JldHVybiB0aGlzfXJlYWRCbG9ja1RpZmYoKXtjb25zdCBlPXRoaXMucm93Qnl0ZXMsdD10aGlzLmJ1ZmZlckxlbmd0aCxpPXRoaXMuZW5zdXJlQnVmZmVyKHQrZSksYT10aGlzLmJpdHMscz10aGlzLmNvbG9ycyxyPXRoaXMuc3RyLmdldEJ5dGVzKGUpO3RoaXMuZW9mPSFyLmxlbmd0aDtpZih0aGlzLmVvZilyZXR1cm47bGV0IG4sZz0wLG89MCxjPTAsQz0wLGg9dDtpZigxPT09YSYmMT09PXMpZm9yKG49MDtuPGU7KytuKXtsZXQgZT1yW25dXmc7ZV49ZT4+MTtlXj1lPj4yO2VePWU+PjQ7Zz0oMSZlKTw8NztpW2grK109ZX1lbHNlIGlmKDg9PT1hKXtmb3Iobj0wO248czsrK24paVtoKytdPXJbbl07Zm9yKDtuPGU7KytuKXtpW2hdPWlbaC1zXStyW25dO2grK319ZWxzZSBpZigxNj09PWEpe2NvbnN0IHQ9MipzO2ZvcihuPTA7bjx0OysrbilpW2grK109cltuXTtmb3IoO248ZTtuKz0yKXtjb25zdCBlPSgoMjU1JnJbbl0pPDw4KSsoMjU1JnJbbisxXSkrKCgyNTUmaVtoLXRdKTw8OCkrKDI1NSZpW2gtdCsxXSk7aVtoKytdPWU+PjgmMjU1O2lbaCsrXT0yNTUmZX19ZWxzZXtjb25zdCBlPW5ldyBVaW50OEFycmF5KHMrMSksaD0oMTw8YSktMTtsZXQgbD0wLFE9dDtjb25zdCBFPXRoaXMuY29sdW1ucztmb3Iobj0wO248RTsrK24pZm9yKGxldCB0PTA7dDxzOysrdCl7aWYoYzxhKXtnPWc8PDh8MjU1JnJbbCsrXTtjKz04fWVbdF09ZVt0XSsoZz4+Yy1hKSZoO2MtPWE7bz1vPDxhfGVbdF07Qys9YTtpZihDPj04KXtpW1ErK109bz4+Qy04JjI1NTtDLT04fX1DPjAmJihpW1ErK109KG88PDgtQykrKGcmKDE8PDgtQyktMSkpfXRoaXMuYnVmZmVyTGVuZ3RoKz1lfXJlYWRCbG9ja1BuZygpe2NvbnN0IGU9dGhpcy5yb3dCeXRlcyx0PXRoaXMucGl4Qnl0ZXMsaT10aGlzLnN0ci5nZXRCeXRlKCksYT10aGlzLnN0ci5nZXRCeXRlcyhlKTt0aGlzLmVvZj0hYS5sZW5ndGg7aWYodGhpcy5lb2YpcmV0dXJuO2NvbnN0IHM9dGhpcy5idWZmZXJMZW5ndGgscj10aGlzLmVuc3VyZUJ1ZmZlcihzK2UpO2xldCBuPXIuc3ViYXJyYXkocy1lLHMpOzA9PT1uLmxlbmd0aCYmKG49bmV3IFVpbnQ4QXJyYXkoZSkpO2xldCBnLG8sYyxDPXM7c3dpdGNoKGkpe2Nhc2UgMDpmb3IoZz0wO2c8ZTsrK2cpcltDKytdPWFbZ107YnJlYWs7Y2FzZSAxOmZvcihnPTA7Zzx0OysrZylyW0MrK109YVtnXTtmb3IoO2c8ZTsrK2cpe3JbQ109cltDLXRdK2FbZ10mMjU1O0MrK31icmVhaztjYXNlIDI6Zm9yKGc9MDtnPGU7KytnKXJbQysrXT1uW2ddK2FbZ10mMjU1O2JyZWFrO2Nhc2UgMzpmb3IoZz0wO2c8dDsrK2cpcltDKytdPShuW2ddPj4xKSthW2ddO2Zvcig7ZzxlOysrZyl7cltDXT0obltnXStyW0MtdF0+PjEpK2FbZ10mMjU1O0MrK31icmVhaztjYXNlIDQ6Zm9yKGc9MDtnPHQ7KytnKXtvPW5bZ107Yz1hW2ddO3JbQysrXT1vK2N9Zm9yKDtnPGU7KytnKXtvPW5bZ107Y29uc3QgZT1uW2ctdF0saT1yW0MtdF0scz1pK28tZTtsZXQgaD1zLWk7aDwwJiYoaD0taCk7bGV0IGw9cy1vO2w8MCYmKGw9LWwpO2xldCBRPXMtZTtRPDAmJihRPS1RKTtjPWFbZ107cltDKytdPWg8PWwmJmg8PVE/aStjOmw8PVE/bytjOmUrY31icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5zdXBwb3J0ZWQgcHJlZGljdG9yOiAke2l9YCl9dGhpcy5idWZmZXJMZW5ndGgrPWV9fWNsYXNzIFJ1bkxlbmd0aFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdH1yZWFkQmxvY2soKXtjb25zdCBlPXRoaXMuc3RyLmdldEJ5dGVzKDIpO2lmKCFlfHxlLmxlbmd0aDwyfHwxMjg9PT1lWzBdKXt0aGlzLmVvZj0hMDtyZXR1cm59bGV0IHQsaT10aGlzLmJ1ZmZlckxlbmd0aCxhPWVbMF07aWYoYTwxMjgpe3Q9dGhpcy5lbnN1cmVCdWZmZXIoaSthKzEpO3RbaSsrXT1lWzFdO2lmKGE+MCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyhhKTt0LnNldChlLGkpO2krPWF9fWVsc2V7YT0yNTctYTtjb25zdCBzPWVbMV07dD10aGlzLmVuc3VyZUJ1ZmZlcihpK2ErMSk7Zm9yKGxldCBlPTA7ZTxhO2UrKyl0W2krK109c310aGlzLmJ1ZmZlckxlbmd0aD1pfX1jbGFzcyBQYXJzZXJ7Y29uc3RydWN0b3Ioe2xleGVyOmUseHJlZjp0LGFsbG93U3RyZWFtczppPSExLHJlY292ZXJ5TW9kZTphPSExfSl7dGhpcy5sZXhlcj1lO3RoaXMueHJlZj10O3RoaXMuYWxsb3dTdHJlYW1zPWk7dGhpcy5yZWNvdmVyeU1vZGU9YTt0aGlzLmltYWdlQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLl9pbWFnZUlkPTA7dGhpcy5yZWZpbGwoKX1yZWZpbGwoKXt0aGlzLmJ1ZjE9dGhpcy5sZXhlci5nZXRPYmooKTt0aGlzLmJ1ZjI9dGhpcy5sZXhlci5nZXRPYmooKX1zaGlmdCgpe2lmKHRoaXMuYnVmMiBpbnN0YW5jZW9mIENtZCYmIklEIj09PXRoaXMuYnVmMi5jbWQpe3RoaXMuYnVmMT10aGlzLmJ1ZjI7dGhpcy5idWYyPW51bGx9ZWxzZXt0aGlzLmJ1ZjE9dGhpcy5idWYyO3RoaXMuYnVmMj10aGlzLmxleGVyLmdldE9iaigpfX10cnlTaGlmdCgpe3RyeXt0aGlzLnNoaWZ0KCk7cmV0dXJuITB9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7cmV0dXJuITF9fWdldE9iaihlPW51bGwpe2NvbnN0IHQ9dGhpcy5idWYxO3RoaXMuc2hpZnQoKTtpZih0IGluc3RhbmNlb2YgQ21kKXN3aXRjaCh0LmNtZCl7Y2FzZSJCSSI6cmV0dXJuIHRoaXMubWFrZUlubGluZUltYWdlKGUpO2Nhc2UiWyI6Y29uc3QgaT1bXTtmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIl0iKSYmdGhpcy5idWYxIT09d3Q7KWkucHVzaCh0aGlzLmdldE9iaihlKSk7aWYodGhpcy5idWYxPT09d3Qpe2lmKHRoaXMucmVjb3ZlcnlNb2RlKXJldHVybiBpO3Rocm93IG5ldyBQYXJzZXJFT0ZFeGNlcHRpb24oIkVuZCBvZiBmaWxlIGluc2lkZSBhcnJheS4iKX10aGlzLnNoaWZ0KCk7cmV0dXJuIGk7Y2FzZSI8PCI6Y29uc3QgYT1uZXcgRGljdCh0aGlzLnhyZWYpO2Zvcig7IWlzQ21kKHRoaXMuYnVmMSwiPj4iKSYmdGhpcy5idWYxIT09d3Q7KXtpZighKHRoaXMuYnVmMSBpbnN0YW5jZW9mIE5hbWUpKXtpbmZvKCJNYWxmb3JtZWQgZGljdGlvbmFyeToga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO3RoaXMuc2hpZnQoKTtjb250aW51ZX1jb25zdCB0PXRoaXMuYnVmMS5uYW1lO3RoaXMuc2hpZnQoKTtpZih0aGlzLmJ1ZjE9PT13dClicmVhazthLnNldCh0LHRoaXMuZ2V0T2JqKGUpKX1pZih0aGlzLmJ1ZjE9PT13dCl7aWYodGhpcy5yZWNvdmVyeU1vZGUpcmV0dXJuIGE7dGhyb3cgbmV3IFBhcnNlckVPRkV4Y2VwdGlvbigiRW5kIG9mIGZpbGUgaW5zaWRlIGRpY3Rpb25hcnkuIil9aWYoaXNDbWQodGhpcy5idWYyLCJzdHJlYW0iKSlyZXR1cm4gdGhpcy5hbGxvd1N0cmVhbXM/dGhpcy5tYWtlU3RyZWFtKGEsZSk6YTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGE7ZGVmYXVsdDpyZXR1cm4gdH1pZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXtpZihOdW1iZXIuaXNJbnRlZ2VyKHRoaXMuYnVmMSkmJmlzQ21kKHRoaXMuYnVmMiwiUiIpKXtjb25zdCBlPVJlZi5nZXQodCx0aGlzLmJ1ZjEpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCk7cmV0dXJuIGV9cmV0dXJuIHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiZlP2UuZGVjcnlwdFN0cmluZyh0KTp0fWZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0e2tub3duQ29tbWFuZHM6dH09dGhpcy5sZXhlcixpPWUucG9zO2xldCBhLHMscj0wO2Zvcig7LTEhPT0oYT1lLmdldEJ5dGUoKSk7KWlmKDA9PT1yKXI9Njk9PT1hPzE6MDtlbHNlIGlmKDE9PT1yKXI9NzM9PT1hPzI6MDtlbHNlIGlmKDMyPT09YXx8MTA9PT1hfHwxMz09PWEpe3M9ZS5wb3M7Y29uc3QgaT1lLnBlZWtCeXRlcygxNSksbj1pLmxlbmd0aDtpZigwPT09bilicmVhaztmb3IobGV0IGU9MDtlPG47ZSsrKXthPWlbZV07aWYoKDAhPT1hfHwwPT09aVtlKzFdKSYmKDEwIT09YSYmMTMhPT1hJiYoYTwzMnx8YT4xMjcpKSl7cj0wO2JyZWFrfX1pZigyIT09ciljb250aW51ZTtpZighdCl7d2FybigiZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQgLSBgbGV4ZXIua25vd25Db21tYW5kc2AgaXMgdW5kZWZpbmVkLiIpO2NvbnRpbnVlfWNvbnN0IGc9bmV3IExleGVyKG5ldyBTdHJlYW0oaS5zbGljZSgpKSx0KTtnLl9oZXhTdHJpbmdXYXJuPSgpPT57fTtsZXQgbz0wO2Zvcig7Oyl7Y29uc3QgZT1nLmdldE9iaigpO2lmKGU9PT13dCl7cj0wO2JyZWFrfWlmKGUgaW5zdGFuY2VvZiBDbWQpe2NvbnN0IGk9dFtlLmNtZF07aWYoIWkpe3I9MDticmVha31pZihpLnZhcmlhYmxlQXJncz9vPD1pLm51bUFyZ3M6bz09PWkubnVtQXJncylicmVhaztvPTB9ZWxzZSBvKyt9aWYoMj09PXIpYnJlYWt9ZWxzZSByPTA7aWYoLTE9PT1hKXt3YXJuKCJmaW5kRGVmYXVsdElubGluZVN0cmVhbUVuZDogUmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aG91dCBmaW5kaW5nIGEgdmFsaWQgRUkgbWFya2VyIik7aWYocyl7d2FybignLi4uIHRyeWluZyB0byByZWNvdmVyIGJ5IHVzaW5nIHRoZSBsYXN0ICJFSSIgb2NjdXJyZW5jZS4nKTtlLnNraXAoLShlLnBvcy1zKSl9fWxldCBuPTQ7ZS5za2lwKC1uKTthPWUucGVla0J5dGUoKTtlLnNraXAobik7aXNXaGl0ZVNwYWNlKGEpfHxuLS07cmV0dXJuIGUucG9zLW4taX1maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0IHQ9ZS5wb3M7bGV0IGksYSxzPSExO2Zvcig7LTEhPT0oaT1lLmdldEJ5dGUoKSk7KWlmKDI1NT09PWkpe3N3aXRjaChlLmdldEJ5dGUoKSl7Y2FzZSAwOmJyZWFrO2Nhc2UgMjU1OmUuc2tpcCgtMSk7YnJlYWs7Y2FzZSAyMTc6cz0hMDticmVhaztjYXNlIDE5MjpjYXNlIDE5MzpjYXNlIDE5NDpjYXNlIDE5NTpjYXNlIDE5NzpjYXNlIDE5ODpjYXNlIDE5OTpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwMzpjYXNlIDIwNTpjYXNlIDIwNjpjYXNlIDIwNzpjYXNlIDE5NjpjYXNlIDIwNDpjYXNlIDIxODpjYXNlIDIxOTpjYXNlIDIyMDpjYXNlIDIyMTpjYXNlIDIyMjpjYXNlIDIyMzpjYXNlIDIyNDpjYXNlIDIyNTpjYXNlIDIyNjpjYXNlIDIyNzpjYXNlIDIyODpjYXNlIDIyOTpjYXNlIDIzMDpjYXNlIDIzMTpjYXNlIDIzMjpjYXNlIDIzMzpjYXNlIDIzNDpjYXNlIDIzNTpjYXNlIDIzNjpjYXNlIDIzNzpjYXNlIDIzODpjYXNlIDIzOTpjYXNlIDI1NDphPWUuZ2V0VWludDE2KCk7YT4yP2Uuc2tpcChhLTIpOmUuc2tpcCgtMil9aWYocylicmVha31jb25zdCByPWUucG9zLXQ7aWYoLTE9PT1pKXt3YXJuKCJJbmxpbmUgRENURGVjb2RlIGltYWdlIHN0cmVhbTogRU9JIG1hcmtlciBub3QgZm91bmQsIHNlYXJjaGluZyBmb3IgL0VJLyBpbnN0ZWFkLiIpO2Uuc2tpcCgtcik7cmV0dXJuIHRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoZSl9dGhpcy5pbmxpbmVTdHJlYW1Ta2lwRUkoZSk7cmV0dXJuIHJ9ZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3QgdD1lLnBvcztsZXQgaTtmb3IoOy0xIT09KGk9ZS5nZXRCeXRlKCkpOylpZigxMjY9PT1pKXtjb25zdCB0PWUucG9zO2k9ZS5wZWVrQnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKGkpOyl7ZS5za2lwKCk7aT1lLnBlZWtCeXRlKCl9aWYoNjI9PT1pKXtlLnNraXAoKTticmVha31pZihlLnBvcz50KXtjb25zdCB0PWUucGVla0J5dGVzKDIpO2lmKDY5PT09dFswXSYmNzM9PT10WzFdKWJyZWFrfX1jb25zdCBhPWUucG9zLXQ7aWYoLTE9PT1pKXt3YXJuKCJJbmxpbmUgQVNDSUk4NURlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLWEpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiBhfWZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChlKXtjb25zdCB0PWUucG9zO2xldCBpO2Zvcig7LTEhPT0oaT1lLmdldEJ5dGUoKSkmJjYyIT09aTspO2NvbnN0IGE9ZS5wb3MtdDtpZigtMT09PWkpe3dhcm4oIklubGluZSBBU0NJSUhleERlY29kZSBpbWFnZSBzdHJlYW06IEVPRCBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLWEpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiBhfWlubGluZVN0cmVhbVNraXBFSShlKXtsZXQgdCxpPTA7Zm9yKDstMSE9PSh0PWUuZ2V0Qnl0ZSgpKTspaWYoMD09PWkpaT02OT09PXQ/MTowO2Vsc2UgaWYoMT09PWkpaT03Mz09PXQ/MjowO2Vsc2UgaWYoMj09PWkpYnJlYWt9bWFrZUlubGluZUltYWdlKGUpe2NvbnN0IHQ9dGhpcy5sZXhlcixpPXQuc3RyZWFtLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgcztmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIklEIikmJnRoaXMuYnVmMSE9PXd0Oyl7aWYoISh0aGlzLmJ1ZjEgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRpY3Rpb25hcnkga2V5IG11c3QgYmUgYSBuYW1lIG9iamVjdCIpO2NvbnN0IHQ9dGhpcy5idWYxLm5hbWU7dGhpcy5zaGlmdCgpO2lmKHRoaXMuYnVmMT09PXd0KWJyZWFrO2FbdF09dGhpcy5nZXRPYmooZSl9LTEhPT10LmJlZ2luSW5saW5lSW1hZ2VQb3MmJihzPWkucG9zLXQuYmVnaW5JbmxpbmVJbWFnZVBvcyk7Y29uc3Qgcj10aGlzLnhyZWYuZmV0Y2hJZlJlZihhLkZ8fGEuRmlsdGVyKTtsZXQgbjtpZihyIGluc3RhbmNlb2YgTmFtZSluPXIubmFtZTtlbHNlIGlmKEFycmF5LmlzQXJyYXkocikpe2NvbnN0IGU9dGhpcy54cmVmLmZldGNoSWZSZWYoclswXSk7ZSBpbnN0YW5jZW9mIE5hbWUmJihuPWUubmFtZSl9Y29uc3QgZz1pLnBvcztsZXQgbyxjO3N3aXRjaChuKXtjYXNlIkRDVCI6Y2FzZSJEQ1REZWNvZGUiOm89dGhpcy5maW5kRENURGVjb2RlSW5saW5lU3RyZWFtRW5kKGkpO2JyZWFrO2Nhc2UiQTg1IjpjYXNlIkFTQ0lJODVEZWNvZGUiOm89dGhpcy5maW5kQVNDSUk4NURlY29kZUlubGluZVN0cmVhbUVuZChpKTticmVhaztjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6bz10aGlzLmZpbmRBU0NJSUhleERlY29kZUlubGluZVN0cmVhbUVuZChpKTticmVhaztkZWZhdWx0Om89dGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChpKX1pZihvPDFlMyYmcz4wKXtjb25zdCBlPWkucG9zO2kucG9zPXQuYmVnaW5JbmxpbmVJbWFnZVBvcztjPWZ1bmN0aW9uIGdldElubGluZUltYWdlQ2FjaGVLZXkoZSl7Y29uc3QgdD1bXSxpPWUubGVuZ3RoO2xldCBhPTA7Zm9yKDthPGktMTspdC5wdXNoKGVbYSsrXTw8OHxlW2ErK10pO2E8aSYmdC5wdXNoKGVbYV0pO3JldHVybiBpKyJfIitTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsdCl9KGkuZ2V0Qnl0ZXMocytvKSk7aS5wb3M9ZTtjb25zdCBhPXRoaXMuaW1hZ2VDYWNoZVtjXTtpZih2b2lkIDAhPT1hKXt0aGlzLmJ1ZjI9Q21kLmdldCgiRUkiKTt0aGlzLnNoaWZ0KCk7YS5yZXNldCgpO3JldHVybiBhfX1jb25zdCBDPW5ldyBEaWN0KHRoaXMueHJlZik7Zm9yKGNvbnN0IGUgaW4gYSlDLnNldChlLGFbZV0pO2xldCBoPWkubWFrZVN1YlN0cmVhbShnLG8sQyk7ZSYmKGg9ZS5jcmVhdGVTdHJlYW0oaCxvKSk7aD10aGlzLmZpbHRlcihoLEMsbyk7aC5kaWN0PUM7aWYodm9pZCAwIT09Yyl7aC5jYWNoZUtleT0iaW5saW5lX2ltZ18iKyArK3RoaXMuX2ltYWdlSWQ7dGhpcy5pbWFnZUNhY2hlW2NdPWh9dGhpcy5idWYyPUNtZC5nZXQoIkVJIik7dGhpcy5zaGlmdCgpO3JldHVybiBofSN3KGUpe2NvbnN0e3N0cmVhbTp0fT10aGlzLmxleGVyO3QucG9zPWU7Y29uc3QgaT1uZXcgVWludDhBcnJheShbMTAxLDExMCwxMDBdKSxhPWkubGVuZ3RoLHM9W25ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTcsMTA5XSksbmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsMTAxLDk3LDEwOV0pLG5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDExNCwxMDEsOTddKV0scj05LWE7Zm9yKDt0LnBvczx0LmVuZDspe2NvbnN0IG49dC5wZWVrQnl0ZXMoMjA0OCksZz1uLmxlbmd0aC05O2lmKGc8PTApYnJlYWs7bGV0IG89MDtmb3IoO288Zzspe2xldCBnPTA7Zm9yKDtnPGEmJm5bbytnXT09PWlbZ107KWcrKztpZihnPj1hKXtsZXQgYT0hMTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PWUubGVuZ3RoO2xldCBzPTA7Zm9yKDtzPHQmJm5bbytnK3NdPT09ZVtzXTspcysrO2lmKHM+PXIpe2E9ITA7YnJlYWt9aWYocz49dCl7aWYoaXNXaGl0ZVNwYWNlKG5bbytnK3NdKSl7aW5mbyhgRm91bmQgIiR7Ynl0ZXNUb1N0cmluZyhbLi4uaSwuLi5lXSl9IiB3aGVuIHNlYXJjaGluZyBmb3IgZW5kc3RyZWFtIGNvbW1hbmQuYCk7YT0hMH1icmVha319aWYoYSl7dC5wb3MrPW87cmV0dXJuIHQucG9zLWV9fW8rK310LnBvcys9Z31yZXR1cm4tMX1tYWtlU3RyZWFtKGUsdCl7Y29uc3QgaT10aGlzLmxleGVyO2xldCBhPWkuc3RyZWFtO2kuc2tpcFRvTmV4dExpbmUoKTtjb25zdCBzPWEucG9zLTE7bGV0IHI9ZS5nZXQoIkxlbmd0aCIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpKXtpbmZvKGBCYWQgbGVuZ3RoICIke3ImJnIudG9TdHJpbmcoKX0iIGluIHN0cmVhbS5gKTtyPTB9YS5wb3M9cytyO2kubmV4dENoYXIoKTtpZih0aGlzLnRyeVNoaWZ0KCkmJmlzQ21kKHRoaXMuYnVmMiwiZW5kc3RyZWFtIikpdGhpcy5zaGlmdCgpO2Vsc2V7cj10aGlzLiN3KHMpO2lmKHI8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1pc3NpbmcgZW5kc3RyZWFtIGNvbW1hbmQuIik7aS5uZXh0Q2hhcigpO3RoaXMuc2hpZnQoKTt0aGlzLnNoaWZ0KCl9dGhpcy5zaGlmdCgpO2E9YS5tYWtlU3ViU3RyZWFtKHMscixlKTt0JiYoYT10LmNyZWF0ZVN0cmVhbShhLHIpKTthPXRoaXMuZmlsdGVyKGEsZSxyKTthLmRpY3Q9ZTtyZXR1cm4gYX1maWx0ZXIoZSx0LGkpe2xldCBhPXQuZ2V0KCJGIiwiRmlsdGVyIikscz10LmdldCgiRFAiLCJEZWNvZGVQYXJtcyIpO2lmKGEgaW5zdGFuY2VvZiBOYW1lKXtBcnJheS5pc0FycmF5KHMpJiZ3YXJuKCIvRGVjb2RlUGFybXMgc2hvdWxkIG5vdCBiZSBhbiBBcnJheSwgd2hlbiAvRmlsdGVyIGlzIGEgTmFtZS4iKTtyZXR1cm4gdGhpcy5tYWtlRmlsdGVyKGUsYS5uYW1lLGkscyl9bGV0IHI9aTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCB0PWEsaT1zO2ZvcihsZXQgbj0wLGc9dC5sZW5ndGg7bjxnOysrbil7YT10aGlzLnhyZWYuZmV0Y2hJZlJlZih0W25dKTtpZighKGEgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBmaWx0ZXIgbmFtZSAiJHthfSJgKTtzPW51bGw7QXJyYXkuaXNBcnJheShpKSYmbiBpbiBpJiYocz10aGlzLnhyZWYuZmV0Y2hJZlJlZihpW25dKSk7ZT10aGlzLm1ha2VGaWx0ZXIoZSxhLm5hbWUscixzKTtyPW51bGx9fXJldHVybiBlfW1ha2VGaWx0ZXIoZSx0LGksYSl7aWYoMD09PWkpe3dhcm4oYEVtcHR5ICIke3R9IiBzdHJlYW0uYCk7cmV0dXJuIG5ldyBOdWxsU3RyZWFtfXRyeXtzd2l0Y2godCl7Y2FzZSJGbCI6Y2FzZSJGbGF0ZURlY29kZSI6cmV0dXJuIGE/bmV3IFByZWRpY3RvclN0cmVhbShuZXcgRmxhdGVTdHJlYW0oZSxpKSxpLGEpOm5ldyBGbGF0ZVN0cmVhbShlLGkpO2Nhc2UiTFpXIjpjYXNlIkxaV0RlY29kZSI6bGV0IHQ9MTtpZihhKXthLmhhcygiRWFybHlDaGFuZ2UiKSYmKHQ9YS5nZXQoIkVhcmx5Q2hhbmdlIikpO3JldHVybiBuZXcgUHJlZGljdG9yU3RyZWFtKG5ldyBMWldTdHJlYW0oZSxpLHQpLGksYSl9cmV0dXJuIG5ldyBMWldTdHJlYW0oZSxpLHQpO2Nhc2UiRENUIjpjYXNlIkRDVERlY29kZSI6cmV0dXJuIG5ldyBKcGVnU3RyZWFtKGUsaSxhKTtjYXNlIkpQWCI6Y2FzZSJKUFhEZWNvZGUiOnJldHVybiBuZXcgSnB4U3RyZWFtKGUsaSxhKTtjYXNlIkE4NSI6Y2FzZSJBU0NJSTg1RGVjb2RlIjpyZXR1cm4gbmV3IEFzY2lpODVTdHJlYW0oZSxpKTtjYXNlIkFIeCI6Y2FzZSJBU0NJSUhleERlY29kZSI6cmV0dXJuIG5ldyBBc2NpaUhleFN0cmVhbShlLGkpO2Nhc2UiQ0NGIjpjYXNlIkNDSVRURmF4RGVjb2RlIjpyZXR1cm4gbmV3IENDSVRURmF4U3RyZWFtKGUsaSxhKTtjYXNlIlJMIjpjYXNlIlJ1bkxlbmd0aERlY29kZSI6cmV0dXJuIG5ldyBSdW5MZW5ndGhTdHJlYW0oZSxpKTtjYXNlIkpCSUcyRGVjb2RlIjpyZXR1cm4gbmV3IEpiaWcyU3RyZWFtKGUsaSxhKX13YXJuKGBGaWx0ZXIgIiR7dH0iIGlzIG5vdCBzdXBwb3J0ZWQuYCk7cmV0dXJuIGV9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgSW52YWxpZCBzdHJlYW06ICIke2V9ImApO3JldHVybiBuZXcgTnVsbFN0cmVhbX19fWNvbnN0IEJpPVsxLDAsMCwwLDAsMCwwLDAsMCwxLDEsMCwxLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDIsMCwwLDIsMiwwLDAsMCwwLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXTtmdW5jdGlvbiB0b0hleERpZ2l0KGUpe3JldHVybiBlPj00OCYmZTw9NTc/MTUmZTplPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDI/OSsoMTUmZSk6LTF9Y2xhc3MgTGV4ZXJ7Y29uc3RydWN0b3IoZSx0PW51bGwpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdO3RoaXMua25vd25Db21tYW5kcz10O3RoaXMuX2hleFN0cmluZ051bVdhcm49MDt0aGlzLmJlZ2luSW5saW5lSW1hZ2VQb3M9LTF9bmV4dENoYXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Q2hhcj10aGlzLnN0cmVhbS5nZXRCeXRlKCl9cGVla0NoYXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0ucGVla0J5dGUoKX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyLHQ9ITEsaT0wLGE9MTtpZig0NT09PWUpe2E9LTE7ZT10aGlzLm5leHRDaGFyKCk7NDU9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpfWVsc2UgNDM9PT1lJiYoZT10aGlzLm5leHRDaGFyKCkpO2lmKDEwPT09ZXx8MTM9PT1lKWRve2U9dGhpcy5uZXh0Q2hhcigpfXdoaWxlKDEwPT09ZXx8MTM9PT1lKTtpZig0Nj09PWUpe2k9MTA7ZT10aGlzLm5leHRDaGFyKCl9aWYoZTw0OHx8ZT41Nyl7Y29uc3QgdD1gSW52YWxpZCBudW1iZXI6ICR7U3RyaW5nLmZyb21DaGFyQ29kZShlKX0gKGNoYXJDb2RlICR7ZX0pYDtpZihpc1doaXRlU3BhY2UoZSl8fC0xPT09ZSl7aW5mbyhgTGV4ZXIuZ2V0TnVtYmVyIC0gIiR7dH0iLmApO3JldHVybiAwfXRocm93IG5ldyBGb3JtYXRFcnJvcih0KX1sZXQgcz1lLTQ4LHI9MCxuPTE7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wOylpZihlPj00OCYmZTw9NTcpe2NvbnN0IGE9ZS00ODtpZih0KXI9MTAqcithO2Vsc2V7MCE9PWkmJihpKj0xMCk7cz0xMCpzK2F9fWVsc2UgaWYoNDY9PT1lKXtpZigwIT09aSlicmVhaztpPTF9ZWxzZSBpZig0NT09PWUpd2FybigiQmFkbHkgZm9ybWF0dGVkIG51bWJlcjogbWludXMgc2lnbiBpbiB0aGUgbWlkZGxlIik7ZWxzZXtpZig2OSE9PWUmJjEwMSE9PWUpYnJlYWs7ZT10aGlzLnBlZWtDaGFyKCk7aWYoNDM9PT1lfHw0NT09PWUpe249NDU9PT1lPy0xOjE7dGhpcy5uZXh0Q2hhcigpfWVsc2UgaWYoZTw0OHx8ZT41NylicmVhazt0PSEwfTAhPT1pJiYocy89aSk7dCYmKHMqPTEwKioobipyKSk7cmV0dXJuIGEqc31nZXRTdHJpbmcoKXtsZXQgZT0xLHQ9ITE7Y29uc3QgaT10aGlzLnN0ckJ1ZjtpLmxlbmd0aD0wO2xldCBhPXRoaXMubmV4dENoYXIoKTtmb3IoOzspe2xldCBzPSExO3N3aXRjaCgwfGEpe2Nhc2UtMTp3YXJuKCJVbnRlcm1pbmF0ZWQgc3RyaW5nIik7dD0hMDticmVhaztjYXNlIDQwOisrZTtpLnB1c2goIigiKTticmVhaztjYXNlIDQxOmlmKDA9PS0tZSl7dGhpcy5uZXh0Q2hhcigpO3Q9ITB9ZWxzZSBpLnB1c2goIikiKTticmVhaztjYXNlIDkyOmE9dGhpcy5uZXh0Q2hhcigpO3N3aXRjaChhKXtjYXNlLTE6d2FybigiVW50ZXJtaW5hdGVkIHN0cmluZyIpO3Q9ITA7YnJlYWs7Y2FzZSAxMTA6aS5wdXNoKCJcbiIpO2JyZWFrO2Nhc2UgMTE0OmkucHVzaCgiXHIiKTticmVhaztjYXNlIDExNjppLnB1c2goIlx0Iik7YnJlYWs7Y2FzZSA5ODppLnB1c2goIlxiIik7YnJlYWs7Y2FzZSAxMDI6aS5wdXNoKCJcZiIpO2JyZWFrO2Nhc2UgOTI6Y2FzZSA0MDpjYXNlIDQxOmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKTticmVhaztjYXNlIDQ4OmNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6bGV0IGU9MTUmYTthPXRoaXMubmV4dENoYXIoKTtzPSEwO2lmKGE+PTQ4JiZhPD01NSl7ZT0oZTw8MykrKDE1JmEpO2E9dGhpcy5uZXh0Q2hhcigpO2lmKGE+PTQ4JiZhPD01NSl7cz0hMTtlPShlPDwzKSsoMTUmYSl9fWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTticmVhaztjYXNlIDEzOjEwPT09dGhpcy5wZWVrQ2hhcigpJiZ0aGlzLm5leHRDaGFyKCk7YnJlYWs7Y2FzZSAxMDpicmVhaztkZWZhdWx0OmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKX1icmVhaztkZWZhdWx0OmkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKX1pZih0KWJyZWFrO3N8fChhPXRoaXMubmV4dENoYXIoKSl9cmV0dXJuIGkuam9pbigiIil9Z2V0TmFtZSgpe2xldCBlLHQ7Y29uc3QgaT10aGlzLnN0ckJ1ZjtpLmxlbmd0aD0wO2Zvcig7KGU9dGhpcy5uZXh0Q2hhcigpKT49MCYmIUJpW2VdOylpZigzNT09PWUpe2U9dGhpcy5uZXh0Q2hhcigpO2lmKEJpW2VdKXt3YXJuKCJMZXhlcl9nZXROYW1lOiBOVU1CRVIgU0lHTiAoIykgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IGEgaGV4YWRlY2ltYWwgbnVtYmVyLiIpO2kucHVzaCgiIyIpO2JyZWFrfWNvbnN0IGE9dG9IZXhEaWdpdChlKTtpZigtMSE9PWEpe3Q9ZTtlPXRoaXMubmV4dENoYXIoKTtjb25zdCBzPXRvSGV4RGlnaXQoZSk7aWYoLTE9PT1zKXt3YXJuKGBMZXhlcl9nZXROYW1lOiBJbGxlZ2FsIGRpZ2l0ICgke1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9KSBpbiBoZXhhZGVjaW1hbCBudW1iZXIuYCk7aS5wdXNoKCIjIixTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTtpZihCaVtlXSlicmVhaztpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7Y29udGludWV9aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYTw8NHxzKSl9ZWxzZSBpLnB1c2goIiMiLFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpfWVsc2UgaS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2kubGVuZ3RoPjEyNyYmd2FybihgTmFtZSB0b2tlbiBpcyBsb25nZXIgdGhhbiBhbGxvd2VkIGJ5IHRoZSBzcGVjOiAke2kubGVuZ3RofWApO3JldHVybiBOYW1lLmdldChpLmpvaW4oIiIpKX1faGV4U3RyaW5nV2FybihlKXs1IT10aGlzLl9oZXhTdHJpbmdOdW1XYXJuKys/dGhpcy5faGV4U3RyaW5nTnVtV2Fybj41fHx3YXJuKGBnZXRIZXhTdHJpbmcgLSBpZ25vcmluZyBpbnZhbGlkIGNoYXJhY3RlcjogJHtlfWApOndhcm4oImdldEhleFN0cmluZyAtIGlnbm9yaW5nIGFkZGl0aW9uYWwgaW52YWxpZCBjaGFyYWN0ZXJzLiIpfWdldEhleFN0cmluZygpe2NvbnN0IGU9dGhpcy5zdHJCdWY7ZS5sZW5ndGg9MDtsZXQgdD10aGlzLmN1cnJlbnRDaGFyLGk9LTEsYT0tMTt0aGlzLl9oZXhTdHJpbmdOdW1XYXJuPTA7Zm9yKDs7KXtpZih0PDApe3dhcm4oIlVudGVybWluYXRlZCBoZXggc3RyaW5nIik7YnJlYWt9aWYoNjI9PT10KXt0aGlzLm5leHRDaGFyKCk7YnJlYWt9aWYoMSE9PUJpW3RdKXthPXRvSGV4RGlnaXQodCk7aWYoLTE9PT1hKXRoaXMuX2hleFN0cmluZ1dhcm4odCk7ZWxzZSBpZigtMT09PWkpaT1hO2Vsc2V7ZS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoaTw8NHxhKSk7aT0tMX10PXRoaXMubmV4dENoYXIoKX1lbHNlIHQ9dGhpcy5uZXh0Q2hhcigpfS0xIT09aSYmZS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoaTw8NCkpO3JldHVybiBlLmpvaW4oIiIpfWdldE9iaigpe2xldCBlPSExLHQ9dGhpcy5jdXJyZW50Q2hhcjtmb3IoOzspe2lmKHQ8MClyZXR1cm4gd3Q7aWYoZSkxMCE9PXQmJjEzIT09dHx8KGU9ITEpO2Vsc2UgaWYoMzc9PT10KWU9ITA7ZWxzZSBpZigxIT09QmlbdF0pYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9c3dpdGNoKDB8dCl7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA0NjpyZXR1cm4gdGhpcy5nZXROdW1iZXIoKTtjYXNlIDQwOnJldHVybiB0aGlzLmdldFN0cmluZygpO2Nhc2UgNDc6cmV0dXJuIHRoaXMuZ2V0TmFtZSgpO2Nhc2UgOTE6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJbIik7Y2FzZSA5Mzp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIl0iKTtjYXNlIDYwOnQ9dGhpcy5uZXh0Q2hhcigpO2lmKDYwPT09dCl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCI8PCIpfXJldHVybiB0aGlzLmdldEhleFN0cmluZygpO2Nhc2UgNjI6dD10aGlzLm5leHRDaGFyKCk7aWYoNjI9PT10KXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIj4+Iil9cmV0dXJuIENtZC5nZXQoIj4iKTtjYXNlIDEyMzp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoInsiKTtjYXNlIDEyNTp0aGlzLm5leHRDaGFyKCk7cmV0dXJuIENtZC5nZXQoIn0iKTtjYXNlIDQxOnRoaXMubmV4dENoYXIoKTt0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYElsbGVnYWwgY2hhcmFjdGVyOiAke3R9YCl9bGV0IGk9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtpZih0PDMyfHx0PjEyNyl7Y29uc3QgZT10aGlzLnBlZWtDaGFyKCk7aWYoZT49MzImJmU8PTEyNyl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KGkpfX1jb25zdCBhPXRoaXMua25vd25Db21tYW5kcztsZXQgcz12b2lkIDAhPT1hPy5baV07Zm9yKDsodD10aGlzLm5leHRDaGFyKCkpPj0wJiYhQmlbdF07KXtjb25zdCBlPWkrU3RyaW5nLmZyb21DaGFyQ29kZSh0KTtpZihzJiZ2b2lkIDA9PT1hW2VdKWJyZWFrO2lmKDEyOD09PWkubGVuZ3RoKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQ29tbWFuZCB0b2tlbiB0b28gbG9uZzogJHtpLmxlbmd0aH1gKTtpPWU7cz12b2lkIDAhPT1hPy5baV19aWYoInRydWUiPT09aSlyZXR1cm4hMDtpZigiZmFsc2UiPT09aSlyZXR1cm4hMTtpZigibnVsbCI9PT1pKXJldHVybiBudWxsOyJCSSI9PT1pJiYodGhpcy5iZWdpbklubGluZUltYWdlUG9zPXRoaXMuc3RyZWFtLnBvcyk7cmV0dXJuIENtZC5nZXQoaSl9c2tpcFRvTmV4dExpbmUoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyO2Zvcig7ZT49MDspe2lmKDEzPT09ZSl7ZT10aGlzLm5leHRDaGFyKCk7MTA9PT1lJiZ0aGlzLm5leHRDaGFyKCk7YnJlYWt9aWYoMTA9PT1lKXt0aGlzLm5leHRDaGFyKCk7YnJlYWt9ZT10aGlzLm5leHRDaGFyKCl9fX1jbGFzcyBMaW5lYXJpemF0aW9ue3N0YXRpYyBjcmVhdGUoZSl7ZnVuY3Rpb24gZ2V0SW50KGUsdCxpPSExKXtjb25zdCBhPWUuZ2V0KHQpO2lmKE51bWJlci5pc0ludGVnZXIoYSkmJihpP2E+PTA6YT4wKSlyZXR1cm4gYTt0aHJvdyBuZXcgRXJyb3IoYFRoZSAiJHt0fSIgcGFyYW1ldGVyIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC5gKX1jb25zdCB0PW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihlKSx4cmVmOm51bGx9KSxpPXQuZ2V0T2JqKCksYT10LmdldE9iaigpLHM9dC5nZXRPYmooKSxyPXQuZ2V0T2JqKCk7bGV0IG4sZztpZighKE51bWJlci5pc0ludGVnZXIoaSkmJk51bWJlci5pc0ludGVnZXIoYSkmJmlzQ21kKHMsIm9iaiIpJiZyIGluc3RhbmNlb2YgRGljdCYmIm51bWJlciI9PXR5cGVvZihuPXIuZ2V0KCJMaW5lYXJpemVkIikpJiZuPjApKXJldHVybiBudWxsO2lmKChnPWdldEludChyLCJMIikpIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdUaGUgIkwiIHBhcmFtZXRlciBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGRvZXMgbm90IGVxdWFsIHRoZSBzdHJlYW0gbGVuZ3RoLicpO3JldHVybntsZW5ndGg6ZyxoaW50czpmdW5jdGlvbiBnZXRIaW50cyhlKXtjb25zdCB0PWUuZ2V0KCJIIik7bGV0IGk7aWYoQXJyYXkuaXNBcnJheSh0KSYmKDI9PT0oaT10Lmxlbmd0aCl8fDQ9PT1pKSl7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7Y29uc3QgaT10W2VdO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihpKSYmaT4wKSl0aHJvdyBuZXcgRXJyb3IoYEhpbnQgKCR7ZX0pIGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC5gKX1yZXR1cm4gdH10aHJvdyBuZXcgRXJyb3IoIkhpbnQgYXJyYXkgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLiIpfShyKSxvYmplY3ROdW1iZXJGaXJzdDpnZXRJbnQociwiTyIpLGVuZEZpcnN0OmdldEludChyLCJFIiksbnVtUGFnZXM6Z2V0SW50KHIsIk4iKSxtYWluWFJlZkVudHJpZXNPZmZzZXQ6Z2V0SW50KHIsIlQiKSxwYWdlRmlyc3Q6ci5oYXMoIlAiKT9nZXRJbnQociwiUCIsITApOjB9fX1jb25zdCBsaT1bIkFkb2JlLUdCMS1VQ1MyIiwiQWRvYmUtQ05TMS1VQ1MyIiwiQWRvYmUtSmFwYW4xLVVDUzIiLCJBZG9iZS1Lb3JlYTEtVUNTMiIsIjc4LUVVQy1IIiwiNzgtRVVDLVYiLCI3OC1IIiwiNzgtUktTSi1IIiwiNzgtUktTSi1WIiwiNzgtViIsIjc4bXMtUktTSi1IIiwiNzhtcy1SS1NKLVYiLCI4M3B2LVJLU0otSCIsIjkwbXMtUktTSi1IIiwiOTBtcy1SS1NKLVYiLCI5MG1zcC1SS1NKLUgiLCI5MG1zcC1SS1NKLVYiLCI5MHB2LVJLU0otSCIsIjkwcHYtUktTSi1WIiwiQWRkLUgiLCJBZGQtUktTSi1IIiwiQWRkLVJLU0otViIsIkFkZC1WIiwiQWRvYmUtQ05TMS0wIiwiQWRvYmUtQ05TMS0xIiwiQWRvYmUtQ05TMS0yIiwiQWRvYmUtQ05TMS0zIiwiQWRvYmUtQ05TMS00IiwiQWRvYmUtQ05TMS01IiwiQWRvYmUtQ05TMS02IiwiQWRvYmUtR0IxLTAiLCJBZG9iZS1HQjEtMSIsIkFkb2JlLUdCMS0yIiwiQWRvYmUtR0IxLTMiLCJBZG9iZS1HQjEtNCIsIkFkb2JlLUdCMS01IiwiQWRvYmUtSmFwYW4xLTAiLCJBZG9iZS1KYXBhbjEtMSIsIkFkb2JlLUphcGFuMS0yIiwiQWRvYmUtSmFwYW4xLTMiLCJBZG9iZS1KYXBhbjEtNCIsIkFkb2JlLUphcGFuMS01IiwiQWRvYmUtSmFwYW4xLTYiLCJBZG9iZS1Lb3JlYTEtMCIsIkFkb2JlLUtvcmVhMS0xIiwiQWRvYmUtS29yZWExLTIiLCJCNS1IIiwiQjUtViIsIkI1cGMtSCIsIkI1cGMtViIsIkNOUy1FVUMtSCIsIkNOUy1FVUMtViIsIkNOUzEtSCIsIkNOUzEtViIsIkNOUzItSCIsIkNOUzItViIsIkVUSEstQjUtSCIsIkVUSEstQjUtViIsIkVUZW4tQjUtSCIsIkVUZW4tQjUtViIsIkVUZW5tcy1CNS1IIiwiRVRlbm1zLUI1LVYiLCJFVUMtSCIsIkVVQy1WIiwiRXh0LUgiLCJFeHQtUktTSi1IIiwiRXh0LVJLU0otViIsIkV4dC1WIiwiR0ItRVVDLUgiLCJHQi1FVUMtViIsIkdCLUgiLCJHQi1WIiwiR0JLLUVVQy1IIiwiR0JLLUVVQy1WIiwiR0JLMkstSCIsIkdCSzJLLVYiLCJHQktwLUVVQy1IIiwiR0JLcC1FVUMtViIsIkdCVC1FVUMtSCIsIkdCVC1FVUMtViIsIkdCVC1IIiwiR0JULVYiLCJHQlRwYy1FVUMtSCIsIkdCVHBjLUVVQy1WIiwiR0JwYy1FVUMtSCIsIkdCcGMtRVVDLVYiLCJIIiwiSEtkbGEtQjUtSCIsIkhLZGxhLUI1LVYiLCJIS2RsYi1CNS1IIiwiSEtkbGItQjUtViIsIkhLZ2Njcy1CNS1IIiwiSEtnY2NzLUI1LVYiLCJIS20zMTQtQjUtSCIsIkhLbTMxNC1CNS1WIiwiSEttNDcxLUI1LUgiLCJIS200NzEtQjUtViIsIkhLc2NzLUI1LUgiLCJIS3Njcy1CNS1WIiwiSGFua2FrdSIsIkhpcmFnYW5hIiwiS1NDLUVVQy1IIiwiS1NDLUVVQy1WIiwiS1NDLUgiLCJLU0MtSm9oYWItSCIsIktTQy1Kb2hhYi1WIiwiS1NDLVYiLCJLU0Ntcy1VSEMtSCIsIktTQ21zLVVIQy1IVy1IIiwiS1NDbXMtVUhDLUhXLVYiLCJLU0Ntcy1VSEMtViIsIktTQ3BjLUVVQy1IIiwiS1NDcGMtRVVDLVYiLCJLYXRha2FuYSIsIk5XUC1IIiwiTldQLVYiLCJSS1NKLUgiLCJSS1NKLVYiLCJSb21hbiIsIlVuaUNOUy1VQ1MyLUgiLCJVbmlDTlMtVUNTMi1WIiwiVW5pQ05TLVVURjE2LUgiLCJVbmlDTlMtVVRGMTYtViIsIlVuaUNOUy1VVEYzMi1IIiwiVW5pQ05TLVVURjMyLVYiLCJVbmlDTlMtVVRGOC1IIiwiVW5pQ05TLVVURjgtViIsIlVuaUdCLVVDUzItSCIsIlVuaUdCLVVDUzItViIsIlVuaUdCLVVURjE2LUgiLCJVbmlHQi1VVEYxNi1WIiwiVW5pR0ItVVRGMzItSCIsIlVuaUdCLVVURjMyLVYiLCJVbmlHQi1VVEY4LUgiLCJVbmlHQi1VVEY4LVYiLCJVbmlKSVMtVUNTMi1IIiwiVW5pSklTLVVDUzItSFctSCIsIlVuaUpJUy1VQ1MyLUhXLVYiLCJVbmlKSVMtVUNTMi1WIiwiVW5pSklTLVVURjE2LUgiLCJVbmlKSVMtVVRGMTYtViIsIlVuaUpJUy1VVEYzMi1IIiwiVW5pSklTLVVURjMyLVYiLCJVbmlKSVMtVVRGOC1IIiwiVW5pSklTLVVURjgtViIsIlVuaUpJUzIwMDQtVVRGMTYtSCIsIlVuaUpJUzIwMDQtVVRGMTYtViIsIlVuaUpJUzIwMDQtVVRGMzItSCIsIlVuaUpJUzIwMDQtVVRGMzItViIsIlVuaUpJUzIwMDQtVVRGOC1IIiwiVW5pSklTMjAwNC1VVEY4LVYiLCJVbmlKSVNQcm8tVUNTMi1IVy1WIiwiVW5pSklTUHJvLVVDUzItViIsIlVuaUpJU1Byby1VVEY4LVYiLCJVbmlKSVNYMDIxMy1VVEYzMi1IIiwiVW5pSklTWDAyMTMtVVRGMzItViIsIlVuaUpJU1gwMjEzMjAwNC1VVEYzMi1IIiwiVW5pSklTWDAyMTMyMDA0LVVURjMyLVYiLCJVbmlLUy1VQ1MyLUgiLCJVbmlLUy1VQ1MyLVYiLCJVbmlLUy1VVEYxNi1IIiwiVW5pS1MtVVRGMTYtViIsIlVuaUtTLVVURjMyLUgiLCJVbmlLUy1VVEYzMi1WIiwiVW5pS1MtVVRGOC1IIiwiVW5pS1MtVVRGOC1WIiwiViIsIldQLVN5bWJvbCJdLFFpPTIqKjI0LTE7Y2xhc3MgQ01hcHtjb25zdHJ1Y3RvcihlPSExKXt0aGlzLmNvZGVzcGFjZVJhbmdlcz1bW10sW10sW10sW11dO3RoaXMubnVtQ29kZXNwYWNlUmFuZ2VzPTA7dGhpcy5fbWFwPVtdO3RoaXMubmFtZT0iIjt0aGlzLnZlcnRpY2FsPSExO3RoaXMudXNlQ01hcD1udWxsO3RoaXMuYnVpbHRJbkNNYXA9ZX1hZGRDb2Rlc3BhY2VSYW5nZShlLHQsaSl7dGhpcy5jb2Rlc3BhY2VSYW5nZXNbZS0xXS5wdXNoKHQsaSk7dGhpcy5udW1Db2Rlc3BhY2VSYW5nZXMrK31tYXBDaWRSYW5nZShlLHQsaSl7aWYodC1lPlFpKXRocm93IG5ldyBFcnJvcigibWFwQ2lkUmFuZ2UgLSBpZ25vcmluZyBkYXRhIGFib3ZlIE1BWF9NQVBfUkFOR0UuIik7Zm9yKDtlPD10Oyl0aGlzLl9tYXBbZSsrXT1pKyt9bWFwQmZSYW5nZShlLHQsaSl7aWYodC1lPlFpKXRocm93IG5ldyBFcnJvcigibWFwQmZSYW5nZSAtIGlnbm9yaW5nIGRhdGEgYWJvdmUgTUFYX01BUF9SQU5HRS4iKTtjb25zdCBhPWkubGVuZ3RoLTE7Zm9yKDtlPD10Oyl7dGhpcy5fbWFwW2UrK109aTtjb25zdCB0PWkuY2hhckNvZGVBdChhKSsxO3Q+MjU1P2k9aS5zdWJzdHJpbmcoMCxhLTEpK1N0cmluZy5mcm9tQ2hhckNvZGUoaS5jaGFyQ29kZUF0KGEtMSkrMSkrIlwwIjppPWkuc3Vic3RyaW5nKDAsYSkrU3RyaW5nLmZyb21DaGFyQ29kZSh0KX19bWFwQmZSYW5nZVRvQXJyYXkoZSx0LGkpe2lmKHQtZT5RaSl0aHJvdyBuZXcgRXJyb3IoIm1hcEJmUmFuZ2VUb0FycmF5IC0gaWdub3JpbmcgZGF0YSBhYm92ZSBNQVhfTUFQX1JBTkdFLiIpO2NvbnN0IGE9aS5sZW5ndGg7bGV0IHM9MDtmb3IoO2U8PXQmJnM8YTspe3RoaXMuX21hcFtlXT1pW3MrK107KytlfX1tYXBPbmUoZSx0KXt0aGlzLl9tYXBbZV09dH1sb29rdXAoZSl7cmV0dXJuIHRoaXMuX21hcFtlXX1jb250YWlucyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fbWFwW2VdfWZvckVhY2goZSl7Y29uc3QgdD10aGlzLl9tYXAsaT10Lmxlbmd0aDtpZihpPD02NTUzNilmb3IobGV0IGE9MDthPGk7YSsrKXZvaWQgMCE9PXRbYV0mJmUoYSx0W2FdKTtlbHNlIGZvcihjb25zdCBpIGluIHQpZShpLHRbaV0pfWNoYXJDb2RlT2YoZSl7Y29uc3QgdD10aGlzLl9tYXA7aWYodC5sZW5ndGg8PTY1NTM2KXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKGNvbnN0IGkgaW4gdClpZih0W2ldPT09ZSlyZXR1cm4gMHxpO3JldHVybi0xfWdldE1hcCgpe3JldHVybiB0aGlzLl9tYXB9cmVhZENoYXJDb2RlKGUsdCxpKXtsZXQgYT0wO2NvbnN0IHM9dGhpcy5jb2Rlc3BhY2VSYW5nZXM7Zm9yKGxldCByPTAsbj1zLmxlbmd0aDtyPG47cisrKXthPShhPDw4fGUuY2hhckNvZGVBdCh0K3IpKT4+PjA7Y29uc3Qgbj1zW3JdO2ZvcihsZXQgZT0wLHQ9bi5sZW5ndGg7ZTx0Oyl7Y29uc3QgdD1uW2UrK10scz1uW2UrK107aWYoYT49dCYmYTw9cyl7aS5jaGFyY29kZT1hO2kubGVuZ3RoPXIrMTtyZXR1cm59fX1pLmNoYXJjb2RlPTA7aS5sZW5ndGg9MX1nZXRDaGFyQ29kZUxlbmd0aChlKXtjb25zdCB0PXRoaXMuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgaT0wLGE9dC5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT10W2ldO2ZvcihsZXQgdD0wLHM9YS5sZW5ndGg7dDxzOyl7Y29uc3Qgcz1hW3QrK10scj1hW3QrK107aWYoZT49cyYmZTw9cilyZXR1cm4gaSsxfX1yZXR1cm4gMX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX21hcC5sZW5ndGh9Z2V0IGlzSWRlbnRpdHlDTWFwKCl7aWYoIklkZW50aXR5LUgiIT09dGhpcy5uYW1lJiYiSWRlbnRpdHktViIhPT10aGlzLm5hbWUpcmV0dXJuITE7aWYoNjU1MzYhPT10aGlzLl9tYXAubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZT0wO2U8NjU1MzY7ZSsrKWlmKHRoaXMuX21hcFtlXSE9PWUpcmV0dXJuITE7cmV0dXJuITB9fWNsYXNzIElkZW50aXR5Q01hcCBleHRlbmRzIENNYXB7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpO3RoaXMudmVydGljYWw9ZTt0aGlzLmFkZENvZGVzcGFjZVJhbmdlKHQsMCw2NTUzNSl9bWFwQ2lkUmFuZ2UoZSx0LGkpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQ2lkUmFuZ2UiKX1tYXBCZlJhbmdlKGUsdCxpKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcEJmUmFuZ2UiKX1tYXBCZlJhbmdlVG9BcnJheShlLHQsaSl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBCZlJhbmdlVG9BcnJheSIpfW1hcE9uZShlLHQpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQ2lkT25lIil9bG9va3VwKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPD02NTUzNT9lOnZvaWQgMH1jb250YWlucyhlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZTw9NjU1MzV9Zm9yRWFjaChlKXtmb3IobGV0IHQ9MDt0PD02NTUzNTt0KyspZSh0LHQpfWNoYXJDb2RlT2YoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU8PTY1NTM1P2U6LTF9Z2V0TWFwKCl7Y29uc3QgZT1uZXcgQXJyYXkoNjU1MzYpO2ZvcihsZXQgdD0wO3Q8PTY1NTM1O3QrKyllW3RdPXQ7cmV0dXJuIGV9Z2V0IGxlbmd0aCgpe3JldHVybiA2NTUzNn1nZXQgaXNJZGVudGl0eUNNYXAoKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBhY2Nlc3MgLmlzSWRlbnRpdHlDTWFwIil9fWZ1bmN0aW9uIHN0clRvSW50KGUpe2xldCB0PTA7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspdD10PDw4fGUuY2hhckNvZGVBdChpKTtyZXR1cm4gdD4+PjB9ZnVuY3Rpb24gZXhwZWN0U3RyaW5nKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1hbGZvcm1lZCBDTWFwOiBleHBlY3RlZCBzdHJpbmcuIil9ZnVuY3Rpb24gZXhwZWN0SW50KGUpe2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWFsZm9ybWVkIENNYXA6IGV4cGVjdGVkIGludC4iKX1mdW5jdGlvbiBwYXJzZUJmQ2hhcihlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09d3QpYnJlYWs7aWYoaXNDbWQoaSwiZW5kYmZjaGFyIikpcmV0dXJuO2V4cGVjdFN0cmluZyhpKTtjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RTdHJpbmcoaSk7Y29uc3Qgcz1pO2UubWFwT25lKGEscyl9fWZ1bmN0aW9uIHBhcnNlQmZSYW5nZShlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09d3QpYnJlYWs7aWYoaXNDbWQoaSwiZW5kYmZyYW5nZSIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IHM9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2lmKE51bWJlci5pc0ludGVnZXIoaSl8fCJzdHJpbmciPT10eXBlb2YgaSl7Y29uc3QgdD1OdW1iZXIuaXNJbnRlZ2VyKGkpP1N0cmluZy5mcm9tQ2hhckNvZGUoaSk6aTtlLm1hcEJmUmFuZ2UoYSxzLHQpfWVsc2V7aWYoIWlzQ21kKGksIlsiKSlicmVhazt7aT10LmdldE9iaigpO2NvbnN0IHI9W107Zm9yKDshaXNDbWQoaSwiXSIpJiZpIT09d3Q7KXtyLnB1c2goaSk7aT10LmdldE9iaigpfWUubWFwQmZSYW5nZVRvQXJyYXkoYSxzLHIpfX19dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGJmIHJhbmdlLiIpfWZ1bmN0aW9uIHBhcnNlQ2lkQ2hhcihlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09d3QpYnJlYWs7aWYoaXNDbWQoaSwiZW5kY2lkY2hhciIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0SW50KGkpO2NvbnN0IHM9aTtlLm1hcE9uZShhLHMpfX1mdW5jdGlvbiBwYXJzZUNpZFJhbmdlKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT13dClicmVhaztpZihpc0NtZChpLCJlbmRjaWRyYW5nZSIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IHM9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdEludChpKTtjb25zdCByPWk7ZS5tYXBDaWRSYW5nZShhLHMscil9fWZ1bmN0aW9uIHBhcnNlQ29kZXNwYWNlUmFuZ2UoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXd0KWJyZWFrO2lmKGlzQ21kKGksImVuZGNvZGVzcGFjZXJhbmdlIikpcmV0dXJuO2lmKCJzdHJpbmciIT10eXBlb2YgaSlicmVhaztjb25zdCBhPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtpZigic3RyaW5nIiE9dHlwZW9mIGkpYnJlYWs7Y29uc3Qgcz1zdHJUb0ludChpKTtlLmFkZENvZGVzcGFjZVJhbmdlKGkubGVuZ3RoLGEscyl9dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGNvZGVzcGFjZSByYW5nZS4iKX1mdW5jdGlvbiBwYXJzZVdNb2RlKGUsdCl7Y29uc3QgaT10LmdldE9iaigpO051bWJlci5pc0ludGVnZXIoaSkmJihlLnZlcnRpY2FsPSEhaSl9ZnVuY3Rpb24gcGFyc2VDTWFwTmFtZShlLHQpe2NvbnN0IGk9dC5nZXRPYmooKTtpIGluc3RhbmNlb2YgTmFtZSYmKGUubmFtZT1pLm5hbWUpfWFzeW5jIGZ1bmN0aW9uIHBhcnNlQ01hcChlLHQsaSxhKXtsZXQgcyxyO0E6Zm9yKDs7KXRyeXtjb25zdCBpPXQuZ2V0T2JqKCk7aWYoaT09PXd0KWJyZWFrO2lmKGkgaW5zdGFuY2VvZiBOYW1lKXsiV01vZGUiPT09aS5uYW1lP3BhcnNlV01vZGUoZSx0KToiQ01hcE5hbWUiPT09aS5uYW1lJiZwYXJzZUNNYXBOYW1lKGUsdCk7cz1pfWVsc2UgaWYoaSBpbnN0YW5jZW9mIENtZClzd2l0Y2goaS5jbWQpe2Nhc2UiZW5kY21hcCI6YnJlYWsgQTtjYXNlInVzZWNtYXAiOnMgaW5zdGFuY2VvZiBOYW1lJiYocj1zLm5hbWUpO2JyZWFrO2Nhc2UiYmVnaW5jb2Rlc3BhY2VyYW5nZSI6cGFyc2VDb2Rlc3BhY2VSYW5nZShlLHQpO2JyZWFrO2Nhc2UiYmVnaW5iZmNoYXIiOnBhcnNlQmZDaGFyKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmNpZGNoYXIiOnBhcnNlQ2lkQ2hhcihlLHQpO2JyZWFrO2Nhc2UiYmVnaW5iZnJhbmdlIjpwYXJzZUJmUmFuZ2UoZSx0KTticmVhaztjYXNlImJlZ2luY2lkcmFuZ2UiOnBhcnNlQ2lkUmFuZ2UoZSx0KX19Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiSW52YWxpZCBjTWFwIGRhdGE6ICIrZSk7Y29udGludWV9IWEmJnImJihhPXIpO3JldHVybiBhP2V4dGVuZENNYXAoZSxpLGEpOmV9YXN5bmMgZnVuY3Rpb24gZXh0ZW5kQ01hcChlLHQsaSl7ZS51c2VDTWFwPWF3YWl0IGNyZWF0ZUJ1aWx0SW5DTWFwKGksdCk7aWYoMD09PWUubnVtQ29kZXNwYWNlUmFuZ2VzKXtjb25zdCB0PWUudXNlQ01hcC5jb2Rlc3BhY2VSYW5nZXM7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZS5jb2Rlc3BhY2VSYW5nZXNbaV09dFtpXS5zbGljZSgpO2UubnVtQ29kZXNwYWNlUmFuZ2VzPWUudXNlQ01hcC5udW1Db2Rlc3BhY2VSYW5nZXN9ZS51c2VDTWFwLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7ZS5jb250YWlucyh0KXx8ZS5tYXBPbmUodCxlLnVzZUNNYXAubG9va3VwKHQpKX0pKTtyZXR1cm4gZX1hc3luYyBmdW5jdGlvbiBjcmVhdGVCdWlsdEluQ01hcChlLHQpe2lmKCJJZGVudGl0eS1IIj09PWUpcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoITEsMik7aWYoIklkZW50aXR5LVYiPT09ZSlyZXR1cm4gbmV3IElkZW50aXR5Q01hcCghMCwyKTtpZighbGkuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIENNYXAgbmFtZTogIitlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkJ1aWx0LWluIENNYXAgcGFyYW1ldGVycyBhcmUgbm90IHByb3ZpZGVkLiIpO2NvbnN0e2NNYXBEYXRhOmksY29tcHJlc3Npb25UeXBlOmF9PWF3YWl0IHQoZSkscz1uZXcgQ01hcCghMCk7aWYoYT09PXlBLkJJTkFSWSlyZXR1cm4obmV3IEJpbmFyeUNNYXBSZWFkZXIpLnByb2Nlc3MoaSxzLChlPT5leHRlbmRDTWFwKHMsdCxlKSkpO2lmKGE9PT15QS5OT05FKXtjb25zdCBlPW5ldyBMZXhlcihuZXcgU3RyZWFtKGkpKTtyZXR1cm4gcGFyc2VDTWFwKHMsZSx0LG51bGwpfXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDTWFwICJjb21wcmVzc2lvblR5cGUiIHZhbHVlOiAke2F9YCl9Y2xhc3MgQ01hcEZhY3Rvcnl7c3RhdGljIGFzeW5jIGNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnQsdXNlQ01hcDppfSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpcmV0dXJuIGNyZWF0ZUJ1aWx0SW5DTWFwKGUubmFtZSx0KTtpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgYT1hd2FpdCBwYXJzZUNNYXAobmV3IENNYXAsbmV3IExleGVyKGUpLHQsaSk7cmV0dXJuIGEuaXNJZGVudGl0eUNNYXA/Y3JlYXRlQnVpbHRJbkNNYXAoYS5uYW1lLHQpOmF9dGhyb3cgbmV3IEVycm9yKCJFbmNvZGluZyByZXF1aXJlZC4iKX19Y29uc3QgRWk9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsInF1ZXN0aW9uZG93biIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIkFFIiwib3JkZmVtaW5pbmUiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsImFlIiwiZG90bGVzc2kiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCJvbmVzdXBlcmlvciIsImxvZ2ljYWxub3QiLCJtdSIsInRyYWRlbWFyayIsIkV0aCIsIm9uZWhhbGYiLCJwbHVzbWludXMiLCJUaG9ybiIsIm9uZXF1YXJ0ZXIiLCJkaXZpZGUiLCJicm9rZW5iYXIiLCJkZWdyZWUiLCJ0aG9ybiIsInRocmVlcXVhcnRlcnMiLCJ0d29zdXBlcmlvciIsInJlZ2lzdGVyZWQiLCJtaW51cyIsImV0aCIsIm11bHRpcGx5IiwidGhyZWVzdXBlcmlvciIsImNvcHlyaWdodCIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQWRpZXJlc2lzIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk9kaWVyZXNpcyIsIk9ncmF2ZSIsIk90aWxkZSIsIlNjYXJvbiIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiVWdyYXZlIiwiWWFjdXRlIiwiWWRpZXJlc2lzIiwiWmNhcm9uIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhZ3JhdmUiLCJhcmluZyIsImF0aWxkZSIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJlZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImlncmF2ZSIsIm50aWxkZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib2dyYXZlIiwib3RpbGRlIiwic2Nhcm9uIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ1Z3JhdmUiLCJ5YWN1dGUiLCJ5ZGllcmVzaXMiLCJ6Y2Fyb24iXSx1aT1bIi5ub3RkZWYiLCJzcGFjZSIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsInF1ZXN0aW9uc21hbGwiLCJhc3VwZXJpb3IiLCJic3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCJkc3VwZXJpb3IiLCJlc3VwZXJpb3IiLCJpc3VwZXJpb3IiLCJsc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJvc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiRG90YWNjZW50c21hbGwiLCJNYWNyb25zbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiLCJBZ3JhdmVzbWFsbCIsIkFhY3V0ZXNtYWxsIiwiQWNpcmN1bWZsZXhzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBcmluZ3NtYWxsIiwiQUVzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVhY3V0ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWdyYXZlc21hbGwiLCJJYWN1dGVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIkV0aHNtYWxsIiwiTnRpbGRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2NpcmN1bWZsZXhzbWFsbCIsIk90aWxkZXNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWNpcmN1bWZsZXhzbWFsbCIsIlVkaWVyZXNpc3NtYWxsIiwiWWFjdXRlc21hbGwiLCJUaG9ybnNtYWxsIiwiWWRpZXJlc2lzc21hbGwiXSxkaT1bIi5ub3RkZWYiLCJzcGFjZSIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJoeXBoZW5zdXBlcmlvciIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJjZW50b2xkc3R5bGUiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiXSxmaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtc21hbGwiLCJIdW5nYXJ1bWxhdXRzbWFsbCIsIiIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJhbXBlcnNhbmRzbWFsbCIsIkFjdXRlc21hbGwiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwicXVlc3Rpb25zbWFsbCIsIiIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsIiIsIiIsIiIsImlzdXBlcmlvciIsIiIsIiIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsIiIsIiIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsIiIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwiIiwicGFyZW5yaWdodGluZmVyaW9yIiwiQ2lyY3VtZmxleHNtYWxsIiwiaHlwaGVuc3VwZXJpb3IiLCJHcmF2ZXNtYWxsIiwiQXNtYWxsIiwiQnNtYWxsIiwiQ3NtYWxsIiwiRHNtYWxsIiwiRXNtYWxsIiwiRnNtYWxsIiwiR3NtYWxsIiwiSHNtYWxsIiwiSXNtYWxsIiwiSnNtYWxsIiwiS3NtYWxsIiwiTHNtYWxsIiwiTXNtYWxsIiwiTnNtYWxsIiwiT3NtYWxsIiwiUHNtYWxsIiwiUXNtYWxsIiwiUnNtYWxsIiwiU3NtYWxsIiwiVHNtYWxsIiwiVXNtYWxsIiwiVnNtYWxsIiwiV3NtYWxsIiwiWHNtYWxsIiwiWXNtYWxsIiwiWnNtYWxsIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsIlRpbGRlc21hbGwiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJleGNsYW1kb3duc21hbGwiLCJjZW50b2xkc3R5bGUiLCJMc2xhc2hzbWFsbCIsIiIsIiIsIlNjYXJvbnNtYWxsIiwiWmNhcm9uc21hbGwiLCJEaWVyZXNpc3NtYWxsIiwiQnJldmVzbWFsbCIsIkNhcm9uc21hbGwiLCIiLCJEb3RhY2NlbnRzbWFsbCIsIiIsIiIsIk1hY3JvbnNtYWxsIiwiIiwiIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwiIiwiIiwiT2dvbmVrc21hbGwiLCJSaW5nc21hbGwiLCJDZWRpbGxhc21hbGwiLCIiLCIiLCIiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJxdWVzdGlvbmRvd25zbWFsbCIsIm9uZWVpZ2h0aCIsInRocmVlZWlnaHRocyIsImZpdmVlaWdodGhzIiwic2V2ZW5laWdodGhzIiwib25ldGhpcmQiLCJ0d290aGlyZHMiLCIiLCIiLCJ6ZXJvc3VwZXJpb3IiLCJvbmVzdXBlcmlvciIsInR3b3N1cGVyaW9yIiwidGhyZWVzdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsImVpZ2h0c3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJvbmVpbmZlcmlvciIsInR3b2luZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsImZvdXJpbmZlcmlvciIsImZpdmVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJuaW5laW5mZXJpb3IiLCJjZW50aW5mZXJpb3IiLCJkb2xsYXJpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiY29tbWFpbmZlcmlvciIsIkFncmF2ZXNtYWxsIiwiQWFjdXRlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQXRpbGRlc21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkFyaW5nc21hbGwiLCJBRXNtYWxsIiwiQ2NlZGlsbGFzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFY2lyY3VtZmxleHNtYWxsIiwiRWRpZXJlc2lzc21hbGwiLCJJZ3JhdmVzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWNpcmN1bWZsZXhzbWFsbCIsIklkaWVyZXNpc3NtYWxsIiwiRXRoc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9ncmF2ZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT3RpbGRlc21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk9Fc21hbGwiLCJPc2xhc2hzbWFsbCIsIlVncmF2ZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCJZYWN1dGVzbWFsbCIsIlRob3Juc21hbGwiLCJZZGllcmVzaXNzbWFsbCJdLHBpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiY2VudG9sZHN0eWxlIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsIiIsInRocmVlcXVhcnRlcnNlbWRhc2giLCIiLCJxdWVzdGlvbnNtYWxsIiwiIiwiIiwiIiwiIiwiRXRoc21hbGwiLCIiLCIiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiIiwiIiwiIiwiIiwiIiwiIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCIiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5pbmZlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsIiIsIiIsImFzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsIiIsIiIsIiIsIiIsIkFhY3V0ZXNtYWxsIiwiQWdyYXZlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBdGlsZGVzbWFsbCIsIkFyaW5nc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWdyYXZlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPdGlsZGVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWdyYXZlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCIiLCJlaWdodHN1cGVyaW9yIiwiZm91cmluZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJTY2Fyb25zbWFsbCIsIiIsImNlbnRpbmZlcmlvciIsInR3b2luZmVyaW9yIiwiIiwiRGllcmVzaXNzbWFsbCIsIiIsIkNhcm9uc21hbGwiLCJvc3VwZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCIiLCJjb21tYWluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJZYWN1dGVzbWFsbCIsIiIsImRvbGxhcmluZmVyaW9yIiwiIiwiIiwiVGhvcm5zbWFsbCIsIiIsIm5pbmVpbmZlcmlvciIsInplcm9pbmZlcmlvciIsIlpjYXJvbnNtYWxsIiwiQUVzbWFsbCIsIk9zbGFzaHNtYWxsIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVpbmZlcmlvciIsIkxzbGFzaHNtYWxsIiwiIiwiIiwiIiwiIiwiIiwiIiwiQ2VkaWxsYXNtYWxsIiwiIiwiIiwiIiwiIiwiIiwiT0VzbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5zdXBlcmlvciIsIiIsIiIsIiIsIiIsImV4Y2xhbWRvd25zbWFsbCIsIiIsIllkaWVyZXNpc3NtYWxsIiwiIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvc3VwZXJpb3IiLCIiLCJlc3VwZXJpb3IiLCJyc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCIiLCIiLCJpc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJkc3VwZXJpb3IiLCIiLCIiLCIiLCIiLCIiLCJsc3VwZXJpb3IiLCJPZ29uZWtzbWFsbCIsIkJyZXZlc21hbGwiLCJNYWNyb25zbWFsbCIsImJzdXBlcmlvciIsIm5zdXBlcmlvciIsIm1zdXBlcmlvciIsImNvbW1hc3VwZXJpb3IiLCJwZXJpb2RzdXBlcmlvciIsIkRvdGFjY2VudHNtYWxsIiwiUmluZ3NtYWxsIiwiIiwiIiwiIiwiIl0sbWk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIk50aWxkZSIsIk9kaWVyZXNpcyIsIlVkaWVyZXNpcyIsImFhY3V0ZSIsImFncmF2ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYXRpbGRlIiwiYXJpbmciLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVncmF2ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWFjdXRlIiwiaWdyYXZlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJudGlsZGUiLCJvYWN1dGUiLCJvZ3JhdmUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm90aWxkZSIsInVhY3V0ZSIsInVncmF2ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwiZGFnZ2VyIiwiZGVncmVlIiwiY2VudCIsInN0ZXJsaW5nIiwic2VjdGlvbiIsImJ1bGxldCIsInBhcmFncmFwaCIsImdlcm1hbmRibHMiLCJyZWdpc3RlcmVkIiwiY29weXJpZ2h0IiwidHJhZGVtYXJrIiwiYWN1dGUiLCJkaWVyZXNpcyIsIm5vdGVxdWFsIiwiQUUiLCJPc2xhc2giLCJpbmZpbml0eSIsInBsdXNtaW51cyIsImxlc3NlcXVhbCIsImdyZWF0ZXJlcXVhbCIsInllbiIsIm11IiwicGFydGlhbGRpZmYiLCJzdW1tYXRpb24iLCJwcm9kdWN0IiwicGkiLCJpbnRlZ3JhbCIsIm9yZGZlbWluaW5lIiwib3JkbWFzY3VsaW5lIiwiT21lZ2EiLCJhZSIsIm9zbGFzaCIsInF1ZXN0aW9uZG93biIsImV4Y2xhbWRvd24iLCJsb2dpY2Fsbm90IiwicmFkaWNhbCIsImZsb3JpbiIsImFwcHJveGVxdWFsIiwiRGVsdGEiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsInNwYWNlIiwiQWdyYXZlIiwiQXRpbGRlIiwiT3RpbGRlIiwiT0UiLCJvZSIsImVuZGFzaCIsImVtZGFzaCIsInF1b3RlZGJsbGVmdCIsInF1b3RlZGJscmlnaHQiLCJxdW90ZWxlZnQiLCJxdW90ZXJpZ2h0IiwiZGl2aWRlIiwibG96ZW5nZSIsInlkaWVyZXNpcyIsIllkaWVyZXNpcyIsImZyYWN0aW9uIiwiY3VycmVuY3kiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInBlcnRob3VzYW5kIiwiQWNpcmN1bWZsZXgiLCJFY2lyY3VtZmxleCIsIkFhY3V0ZSIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJhcHBsZSIsIk9ncmF2ZSIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWdyYXZlIiwiZG90bGVzc2kiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iXSx5aT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3RlcmlnaHQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsInF1b3RlbGVmdCIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiZnJhY3Rpb24iLCJ5ZW4iLCJmbG9yaW4iLCJzZWN0aW9uIiwiY3VycmVuY3kiLCJxdW90ZXNpbmdsZSIsInF1b3RlZGJsbGVmdCIsImd1aWxsZW1vdGxlZnQiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiIiwiZW5kYXNoIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCIiLCJwYXJhZ3JhcGgiLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInF1b3RlZGJscmlnaHQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwicGVydGhvdXNhbmQiLCIiLCJxdWVzdGlvbmRvd24iLCIiLCJncmF2ZSIsImFjdXRlIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJkaWVyZXNpcyIsIiIsInJpbmciLCJjZWRpbGxhIiwiIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJlbWRhc2giLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJBRSIsIiIsIm9yZGZlbWluaW5lIiwiIiwiIiwiIiwiIiwiTHNsYXNoIiwiT3NsYXNoIiwiT0UiLCJvcmRtYXNjdWxpbmUiLCIiLCIiLCIiLCIiLCIiLCJhZSIsIiIsIiIsIiIsImRvdGxlc3NpIiwiIiwiIiwibHNsYXNoIiwib3NsYXNoIiwib2UiLCJnZXJtYW5kYmxzIiwiIiwiIiwiIiwiIl0sd2k9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiYnVsbGV0IiwiRXVybyIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwiZmxvcmluIiwicXVvdGVkYmxiYXNlIiwiZWxsaXBzaXMiLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJjaXJjdW1mbGV4IiwicGVydGhvdXNhbmQiLCJTY2Fyb24iLCJndWlsc2luZ2xsZWZ0IiwiT0UiLCJidWxsZXQiLCJaY2Fyb24iLCJidWxsZXQiLCJidWxsZXQiLCJxdW90ZWxlZnQiLCJxdW90ZXJpZ2h0IiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsImJ1bGxldCIsImVuZGFzaCIsImVtZGFzaCIsInRpbGRlIiwidHJhZGVtYXJrIiwic2Nhcm9uIiwiZ3VpbHNpbmdscmlnaHQiLCJvZSIsImJ1bGxldCIsInpjYXJvbiIsIllkaWVyZXNpcyIsInNwYWNlIiwiZXhjbGFtZG93biIsImNlbnQiLCJzdGVybGluZyIsImN1cnJlbmN5IiwieWVuIiwiYnJva2VuYmFyIiwic2VjdGlvbiIsImRpZXJlc2lzIiwiY29weXJpZ2h0Iiwib3JkZmVtaW5pbmUiLCJndWlsbGVtb3RsZWZ0IiwibG9naWNhbG5vdCIsImh5cGhlbiIsInJlZ2lzdGVyZWQiLCJtYWNyb24iLCJkZWdyZWUiLCJwbHVzbWludXMiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJhY3V0ZSIsIm11IiwicGFyYWdyYXBoIiwicGVyaW9kY2VudGVyZWQiLCJjZWRpbGxhIiwib25lc3VwZXJpb3IiLCJvcmRtYXNjdWxpbmUiLCJndWlsbGVtb3RyaWdodCIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93biIsIkFncmF2ZSIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQXRpbGRlIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJBRSIsIkNjZWRpbGxhIiwiRWdyYXZlIiwiRWFjdXRlIiwiRWNpcmN1bWZsZXgiLCJFZGllcmVzaXMiLCJJZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIkV0aCIsIk50aWxkZSIsIk9ncmF2ZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiT3RpbGRlIiwiT2RpZXJlc2lzIiwibXVsdGlwbHkiLCJPc2xhc2giLCJVZ3JhdmUiLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVkaWVyZXNpcyIsIllhY3V0ZSIsIlRob3JuIiwiZ2VybWFuZGJscyIsImFncmF2ZSIsImFhY3V0ZSIsImFjaXJjdW1mbGV4IiwiYXRpbGRlIiwiYWRpZXJlc2lzIiwiYXJpbmciLCJhZSIsImNjZWRpbGxhIiwiZWdyYXZlIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJpZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImV0aCIsIm50aWxkZSIsIm9ncmF2ZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib3RpbGRlIiwib2RpZXJlc2lzIiwiZGl2aWRlIiwib3NsYXNoIiwidWdyYXZlIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ5YWN1dGUiLCJ0aG9ybiIsInlkaWVyZXNpcyJdLERpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJ1bml2ZXJzYWwiLCJudW1iZXJzaWduIiwiZXhpc3RlbnRpYWwiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwic3VjaHRoYXQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2ttYXRoIiwicGx1cyIsImNvbW1hIiwibWludXMiLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImNvbmdydWVudCIsIkFscGhhIiwiQmV0YSIsIkNoaSIsIkRlbHRhIiwiRXBzaWxvbiIsIlBoaSIsIkdhbW1hIiwiRXRhIiwiSW90YSIsInRoZXRhMSIsIkthcHBhIiwiTGFtYmRhIiwiTXUiLCJOdSIsIk9taWNyb24iLCJQaSIsIlRoZXRhIiwiUmhvIiwiU2lnbWEiLCJUYXUiLCJVcHNpbG9uIiwic2lnbWExIiwiT21lZ2EiLCJYaSIsIlBzaSIsIlpldGEiLCJicmFja2V0bGVmdCIsInRoZXJlZm9yZSIsImJyYWNrZXRyaWdodCIsInBlcnBlbmRpY3VsYXIiLCJ1bmRlcnNjb3JlIiwicmFkaWNhbGV4IiwiYWxwaGEiLCJiZXRhIiwiY2hpIiwiZGVsdGEiLCJlcHNpbG9uIiwicGhpIiwiZ2FtbWEiLCJldGEiLCJpb3RhIiwicGhpMSIsImthcHBhIiwibGFtYmRhIiwibXUiLCJudSIsIm9taWNyb24iLCJwaSIsInRoZXRhIiwicmhvIiwic2lnbWEiLCJ0YXUiLCJ1cHNpbG9uIiwib21lZ2ExIiwib21lZ2EiLCJ4aSIsInBzaSIsInpldGEiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0Iiwic2ltaWxhciIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIkV1cm8iLCJVcHNpbG9uMSIsIm1pbnV0ZSIsImxlc3NlcXVhbCIsImZyYWN0aW9uIiwiaW5maW5pdHkiLCJmbG9yaW4iLCJjbHViIiwiZGlhbW9uZCIsImhlYXJ0Iiwic3BhZGUiLCJhcnJvd2JvdGgiLCJhcnJvd2xlZnQiLCJhcnJvd3VwIiwiYXJyb3dyaWdodCIsImFycm93ZG93biIsImRlZ3JlZSIsInBsdXNtaW51cyIsInNlY29uZCIsImdyZWF0ZXJlcXVhbCIsIm11bHRpcGx5IiwicHJvcG9ydGlvbmFsIiwicGFydGlhbGRpZmYiLCJidWxsZXQiLCJkaXZpZGUiLCJub3RlcXVhbCIsImVxdWl2YWxlbmNlIiwiYXBwcm94ZXF1YWwiLCJlbGxpcHNpcyIsImFycm93dmVydGV4IiwiYXJyb3dob3JpemV4IiwiY2FycmlhZ2VyZXR1cm4iLCJhbGVwaCIsIklmcmFrdHVyIiwiUmZyYWt0dXIiLCJ3ZWllcnN0cmFzcyIsImNpcmNsZW11bHRpcGx5IiwiY2lyY2xlcGx1cyIsImVtcHR5c2V0IiwiaW50ZXJzZWN0aW9uIiwidW5pb24iLCJwcm9wZXJzdXBlcnNldCIsInJlZmxleHN1cGVyc2V0Iiwibm90c3Vic2V0IiwicHJvcGVyc3Vic2V0IiwicmVmbGV4c3Vic2V0IiwiZWxlbWVudCIsIm5vdGVsZW1lbnQiLCJhbmdsZSIsImdyYWRpZW50IiwicmVnaXN0ZXJzZXJpZiIsImNvcHlyaWdodHNlcmlmIiwidHJhZGVtYXJrc2VyaWYiLCJwcm9kdWN0IiwicmFkaWNhbCIsImRvdG1hdGgiLCJsb2dpY2Fsbm90IiwibG9naWNhbGFuZCIsImxvZ2ljYWxvciIsImFycm93ZGJsYm90aCIsImFycm93ZGJsbGVmdCIsImFycm93ZGJsdXAiLCJhcnJvd2RibHJpZ2h0IiwiYXJyb3dkYmxkb3duIiwibG96ZW5nZSIsImFuZ2xlbGVmdCIsInJlZ2lzdGVyc2FucyIsImNvcHlyaWdodHNhbnMiLCJ0cmFkZW1hcmtzYW5zIiwic3VtbWF0aW9uIiwicGFyZW5sZWZ0dHAiLCJwYXJlbmxlZnRleCIsInBhcmVubGVmdGJ0IiwiYnJhY2tldGxlZnR0cCIsImJyYWNrZXRsZWZ0ZXgiLCJicmFja2V0bGVmdGJ0IiwiYnJhY2VsZWZ0dHAiLCJicmFjZWxlZnRtaWQiLCJicmFjZWxlZnRidCIsImJyYWNlZXgiLCIiLCJhbmdsZXJpZ2h0IiwiaW50ZWdyYWwiLCJpbnRlZ3JhbHRwIiwiaW50ZWdyYWxleCIsImludGVncmFsYnQiLCJwYXJlbnJpZ2h0dHAiLCJwYXJlbnJpZ2h0ZXgiLCJwYXJlbnJpZ2h0YnQiLCJicmFja2V0cmlnaHR0cCIsImJyYWNrZXRyaWdodGV4IiwiYnJhY2tldHJpZ2h0YnQiLCJicmFjZXJpZ2h0dHAiLCJicmFjZXJpZ2h0bWlkIiwiYnJhY2VyaWdodGJ0IiwiIl0sYmk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImExIiwiYTIiLCJhMjAyIiwiYTMiLCJhNCIsImE1IiwiYTExOSIsImExMTgiLCJhMTE3IiwiYTExIiwiYTEyIiwiYTEzIiwiYTE0IiwiYTE1IiwiYTE2IiwiYTEwNSIsImExNyIsImExOCIsImExOSIsImEyMCIsImEyMSIsImEyMiIsImEyMyIsImEyNCIsImEyNSIsImEyNiIsImEyNyIsImEyOCIsImE2IiwiYTciLCJhOCIsImE5IiwiYTEwIiwiYTI5IiwiYTMwIiwiYTMxIiwiYTMyIiwiYTMzIiwiYTM0IiwiYTM1IiwiYTM2IiwiYTM3IiwiYTM4IiwiYTM5IiwiYTQwIiwiYTQxIiwiYTQyIiwiYTQzIiwiYTQ0IiwiYTQ1IiwiYTQ2IiwiYTQ3IiwiYTQ4IiwiYTQ5IiwiYTUwIiwiYTUxIiwiYTUyIiwiYTUzIiwiYTU0IiwiYTU1IiwiYTU2IiwiYTU3IiwiYTU4IiwiYTU5IiwiYTYwIiwiYTYxIiwiYTYyIiwiYTYzIiwiYTY0IiwiYTY1IiwiYTY2IiwiYTY3IiwiYTY4IiwiYTY5IiwiYTcwIiwiYTcxIiwiYTcyIiwiYTczIiwiYTc0IiwiYTIwMyIsImE3NSIsImEyMDQiLCJhNzYiLCJhNzciLCJhNzgiLCJhNzkiLCJhODEiLCJhODIiLCJhODMiLCJhODQiLCJhOTciLCJhOTgiLCJhOTkiLCJhMTAwIiwiIiwiYTg5IiwiYTkwIiwiYTkzIiwiYTk0IiwiYTkxIiwiYTkyIiwiYTIwNSIsImE4NSIsImEyMDYiLCJhODYiLCJhODciLCJhODgiLCJhOTUiLCJhOTYiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJhMTAxIiwiYTEwMiIsImExMDMiLCJhMTA0IiwiYTEwNiIsImExMDciLCJhMTA4IiwiYTExMiIsImExMTEiLCJhMTEwIiwiYTEwOSIsImExMjAiLCJhMTIxIiwiYTEyMiIsImExMjMiLCJhMTI0IiwiYTEyNSIsImExMjYiLCJhMTI3IiwiYTEyOCIsImExMjkiLCJhMTMwIiwiYTEzMSIsImExMzIiLCJhMTMzIiwiYTEzNCIsImExMzUiLCJhMTM2IiwiYTEzNyIsImExMzgiLCJhMTM5IiwiYTE0MCIsImExNDEiLCJhMTQyIiwiYTE0MyIsImExNDQiLCJhMTQ1IiwiYTE0NiIsImExNDciLCJhMTQ4IiwiYTE0OSIsImExNTAiLCJhMTUxIiwiYTE1MiIsImExNTMiLCJhMTU0IiwiYTE1NSIsImExNTYiLCJhMTU3IiwiYTE1OCIsImExNTkiLCJhMTYwIiwiYTE2MSIsImExNjMiLCJhMTY0IiwiYTE5NiIsImExNjUiLCJhMTkyIiwiYTE2NiIsImExNjciLCJhMTY4IiwiYTE2OSIsImExNzAiLCJhMTcxIiwiYTE3MiIsImExNzMiLCJhMTYyIiwiYTE3NCIsImExNzUiLCJhMTc2IiwiYTE3NyIsImExNzgiLCJhMTc5IiwiYTE5MyIsImExODAiLCJhMTk5IiwiYTE4MSIsImEyMDAiLCJhMTgyIiwiIiwiYTIwMSIsImExODMiLCJhMTg0IiwiYTE5NyIsImExODUiLCJhMTk0IiwiYTE5OCIsImExODYiLCJhMTk1IiwiYTE4NyIsImExODgiLCJhMTg5IiwiYTE5MCIsImExOTEiLCIiXTtmdW5jdGlvbiBnZXRFbmNvZGluZyhlKXtzd2l0Y2goZSl7Y2FzZSJXaW5BbnNpRW5jb2RpbmciOnJldHVybiB3aTtjYXNlIlN0YW5kYXJkRW5jb2RpbmciOnJldHVybiB5aTtjYXNlIk1hY1JvbWFuRW5jb2RpbmciOnJldHVybiBtaTtjYXNlIlN5bWJvbFNldEVuY29kaW5nIjpyZXR1cm4gRGk7Y2FzZSJaYXBmRGluZ2JhdHNFbmNvZGluZyI6cmV0dXJuIGJpO2Nhc2UiRXhwZXJ0RW5jb2RpbmciOnJldHVybiBmaTtjYXNlIk1hY0V4cGVydEVuY29kaW5nIjpyZXR1cm4gcGk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19Y29uc3QgRmk9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVyaWdodCIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwicXVvdGVsZWZ0IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJmcmFjdGlvbiIsInllbiIsImZsb3JpbiIsInNlY3Rpb24iLCJjdXJyZW5jeSIsInF1b3Rlc2luZ2xlIiwicXVvdGVkYmxsZWZ0IiwiZ3VpbGxlbW90bGVmdCIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJlbmRhc2giLCJkYWdnZXIiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInBhcmFncmFwaCIsImJ1bGxldCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicXVvdGVkYmxyaWdodCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJwZXJ0aG91c2FuZCIsInF1ZXN0aW9uZG93biIsImdyYXZlIiwiYWN1dGUiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsImRpZXJlc2lzIiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsImVtZGFzaCIsIkFFIiwib3JkZmVtaW5pbmUiLCJMc2xhc2giLCJPc2xhc2giLCJPRSIsIm9yZG1hc2N1bGluZSIsImFlIiwiZG90bGVzc2kiLCJsc2xhc2giLCJvc2xhc2giLCJvZSIsImdlcm1hbmRibHMiLCJvbmVzdXBlcmlvciIsImxvZ2ljYWxub3QiLCJtdSIsInRyYWRlbWFyayIsIkV0aCIsIm9uZWhhbGYiLCJwbHVzbWludXMiLCJUaG9ybiIsIm9uZXF1YXJ0ZXIiLCJkaXZpZGUiLCJicm9rZW5iYXIiLCJkZWdyZWUiLCJ0aG9ybiIsInRocmVlcXVhcnRlcnMiLCJ0d29zdXBlcmlvciIsInJlZ2lzdGVyZWQiLCJtaW51cyIsImV0aCIsIm11bHRpcGx5IiwidGhyZWVzdXBlcmlvciIsImNvcHlyaWdodCIsIkFhY3V0ZSIsIkFjaXJjdW1mbGV4IiwiQWRpZXJlc2lzIiwiQWdyYXZlIiwiQXJpbmciLCJBdGlsZGUiLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJOdGlsZGUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk9kaWVyZXNpcyIsIk9ncmF2ZSIsIk90aWxkZSIsIlNjYXJvbiIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWRpZXJlc2lzIiwiVWdyYXZlIiwiWWFjdXRlIiwiWWRpZXJlc2lzIiwiWmNhcm9uIiwiYWFjdXRlIiwiYWNpcmN1bWZsZXgiLCJhZGllcmVzaXMiLCJhZ3JhdmUiLCJhcmluZyIsImF0aWxkZSIsImNjZWRpbGxhIiwiZWFjdXRlIiwiZWNpcmN1bWZsZXgiLCJlZGllcmVzaXMiLCJlZ3JhdmUiLCJpYWN1dGUiLCJpY2lyY3VtZmxleCIsImlkaWVyZXNpcyIsImlncmF2ZSIsIm50aWxkZSIsIm9hY3V0ZSIsIm9jaXJjdW1mbGV4Iiwib2RpZXJlc2lzIiwib2dyYXZlIiwib3RpbGRlIiwic2Nhcm9uIiwidWFjdXRlIiwidWNpcmN1bWZsZXgiLCJ1ZGllcmVzaXMiLCJ1Z3JhdmUiLCJ5YWN1dGUiLCJ5ZGllcmVzaXMiLCJ6Y2Fyb24iLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiRG90YWNjZW50c21hbGwiLCJNYWNyb25zbWFsbCIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiemVyb3N1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIiwiMDAxLjAwMCIsIjAwMS4wMDEiLCIwMDEuMDAyIiwiMDAxLjAwMyIsIkJsYWNrIiwiQm9sZCIsIkJvb2siLCJMaWdodCIsIk1lZGl1bSIsIlJlZ3VsYXIiLCJSb21hbiIsIlNlbWlib2xkIl0sU2k9MzkxLGtpPVtudWxsLHtpZDoiaHN0ZW0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0sbnVsbCx7aWQ6InZzdGVtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoidm1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJybGluZXRvIixtaW46MixyZXNldFN0YWNrOiEwfSx7aWQ6ImhsaW5ldG8iLG1pbjoxLHJlc2V0U3RhY2s6ITB9LHtpZDoidmxpbmV0byIsbWluOjEscmVzZXRTdGFjazohMH0se2lkOiJycmN1cnZldG8iLG1pbjo2LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsc3ViciIsbWluOjEsdW5kZWZTdGFjazohMH0se2lkOiJyZXR1cm4iLG1pbjowLHVuZGVmU3RhY2s6ITB9LG51bGwsbnVsbCx7aWQ6ImVuZGNoYXIiLG1pbjowLHN0YWNrQ2xlYXJpbmc6ITB9LG51bGwsbnVsbCxudWxsLHtpZDoiaHN0ZW1obSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSx7aWQ6ImhpbnRtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6ImNudHJtYXNrIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSx7aWQ6InJtb3ZldG8iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoiaG1vdmV0byIsbWluOjEsc3RhY2tDbGVhcmluZzohMH0se2lkOiJ2c3RlbWhtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LHtpZDoicmN1cnZlbGluZSIsbWluOjgscmVzZXRTdGFjazohMH0se2lkOiJybGluZWN1cnZlIixtaW46OCxyZXNldFN0YWNrOiEwfSx7aWQ6InZ2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH0se2lkOiJoaGN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9LG51bGwse2lkOiJjYWxsZ3N1YnIiLG1pbjoxLHVuZGVmU3RhY2s6ITB9LHtpZDoidmhjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfSx7aWQ6Imh2Y3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH1dLFJpPVtudWxsLG51bGwsbnVsbCx7aWQ6ImFuZCIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJvciIsbWluOjIsc3RhY2tEZWx0YTotMX0se2lkOiJub3QiLG1pbjoxLHN0YWNrRGVsdGE6MH0sbnVsbCxudWxsLG51bGwse2lkOiJhYnMiLG1pbjoxLHN0YWNrRGVsdGE6MH0se2lkOiJhZGQiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0rZVt0LTFdfX0se2lkOiJzdWIiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0tZVt0LTFdfX0se2lkOiJkaXYiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0vZVt0LTFdfX0sbnVsbCx7aWQ6Im5lZyIsbWluOjEsc3RhY2tEZWx0YTowLHN0YWNrRm4oZSx0KXtlW3QtMV09LWVbdC0xXX19LHtpZDoiZXEiLG1pbjoyLHN0YWNrRGVsdGE6LTF9LG51bGwsbnVsbCx7aWQ6ImRyb3AiLG1pbjoxLHN0YWNrRGVsdGE6LTF9LG51bGwse2lkOiJwdXQiLG1pbjoyLHN0YWNrRGVsdGE6LTJ9LHtpZDoiZ2V0IixtaW46MSxzdGFja0RlbHRhOjB9LHtpZDoiaWZlbHNlIixtaW46NCxzdGFja0RlbHRhOi0zfSx7aWQ6InJhbmRvbSIsbWluOjAsc3RhY2tEZWx0YToxfSx7aWQ6Im11bCIsbWluOjIsc3RhY2tEZWx0YTotMSxzdGFja0ZuKGUsdCl7ZVt0LTJdPWVbdC0yXSplW3QtMV19fSxudWxsLHtpZDoic3FydCIsbWluOjEsc3RhY2tEZWx0YTowfSx7aWQ6ImR1cCIsbWluOjEsc3RhY2tEZWx0YToxfSx7aWQ6ImV4Y2giLG1pbjoyLHN0YWNrRGVsdGE6MH0se2lkOiJpbmRleCIsbWluOjIsc3RhY2tEZWx0YTowfSx7aWQ6InJvbGwiLG1pbjozLHN0YWNrRGVsdGE6LTJ9LG51bGwsbnVsbCxudWxsLHtpZDoiaGZsZXgiLG1pbjo3LHJlc2V0U3RhY2s6ITB9LHtpZDoiZmxleCIsbWluOjEzLHJlc2V0U3RhY2s6ITB9LHtpZDoiaGZsZXgxIixtaW46OSxyZXNldFN0YWNrOiEwfSx7aWQ6ImZsZXgxIixtaW46MTEscmVzZXRTdGFjazohMH1dO2NsYXNzIENGRlBhcnNlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5ieXRlcz1lLmdldEJ5dGVzKCk7dGhpcy5wcm9wZXJ0aWVzPXQ7dGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkPSEhaX1wYXJzZSgpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzLHQ9bmV3IENGRjt0aGlzLmNmZj10O2NvbnN0IGk9dGhpcy5wYXJzZUhlYWRlcigpLGE9dGhpcy5wYXJzZUluZGV4KGkuZW5kUG9zKSxzPXRoaXMucGFyc2VJbmRleChhLmVuZFBvcykscj10aGlzLnBhcnNlSW5kZXgocy5lbmRQb3MpLG49dGhpcy5wYXJzZUluZGV4KHIuZW5kUG9zKSxnPXRoaXMucGFyc2VEaWN0KHMub2JqLmdldCgwKSksbz10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCxnLHQuc3RyaW5ncyk7dC5oZWFkZXI9aS5vYmo7dC5uYW1lcz10aGlzLnBhcnNlTmFtZUluZGV4KGEub2JqKTt0LnN0cmluZ3M9dGhpcy5wYXJzZVN0cmluZ0luZGV4KHIub2JqKTt0LnRvcERpY3Q9bzt0Lmdsb2JhbFN1YnJJbmRleD1uLm9iajt0aGlzLnBhcnNlUHJpdmF0ZURpY3QodC50b3BEaWN0KTt0LmlzQ0lERm9udD1vLmhhc05hbWUoIlJPUyIpO2NvbnN0IGM9by5nZXRCeU5hbWUoIkNoYXJTdHJpbmdzIiksQz10aGlzLnBhcnNlSW5kZXgoYykub2JqLGg9by5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKTtoJiYoZS5mb250TWF0cml4PWgpO2NvbnN0IGw9by5nZXRCeU5hbWUoIkZvbnRCQm94Iik7aWYobCl7ZS5hc2NlbnQ9TWF0aC5tYXgobFszXSxsWzFdKTtlLmRlc2NlbnQ9TWF0aC5taW4obFsxXSxsWzNdKTtlLmFzY2VudFNjYWxlZD0hMH1sZXQgUSxFO2lmKHQuaXNDSURGb250KXtjb25zdCBlPXRoaXMucGFyc2VJbmRleChvLmdldEJ5TmFtZSgiRkRBcnJheSIpKS5vYmo7Zm9yKGxldCBpPTAsYT1lLmNvdW50O2k8YTsrK2kpe2NvbnN0IGE9ZS5nZXQoaSkscz10aGlzLmNyZWF0ZURpY3QoQ0ZGVG9wRGljdCx0aGlzLnBhcnNlRGljdChhKSx0LnN0cmluZ3MpO3RoaXMucGFyc2VQcml2YXRlRGljdChzKTt0LmZkQXJyYXkucHVzaChzKX1FPW51bGw7UT10aGlzLnBhcnNlQ2hhcnNldHMoby5nZXRCeU5hbWUoImNoYXJzZXQiKSxDLmNvdW50LHQuc3RyaW5ncywhMCk7dC5mZFNlbGVjdD10aGlzLnBhcnNlRkRTZWxlY3Qoby5nZXRCeU5hbWUoIkZEU2VsZWN0IiksQy5jb3VudCl9ZWxzZXtRPXRoaXMucGFyc2VDaGFyc2V0cyhvLmdldEJ5TmFtZSgiY2hhcnNldCIpLEMuY291bnQsdC5zdHJpbmdzLCExKTtFPXRoaXMucGFyc2VFbmNvZGluZyhvLmdldEJ5TmFtZSgiRW5jb2RpbmciKSxlLHQuc3RyaW5ncyxRLmNoYXJzZXQpfXQuY2hhcnNldD1RO3QuZW5jb2Rpbmc9RTtjb25zdCB1PXRoaXMucGFyc2VDaGFyU3RyaW5ncyh7Y2hhclN0cmluZ3M6Qyxsb2NhbFN1YnJJbmRleDpvLnByaXZhdGVEaWN0LnN1YnJzSW5kZXgsZ2xvYmFsU3VickluZGV4Om4ub2JqLGZkU2VsZWN0OnQuZmRTZWxlY3QsZmRBcnJheTp0LmZkQXJyYXkscHJpdmF0ZURpY3Q6by5wcml2YXRlRGljdH0pO3QuY2hhclN0cmluZ3M9dS5jaGFyU3RyaW5nczt0LnNlYWNzPXUuc2VhY3M7dC53aWR0aHM9dS53aWR0aHM7cmV0dXJuIHR9cGFyc2VIZWFkZXIoKXtsZXQgZT10aGlzLmJ5dGVzO2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk9MDtmb3IoO2k8dCYmMSE9PWVbaV07KSsraTtpZihpPj10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBDRkYgaGVhZGVyIik7aWYoMCE9PWkpe2luZm8oImNmZiBkYXRhIGlzIHNoaWZ0ZWQiKTtlPWUuc3ViYXJyYXkoaSk7dGhpcy5ieXRlcz1lfWNvbnN0IGE9ZVswXSxzPWVbMV0scj1lWzJdLG49ZVszXTtyZXR1cm57b2JqOm5ldyBDRkZIZWFkZXIoYSxzLHIsbiksZW5kUG9zOnJ9fXBhcnNlRGljdChlKXtsZXQgdD0wO2Z1bmN0aW9uIHBhcnNlT3BlcmFuZCgpe2xldCBpPWVbdCsrXTtpZigzMD09PWkpcmV0dXJuIGZ1bmN0aW9uIHBhcnNlRmxvYXRPcGVyYW5kKCl7bGV0IGk9IiI7Y29uc3QgYT0xNSxzPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsIi4iLCJFIiwiRS0iLG51bGwsIi0iXSxyPWUubGVuZ3RoO2Zvcig7dDxyOyl7Y29uc3Qgcj1lW3QrK10sbj1yPj40LGc9MTUmcjtpZihuPT09YSlicmVhaztpKz1zW25dO2lmKGc9PT1hKWJyZWFrO2krPXNbZ119cmV0dXJuIHBhcnNlRmxvYXQoaSl9KCk7aWYoMjg9PT1pKXtpPWVbdCsrXTtpPShpPDwyNHxlW3QrK108PDE2KT4+MTY7cmV0dXJuIGl9aWYoMjk9PT1pKXtpPWVbdCsrXTtpPWk8PDh8ZVt0KytdO2k9aTw8OHxlW3QrK107aT1pPDw4fGVbdCsrXTtyZXR1cm4gaX1pZihpPj0zMiYmaTw9MjQ2KXJldHVybiBpLTEzOTtpZihpPj0yNDcmJmk8PTI1MClyZXR1cm4gMjU2KihpLTI0NykrZVt0KytdKzEwODtpZihpPj0yNTEmJmk8PTI1NClyZXR1cm4tMjU2KihpLTI1MSktZVt0KytdLTEwODt3YXJuKCdDRkZQYXJzZXJfcGFyc2VEaWN0OiAiJytpKyciIGlzIGEgcmVzZXJ2ZWQgY29tbWFuZC4nKTtyZXR1cm4gTmFOfWxldCBpPVtdO2NvbnN0IGE9W107dD0wO2NvbnN0IHM9ZS5sZW5ndGg7Zm9yKDt0PHM7KXtsZXQgcz1lW3RdO2lmKHM8PTIxKXsxMj09PXMmJihzPXM8PDh8ZVsrK3RdKTthLnB1c2goW3MsaV0pO2k9W107Kyt0fWVsc2UgaS5wdXNoKHBhcnNlT3BlcmFuZCgpKX1yZXR1cm4gYX1wYXJzZUluZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4LGk9dGhpcy5ieXRlcyxhPWlbZSsrXTw8OHxpW2UrK10scz1bXTtsZXQgcixuLGc9ZTtpZigwIT09YSl7Y29uc3QgdD1pW2UrK10sbz1lKyhhKzEpKnQtMTtmb3Iocj0wLG49YSsxO3I8bjsrK3Ipe2xldCBhPTA7Zm9yKGxldCBzPTA7czx0Oysrcyl7YTw8PTg7YSs9aVtlKytdfXMucHVzaChvK2EpfWc9c1thXX1mb3Iocj0wLG49cy5sZW5ndGgtMTtyPG47KytyKXtjb25zdCBlPXNbcl0sYT1zW3IrMV07dC5hZGQoaS5zdWJhcnJheShlLGEpKX1yZXR1cm57b2JqOnQsZW5kUG9zOmd9fXBhcnNlTmFtZUluZGV4KGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmNvdW50O2k8YTsrK2kpe2NvbnN0IGE9ZS5nZXQoaSk7dC5wdXNoKGJ5dGVzVG9TdHJpbmcoYSkpfXJldHVybiB0fXBhcnNlU3RyaW5nSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGU3RyaW5ncztmb3IobGV0IGk9MCxhPWUuY291bnQ7aTxhOysraSl7Y29uc3QgYT1lLmdldChpKTt0LmFkZChieXRlc1RvU3RyaW5nKGEpKX1yZXR1cm4gdH1jcmVhdGVEaWN0KGUsdCxpKXtjb25zdCBhPW5ldyBlKGkpO2Zvcihjb25zdFtlLGldb2YgdClhLnNldEJ5S2V5KGUsaSk7cmV0dXJuIGF9cGFyc2VDaGFyU3RyaW5nKGUsdCxpLGEpe2lmKCF0fHxlLmNhbGxEZXB0aD4xMClyZXR1cm4hMTtsZXQgcz1lLnN0YWNrU2l6ZTtjb25zdCByPWUuc3RhY2s7bGV0IG49dC5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxuOyl7Y29uc3Qgbz10W2crK107bGV0IGM9bnVsbDtpZigxMj09PW8pe2NvbnN0IGU9dFtnKytdO2lmKDA9PT1lKXt0W2ctMl09MTM5O3RbZy0xXT0yMjtzPTB9ZWxzZSBjPVJpW2VdfWVsc2UgaWYoMjg9PT1vKXtyW3NdPSh0W2ddPDwyNHx0W2crMV08PDE2KT4+MTY7Zys9MjtzKyt9ZWxzZSBpZigxND09PW8pe2lmKHM+PTQpe3MtPTQ7aWYodGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkKXtlLnNlYWM9ci5zbGljZShzLHMrNCk7cmV0dXJuITF9fWM9a2lbb119ZWxzZSBpZihvPj0zMiYmbzw9MjQ2KXtyW3NdPW8tMTM5O3MrK31lbHNlIGlmKG8+PTI0NyYmbzw9MjU0KXtyW3NdPW88MjUxPyhvLTI0Nzw8OCkrdFtnXSsxMDg6LShvLTI1MTw8OCktdFtnXS0xMDg7ZysrO3MrK31lbHNlIGlmKDI1NT09PW8pe3Jbc109KHRbZ108PDI0fHRbZysxXTw8MTZ8dFtnKzJdPDw4fHRbZyszXSkvNjU1MzY7Zys9NDtzKyt9ZWxzZSBpZigxOT09PW98fDIwPT09byl7ZS5oaW50cys9cz4+MTtpZigwPT09ZS5oaW50cyl7dC5jb3B5V2l0aGluKGctMSxnLC0xKTtnLT0xO24tPTE7Y29udGludWV9Zys9ZS5oaW50cys3Pj4zO3MlPTI7Yz1raVtvXX1lbHNle2lmKDEwPT09b3x8Mjk9PT1vKXtjb25zdCB0PTEwPT09bz9pOmE7aWYoIXQpe2M9a2lbb107d2FybigiTWlzc2luZyBzdWJyc0luZGV4IGZvciAiK2MuaWQpO3JldHVybiExfWxldCBuPTMyNzY4O3QuY291bnQ8MTI0MD9uPTEwNzp0LmNvdW50PDMzOTAwJiYobj0xMTMxKTtjb25zdCBnPXJbLS1zXStuO2lmKGc8MHx8Zz49dC5jb3VudHx8aXNOYU4oZykpe2M9a2lbb107d2FybigiT3V0IG9mIGJvdW5kcyBzdWJySW5kZXggZm9yICIrYy5pZCk7cmV0dXJuITF9ZS5zdGFja1NpemU9cztlLmNhbGxEZXB0aCsrO2lmKCF0aGlzLnBhcnNlQ2hhclN0cmluZyhlLHQuZ2V0KGcpLGksYSkpcmV0dXJuITE7ZS5jYWxsRGVwdGgtLTtzPWUuc3RhY2tTaXplO2NvbnRpbnVlfWlmKDExPT09byl7ZS5zdGFja1NpemU9cztyZXR1cm4hMH1pZigwPT09byYmZz09PXQubGVuZ3RoKXt0W2ctMV09MTQ7Yz1raVsxNF19ZWxzZXtpZig5PT09byl7dC5jb3B5V2l0aGluKGctMSxnLC0xKTtnLT0xO24tPTE7Y29udGludWV9Yz1raVtvXX19aWYoYyl7aWYoYy5zdGVtKXtlLmhpbnRzKz1zPj4xO2lmKDM9PT1vfHwyMz09PW8pZS5oYXNWU3RlbXM9ITA7ZWxzZSBpZihlLmhhc1ZTdGVtcyYmKDE9PT1vfHwxOD09PW8pKXt3YXJuKCJDRkYgc3RlbSBoaW50cyBhcmUgaW4gd3Jvbmcgb3JkZXIiKTt0W2ctMV09MT09PW8/MzoyM319aWYoIm1pbiJpbiBjJiYhZS51bmRlZlN0YWNrJiZzPGMubWluKXt3YXJuKCJOb3QgZW5vdWdoIHBhcmFtZXRlcnMgZm9yICIrYy5pZCsiOyBhY3R1YWw6ICIrcysiLCBleHBlY3RlZDogIitjLm1pbik7aWYoMD09PXMpe3RbZy0xXT0xNDtyZXR1cm4hMH1yZXR1cm4hMX1pZihlLmZpcnN0U3RhY2tDbGVhcmluZyYmYy5zdGFja0NsZWFyaW5nKXtlLmZpcnN0U3RhY2tDbGVhcmluZz0hMTtzLT1jLm1pbjtzPj0yJiZjLnN0ZW0/cyU9MjpzPjEmJndhcm4oIkZvdW5kIHRvbyBtYW55IHBhcmFtZXRlcnMgZm9yIHN0YWNrLWNsZWFyaW5nIGNvbW1hbmQiKTtzPjAmJihlLndpZHRoPXJbcy0xXSl9aWYoInN0YWNrRGVsdGEiaW4gYyl7InN0YWNrRm4iaW4gYyYmYy5zdGFja0ZuKHIscyk7cys9Yy5zdGFja0RlbHRhfWVsc2UgaWYoYy5zdGFja0NsZWFyaW5nKXM9MDtlbHNlIGlmKGMucmVzZXRTdGFjayl7cz0wO2UudW5kZWZTdGFjaz0hMX1lbHNlIGlmKGMudW5kZWZTdGFjayl7cz0wO2UudW5kZWZTdGFjaz0hMDtlLmZpcnN0U3RhY2tDbGVhcmluZz0hMX19fW48dC5sZW5ndGgmJnQuZmlsbCgxNCxuKTtlLnN0YWNrU2l6ZT1zO3JldHVybiEwfXBhcnNlQ2hhclN0cmluZ3Moe2NoYXJTdHJpbmdzOmUsbG9jYWxTdWJySW5kZXg6dCxnbG9iYWxTdWJySW5kZXg6aSxmZFNlbGVjdDphLGZkQXJyYXk6cyxwcml2YXRlRGljdDpyfSl7Y29uc3Qgbj1bXSxnPVtdLG89ZS5jb3VudDtmb3IobGV0IGM9MDtjPG87YysrKXtjb25zdCBvPWUuZ2V0KGMpLEM9e2NhbGxEZXB0aDowLHN0YWNrU2l6ZTowLHN0YWNrOltdLHVuZGVmU3RhY2s6ITAsaGludHM6MCxmaXJzdFN0YWNrQ2xlYXJpbmc6ITAsc2VhYzpudWxsLHdpZHRoOm51bGwsaGFzVlN0ZW1zOiExfTtsZXQgaD0hMCxsPW51bGwsUT1yO2lmKGEmJnMubGVuZ3RoKXtjb25zdCBlPWEuZ2V0RkRJbmRleChjKTtpZigtMT09PWUpe3dhcm4oIkdseXBoIGluZGV4IGlzIG5vdCBpbiBmZCBzZWxlY3QuIik7aD0hMX1pZihlPj1zLmxlbmd0aCl7d2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIik7aD0hMX1pZihoKXtRPXNbZV0ucHJpdmF0ZURpY3Q7bD1RLnN1YnJzSW5kZXh9fWVsc2UgdCYmKGw9dCk7aCYmKGg9dGhpcy5wYXJzZUNoYXJTdHJpbmcoQyxvLGwsaSkpO2lmKG51bGwhPT1DLndpZHRoKXtjb25zdCBlPVEuZ2V0QnlOYW1lKCJub21pbmFsV2lkdGhYIik7Z1tjXT1lK0Mud2lkdGh9ZWxzZXtjb25zdCBlPVEuZ2V0QnlOYW1lKCJkZWZhdWx0V2lkdGhYIik7Z1tjXT1lfW51bGwhPT1DLnNlYWMmJihuW2NdPUMuc2VhYyk7aHx8ZS5zZXQoYyxuZXcgVWludDhBcnJheShbMTRdKSl9cmV0dXJue2NoYXJTdHJpbmdzOmUsc2VhY3M6bix3aWR0aHM6Z319ZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKXtjb25zdCB0PXRoaXMuY3JlYXRlRGljdChDRkZQcml2YXRlRGljdCxbXSxlLnN0cmluZ3MpO2Uuc2V0QnlLZXkoMTgsWzAsMF0pO2UucHJpdmF0ZURpY3Q9dH1wYXJzZVByaXZhdGVEaWN0KGUpe2lmKCFlLmhhc05hbWUoIlByaXZhdGUiKSl7dGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpO3JldHVybn1jb25zdCB0PWUuZ2V0QnlOYW1lKCJQcml2YXRlIik7aWYoIUFycmF5LmlzQXJyYXkodCl8fDIhPT10Lmxlbmd0aCl7ZS5yZW1vdmVCeU5hbWUoIlByaXZhdGUiKTtyZXR1cm59Y29uc3QgaT10WzBdLGE9dFsxXTtpZigwPT09aXx8YT49dGhpcy5ieXRlcy5sZW5ndGgpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3Qgcz1hK2kscj10aGlzLmJ5dGVzLnN1YmFycmF5KGEscyksbj10aGlzLnBhcnNlRGljdChyKSxnPXRoaXMuY3JlYXRlRGljdChDRkZQcml2YXRlRGljdCxuLGUuc3RyaW5ncyk7ZS5wcml2YXRlRGljdD1nOzA9PT1nLmdldEJ5TmFtZSgiRXhwYW5zaW9uRmFjdG9yIikmJmcuc2V0QnlOYW1lKCJFeHBhbnNpb25GYWN0b3IiLC4wNik7aWYoIWcuZ2V0QnlOYW1lKCJTdWJycyIpKXJldHVybjtjb25zdCBvPWcuZ2V0QnlOYW1lKCJTdWJycyIpLGM9YStvO2lmKDA9PT1vfHxjPj10aGlzLmJ5dGVzLmxlbmd0aCl7dGhpcy5lbXB0eVByaXZhdGVEaWN0aW9uYXJ5KGUpO3JldHVybn1jb25zdCBDPXRoaXMucGFyc2VJbmRleChjKTtnLnN1YnJzSW5kZXg9Qy5vYmp9cGFyc2VDaGFyc2V0cyhlLHQsaSxhKXtpZigwPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAseGkuSVNPX0FET0JFLEVpKTtpZigxPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAseGkuRVhQRVJULHVpKTtpZigyPT09ZSlyZXR1cm4gbmV3IENGRkNoYXJzZXQoITAseGkuRVhQRVJUX1NVQlNFVCxkaSk7Y29uc3Qgcz10aGlzLmJ5dGVzLHI9ZSxuPXNbZSsrXSxnPVthPzA6Ii5ub3RkZWYiXTtsZXQgbyxjLEM7dC09MTtzd2l0Y2gobil7Y2FzZSAwOmZvcihDPTA7Qzx0O0MrKyl7bz1zW2UrK108PDh8c1tlKytdO2cucHVzaChhP286aS5nZXQobykpfWJyZWFrO2Nhc2UgMTpmb3IoO2cubGVuZ3RoPD10Oyl7bz1zW2UrK108PDh8c1tlKytdO2M9c1tlKytdO2ZvcihDPTA7Qzw9YztDKyspZy5wdXNoKGE/bysrOmkuZ2V0KG8rKykpfWJyZWFrO2Nhc2UgMjpmb3IoO2cubGVuZ3RoPD10Oyl7bz1zW2UrK108PDh8c1tlKytdO2M9c1tlKytdPDw4fHNbZSsrXTtmb3IoQz0wO0M8PWM7QysrKWcucHVzaChhP28rKzppLmdldChvKyspKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBjaGFyc2V0IGZvcm1hdCIpfWNvbnN0IGg9ZSxsPXMuc3ViYXJyYXkocixoKTtyZXR1cm4gbmV3IENGRkNoYXJzZXQoITEsbixnLGwpfXBhcnNlRW5jb2RpbmcoZSx0LGksYSl7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKG51bGwpLHI9dGhpcy5ieXRlcztsZXQgbixnLG8sYz0hMSxDPW51bGw7aWYoMD09PWV8fDE9PT1lKXtjPSEwO249ZTtjb25zdCB0PWU/Zmk6eWk7Zm9yKGc9MCxvPWEubGVuZ3RoO2c8bztnKyspe2NvbnN0IGU9dC5pbmRleE9mKGFbZ10pOy0xIT09ZSYmKHNbZV09Zyl9fWVsc2V7Y29uc3QgdD1lO249cltlKytdO3N3aXRjaCgxMjcmbil7Y2FzZSAwOmNvbnN0IHQ9cltlKytdO2ZvcihnPTE7Zzw9dDtnKyspc1tyW2UrK11dPWc7YnJlYWs7Y2FzZSAxOmNvbnN0IGk9cltlKytdO2xldCBhPTE7Zm9yKGc9MDtnPGk7ZysrKXtjb25zdCB0PXJbZSsrXSxpPXJbZSsrXTtmb3IobGV0IGU9dDtlPD10K2k7ZSsrKXNbZV09YSsrfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGVuY29kaW5nIGZvcm1hdDogJHtufSBpbiBDRkZgKX1jb25zdCBvPWU7aWYoMTI4Jm4pe3JbdF0mPTEyNzshZnVuY3Rpb24gcmVhZFN1cHBsZW1lbnQoKXtjb25zdCB0PXJbZSsrXTtmb3IoZz0wO2c8dDtnKyspe2NvbnN0IHQ9cltlKytdLG49KHJbZSsrXTw8OCkrKDI1NSZyW2UrK10pO3NbdF09YS5pbmRleE9mKGkuZ2V0KG4pKX19KCl9Qz1yLnN1YmFycmF5KHQsbyl9biY9MTI3O3JldHVybiBuZXcgQ0ZGRW5jb2RpbmcoYyxuLHMsQyl9cGFyc2VGRFNlbGVjdChlLHQpe2NvbnN0IGk9dGhpcy5ieXRlcyxhPWlbZSsrXSxzPVtdO2xldCByO3N3aXRjaChhKXtjYXNlIDA6Zm9yKHI9MDtyPHQ7KytyKXtjb25zdCB0PWlbZSsrXTtzLnB1c2godCl9YnJlYWs7Y2FzZSAzOmNvbnN0IG49aVtlKytdPDw4fGlbZSsrXTtmb3Iocj0wO3I8bjsrK3Ipe2xldCB0PWlbZSsrXTw8OHxpW2UrK107aWYoMD09PXImJjAhPT10KXt3YXJuKCJwYXJzZUZEU2VsZWN0OiBUaGUgZmlyc3QgcmFuZ2UgbXVzdCBoYXZlIGEgZmlyc3QgR0lEIG9mIDAgLS0gdHJ5aW5nIHRvIHJlY292ZXIuIik7dD0wfWNvbnN0IGE9aVtlKytdLG49aVtlXTw8OHxpW2UrMV07Zm9yKGxldCBlPXQ7ZTxuOysrZSlzLnB1c2goYSl9ZSs9MjticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgcGFyc2VGRFNlbGVjdDogVW5rbm93biBmb3JtYXQgIiR7YX0iLmApfWlmKHMubGVuZ3RoIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInBhcnNlRkRTZWxlY3Q6IEludmFsaWQgZm9udCBkYXRhLiIpO3JldHVybiBuZXcgQ0ZGRkRTZWxlY3QoYSxzKX19Y2xhc3MgQ0ZGe2NvbnN0cnVjdG9yKCl7dGhpcy5oZWFkZXI9bnVsbDt0aGlzLm5hbWVzPVtdO3RoaXMudG9wRGljdD1udWxsO3RoaXMuc3RyaW5ncz1uZXcgQ0ZGU3RyaW5nczt0aGlzLmdsb2JhbFN1YnJJbmRleD1udWxsO3RoaXMuZW5jb2Rpbmc9bnVsbDt0aGlzLmNoYXJzZXQ9bnVsbDt0aGlzLmNoYXJTdHJpbmdzPW51bGw7dGhpcy5mZEFycmF5PVtdO3RoaXMuZmRTZWxlY3Q9bnVsbDt0aGlzLmlzQ0lERm9udD0hMX1kdXBsaWNhdGVGaXJzdEdseXBoKCl7aWYodGhpcy5jaGFyU3RyaW5ncy5jb3VudD49NjU1MzUpe3dhcm4oIk5vdCBlbm91Z2ggc3BhY2UgaW4gY2hhcnN0cmluZ3MgdG8gZHVwbGljYXRlIGZpcnN0IGdseXBoLiIpO3JldHVybn1jb25zdCBlPXRoaXMuY2hhclN0cmluZ3MuZ2V0KDApO3RoaXMuY2hhclN0cmluZ3MuYWRkKGUpO3RoaXMuaXNDSURGb250JiZ0aGlzLmZkU2VsZWN0LmZkU2VsZWN0LnB1c2godGhpcy5mZFNlbGVjdC5mZFNlbGVjdFswXSl9aGFzR2x5cGhJZChlKXtpZihlPDB8fGU+PXRoaXMuY2hhclN0cmluZ3MuY291bnQpcmV0dXJuITE7cmV0dXJuIHRoaXMuY2hhclN0cmluZ3MuZ2V0KGUpLmxlbmd0aD4wfX1jbGFzcyBDRkZIZWFkZXJ7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5tYWpvcj1lO3RoaXMubWlub3I9dDt0aGlzLmhkclNpemU9aTt0aGlzLm9mZlNpemU9YX19Y2xhc3MgQ0ZGU3RyaW5nc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RyaW5ncz1bXX1nZXQoZSl7cmV0dXJuIGU+PTAmJmU8PTM5MD9GaVtlXTplLVNpPD10aGlzLnN0cmluZ3MubGVuZ3RoP3RoaXMuc3RyaW5nc1tlLVNpXTpGaVswXX1nZXRTSUQoZSl7bGV0IHQ9RmkuaW5kZXhPZihlKTtpZigtMSE9PXQpcmV0dXJuIHQ7dD10aGlzLnN0cmluZ3MuaW5kZXhPZihlKTtyZXR1cm4tMSE9PXQ/dCtTaTotMX1hZGQoZSl7dGhpcy5zdHJpbmdzLnB1c2goZSl9Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuc3RyaW5ncy5sZW5ndGh9fWNsYXNzIENGRkluZGV4e2NvbnN0cnVjdG9yKCl7dGhpcy5vYmplY3RzPVtdO3RoaXMubGVuZ3RoPTB9YWRkKGUpe3RoaXMubGVuZ3RoKz1lLmxlbmd0aDt0aGlzLm9iamVjdHMucHVzaChlKX1zZXQoZSx0KXt0aGlzLmxlbmd0aCs9dC5sZW5ndGgtdGhpcy5vYmplY3RzW2VdLmxlbmd0aDt0aGlzLm9iamVjdHNbZV09dH1nZXQoZSl7cmV0dXJuIHRoaXMub2JqZWN0c1tlXX1nZXQgY291bnQoKXtyZXR1cm4gdGhpcy5vYmplY3RzLmxlbmd0aH19Y2xhc3MgQ0ZGRGljdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMua2V5VG9OYW1lTWFwPWUua2V5VG9OYW1lTWFwO3RoaXMubmFtZVRvS2V5TWFwPWUubmFtZVRvS2V5TWFwO3RoaXMuZGVmYXVsdHM9ZS5kZWZhdWx0czt0aGlzLnR5cGVzPWUudHlwZXM7dGhpcy5vcGNvZGVzPWUub3Bjb2Rlczt0aGlzLm9yZGVyPWUub3JkZXI7dGhpcy5zdHJpbmdzPXQ7dGhpcy52YWx1ZXM9T2JqZWN0LmNyZWF0ZShudWxsKX1zZXRCeUtleShlLHQpe2lmKCEoZSBpbiB0aGlzLmtleVRvTmFtZU1hcCkpcmV0dXJuITE7aWYoMD09PXQubGVuZ3RoKXJldHVybiEwO2Zvcihjb25zdCBpIG9mIHQpaWYoaXNOYU4oaSkpe3dhcm4oYEludmFsaWQgQ0ZGRGljdCB2YWx1ZTogIiR7dH0iIGZvciBrZXkgIiR7ZX0iLmApO3JldHVybiEwfWNvbnN0IGk9dGhpcy50eXBlc1tlXTsibnVtIiE9PWkmJiJzaWQiIT09aSYmIm9mZnNldCIhPT1pfHwodD10WzBdKTt0aGlzLnZhbHVlc1tlXT10O3JldHVybiEwfXNldEJ5TmFtZShlLHQpe2lmKCEoZSBpbiB0aGlzLm5hbWVUb0tleU1hcCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGRpY3Rpb25hcnkgbmFtZSAiJHtlfSJgKTt0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtlXV09dH1oYXNOYW1lKGUpe3JldHVybiB0aGlzLm5hbWVUb0tleU1hcFtlXWluIHRoaXMudmFsdWVzfWdldEJ5TmFtZShlKXtpZighKGUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgJHtlfSJgKTtjb25zdCB0PXRoaXMubmFtZVRvS2V5TWFwW2VdO3JldHVybiB0IGluIHRoaXMudmFsdWVzP3RoaXMudmFsdWVzW3RdOnRoaXMuZGVmYXVsdHNbdF19cmVtb3ZlQnlOYW1lKGUpe2RlbGV0ZSB0aGlzLnZhbHVlc1t0aGlzLm5hbWVUb0tleU1hcFtlXV19c3RhdGljIGNyZWF0ZVRhYmxlcyhlKXtjb25zdCB0PXtrZXlUb05hbWVNYXA6e30sbmFtZVRvS2V5TWFwOnt9LGRlZmF1bHRzOnt9LHR5cGVzOnt9LG9wY29kZXM6e30sb3JkZXI6W119O2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9QXJyYXkuaXNBcnJheShpWzBdKT8oaVswXVswXTw8OCkraVswXVsxXTppWzBdO3Qua2V5VG9OYW1lTWFwW2VdPWlbMV07dC5uYW1lVG9LZXlNYXBbaVsxXV09ZTt0LnR5cGVzW2VdPWlbMl07dC5kZWZhdWx0c1tlXT1pWzNdO3Qub3Bjb2Rlc1tlXT1BcnJheS5pc0FycmF5KGlbMF0pP2lbMF06W2lbMF1dO3Qub3JkZXIucHVzaChlKX1yZXR1cm4gdH19Y29uc3QgTmk9W1tbMTIsMzBdLCJST1MiLFsic2lkIiwic2lkIiwibnVtIl0sbnVsbF0sW1sxMiwyMF0sIlN5bnRoZXRpY0Jhc2UiLCJudW0iLG51bGxdLFswLCJ2ZXJzaW9uIiwic2lkIixudWxsXSxbMSwiTm90aWNlIiwic2lkIixudWxsXSxbWzEyLDBdLCJDb3B5cmlnaHQiLCJzaWQiLG51bGxdLFsyLCJGdWxsTmFtZSIsInNpZCIsbnVsbF0sWzMsIkZhbWlseU5hbWUiLCJzaWQiLG51bGxdLFs0LCJXZWlnaHQiLCJzaWQiLG51bGxdLFtbMTIsMV0sImlzRml4ZWRQaXRjaCIsIm51bSIsMF0sW1sxMiwyXSwiSXRhbGljQW5nbGUiLCJudW0iLDBdLFtbMTIsM10sIlVuZGVybGluZVBvc2l0aW9uIiwibnVtIiwtMTAwXSxbWzEyLDRdLCJVbmRlcmxpbmVUaGlja25lc3MiLCJudW0iLDUwXSxbWzEyLDVdLCJQYWludFR5cGUiLCJudW0iLDBdLFtbMTIsNl0sIkNoYXJzdHJpbmdUeXBlIiwibnVtIiwyXSxbWzEyLDddLCJGb250TWF0cml4IixbIm51bSIsIm51bSIsIm51bSIsIm51bSIsIm51bSIsIm51bSJdLFsuMDAxLDAsMCwuMDAxLDAsMF1dLFsxMywiVW5pcXVlSUQiLCJudW0iLG51bGxdLFs1LCJGb250QkJveCIsWyJudW0iLCJudW0iLCJudW0iLCJudW0iXSxbMCwwLDAsMF1dLFtbMTIsOF0sIlN0cm9rZVdpZHRoIiwibnVtIiwwXSxbMTQsIlhVSUQiLCJhcnJheSIsbnVsbF0sWzE1LCJjaGFyc2V0Iiwib2Zmc2V0IiwwXSxbMTYsIkVuY29kaW5nIiwib2Zmc2V0IiwwXSxbMTcsIkNoYXJTdHJpbmdzIiwib2Zmc2V0IiwwXSxbMTgsIlByaXZhdGUiLFsib2Zmc2V0Iiwib2Zmc2V0Il0sbnVsbF0sW1sxMiwyMV0sIlBvc3RTY3JpcHQiLCJzaWQiLG51bGxdLFtbMTIsMjJdLCJCYXNlRm9udE5hbWUiLCJzaWQiLG51bGxdLFtbMTIsMjNdLCJCYXNlRm9udEJsZW5kIiwiZGVsdGEiLG51bGxdLFtbMTIsMzFdLCJDSURGb250VmVyc2lvbiIsIm51bSIsMF0sW1sxMiwzMl0sIkNJREZvbnRSZXZpc2lvbiIsIm51bSIsMF0sW1sxMiwzM10sIkNJREZvbnRUeXBlIiwibnVtIiwwXSxbWzEyLDM0XSwiQ0lEQ291bnQiLCJudW0iLDg3MjBdLFtbMTIsMzVdLCJVSURCYXNlIiwibnVtIixudWxsXSxbWzEyLDM3XSwiRkRTZWxlY3QiLCJvZmZzZXQiLG51bGxdLFtbMTIsMzZdLCJGREFycmF5Iiwib2Zmc2V0IixudWxsXSxbWzEyLDM4XSwiRm9udE5hbWUiLCJzaWQiLG51bGxdXTtjbGFzcyBDRkZUb3BEaWN0IGV4dGVuZHMgQ0ZGRGljdHtzdGF0aWMgZ2V0IHRhYmxlcygpe3JldHVybiBzaGFkb3codGhpcywidGFibGVzIix0aGlzLmNyZWF0ZVRhYmxlcyhOaSkpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKENGRlRvcERpY3QudGFibGVzLGUpO3RoaXMucHJpdmF0ZURpY3Q9bnVsbH19Y29uc3QgR2k9W1s2LCJCbHVlVmFsdWVzIiwiZGVsdGEiLG51bGxdLFs3LCJPdGhlckJsdWVzIiwiZGVsdGEiLG51bGxdLFs4LCJGYW1pbHlCbHVlcyIsImRlbHRhIixudWxsXSxbOSwiRmFtaWx5T3RoZXJCbHVlcyIsImRlbHRhIixudWxsXSxbWzEyLDldLCJCbHVlU2NhbGUiLCJudW0iLC4wMzk2MjVdLFtbMTIsMTBdLCJCbHVlU2hpZnQiLCJudW0iLDddLFtbMTIsMTFdLCJCbHVlRnV6eiIsIm51bSIsMV0sWzEwLCJTdGRIVyIsIm51bSIsbnVsbF0sWzExLCJTdGRWVyIsIm51bSIsbnVsbF0sW1sxMiwxMl0sIlN0ZW1TbmFwSCIsImRlbHRhIixudWxsXSxbWzEyLDEzXSwiU3RlbVNuYXBWIiwiZGVsdGEiLG51bGxdLFtbMTIsMTRdLCJGb3JjZUJvbGQiLCJudW0iLDBdLFtbMTIsMTddLCJMYW5ndWFnZUdyb3VwIiwibnVtIiwwXSxbWzEyLDE4XSwiRXhwYW5zaW9uRmFjdG9yIiwibnVtIiwuMDZdLFtbMTIsMTldLCJpbml0aWFsUmFuZG9tU2VlZCIsIm51bSIsMF0sWzIwLCJkZWZhdWx0V2lkdGhYIiwibnVtIiwwXSxbMjEsIm5vbWluYWxXaWR0aFgiLCJudW0iLDBdLFsxOSwiU3VicnMiLCJvZmZzZXQiLG51bGxdXTtjbGFzcyBDRkZQcml2YXRlRGljdCBleHRlbmRzIENGRkRpY3R7c3RhdGljIGdldCB0YWJsZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInRhYmxlcyIsdGhpcy5jcmVhdGVUYWJsZXMoR2kpKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihDRkZQcml2YXRlRGljdC50YWJsZXMsZSk7dGhpcy5zdWJyc0luZGV4PW51bGx9fWNvbnN0IHhpPXtJU09fQURPQkU6MCxFWFBFUlQ6MSxFWFBFUlRfU1VCU0VUOjJ9O2NsYXNzIENGRkNoYXJzZXR7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5wcmVkZWZpbmVkPWU7dGhpcy5mb3JtYXQ9dDt0aGlzLmNoYXJzZXQ9aTt0aGlzLnJhdz1hfX1jbGFzcyBDRkZFbmNvZGluZ3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLnByZWRlZmluZWQ9ZTt0aGlzLmZvcm1hdD10O3RoaXMuZW5jb2Rpbmc9aTt0aGlzLnJhdz1hfX1jbGFzcyBDRkZGRFNlbGVjdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZm9ybWF0PWU7dGhpcy5mZFNlbGVjdD10fWdldEZESW5kZXgoZSl7cmV0dXJuIGU8MHx8ZT49dGhpcy5mZFNlbGVjdC5sZW5ndGg/LTE6dGhpcy5mZFNlbGVjdFtlXX19Y2xhc3MgQ0ZGT2Zmc2V0VHJhY2tlcntjb25zdHJ1Y3Rvcigpe3RoaXMub2Zmc2V0cz1PYmplY3QuY3JlYXRlKG51bGwpfWlzVHJhY2tpbmcoZSl7cmV0dXJuIGUgaW4gdGhpcy5vZmZzZXRzfXRyYWNrKGUsdCl7aWYoZSBpbiB0aGlzLm9mZnNldHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBBbHJlYWR5IHRyYWNraW5nIGxvY2F0aW9uIG9mICR7ZX1gKTt0aGlzLm9mZnNldHNbZV09dH1vZmZzZXQoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5vZmZzZXRzKXRoaXMub2Zmc2V0c1t0XSs9ZX1zZXRFbnRyeUxvY2F0aW9uKGUsdCxpKXtpZighKGUgaW4gdGhpcy5vZmZzZXRzKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYE5vdCB0cmFja2luZyBsb2NhdGlvbiBvZiAke2V9YCk7Y29uc3QgYT1pLmRhdGEscz10aGlzLm9mZnNldHNbZV07Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7KytlKXtjb25zdCBpPTUqZStzLHI9aSsxLG49aSsyLGc9aSszLG89aSs0O2lmKDI5IT09YVtpXXx8MCE9PWFbcl18fDAhPT1hW25dfHwwIT09YVtnXXx8MCE9PWFbb10pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ3cml0aW5nIHRvIGFuIG9mZnNldCB0aGF0IGlzIG5vdCBlbXB0eSIpO2NvbnN0IGM9dFtlXTthW2ldPTI5O2Fbcl09Yz4+MjQmMjU1O2Fbbl09Yz4+MTYmMjU1O2FbZ109Yz4+OCYyNTU7YVtvXT0yNTUmY319fWNsYXNzIENGRkNvbXBpbGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuY2ZmPWV9Y29tcGlsZSgpe2NvbnN0IGU9dGhpcy5jZmYsdD17ZGF0YTpbXSxsZW5ndGg6MCxhZGQoZSl7dHJ5e3RoaXMuZGF0YS5wdXNoKC4uLmUpfWNhdGNoe3RoaXMuZGF0YT10aGlzLmRhdGEuY29uY2F0KGUpfXRoaXMubGVuZ3RoPXRoaXMuZGF0YS5sZW5ndGh9fSxpPXRoaXMuY29tcGlsZUhlYWRlcihlLmhlYWRlcik7dC5hZGQoaSk7Y29uc3QgYT10aGlzLmNvbXBpbGVOYW1lSW5kZXgoZS5uYW1lcyk7dC5hZGQoYSk7aWYoZS5pc0NJREZvbnQmJmUudG9wRGljdC5oYXNOYW1lKCJGb250TWF0cml4Iikpe2NvbnN0IHQ9ZS50b3BEaWN0LmdldEJ5TmFtZSgiRm9udE1hdHJpeCIpO2UudG9wRGljdC5yZW1vdmVCeU5hbWUoIkZvbnRNYXRyaXgiKTtmb3IoY29uc3QgaSBvZiBlLmZkQXJyYXkpe2xldCBlPXQuc2xpY2UoMCk7aS5oYXNOYW1lKCJGb250TWF0cml4IikmJihlPVV0aWwudHJhbnNmb3JtKGUsaS5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKSkpO2kuc2V0QnlOYW1lKCJGb250TWF0cml4IixlKX19Y29uc3Qgcz1lLnRvcERpY3QuZ2V0QnlOYW1lKCJYVUlEIik7cz8ubGVuZ3RoPjE2JiZlLnRvcERpY3QucmVtb3ZlQnlOYW1lKCJYVUlEIik7ZS50b3BEaWN0LnNldEJ5TmFtZSgiY2hhcnNldCIsMCk7bGV0IHI9dGhpcy5jb21waWxlVG9wRGljdHMoW2UudG9wRGljdF0sdC5sZW5ndGgsZS5pc0NJREZvbnQpO3QuYWRkKHIub3V0cHV0KTtjb25zdCBuPXIudHJhY2tlcnNbMF0sZz10aGlzLmNvbXBpbGVTdHJpbmdJbmRleChlLnN0cmluZ3Muc3RyaW5ncyk7dC5hZGQoZyk7Y29uc3Qgbz10aGlzLmNvbXBpbGVJbmRleChlLmdsb2JhbFN1YnJJbmRleCk7dC5hZGQobyk7aWYoZS5lbmNvZGluZyYmZS50b3BEaWN0Lmhhc05hbWUoIkVuY29kaW5nIikpaWYoZS5lbmNvZGluZy5wcmVkZWZpbmVkKW4uc2V0RW50cnlMb2NhdGlvbigiRW5jb2RpbmciLFtlLmVuY29kaW5nLmZvcm1hdF0sdCk7ZWxzZXtjb25zdCBpPXRoaXMuY29tcGlsZUVuY29kaW5nKGUuZW5jb2RpbmcpO24uc2V0RW50cnlMb2NhdGlvbigiRW5jb2RpbmciLFt0Lmxlbmd0aF0sdCk7dC5hZGQoaSl9Y29uc3QgYz10aGlzLmNvbXBpbGVDaGFyc2V0KGUuY2hhcnNldCxlLmNoYXJTdHJpbmdzLmNvdW50LGUuc3RyaW5ncyxlLmlzQ0lERm9udCk7bi5zZXRFbnRyeUxvY2F0aW9uKCJjaGFyc2V0IixbdC5sZW5ndGhdLHQpO3QuYWRkKGMpO2NvbnN0IEM9dGhpcy5jb21waWxlQ2hhclN0cmluZ3MoZS5jaGFyU3RyaW5ncyk7bi5zZXRFbnRyeUxvY2F0aW9uKCJDaGFyU3RyaW5ncyIsW3QubGVuZ3RoXSx0KTt0LmFkZChDKTtpZihlLmlzQ0lERm9udCl7bi5zZXRFbnRyeUxvY2F0aW9uKCJGRFNlbGVjdCIsW3QubGVuZ3RoXSx0KTtjb25zdCBpPXRoaXMuY29tcGlsZUZEU2VsZWN0KGUuZmRTZWxlY3QpO3QuYWRkKGkpO3I9dGhpcy5jb21waWxlVG9wRGljdHMoZS5mZEFycmF5LHQubGVuZ3RoLCEwKTtuLnNldEVudHJ5TG9jYXRpb24oIkZEQXJyYXkiLFt0Lmxlbmd0aF0sdCk7dC5hZGQoci5vdXRwdXQpO2NvbnN0IGE9ci50cmFja2Vyczt0aGlzLmNvbXBpbGVQcml2YXRlRGljdHMoZS5mZEFycmF5LGEsdCl9dGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKFtlLnRvcERpY3RdLFtuXSx0KTt0LmFkZChbMF0pO3JldHVybiB0LmRhdGF9ZW5jb2RlTnVtYmVyKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpP3RoaXMuZW5jb2RlSW50ZWdlcihlKTp0aGlzLmVuY29kZUZsb2F0KGUpfXN0YXRpYyBnZXQgRW5jb2RlRmxvYXRSZWdFeHAoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkVuY29kZUZsb2F0UmVnRXhwIiwvXC4oXGQqPykoPzo5ezUsMjB9fDB7NSwyMH0pXGR7MCwyfSg/OmUoLispfCQpLyl9ZW5jb2RlRmxvYXQoZSl7bGV0IHQ9ZS50b1N0cmluZygpO2NvbnN0IGk9Q0ZGQ29tcGlsZXIuRW5jb2RlRmxvYXRSZWdFeHAuZXhlYyh0KTtpZihpKXtjb25zdCBhPXBhcnNlRmxvYXQoIjFlIisoKGlbMl0/K2lbMl06MCkraVsxXS5sZW5ndGgpKTt0PShNYXRoLnJvdW5kKGUqYSkvYSkudG9TdHJpbmcoKX1sZXQgYSxzLHI9IiI7Zm9yKGE9MCxzPXQubGVuZ3RoO2E8czsrK2Epe2NvbnN0IGU9dFthXTtyKz0iZSI9PT1lPyItIj09PXRbKythXT8iYyI6ImIiOiIuIj09PWU/ImEiOiItIj09PWU/ImUiOmV9cis9MSZyLmxlbmd0aD8iZiI6ImZmIjtjb25zdCBuPVszMF07Zm9yKGE9MCxzPXIubGVuZ3RoO2E8czthKz0yKW4ucHVzaChwYXJzZUludChyLnN1YnN0cmluZyhhLGErMiksMTYpKTtyZXR1cm4gbn1lbmNvZGVJbnRlZ2VyKGUpe2xldCB0O3Q9ZT49LTEwNyYmZTw9MTA3P1tlKzEzOV06ZT49MTA4JiZlPD0xMTMxP1syNDcrKChlLT0xMDgpPj44KSwyNTUmZV06ZT49LTExMzEmJmU8PS0xMDg/WzI1MSsoKGU9LWUtMTA4KT4+OCksMjU1JmVdOmU+PS0zMjc2OCYmZTw9MzI3Njc/WzI4LGU+PjgmMjU1LDI1NSZlXTpbMjksZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwyNTUmZV07cmV0dXJuIHR9Y29tcGlsZUhlYWRlcihlKXtyZXR1cm5bZS5tYWpvcixlLm1pbm9yLDQsZS5vZmZTaXplXX1jb21waWxlTmFtZUluZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9TWF0aC5taW4oaS5sZW5ndGgsMTI3KTtsZXQgYT1uZXcgQXJyYXkoZSk7Zm9yKGxldCB0PTA7dDxlO3QrKyl7bGV0IGU9aVt0XTsoZTwiISJ8fGU+In4ifHwiWyI9PT1lfHwiXSI9PT1lfHwiKCI9PT1lfHwiKSI9PT1lfHwieyI9PT1lfHwifSI9PT1lfHwiPCI9PT1lfHwiPiI9PT1lfHwiLyI9PT1lfHwiJSI9PT1lKSYmKGU9Il8iKTthW3RdPWV9YT1hLmpvaW4oIiIpOyIiPT09YSYmKGE9IkJhZF9Gb250X05hbWUiKTt0LmFkZChzdHJpbmdUb0J5dGVzKGEpKX1yZXR1cm4gdGhpcy5jb21waWxlSW5kZXgodCl9Y29tcGlsZVRvcERpY3RzKGUsdCxpKXtjb25zdCBhPVtdO2xldCBzPW5ldyBDRkZJbmRleDtmb3IoY29uc3QgciBvZiBlKXtpZihpKXtyLnJlbW92ZUJ5TmFtZSgiQ0lERm9udFZlcnNpb24iKTtyLnJlbW92ZUJ5TmFtZSgiQ0lERm9udFJldmlzaW9uIik7ci5yZW1vdmVCeU5hbWUoIkNJREZvbnRUeXBlIik7ci5yZW1vdmVCeU5hbWUoIkNJRENvdW50Iik7ci5yZW1vdmVCeU5hbWUoIlVJREJhc2UiKX1jb25zdCBlPW5ldyBDRkZPZmZzZXRUcmFja2VyLG49dGhpcy5jb21waWxlRGljdChyLGUpO2EucHVzaChlKTtzLmFkZChuKTtlLm9mZnNldCh0KX1zPXRoaXMuY29tcGlsZUluZGV4KHMsYSk7cmV0dXJue3RyYWNrZXJzOmEsb3V0cHV0OnN9fWNvbXBpbGVQcml2YXRlRGljdHMoZSx0LGkpe2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzOysrYSl7Y29uc3Qgcz1lW2FdLHI9cy5wcml2YXRlRGljdDtpZighcnx8IXMuaGFzTmFtZSgiUHJpdmF0ZSIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVGhlcmUgbXVzdCBiZSBhIHByaXZhdGUgZGljdGlvbmFyeS4iKTtjb25zdCBuPW5ldyBDRkZPZmZzZXRUcmFja2VyLGc9dGhpcy5jb21waWxlRGljdChyLG4pO2xldCBvPWkubGVuZ3RoO24ub2Zmc2V0KG8pO2cubGVuZ3RofHwobz0wKTt0W2FdLnNldEVudHJ5TG9jYXRpb24oIlByaXZhdGUiLFtnLmxlbmd0aCxvXSxpKTtpLmFkZChnKTtpZihyLnN1YnJzSW5kZXgmJnIuaGFzTmFtZSgiU3VicnMiKSl7Y29uc3QgZT10aGlzLmNvbXBpbGVJbmRleChyLnN1YnJzSW5kZXgpO24uc2V0RW50cnlMb2NhdGlvbigiU3VicnMiLFtnLmxlbmd0aF0saSk7aS5hZGQoZSl9fX1jb21waWxlRGljdChlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZS5vcmRlcil7aWYoIShhIGluIGUudmFsdWVzKSljb250aW51ZTtsZXQgcz1lLnZhbHVlc1thXSxyPWUudHlwZXNbYV07QXJyYXkuaXNBcnJheShyKXx8KHI9W3JdKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO2lmKDAhPT1zLmxlbmd0aCl7Zm9yKGxldCBuPTAsZz1yLmxlbmd0aDtuPGc7KytuKXtjb25zdCBnPXJbbl0sbz1zW25dO3N3aXRjaChnKXtjYXNlIm51bSI6Y2FzZSJzaWQiOmkucHVzaCguLi50aGlzLmVuY29kZU51bWJlcihvKSk7YnJlYWs7Y2FzZSJvZmZzZXQiOmNvbnN0IHI9ZS5rZXlUb05hbWVNYXBbYV07dC5pc1RyYWNraW5nKHIpfHx0LnRyYWNrKHIsaS5sZW5ndGgpO2kucHVzaCgyOSwwLDAsMCwwKTticmVhaztjYXNlImFycmF5IjpjYXNlImRlbHRhIjppLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIobykpO2ZvcihsZXQgZT0xLHQ9cy5sZW5ndGg7ZTx0OysrZSlpLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIoc1tlXSkpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIGRhdGEgdHlwZSBvZiAke2d9YCl9fWkucHVzaCguLi5lLm9wY29kZXNbYV0pfX1yZXR1cm4gaX1jb21waWxlU3RyaW5nSW5kZXgoZSl7Y29uc3QgdD1uZXcgQ0ZGSW5kZXg7Zm9yKGNvbnN0IGkgb2YgZSl0LmFkZChzdHJpbmdUb0J5dGVzKGkpKTtyZXR1cm4gdGhpcy5jb21waWxlSW5kZXgodCl9Y29tcGlsZUNoYXJTdHJpbmdzKGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2ZvcihsZXQgaT0wO2k8ZS5jb3VudDtpKyspe2NvbnN0IGE9ZS5nZXQoaSk7MCE9PWEubGVuZ3RoP3QuYWRkKGEpOnQuYWRkKG5ldyBVaW50OEFycmF5KFsxMzksMTRdKSl9cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVDaGFyc2V0KGUsdCxpLGEpe2xldCBzO2NvbnN0IHI9dC0xO2lmKGEpcz1uZXcgVWludDhBcnJheShbMiwwLDAscj4+OCYyNTUsMjU1JnJdKTtlbHNle3M9bmV3IFVpbnQ4QXJyYXkoMSsyKnIpO3NbMF09MDtsZXQgdD0wO2NvbnN0IGE9ZS5jaGFyc2V0Lmxlbmd0aDtsZXQgbj0hMTtmb3IobGV0IHI9MTtyPHMubGVuZ3RoO3IrPTIpe2xldCBnPTA7aWYodDxhKXtjb25zdCBhPWUuY2hhcnNldFt0KytdO2c9aS5nZXRTSUQoYSk7aWYoLTE9PT1nKXtnPTA7aWYoIW4pe249ITA7d2FybihgQ291bGRuJ3QgZmluZCAke2F9IGluIENGRiBzdHJpbmdzYCl9fX1zW3JdPWc+PjgmMjU1O3NbcisxXT0yNTUmZ319cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkocyl9Y29tcGlsZUVuY29kaW5nKGUpe3JldHVybiB0aGlzLmNvbXBpbGVUeXBlZEFycmF5KGUucmF3KX1jb21waWxlRkRTZWxlY3QoZSl7Y29uc3QgdD1lLmZvcm1hdDtsZXQgaSxhO3N3aXRjaCh0KXtjYXNlIDA6aT1uZXcgVWludDhBcnJheSgxK2UuZmRTZWxlY3QubGVuZ3RoKTtpWzBdPXQ7Zm9yKGE9MDthPGUuZmRTZWxlY3QubGVuZ3RoO2ErKylpW2ErMV09ZS5mZFNlbGVjdFthXTticmVhaztjYXNlIDM6Y29uc3Qgcz0wO2xldCByPWUuZmRTZWxlY3RbMF07Y29uc3Qgbj1bdCwwLDAscz4+OCYyNTUsMjU1JnMscl07Zm9yKGE9MTthPGUuZmRTZWxlY3QubGVuZ3RoO2ErKyl7Y29uc3QgdD1lLmZkU2VsZWN0W2FdO2lmKHQhPT1yKXtuLnB1c2goYT4+OCYyNTUsMjU1JmEsdCk7cj10fX1jb25zdCBnPShuLmxlbmd0aC0zKS8zO25bMV09Zz4+OCYyNTU7blsyXT0yNTUmZztuLnB1c2goYT4+OCYyNTUsMjU1JmEpO2k9bmV3IFVpbnQ4QXJyYXkobil9cmV0dXJuIHRoaXMuY29tcGlsZVR5cGVkQXJyYXkoaSl9Y29tcGlsZVR5cGVkQXJyYXkoZSl7cmV0dXJuIEFycmF5LmZyb20oZSl9Y29tcGlsZUluZGV4KGUsdD1bXSl7Y29uc3QgaT1lLm9iamVjdHMsYT1pLmxlbmd0aDtpZigwPT09YSlyZXR1cm5bMCwwXTtjb25zdCBzPVthPj44JjI1NSwyNTUmYV07bGV0IHIsbixnPTE7Zm9yKHI9MDtyPGE7KytyKWcrPWlbcl0ubGVuZ3RoO249ZzwyNTY/MTpnPDY1NTM2PzI6ZzwxNjc3NzIxNj8zOjQ7cy5wdXNoKG4pO2xldCBvPTE7Zm9yKHI9MDtyPGErMTtyKyspezE9PT1uP3MucHVzaCgyNTUmbyk6Mj09PW4/cy5wdXNoKG8+PjgmMjU1LDI1NSZvKTozPT09bj9zLnB1c2gobz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvKTpzLnB1c2gobz4+PjI0JjI1NSxvPj4xNiYyNTUsbz4+OCYyNTUsMjU1Jm8pO2lbcl0mJihvKz1pW3JdLmxlbmd0aCl9Zm9yKHI9MDtyPGE7cisrKXt0W3JdJiZ0W3JdLm9mZnNldChzLmxlbmd0aCk7cy5wdXNoKC4uLmlbcl0pfXJldHVybiBzfX1jb25zdCBNaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQT02NTtlLkFFPTE5ODtlLkFFYWN1dGU9NTA4O2UuQUVtYWNyb249NDgyO2UuQUVzbWFsbD02MzQ2MjtlLkFhY3V0ZT0xOTM7ZS5BYWN1dGVzbWFsbD02MzQ1NztlLkFicmV2ZT0yNTg7ZS5BYnJldmVhY3V0ZT03ODU0O2UuQWJyZXZlY3lyaWxsaWM9MTIzMjtlLkFicmV2ZWRvdGJlbG93PTc4NjI7ZS5BYnJldmVncmF2ZT03ODU2O2UuQWJyZXZlaG9va2Fib3ZlPTc4NTg7ZS5BYnJldmV0aWxkZT03ODYwO2UuQWNhcm9uPTQ2MTtlLkFjaXJjbGU9OTM5ODtlLkFjaXJjdW1mbGV4PTE5NDtlLkFjaXJjdW1mbGV4YWN1dGU9Nzg0NDtlLkFjaXJjdW1mbGV4ZG90YmVsb3c9Nzg1MjtlLkFjaXJjdW1mbGV4Z3JhdmU9Nzg0NjtlLkFjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NDg7ZS5BY2lyY3VtZmxleHNtYWxsPTYzNDU4O2UuQWNpcmN1bWZsZXh0aWxkZT03ODUwO2UuQWN1dGU9NjMxNzc7ZS5BY3V0ZXNtYWxsPTYzNDEyO2UuQWN5cmlsbGljPTEwNDA7ZS5BZGJsZ3JhdmU9NTEyO2UuQWRpZXJlc2lzPTE5NjtlLkFkaWVyZXNpc2N5cmlsbGljPTEyMzQ7ZS5BZGllcmVzaXNtYWNyb249NDc4O2UuQWRpZXJlc2lzc21hbGw9NjM0NjA7ZS5BZG90YmVsb3c9Nzg0MDtlLkFkb3RtYWNyb249NDgwO2UuQWdyYXZlPTE5MjtlLkFncmF2ZXNtYWxsPTYzNDU2O2UuQWhvb2thYm92ZT03ODQyO2UuQWllY3lyaWxsaWM9MTIzNjtlLkFpbnZlcnRlZGJyZXZlPTUxNDtlLkFscGhhPTkxMztlLkFscGhhdG9ub3M9OTAyO2UuQW1hY3Jvbj0yNTY7ZS5BbW9ub3NwYWNlPTY1MzEzO2UuQW9nb25laz0yNjA7ZS5BcmluZz0xOTc7ZS5BcmluZ2FjdXRlPTUwNjtlLkFyaW5nYmVsb3c9NzY4MDtlLkFyaW5nc21hbGw9NjM0NjE7ZS5Bc21hbGw9NjMzMjk7ZS5BdGlsZGU9MTk1O2UuQXRpbGRlc21hbGw9NjM0NTk7ZS5BeWJhcm1lbmlhbj0xMzI5O2UuQj02NjtlLkJjaXJjbGU9OTM5OTtlLkJkb3RhY2NlbnQ9NzY4MjtlLkJkb3RiZWxvdz03Njg0O2UuQmVjeXJpbGxpYz0xMDQxO2UuQmVuYXJtZW5pYW49MTMzMDtlLkJldGE9OTE0O2UuQmhvb2s9Mzg1O2UuQmxpbmViZWxvdz03Njg2O2UuQm1vbm9zcGFjZT02NTMxNDtlLkJyZXZlc21hbGw9NjMyMjA7ZS5Cc21hbGw9NjMzMzA7ZS5CdG9wYmFyPTM4NjtlLkM9Njc7ZS5DYWFybWVuaWFuPTEzNDI7ZS5DYWN1dGU9MjYyO2UuQ2Fyb249NjMxNzg7ZS5DYXJvbnNtYWxsPTYzMjIxO2UuQ2Nhcm9uPTI2ODtlLkNjZWRpbGxhPTE5OTtlLkNjZWRpbGxhYWN1dGU9NzY4ODtlLkNjZWRpbGxhc21hbGw9NjM0NjM7ZS5DY2lyY2xlPTk0MDA7ZS5DY2lyY3VtZmxleD0yNjQ7ZS5DZG90PTI2NjtlLkNkb3RhY2NlbnQ9MjY2O2UuQ2VkaWxsYXNtYWxsPTYzNDE2O2UuQ2hhYXJtZW5pYW49MTM1MztlLkNoZWFia2hhc2lhbmN5cmlsbGljPTEyMTI7ZS5DaGVjeXJpbGxpYz0xMDYzO2UuQ2hlZGVzY2VuZGVyYWJraGFzaWFuY3lyaWxsaWM9MTIxNDtlLkNoZWRlc2NlbmRlcmN5cmlsbGljPTEyMDY7ZS5DaGVkaWVyZXNpc2N5cmlsbGljPTEyNjg7ZS5DaGVoYXJtZW5pYW49MTM0NztlLkNoZWtoYWthc3NpYW5jeXJpbGxpYz0xMjI3O2UuQ2hldmVydGljYWxzdHJva2VjeXJpbGxpYz0xMjA4O2UuQ2hpPTkzNTtlLkNob29rPTM5MTtlLkNpcmN1bWZsZXhzbWFsbD02MzIyMjtlLkNtb25vc3BhY2U9NjUzMTU7ZS5Db2FybWVuaWFuPTEzNjE7ZS5Dc21hbGw9NjMzMzE7ZS5EPTY4O2UuRFo9NDk3O2UuRFpjYXJvbj00NTI7ZS5EYWFybWVuaWFuPTEzMzI7ZS5EYWZyaWNhbj0zOTM7ZS5EY2Fyb249MjcwO2UuRGNlZGlsbGE9NzY5NjtlLkRjaXJjbGU9OTQwMTtlLkRjaXJjdW1mbGV4YmVsb3c9NzY5ODtlLkRjcm9hdD0yNzI7ZS5EZG90YWNjZW50PTc2OTA7ZS5EZG90YmVsb3c9NzY5MjtlLkRlY3lyaWxsaWM9MTA0NDtlLkRlaWNvcHRpYz0xMDA2O2UuRGVsdGE9ODcxMDtlLkRlbHRhZ3JlZWs9OTE2O2UuRGhvb2s9Mzk0O2UuRGllcmVzaXM9NjMxNzk7ZS5EaWVyZXNpc0FjdXRlPTYzMTgwO2UuRGllcmVzaXNHcmF2ZT02MzE4MTtlLkRpZXJlc2lzc21hbGw9NjM0MDA7ZS5EaWdhbW1hZ3JlZWs9OTg4O2UuRGplY3lyaWxsaWM9MTAyNjtlLkRsaW5lYmVsb3c9NzY5NDtlLkRtb25vc3BhY2U9NjUzMTY7ZS5Eb3RhY2NlbnRzbWFsbD02MzIyMztlLkRzbGFzaD0yNzI7ZS5Ec21hbGw9NjMzMzI7ZS5EdG9wYmFyPTM5NTtlLkR6PTQ5ODtlLkR6Y2Fyb249NDUzO2UuRHplYWJraGFzaWFuY3lyaWxsaWM9MTI0ODtlLkR6ZWN5cmlsbGljPTEwMjk7ZS5EemhlY3lyaWxsaWM9MTAzOTtlLkU9Njk7ZS5FYWN1dGU9MjAxO2UuRWFjdXRlc21hbGw9NjM0NjU7ZS5FYnJldmU9Mjc2O2UuRWNhcm9uPTI4MjtlLkVjZWRpbGxhYnJldmU9NzcwODtlLkVjaGFybWVuaWFuPTEzMzM7ZS5FY2lyY2xlPTk0MDI7ZS5FY2lyY3VtZmxleD0yMDI7ZS5FY2lyY3VtZmxleGFjdXRlPTc4NzA7ZS5FY2lyY3VtZmxleGJlbG93PTc3MDQ7ZS5FY2lyY3VtZmxleGRvdGJlbG93PTc4Nzg7ZS5FY2lyY3VtZmxleGdyYXZlPTc4NzI7ZS5FY2lyY3VtZmxleGhvb2thYm92ZT03ODc0O2UuRWNpcmN1bWZsZXhzbWFsbD02MzQ2NjtlLkVjaXJjdW1mbGV4dGlsZGU9Nzg3NjtlLkVjeXJpbGxpYz0xMDI4O2UuRWRibGdyYXZlPTUxNjtlLkVkaWVyZXNpcz0yMDM7ZS5FZGllcmVzaXNzbWFsbD02MzQ2NztlLkVkb3Q9Mjc4O2UuRWRvdGFjY2VudD0yNzg7ZS5FZG90YmVsb3c9Nzg2NDtlLkVmY3lyaWxsaWM9MTA2MDtlLkVncmF2ZT0yMDA7ZS5FZ3JhdmVzbWFsbD02MzQ2NDtlLkVoYXJtZW5pYW49MTMzNTtlLkVob29rYWJvdmU9Nzg2NjtlLkVpZ2h0cm9tYW49ODU1MTtlLkVpbnZlcnRlZGJyZXZlPTUxODtlLkVpb3RpZmllZGN5cmlsbGljPTExMjQ7ZS5FbGN5cmlsbGljPTEwNTE7ZS5FbGV2ZW5yb21hbj04NTU0O2UuRW1hY3Jvbj0yNzQ7ZS5FbWFjcm9uYWN1dGU9NzcwMjtlLkVtYWNyb25ncmF2ZT03NzAwO2UuRW1jeXJpbGxpYz0xMDUyO2UuRW1vbm9zcGFjZT02NTMxNztlLkVuY3lyaWxsaWM9MTA1MztlLkVuZGVzY2VuZGVyY3lyaWxsaWM9MTE4NjtlLkVuZz0zMzA7ZS5FbmdoZWN5cmlsbGljPTExODg7ZS5Fbmhvb2tjeXJpbGxpYz0xMjIzO2UuRW9nb25laz0yODA7ZS5Fb3Blbj00MDA7ZS5FcHNpbG9uPTkxNztlLkVwc2lsb250b25vcz05MDQ7ZS5FcmN5cmlsbGljPTEwNTY7ZS5FcmV2ZXJzZWQ9Mzk4O2UuRXJldmVyc2VkY3lyaWxsaWM9MTA2OTtlLkVzY3lyaWxsaWM9MTA1NztlLkVzZGVzY2VuZGVyY3lyaWxsaWM9MTE5NDtlLkVzaD00MjU7ZS5Fc21hbGw9NjMzMzM7ZS5FdGE9OTE5O2UuRXRhcm1lbmlhbj0xMzM2O2UuRXRhdG9ub3M9OTA1O2UuRXRoPTIwODtlLkV0aHNtYWxsPTYzNDcyO2UuRXRpbGRlPTc4Njg7ZS5FdGlsZGViZWxvdz03NzA2O2UuRXVybz04MzY0O2UuRXpoPTQzOTtlLkV6aGNhcm9uPTQ5NDtlLkV6aHJldmVyc2VkPTQ0MDtlLkY9NzA7ZS5GY2lyY2xlPTk0MDM7ZS5GZG90YWNjZW50PTc3MTA7ZS5GZWhhcm1lbmlhbj0xMzY2O2UuRmVpY29wdGljPTk5NjtlLkZob29rPTQwMTtlLkZpdGFjeXJpbGxpYz0xMTM4O2UuRml2ZXJvbWFuPTg1NDg7ZS5GbW9ub3NwYWNlPTY1MzE4O2UuRm91cnJvbWFuPTg1NDc7ZS5Gc21hbGw9NjMzMzQ7ZS5HPTcxO2UuR0JzcXVhcmU9MTMxOTE7ZS5HYWN1dGU9NTAwO2UuR2FtbWE9OTE1O2UuR2FtbWFhZnJpY2FuPTQwNDtlLkdhbmdpYWNvcHRpYz0xMDAyO2UuR2JyZXZlPTI4NjtlLkdjYXJvbj00ODY7ZS5HY2VkaWxsYT0yOTA7ZS5HY2lyY2xlPTk0MDQ7ZS5HY2lyY3VtZmxleD0yODQ7ZS5HY29tbWFhY2NlbnQ9MjkwO2UuR2RvdD0yODg7ZS5HZG90YWNjZW50PTI4ODtlLkdlY3lyaWxsaWM9MTA0MztlLkdoYWRhcm1lbmlhbj0xMzQ2O2UuR2hlbWlkZGxlaG9va2N5cmlsbGljPTExNzI7ZS5HaGVzdHJva2VjeXJpbGxpYz0xMTcwO2UuR2hldXB0dXJuY3lyaWxsaWM9MTE2ODtlLkdob29rPTQwMztlLkdpbWFybWVuaWFuPTEzMzE7ZS5HamVjeXJpbGxpYz0xMDI3O2UuR21hY3Jvbj03NzEyO2UuR21vbm9zcGFjZT02NTMxOTtlLkdyYXZlPTYzMTgyO2UuR3JhdmVzbWFsbD02MzMyODtlLkdzbWFsbD02MzMzNTtlLkdzbWFsbGhvb2s9NjY3O2UuR3N0cm9rZT00ODQ7ZS5IPTcyO2UuSDE4NTMzPTk2Nzk7ZS5IMTg1NDM9OTY0MjtlLkgxODU1MT05NjQzO2UuSDIyMDczPTk2MzM7ZS5IUHNxdWFyZT0xMzI1OTtlLkhhYWJraGFzaWFuY3lyaWxsaWM9MTE5MjtlLkhhZGVzY2VuZGVyY3lyaWxsaWM9MTIwMjtlLkhhcmRzaWduY3lyaWxsaWM9MTA2NjtlLkhiYXI9Mjk0O2UuSGJyZXZlYmVsb3c9NzcyMjtlLkhjZWRpbGxhPTc3MjA7ZS5IY2lyY2xlPTk0MDU7ZS5IY2lyY3VtZmxleD0yOTI7ZS5IZGllcmVzaXM9NzcxODtlLkhkb3RhY2NlbnQ9NzcxNDtlLkhkb3RiZWxvdz03NzE2O2UuSG1vbm9zcGFjZT02NTMyMDtlLkhvYXJtZW5pYW49MTM0NDtlLkhvcmljb3B0aWM9MWUzO2UuSHNtYWxsPTYzMzM2O2UuSHVuZ2FydW1sYXV0PTYzMTgzO2UuSHVuZ2FydW1sYXV0c21hbGw9NjMyMjQ7ZS5IenNxdWFyZT0xMzIwMDtlLkk9NzM7ZS5JQWN5cmlsbGljPTEwNzE7ZS5JSj0zMDY7ZS5JVWN5cmlsbGljPTEwNzA7ZS5JYWN1dGU9MjA1O2UuSWFjdXRlc21hbGw9NjM0Njk7ZS5JYnJldmU9MzAwO2UuSWNhcm9uPTQ2MztlLkljaXJjbGU9OTQwNjtlLkljaXJjdW1mbGV4PTIwNjtlLkljaXJjdW1mbGV4c21hbGw9NjM0NzA7ZS5JY3lyaWxsaWM9MTAzMDtlLklkYmxncmF2ZT01MjA7ZS5JZGllcmVzaXM9MjA3O2UuSWRpZXJlc2lzYWN1dGU9NzcyNjtlLklkaWVyZXNpc2N5cmlsbGljPTEyNTI7ZS5JZGllcmVzaXNzbWFsbD02MzQ3MTtlLklkb3Q9MzA0O2UuSWRvdGFjY2VudD0zMDQ7ZS5JZG90YmVsb3c9Nzg4MjtlLkllYnJldmVjeXJpbGxpYz0xMjM4O2UuSWVjeXJpbGxpYz0xMDQ1O2UuSWZyYWt0dXI9ODQ2NTtlLklncmF2ZT0yMDQ7ZS5JZ3JhdmVzbWFsbD02MzQ2ODtlLklob29rYWJvdmU9Nzg4MDtlLklpY3lyaWxsaWM9MTA0ODtlLklpbnZlcnRlZGJyZXZlPTUyMjtlLklpc2hvcnRjeXJpbGxpYz0xMDQ5O2UuSW1hY3Jvbj0yOTg7ZS5JbWFjcm9uY3lyaWxsaWM9MTI1MDtlLkltb25vc3BhY2U9NjUzMjE7ZS5Jbmlhcm1lbmlhbj0xMzM5O2UuSW9jeXJpbGxpYz0xMDI1O2UuSW9nb25laz0zMDI7ZS5Jb3RhPTkyMTtlLklvdGFhZnJpY2FuPTQwNjtlLklvdGFkaWVyZXNpcz05Mzg7ZS5Jb3RhdG9ub3M9OTA2O2UuSXNtYWxsPTYzMzM3O2UuSXN0cm9rZT00MDc7ZS5JdGlsZGU9Mjk2O2UuSXRpbGRlYmVsb3c9NzcyNDtlLkl6aGl0c2FjeXJpbGxpYz0xMTQwO2UuSXpoaXRzYWRibGdyYXZlY3lyaWxsaWM9MTE0MjtlLko9NzQ7ZS5KYWFybWVuaWFuPTEzNDU7ZS5KY2lyY2xlPTk0MDc7ZS5KY2lyY3VtZmxleD0zMDg7ZS5KZWN5cmlsbGljPTEwMzI7ZS5KaGVoYXJtZW5pYW49MTM1NTtlLkptb25vc3BhY2U9NjUzMjI7ZS5Kc21hbGw9NjMzMzg7ZS5LPTc1O2UuS0JzcXVhcmU9MTMxODk7ZS5LS3NxdWFyZT0xMzI2MTtlLkthYmFzaGtpcmN5cmlsbGljPTExODQ7ZS5LYWN1dGU9NzcyODtlLkthY3lyaWxsaWM9MTA1MDtlLkthZGVzY2VuZGVyY3lyaWxsaWM9MTE3ODtlLkthaG9va2N5cmlsbGljPTEyMTk7ZS5LYXBwYT05MjI7ZS5LYXN0cm9rZWN5cmlsbGljPTExODI7ZS5LYXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTE4MDtlLktjYXJvbj00ODg7ZS5LY2VkaWxsYT0zMTA7ZS5LY2lyY2xlPTk0MDg7ZS5LY29tbWFhY2NlbnQ9MzEwO2UuS2RvdGJlbG93PTc3MzA7ZS5LZWhhcm1lbmlhbj0xMzY0O2UuS2VuYXJtZW5pYW49MTM0MztlLktoYWN5cmlsbGljPTEwNjE7ZS5LaGVpY29wdGljPTk5ODtlLktob29rPTQwODtlLktqZWN5cmlsbGljPTEwMzY7ZS5LbGluZWJlbG93PTc3MzI7ZS5LbW9ub3NwYWNlPTY1MzIzO2UuS29wcGFjeXJpbGxpYz0xMTUyO2UuS29wcGFncmVlaz05OTA7ZS5Lc2ljeXJpbGxpYz0xMTM0O2UuS3NtYWxsPTYzMzM5O2UuTD03NjtlLkxKPTQ1NTtlLkxMPTYzMTY3O2UuTGFjdXRlPTMxMztlLkxhbWJkYT05MjM7ZS5MY2Fyb249MzE3O2UuTGNlZGlsbGE9MzE1O2UuTGNpcmNsZT05NDA5O2UuTGNpcmN1bWZsZXhiZWxvdz03NzQwO2UuTGNvbW1hYWNjZW50PTMxNTtlLkxkb3Q9MzE5O2UuTGRvdGFjY2VudD0zMTk7ZS5MZG90YmVsb3c9NzczNDtlLkxkb3RiZWxvd21hY3Jvbj03NzM2O2UuTGl3bmFybWVuaWFuPTEzNDA7ZS5Maj00NTY7ZS5MamVjeXJpbGxpYz0xMDMzO2UuTGxpbmViZWxvdz03NzM4O2UuTG1vbm9zcGFjZT02NTMyNDtlLkxzbGFzaD0zMjE7ZS5Mc2xhc2hzbWFsbD02MzIyNTtlLkxzbWFsbD02MzM0MDtlLk09Nzc7ZS5NQnNxdWFyZT0xMzE5MDtlLk1hY3Jvbj02MzE4NDtlLk1hY3JvbnNtYWxsPTYzNDA3O2UuTWFjdXRlPTc3NDI7ZS5NY2lyY2xlPTk0MTA7ZS5NZG90YWNjZW50PTc3NDQ7ZS5NZG90YmVsb3c9Nzc0NjtlLk1lbmFybWVuaWFuPTEzNDg7ZS5NbW9ub3NwYWNlPTY1MzI1O2UuTXNtYWxsPTYzMzQxO2UuTXR1cm5lZD00MTI7ZS5NdT05MjQ7ZS5OPTc4O2UuTko9NDU4O2UuTmFjdXRlPTMyMztlLk5jYXJvbj0zMjc7ZS5OY2VkaWxsYT0zMjU7ZS5OY2lyY2xlPTk0MTE7ZS5OY2lyY3VtZmxleGJlbG93PTc3NTQ7ZS5OY29tbWFhY2NlbnQ9MzI1O2UuTmRvdGFjY2VudD03NzQ4O2UuTmRvdGJlbG93PTc3NTA7ZS5OaG9va2xlZnQ9NDEzO2UuTmluZXJvbWFuPTg1NTI7ZS5Oaj00NTk7ZS5OamVjeXJpbGxpYz0xMDM0O2UuTmxpbmViZWxvdz03NzUyO2UuTm1vbm9zcGFjZT02NTMyNjtlLk5vd2FybWVuaWFuPTEzNTA7ZS5Oc21hbGw9NjMzNDI7ZS5OdGlsZGU9MjA5O2UuTnRpbGRlc21hbGw9NjM0NzM7ZS5OdT05MjU7ZS5PPTc5O2UuT0U9MzM4O2UuT0VzbWFsbD02MzIyNjtlLk9hY3V0ZT0yMTE7ZS5PYWN1dGVzbWFsbD02MzQ3NTtlLk9iYXJyZWRjeXJpbGxpYz0xMjU2O2UuT2JhcnJlZGRpZXJlc2lzY3lyaWxsaWM9MTI1ODtlLk9icmV2ZT0zMzQ7ZS5PY2Fyb249NDY1O2UuT2NlbnRlcmVkdGlsZGU9NDE1O2UuT2NpcmNsZT05NDEyO2UuT2NpcmN1bWZsZXg9MjEyO2UuT2NpcmN1bWZsZXhhY3V0ZT03ODg4O2UuT2NpcmN1bWZsZXhkb3RiZWxvdz03ODk2O2UuT2NpcmN1bWZsZXhncmF2ZT03ODkwO2UuT2NpcmN1bWZsZXhob29rYWJvdmU9Nzg5MjtlLk9jaXJjdW1mbGV4c21hbGw9NjM0NzY7ZS5PY2lyY3VtZmxleHRpbGRlPTc4OTQ7ZS5PY3lyaWxsaWM9MTA1NDtlLk9kYmxhY3V0ZT0zMzY7ZS5PZGJsZ3JhdmU9NTI0O2UuT2RpZXJlc2lzPTIxNDtlLk9kaWVyZXNpc2N5cmlsbGljPTEyNTQ7ZS5PZGllcmVzaXNzbWFsbD02MzQ3ODtlLk9kb3RiZWxvdz03ODg0O2UuT2dvbmVrc21hbGw9NjMyMjc7ZS5PZ3JhdmU9MjEwO2UuT2dyYXZlc21hbGw9NjM0NzQ7ZS5PaGFybWVuaWFuPTEzNjU7ZS5PaG09ODQ4NjtlLk9ob29rYWJvdmU9Nzg4NjtlLk9ob3JuPTQxNjtlLk9ob3JuYWN1dGU9Nzg5ODtlLk9ob3JuZG90YmVsb3c9NzkwNjtlLk9ob3JuZ3JhdmU9NzkwMDtlLk9ob3JuaG9va2Fib3ZlPTc5MDI7ZS5PaG9ybnRpbGRlPTc5MDQ7ZS5PaHVuZ2FydW1sYXV0PTMzNjtlLk9pPTQxODtlLk9pbnZlcnRlZGJyZXZlPTUyNjtlLk9tYWNyb249MzMyO2UuT21hY3JvbmFjdXRlPTc3NjI7ZS5PbWFjcm9uZ3JhdmU9Nzc2MDtlLk9tZWdhPTg0ODY7ZS5PbWVnYWN5cmlsbGljPTExMjA7ZS5PbWVnYWdyZWVrPTkzNztlLk9tZWdhcm91bmRjeXJpbGxpYz0xMTQ2O2UuT21lZ2F0aXRsb2N5cmlsbGljPTExNDg7ZS5PbWVnYXRvbm9zPTkxMTtlLk9taWNyb249OTI3O2UuT21pY3JvbnRvbm9zPTkwODtlLk9tb25vc3BhY2U9NjUzMjc7ZS5PbmVyb21hbj04NTQ0O2UuT29nb25laz00OTA7ZS5Pb2dvbmVrbWFjcm9uPTQ5MjtlLk9vcGVuPTM5MDtlLk9zbGFzaD0yMTY7ZS5Pc2xhc2hhY3V0ZT01MTA7ZS5Pc2xhc2hzbWFsbD02MzQ4MDtlLk9zbWFsbD02MzM0MztlLk9zdHJva2VhY3V0ZT01MTA7ZS5PdGN5cmlsbGljPTExNTA7ZS5PdGlsZGU9MjEzO2UuT3RpbGRlYWN1dGU9Nzc1NjtlLk90aWxkZWRpZXJlc2lzPTc3NTg7ZS5PdGlsZGVzbWFsbD02MzQ3NztlLlA9ODA7ZS5QYWN1dGU9Nzc2NDtlLlBjaXJjbGU9OTQxMztlLlBkb3RhY2NlbnQ9Nzc2NjtlLlBlY3lyaWxsaWM9MTA1NTtlLlBlaGFybWVuaWFuPTEzNTQ7ZS5QZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkwO2UuUGhpPTkzNDtlLlBob29rPTQyMDtlLlBpPTkyODtlLlBpd3Jhcm1lbmlhbj0xMzYzO2UuUG1vbm9zcGFjZT02NTMyODtlLlBzaT05MzY7ZS5Qc2ljeXJpbGxpYz0xMTM2O2UuUHNtYWxsPTYzMzQ0O2UuUT04MTtlLlFjaXJjbGU9OTQxNDtlLlFtb25vc3BhY2U9NjUzMjk7ZS5Rc21hbGw9NjMzNDU7ZS5SPTgyO2UuUmFhcm1lbmlhbj0xMzU2O2UuUmFjdXRlPTM0MDtlLlJjYXJvbj0zNDQ7ZS5SY2VkaWxsYT0zNDI7ZS5SY2lyY2xlPTk0MTU7ZS5SY29tbWFhY2NlbnQ9MzQyO2UuUmRibGdyYXZlPTUyODtlLlJkb3RhY2NlbnQ9Nzc2ODtlLlJkb3RiZWxvdz03NzcwO2UuUmRvdGJlbG93bWFjcm9uPTc3NzI7ZS5SZWhhcm1lbmlhbj0xMzYwO2UuUmZyYWt0dXI9ODQ3NjtlLlJobz05Mjk7ZS5SaW5nc21hbGw9NjMyMjg7ZS5SaW52ZXJ0ZWRicmV2ZT01MzA7ZS5SbGluZWJlbG93PTc3NzQ7ZS5SbW9ub3NwYWNlPTY1MzMwO2UuUnNtYWxsPTYzMzQ2O2UuUnNtYWxsaW52ZXJ0ZWQ9NjQxO2UuUnNtYWxsaW52ZXJ0ZWRzdXBlcmlvcj02OTQ7ZS5TPTgzO2UuU0YwMTAwMDA9OTQ4NDtlLlNGMDIwMDAwPTk0OTI7ZS5TRjAzMDAwMD05NDg4O2UuU0YwNDAwMDA9OTQ5NjtlLlNGMDUwMDAwPTk1MzI7ZS5TRjA2MDAwMD05NTE2O2UuU0YwNzAwMDA9OTUyNDtlLlNGMDgwMDAwPTk1MDA7ZS5TRjA5MDAwMD05NTA4O2UuU0YxMDAwMDA9OTQ3MjtlLlNGMTEwMDAwPTk0NzQ7ZS5TRjE5MDAwMD05NTY5O2UuU0YyMDAwMDA9OTU3MDtlLlNGMjEwMDAwPTk1NTg7ZS5TRjIyMDAwMD05NTU3O2UuU0YyMzAwMDA9OTU3MTtlLlNGMjQwMDAwPTk1NTM7ZS5TRjI1MDAwMD05NTU5O2UuU0YyNjAwMDA9OTU2NTtlLlNGMjcwMDAwPTk1NjQ7ZS5TRjI4MDAwMD05NTYzO2UuU0YzNjAwMDA9OTU2NjtlLlNGMzcwMDAwPTk1Njc7ZS5TRjM4MDAwMD05NTYyO2UuU0YzOTAwMDA9OTU1NjtlLlNGNDAwMDAwPTk1Nzc7ZS5TRjQxMDAwMD05NTc0O2UuU0Y0MjAwMDA9OTU2ODtlLlNGNDMwMDAwPTk1NTI7ZS5TRjQ0MDAwMD05NTgwO2UuU0Y0NTAwMDA9OTU3NTtlLlNGNDYwMDAwPTk1NzY7ZS5TRjQ3MDAwMD05NTcyO2UuU0Y0ODAwMDA9OTU3MztlLlNGNDkwMDAwPTk1NjE7ZS5TRjUwMDAwMD05NTYwO2UuU0Y1MTAwMDA9OTU1NDtlLlNGNTIwMDAwPTk1NTU7ZS5TRjUzMDAwMD05NTc5O2UuU0Y1NDAwMDA9OTU3ODtlLlNhY3V0ZT0zNDY7ZS5TYWN1dGVkb3RhY2NlbnQ9Nzc4MDtlLlNhbXBpZ3JlZWs9OTkyO2UuU2Nhcm9uPTM1MjtlLlNjYXJvbmRvdGFjY2VudD03NzgyO2UuU2Nhcm9uc21hbGw9NjMyMjk7ZS5TY2VkaWxsYT0zNTA7ZS5TY2h3YT0zOTk7ZS5TY2h3YWN5cmlsbGljPTEyNDA7ZS5TY2h3YWRpZXJlc2lzY3lyaWxsaWM9MTI0MjtlLlNjaXJjbGU9OTQxNjtlLlNjaXJjdW1mbGV4PTM0ODtlLlNjb21tYWFjY2VudD01MzY7ZS5TZG90YWNjZW50PTc3NzY7ZS5TZG90YmVsb3c9Nzc3ODtlLlNkb3RiZWxvd2RvdGFjY2VudD03Nzg0O2UuU2VoYXJtZW5pYW49MTM1NztlLlNldmVucm9tYW49ODU1MDtlLlNoYWFybWVuaWFuPTEzNTE7ZS5TaGFjeXJpbGxpYz0xMDY0O2UuU2hjaGFjeXJpbGxpYz0xMDY1O2UuU2hlaWNvcHRpYz05OTQ7ZS5TaGhhY3lyaWxsaWM9MTIxMDtlLlNoaW1hY29wdGljPTEwMDQ7ZS5TaWdtYT05MzE7ZS5TaXhyb21hbj04NTQ5O2UuU21vbm9zcGFjZT02NTMzMTtlLlNvZnRzaWduY3lyaWxsaWM9MTA2ODtlLlNzbWFsbD02MzM0NztlLlN0aWdtYWdyZWVrPTk4NjtlLlQ9ODQ7ZS5UYXU9OTMyO2UuVGJhcj0zNTg7ZS5UY2Fyb249MzU2O2UuVGNlZGlsbGE9MzU0O2UuVGNpcmNsZT05NDE3O2UuVGNpcmN1bWZsZXhiZWxvdz03NzkyO2UuVGNvbW1hYWNjZW50PTM1NDtlLlRkb3RhY2NlbnQ9Nzc4NjtlLlRkb3RiZWxvdz03Nzg4O2UuVGVjeXJpbGxpYz0xMDU4O2UuVGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk2O2UuVGVucm9tYW49ODU1MztlLlRldHNlY3lyaWxsaWM9MTIwNDtlLlRoZXRhPTkyMDtlLlRob29rPTQyODtlLlRob3JuPTIyMjtlLlRob3Juc21hbGw9NjM0ODY7ZS5UaHJlZXJvbWFuPTg1NDY7ZS5UaWxkZXNtYWxsPTYzMjMwO2UuVGl3bmFybWVuaWFuPTEzNTk7ZS5UbGluZWJlbG93PTc3OTA7ZS5UbW9ub3NwYWNlPTY1MzMyO2UuVG9hcm1lbmlhbj0xMzM3O2UuVG9uZWZpdmU9NDQ0O2UuVG9uZXNpeD0zODg7ZS5Ub25ldHdvPTQyMztlLlRyZXRyb2ZsZXhob29rPTQzMDtlLlRzZWN5cmlsbGljPTEwNjI7ZS5Uc2hlY3lyaWxsaWM9MTAzNTtlLlRzbWFsbD02MzM0ODtlLlR3ZWx2ZXJvbWFuPTg1NTU7ZS5Ud29yb21hbj04NTQ1O2UuVT04NTtlLlVhY3V0ZT0yMTg7ZS5VYWN1dGVzbWFsbD02MzQ4MjtlLlVicmV2ZT0zNjQ7ZS5VY2Fyb249NDY3O2UuVWNpcmNsZT05NDE4O2UuVWNpcmN1bWZsZXg9MjE5O2UuVWNpcmN1bWZsZXhiZWxvdz03Nzk4O2UuVWNpcmN1bWZsZXhzbWFsbD02MzQ4MztlLlVjeXJpbGxpYz0xMDU5O2UuVWRibGFjdXRlPTM2ODtlLlVkYmxncmF2ZT01MzI7ZS5VZGllcmVzaXM9MjIwO2UuVWRpZXJlc2lzYWN1dGU9NDcxO2UuVWRpZXJlc2lzYmVsb3c9Nzc5NDtlLlVkaWVyZXNpc2Nhcm9uPTQ3MztlLlVkaWVyZXNpc2N5cmlsbGljPTEyNjQ7ZS5VZGllcmVzaXNncmF2ZT00NzU7ZS5VZGllcmVzaXNtYWNyb249NDY5O2UuVWRpZXJlc2lzc21hbGw9NjM0ODQ7ZS5VZG90YmVsb3c9NzkwODtlLlVncmF2ZT0yMTc7ZS5VZ3JhdmVzbWFsbD02MzQ4MTtlLlVob29rYWJvdmU9NzkxMDtlLlVob3JuPTQzMTtlLlVob3JuYWN1dGU9NzkxMjtlLlVob3JuZG90YmVsb3c9NzkyMDtlLlVob3JuZ3JhdmU9NzkxNDtlLlVob3JuaG9va2Fib3ZlPTc5MTY7ZS5VaG9ybnRpbGRlPTc5MTg7ZS5VaHVuZ2FydW1sYXV0PTM2ODtlLlVodW5nYXJ1bWxhdXRjeXJpbGxpYz0xMjY2O2UuVWludmVydGVkYnJldmU9NTM0O2UuVWtjeXJpbGxpYz0xMTQ0O2UuVW1hY3Jvbj0zNjI7ZS5VbWFjcm9uY3lyaWxsaWM9MTI2MjtlLlVtYWNyb25kaWVyZXNpcz03ODAyO2UuVW1vbm9zcGFjZT02NTMzMztlLlVvZ29uZWs9MzcwO2UuVXBzaWxvbj05MzM7ZS5VcHNpbG9uMT05Nzg7ZS5VcHNpbG9uYWN1dGVob29rc3ltYm9sZ3JlZWs9OTc5O2UuVXBzaWxvbmFmcmljYW49NDMzO2UuVXBzaWxvbmRpZXJlc2lzPTkzOTtlLlVwc2lsb25kaWVyZXNpc2hvb2tzeW1ib2xncmVlaz05ODA7ZS5VcHNpbG9uaG9va3N5bWJvbD05Nzg7ZS5VcHNpbG9udG9ub3M9OTEwO2UuVXJpbmc9MzY2O2UuVXNob3J0Y3lyaWxsaWM9MTAzODtlLlVzbWFsbD02MzM0OTtlLlVzdHJhaWdodGN5cmlsbGljPTExOTg7ZS5Vc3RyYWlnaHRzdHJva2VjeXJpbGxpYz0xMjAwO2UuVXRpbGRlPTM2MDtlLlV0aWxkZWFjdXRlPTc4MDA7ZS5VdGlsZGViZWxvdz03Nzk2O2UuVj04NjtlLlZjaXJjbGU9OTQxOTtlLlZkb3RiZWxvdz03ODA2O2UuVmVjeXJpbGxpYz0xMDQyO2UuVmV3YXJtZW5pYW49MTM1ODtlLlZob29rPTQzNDtlLlZtb25vc3BhY2U9NjUzMzQ7ZS5Wb2FybWVuaWFuPTEzNTI7ZS5Wc21hbGw9NjMzNTA7ZS5WdGlsZGU9NzgwNDtlLlc9ODc7ZS5XYWN1dGU9NzgxMDtlLldjaXJjbGU9OTQyMDtlLldjaXJjdW1mbGV4PTM3MjtlLldkaWVyZXNpcz03ODEyO2UuV2RvdGFjY2VudD03ODE0O2UuV2RvdGJlbG93PTc4MTY7ZS5XZ3JhdmU9NzgwODtlLldtb25vc3BhY2U9NjUzMzU7ZS5Xc21hbGw9NjMzNTE7ZS5YPTg4O2UuWGNpcmNsZT05NDIxO2UuWGRpZXJlc2lzPTc4MjA7ZS5YZG90YWNjZW50PTc4MTg7ZS5YZWhhcm1lbmlhbj0xMzQxO2UuWGk9OTI2O2UuWG1vbm9zcGFjZT02NTMzNjtlLlhzbWFsbD02MzM1MjtlLlk9ODk7ZS5ZYWN1dGU9MjIxO2UuWWFjdXRlc21hbGw9NjM0ODU7ZS5ZYXRjeXJpbGxpYz0xMTIyO2UuWWNpcmNsZT05NDIyO2UuWWNpcmN1bWZsZXg9Mzc0O2UuWWRpZXJlc2lzPTM3NjtlLllkaWVyZXNpc3NtYWxsPTYzNDg3O2UuWWRvdGFjY2VudD03ODIyO2UuWWRvdGJlbG93PTc5MjQ7ZS5ZZXJpY3lyaWxsaWM9MTA2NztlLlllcnVkaWVyZXNpc2N5cmlsbGljPTEyNzI7ZS5ZZ3JhdmU9NzkyMjtlLllob29rPTQzNTtlLllob29rYWJvdmU9NzkyNjtlLllpYXJtZW5pYW49MTM0OTtlLllpY3lyaWxsaWM9MTAzMTtlLllpd25hcm1lbmlhbj0xMzYyO2UuWW1vbm9zcGFjZT02NTMzNztlLllzbWFsbD02MzM1MztlLll0aWxkZT03OTI4O2UuWXVzYmlnY3lyaWxsaWM9MTEzMDtlLll1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMjtlLll1c2xpdHRsZWN5cmlsbGljPTExMjY7ZS5ZdXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjg7ZS5aPTkwO2UuWmFhcm1lbmlhbj0xMzM0O2UuWmFjdXRlPTM3NztlLlpjYXJvbj0zODE7ZS5aY2Fyb25zbWFsbD02MzIzMTtlLlpjaXJjbGU9OTQyMztlLlpjaXJjdW1mbGV4PTc4MjQ7ZS5aZG90PTM3OTtlLlpkb3RhY2NlbnQ9Mzc5O2UuWmRvdGJlbG93PTc4MjY7ZS5aZWN5cmlsbGljPTEwNDc7ZS5aZWRlc2NlbmRlcmN5cmlsbGljPTExNzY7ZS5aZWRpZXJlc2lzY3lyaWxsaWM9MTI0NjtlLlpldGE9OTE4O2UuWmhlYXJtZW5pYW49MTMzODtlLlpoZWJyZXZlY3lyaWxsaWM9MTIxNztlLlpoZWN5cmlsbGljPTEwNDY7ZS5aaGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc0O2UuWmhlZGllcmVzaXNjeXJpbGxpYz0xMjQ0O2UuWmxpbmViZWxvdz03ODI4O2UuWm1vbm9zcGFjZT02NTMzODtlLlpzbWFsbD02MzM1NDtlLlpzdHJva2U9NDM3O2UuYT05NztlLmFhYmVuZ2FsaT0yNDM4O2UuYWFjdXRlPTIyNTtlLmFhZGV2YT0yMzEwO2UuYWFndWphcmF0aT0yNjk0O2UuYWFndXJtdWtoaT0yNTY2O2UuYWFtYXRyYWd1cm11a2hpPTI2MjI7ZS5hYXJ1c3F1YXJlPTEzMDU5O2UuYWF2b3dlbHNpZ25iZW5nYWxpPTI0OTQ7ZS5hYXZvd2Vsc2lnbmRldmE9MjM2NjtlLmFhdm93ZWxzaWduZ3VqYXJhdGk9Mjc1MDtlLmFiYnJldmlhdGlvbm1hcmthcm1lbmlhbj0xMzc1O2UuYWJicmV2aWF0aW9uc2lnbmRldmE9MjQxNjtlLmFiZW5nYWxpPTI0Mzc7ZS5hYm9wb21vZm89MTI1NzA7ZS5hYnJldmU9MjU5O2UuYWJyZXZlYWN1dGU9Nzg1NTtlLmFicmV2ZWN5cmlsbGljPTEyMzM7ZS5hYnJldmVkb3RiZWxvdz03ODYzO2UuYWJyZXZlZ3JhdmU9Nzg1NztlLmFicmV2ZWhvb2thYm92ZT03ODU5O2UuYWJyZXZldGlsZGU9Nzg2MTtlLmFjYXJvbj00NjI7ZS5hY2lyY2xlPTk0MjQ7ZS5hY2lyY3VtZmxleD0yMjY7ZS5hY2lyY3VtZmxleGFjdXRlPTc4NDU7ZS5hY2lyY3VtZmxleGRvdGJlbG93PTc4NTM7ZS5hY2lyY3VtZmxleGdyYXZlPTc4NDc7ZS5hY2lyY3VtZmxleGhvb2thYm92ZT03ODQ5O2UuYWNpcmN1bWZsZXh0aWxkZT03ODUxO2UuYWN1dGU9MTgwO2UuYWN1dGViZWxvd2NtYj03OTE7ZS5hY3V0ZWNtYj03Njk7ZS5hY3V0ZWNvbWI9NzY5O2UuYWN1dGVkZXZhPTIzODg7ZS5hY3V0ZWxvd21vZD03MTk7ZS5hY3V0ZXRvbmVjbWI9ODMzO2UuYWN5cmlsbGljPTEwNzI7ZS5hZGJsZ3JhdmU9NTEzO2UuYWRkYWtndXJtdWtoaT0yNjczO2UuYWRldmE9MjMwOTtlLmFkaWVyZXNpcz0yMjg7ZS5hZGllcmVzaXNjeXJpbGxpYz0xMjM1O2UuYWRpZXJlc2lzbWFjcm9uPTQ3OTtlLmFkb3RiZWxvdz03ODQxO2UuYWRvdG1hY3Jvbj00ODE7ZS5hZT0yMzA7ZS5hZWFjdXRlPTUwOTtlLmFla29yZWFuPTEyNjI0O2UuYWVtYWNyb249NDgzO2UuYWZpaTAwMjA4PTgyMTM7ZS5hZmlpMDg5NDE9ODM1NjtlLmFmaWkxMDAxNz0xMDQwO2UuYWZpaTEwMDE4PTEwNDE7ZS5hZmlpMTAwMTk9MTA0MjtlLmFmaWkxMDAyMD0xMDQzO2UuYWZpaTEwMDIxPTEwNDQ7ZS5hZmlpMTAwMjI9MTA0NTtlLmFmaWkxMDAyMz0xMDI1O2UuYWZpaTEwMDI0PTEwNDY7ZS5hZmlpMTAwMjU9MTA0NztlLmFmaWkxMDAyNj0xMDQ4O2UuYWZpaTEwMDI3PTEwNDk7ZS5hZmlpMTAwMjg9MTA1MDtlLmFmaWkxMDAyOT0xMDUxO2UuYWZpaTEwMDMwPTEwNTI7ZS5hZmlpMTAwMzE9MTA1MztlLmFmaWkxMDAzMj0xMDU0O2UuYWZpaTEwMDMzPTEwNTU7ZS5hZmlpMTAwMzQ9MTA1NjtlLmFmaWkxMDAzNT0xMDU3O2UuYWZpaTEwMDM2PTEwNTg7ZS5hZmlpMTAwMzc9MTA1OTtlLmFmaWkxMDAzOD0xMDYwO2UuYWZpaTEwMDM5PTEwNjE7ZS5hZmlpMTAwNDA9MTA2MjtlLmFmaWkxMDA0MT0xMDYzO2UuYWZpaTEwMDQyPTEwNjQ7ZS5hZmlpMTAwNDM9MTA2NTtlLmFmaWkxMDA0ND0xMDY2O2UuYWZpaTEwMDQ1PTEwNjc7ZS5hZmlpMTAwNDY9MTA2ODtlLmFmaWkxMDA0Nz0xMDY5O2UuYWZpaTEwMDQ4PTEwNzA7ZS5hZmlpMTAwNDk9MTA3MTtlLmFmaWkxMDA1MD0xMTY4O2UuYWZpaTEwMDUxPTEwMjY7ZS5hZmlpMTAwNTI9MTAyNztlLmFmaWkxMDA1Mz0xMDI4O2UuYWZpaTEwMDU0PTEwMjk7ZS5hZmlpMTAwNTU9MTAzMDtlLmFmaWkxMDA1Nj0xMDMxO2UuYWZpaTEwMDU3PTEwMzI7ZS5hZmlpMTAwNTg9MTAzMztlLmFmaWkxMDA1OT0xMDM0O2UuYWZpaTEwMDYwPTEwMzU7ZS5hZmlpMTAwNjE9MTAzNjtlLmFmaWkxMDA2Mj0xMDM4O2UuYWZpaTEwMDYzPTYzMTcyO2UuYWZpaTEwMDY0PTYzMTczO2UuYWZpaTEwMDY1PTEwNzI7ZS5hZmlpMTAwNjY9MTA3MztlLmFmaWkxMDA2Nz0xMDc0O2UuYWZpaTEwMDY4PTEwNzU7ZS5hZmlpMTAwNjk9MTA3NjtlLmFmaWkxMDA3MD0xMDc3O2UuYWZpaTEwMDcxPTExMDU7ZS5hZmlpMTAwNzI9MTA3ODtlLmFmaWkxMDA3Mz0xMDc5O2UuYWZpaTEwMDc0PTEwODA7ZS5hZmlpMTAwNzU9MTA4MTtlLmFmaWkxMDA3Nj0xMDgyO2UuYWZpaTEwMDc3PTEwODM7ZS5hZmlpMTAwNzg9MTA4NDtlLmFmaWkxMDA3OT0xMDg1O2UuYWZpaTEwMDgwPTEwODY7ZS5hZmlpMTAwODE9MTA4NztlLmFmaWkxMDA4Mj0xMDg4O2UuYWZpaTEwMDgzPTEwODk7ZS5hZmlpMTAwODQ9MTA5MDtlLmFmaWkxMDA4NT0xMDkxO2UuYWZpaTEwMDg2PTEwOTI7ZS5hZmlpMTAwODc9MTA5MztlLmFmaWkxMDA4OD0xMDk0O2UuYWZpaTEwMDg5PTEwOTU7ZS5hZmlpMTAwOTA9MTA5NjtlLmFmaWkxMDA5MT0xMDk3O2UuYWZpaTEwMDkyPTEwOTg7ZS5hZmlpMTAwOTM9MTA5OTtlLmFmaWkxMDA5ND0xMTAwO2UuYWZpaTEwMDk1PTExMDE7ZS5hZmlpMTAwOTY9MTEwMjtlLmFmaWkxMDA5Nz0xMTAzO2UuYWZpaTEwMDk4PTExNjk7ZS5hZmlpMTAwOTk9MTEwNjtlLmFmaWkxMDEwMD0xMTA3O2UuYWZpaTEwMTAxPTExMDg7ZS5hZmlpMTAxMDI9MTEwOTtlLmFmaWkxMDEwMz0xMTEwO2UuYWZpaTEwMTA0PTExMTE7ZS5hZmlpMTAxMDU9MTExMjtlLmFmaWkxMDEwNj0xMTEzO2UuYWZpaTEwMTA3PTExMTQ7ZS5hZmlpMTAxMDg9MTExNTtlLmFmaWkxMDEwOT0xMTE2O2UuYWZpaTEwMTEwPTExMTg7ZS5hZmlpMTAxNDU9MTAzOTtlLmFmaWkxMDE0Nj0xMTIyO2UuYWZpaTEwMTQ3PTExMzg7ZS5hZmlpMTAxNDg9MTE0MDtlLmFmaWkxMDE5Mj02MzE3NDtlLmFmaWkxMDE5Mz0xMTE5O2UuYWZpaTEwMTk0PTExMjM7ZS5hZmlpMTAxOTU9MTEzOTtlLmFmaWkxMDE5Nj0xMTQxO2UuYWZpaTEwODMxPTYzMTc1O2UuYWZpaTEwODMyPTYzMTc2O2UuYWZpaTEwODQ2PTEyNDE7ZS5hZmlpMjk5PTgyMDY7ZS5hZmlpMzAwPTgyMDc7ZS5hZmlpMzAxPTgyMDU7ZS5hZmlpNTczODE9MTY0MjtlLmFmaWk1NzM4OD0xNTQ4O2UuYWZpaTU3MzkyPTE2MzI7ZS5hZmlpNTczOTM9MTYzMztlLmFmaWk1NzM5ND0xNjM0O2UuYWZpaTU3Mzk1PTE2MzU7ZS5hZmlpNTczOTY9MTYzNjtlLmFmaWk1NzM5Nz0xNjM3O2UuYWZpaTU3Mzk4PTE2Mzg7ZS5hZmlpNTczOTk9MTYzOTtlLmFmaWk1NzQwMD0xNjQwO2UuYWZpaTU3NDAxPTE2NDE7ZS5hZmlpNTc0MDM9MTU2MztlLmFmaWk1NzQwNz0xNTY3O2UuYWZpaTU3NDA5PTE1Njk7ZS5hZmlpNTc0MTA9MTU3MDtlLmFmaWk1NzQxMT0xNTcxO2UuYWZpaTU3NDEyPTE1NzI7ZS5hZmlpNTc0MTM9MTU3MztlLmFmaWk1NzQxND0xNTc0O2UuYWZpaTU3NDE1PTE1NzU7ZS5hZmlpNTc0MTY9MTU3NjtlLmFmaWk1NzQxNz0xNTc3O2UuYWZpaTU3NDE4PTE1Nzg7ZS5hZmlpNTc0MTk9MTU3OTtlLmFmaWk1NzQyMD0xNTgwO2UuYWZpaTU3NDIxPTE1ODE7ZS5hZmlpNTc0MjI9MTU4MjtlLmFmaWk1NzQyMz0xNTgzO2UuYWZpaTU3NDI0PTE1ODQ7ZS5hZmlpNTc0MjU9MTU4NTtlLmFmaWk1NzQyNj0xNTg2O2UuYWZpaTU3NDI3PTE1ODc7ZS5hZmlpNTc0Mjg9MTU4ODtlLmFmaWk1NzQyOT0xNTg5O2UuYWZpaTU3NDMwPTE1OTA7ZS5hZmlpNTc0MzE9MTU5MTtlLmFmaWk1NzQzMj0xNTkyO2UuYWZpaTU3NDMzPTE1OTM7ZS5hZmlpNTc0MzQ9MTU5NDtlLmFmaWk1NzQ0MD0xNjAwO2UuYWZpaTU3NDQxPTE2MDE7ZS5hZmlpNTc0NDI9MTYwMjtlLmFmaWk1NzQ0Mz0xNjAzO2UuYWZpaTU3NDQ0PTE2MDQ7ZS5hZmlpNTc0NDU9MTYwNTtlLmFmaWk1NzQ0Nj0xNjA2O2UuYWZpaTU3NDQ4PTE2MDg7ZS5hZmlpNTc0NDk9MTYwOTtlLmFmaWk1NzQ1MD0xNjEwO2UuYWZpaTU3NDUxPTE2MTE7ZS5hZmlpNTc0NTI9MTYxMjtlLmFmaWk1NzQ1Mz0xNjEzO2UuYWZpaTU3NDU0PTE2MTQ7ZS5hZmlpNTc0NTU9MTYxNTtlLmFmaWk1NzQ1Nj0xNjE2O2UuYWZpaTU3NDU3PTE2MTc7ZS5hZmlpNTc0NTg9MTYxODtlLmFmaWk1NzQ3MD0xNjA3O2UuYWZpaTU3NTA1PTE3MDA7ZS5hZmlpNTc1MDY9MTY2MjtlLmFmaWk1NzUwNz0xNjcwO2UuYWZpaTU3NTA4PTE2ODg7ZS5hZmlpNTc1MDk9MTcxMTtlLmFmaWk1NzUxMT0xNjU3O2UuYWZpaTU3NTEyPTE2NzI7ZS5hZmlpNTc1MTM9MTY4MTtlLmFmaWk1NzUxND0xNzIyO2UuYWZpaTU3NTE5PTE3NDY7ZS5hZmlpNTc1MzQ9MTc0OTtlLmFmaWk1NzYzNj04MzYyO2UuYWZpaTU3NjQ1PTE0NzA7ZS5hZmlpNTc2NTg9MTQ3NTtlLmFmaWk1NzY2ND0xNDg4O2UuYWZpaTU3NjY1PTE0ODk7ZS5hZmlpNTc2NjY9MTQ5MDtlLmFmaWk1NzY2Nz0xNDkxO2UuYWZpaTU3NjY4PTE0OTI7ZS5hZmlpNTc2Njk9MTQ5MztlLmFmaWk1NzY3MD0xNDk0O2UuYWZpaTU3NjcxPTE0OTU7ZS5hZmlpNTc2NzI9MTQ5NjtlLmFmaWk1NzY3Mz0xNDk3O2UuYWZpaTU3Njc0PTE0OTg7ZS5hZmlpNTc2NzU9MTQ5OTtlLmFmaWk1NzY3Nj0xNTAwO2UuYWZpaTU3Njc3PTE1MDE7ZS5hZmlpNTc2Nzg9MTUwMjtlLmFmaWk1NzY3OT0xNTAzO2UuYWZpaTU3NjgwPTE1MDQ7ZS5hZmlpNTc2ODE9MTUwNTtlLmFmaWk1NzY4Mj0xNTA2O2UuYWZpaTU3NjgzPTE1MDc7ZS5hZmlpNTc2ODQ9MTUwODtlLmFmaWk1NzY4NT0xNTA5O2UuYWZpaTU3Njg2PTE1MTA7ZS5hZmlpNTc2ODc9MTUxMTtlLmFmaWk1NzY4OD0xNTEyO2UuYWZpaTU3Njg5PTE1MTM7ZS5hZmlpNTc2OTA9MTUxNDtlLmFmaWk1NzY5ND02NDI5ODtlLmFmaWk1NzY5NT02NDI5OTtlLmFmaWk1NzcwMD02NDMzMTtlLmFmaWk1NzcwNT02NDI4NztlLmFmaWk1NzcxNj0xNTIwO2UuYWZpaTU3NzE3PTE1MjE7ZS5hZmlpNTc3MTg9MTUyMjtlLmFmaWk1NzcyMz02NDMwOTtlLmFmaWk1Nzc5Mz0xNDYwO2UuYWZpaTU3Nzk0PTE0NjE7ZS5hZmlpNTc3OTU9MTQ2MjtlLmFmaWk1Nzc5Nj0xNDY3O2UuYWZpaTU3Nzk3PTE0NjQ7ZS5hZmlpNTc3OTg9MTQ2MztlLmFmaWk1Nzc5OT0xNDU2O2UuYWZpaTU3ODAwPTE0NTg7ZS5hZmlpNTc4MDE9MTQ1NztlLmFmaWk1NzgwMj0xNDU5O2UuYWZpaTU3ODAzPTE0NzQ7ZS5hZmlpNTc4MDQ9MTQ3MztlLmFmaWk1NzgwNj0xNDY1O2UuYWZpaTU3ODA3PTE0Njg7ZS5hZmlpNTc4Mzk9MTQ2OTtlLmFmaWk1Nzg0MT0xNDcxO2UuYWZpaTU3ODQyPTE0NzI7ZS5hZmlpNTc5Mjk9NzAwO2UuYWZpaTYxMjQ4PTg0NTM7ZS5hZmlpNjEyODk9ODQ2NztlLmFmaWk2MTM1Mj04NDcwO2UuYWZpaTYxNTczPTgyMzY7ZS5hZmlpNjE1NzQ9ODIzNztlLmFmaWk2MTU3NT04MjM4O2UuYWZpaTYxNjY0PTgyMDQ7ZS5hZmlpNjMxNjc9MTY0NTtlLmFmaWk2NDkzNz03MDE7ZS5hZ3JhdmU9MjI0O2UuYWd1amFyYXRpPTI2OTM7ZS5hZ3VybXVraGk9MjU2NTtlLmFoaXJhZ2FuYT0xMjM1NDtlLmFob29rYWJvdmU9Nzg0MztlLmFpYmVuZ2FsaT0yNDQ4O2UuYWlib3BvbW9mbz0xMjU3NDtlLmFpZGV2YT0yMzIwO2UuYWllY3lyaWxsaWM9MTIzNztlLmFpZ3VqYXJhdGk9MjcwNDtlLmFpZ3VybXVraGk9MjU3NjtlLmFpbWF0cmFndXJtdWtoaT0yNjMyO2UuYWluYXJhYmljPTE1OTM7ZS5haW5maW5hbGFyYWJpYz02NTIyNjtlLmFpbmluaXRpYWxhcmFiaWM9NjUyMjc7ZS5haW5tZWRpYWxhcmFiaWM9NjUyMjg7ZS5haW52ZXJ0ZWRicmV2ZT01MTU7ZS5haXZvd2Vsc2lnbmJlbmdhbGk9MjUwNDtlLmFpdm93ZWxzaWduZGV2YT0yMzc2O2UuYWl2b3dlbHNpZ25ndWphcmF0aT0yNzYwO2UuYWthdGFrYW5hPTEyNDUwO2UuYWthdGFrYW5haGFsZndpZHRoPTY1MzkzO2UuYWtvcmVhbj0xMjYyMztlLmFsZWY9MTQ4ODtlLmFsZWZhcmFiaWM9MTU3NTtlLmFsZWZkYWdlc2hoZWJyZXc9NjQzMDQ7ZS5hbGVmZmluYWxhcmFiaWM9NjUxNjY7ZS5hbGVmaGFtemFhYm92ZWFyYWJpYz0xNTcxO2UuYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE1NjtlLmFsZWZoYW16YWJlbG93YXJhYmljPTE1NzM7ZS5hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1MTYwO2UuYWxlZmhlYnJldz0xNDg4O2UuYWxlZmxhbWVkaGVicmV3PTY0MzM1O2UuYWxlZm1hZGRhYWJvdmVhcmFiaWM9MTU3MDtlLmFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUxNTQ7ZS5hbGVmbWFrc3VyYWFyYWJpYz0xNjA5O2UuYWxlZm1ha3N1cmFmaW5hbGFyYWJpYz02NTI2NDtlLmFsZWZtYWtzdXJhaW5pdGlhbGFyYWJpYz02NTI2NztlLmFsZWZtYWtzdXJhbWVkaWFsYXJhYmljPTY1MjY4O2UuYWxlZnBhdGFoaGVicmV3PTY0MzAyO2UuYWxlZnFhbWF0c2hlYnJldz02NDMwMztlLmFsZXBoPTg1MDE7ZS5hbGxlcXVhbD04NzgwO2UuYWxwaGE9OTQ1O2UuYWxwaGF0b25vcz05NDA7ZS5hbWFjcm9uPTI1NztlLmFtb25vc3BhY2U9NjUzNDU7ZS5hbXBlcnNhbmQ9Mzg7ZS5hbXBlcnNhbmRtb25vc3BhY2U9NjUyODY7ZS5hbXBlcnNhbmRzbWFsbD02MzI3MDtlLmFtc3F1YXJlPTEzMjUwO2UuYW5ib3BvbW9mbz0xMjU3ODtlLmFuZ2JvcG9tb2ZvPTEyNTgwO2UuYW5nYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdicmFja2V0cmlnaHQ9MTIyOTc7ZS5hbmdraGFua2h1dGhhaT0zNjc0O2UuYW5nbGU9ODczNjtlLmFuZ2xlYnJhY2tldGxlZnQ9MTIyOTY7ZS5hbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODc7ZS5hbmdsZWJyYWNrZXRyaWdodD0xMjI5NztlLmFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODg7ZS5hbmdsZWxlZnQ9OTAwMTtlLmFuZ2xlcmlnaHQ9OTAwMjtlLmFuZ3N0cm9tPTg0OTE7ZS5hbm90ZWxlaWE9OTAzO2UuYW51ZGF0dGFkZXZhPTIzODY7ZS5hbnVzdmFyYWJlbmdhbGk9MjQzNDtlLmFudXN2YXJhZGV2YT0yMzA2O2UuYW51c3ZhcmFndWphcmF0aT0yNjkwO2UuYW9nb25laz0yNjE7ZS5hcGFhdG9zcXVhcmU9MTMwNTY7ZS5hcGFyZW49OTM3MjtlLmFwb3N0cm9waGVhcm1lbmlhbj0xMzcwO2UuYXBvc3Ryb3BoZW1vZD03MDA7ZS5hcHBsZT02Mzc0MztlLmFwcHJvYWNoZXM9ODc4NDtlLmFwcHJveGVxdWFsPTg3NzY7ZS5hcHByb3hlcXVhbG9yaW1hZ2U9ODc4NjtlLmFwcHJveGltYXRlbHllcXVhbD04NzczO2UuYXJhZWFla29yZWFuPTEyNjg2O2UuYXJhZWFrb3JlYW49MTI2ODU7ZS5hcmM9ODk3ODtlLmFyaWdodGhhbGZyaW5nPTc4MzQ7ZS5hcmluZz0yMjk7ZS5hcmluZ2FjdXRlPTUwNztlLmFyaW5nYmVsb3c9NzY4MTtlLmFycm93Ym90aD04NTk2O2UuYXJyb3dkYXNoZG93bj04Njc1O2UuYXJyb3dkYXNobGVmdD04NjcyO2UuYXJyb3dkYXNocmlnaHQ9ODY3NDtlLmFycm93ZGFzaHVwPTg2NzM7ZS5hcnJvd2RibGJvdGg9ODY2MDtlLmFycm93ZGJsZG93bj04NjU5O2UuYXJyb3dkYmxsZWZ0PTg2NTY7ZS5hcnJvd2RibHJpZ2h0PTg2NTg7ZS5hcnJvd2RibHVwPTg2NTc7ZS5hcnJvd2Rvd249ODU5NTtlLmFycm93ZG93bmxlZnQ9ODYwMTtlLmFycm93ZG93bnJpZ2h0PTg2MDA7ZS5hcnJvd2Rvd253aGl0ZT04NjgxO2UuYXJyb3doZWFkZG93bm1vZD03MDk7ZS5hcnJvd2hlYWRsZWZ0bW9kPTcwNjtlLmFycm93aGVhZHJpZ2h0bW9kPTcwNztlLmFycm93aGVhZHVwbW9kPTcwODtlLmFycm93aG9yaXpleD02MzcxOTtlLmFycm93bGVmdD04NTkyO2UuYXJyb3dsZWZ0ZGJsPTg2NTY7ZS5hcnJvd2xlZnRkYmxzdHJva2U9ODY1MztlLmFycm93bGVmdG92ZXJyaWdodD04NjQ2O2UuYXJyb3dsZWZ0d2hpdGU9ODY3ODtlLmFycm93cmlnaHQ9ODU5NDtlLmFycm93cmlnaHRkYmxzdHJva2U9ODY1NTtlLmFycm93cmlnaHRoZWF2eT0xMDE0MjtlLmFycm93cmlnaHRvdmVybGVmdD04NjQ0O2UuYXJyb3dyaWdodHdoaXRlPTg2ODA7ZS5hcnJvd3RhYmxlZnQ9ODY3NjtlLmFycm93dGFicmlnaHQ9ODY3NztlLmFycm93dXA9ODU5MztlLmFycm93dXBkbj04NTk3O2UuYXJyb3d1cGRuYnNlPTg2MTY7ZS5hcnJvd3VwZG93bmJhc2U9ODYxNjtlLmFycm93dXBsZWZ0PTg1OTg7ZS5hcnJvd3VwbGVmdG9mZG93bj04NjQ1O2UuYXJyb3d1cHJpZ2h0PTg1OTk7ZS5hcnJvd3Vwd2hpdGU9ODY3OTtlLmFycm93dmVydGV4PTYzNzE4O2UuYXNjaWljaXJjdW09OTQ7ZS5hc2NpaWNpcmN1bW1vbm9zcGFjZT02NTM0MjtlLmFzY2lpdGlsZGU9MTI2O2UuYXNjaWl0aWxkZW1vbm9zcGFjZT02NTM3NDtlLmFzY3JpcHQ9NTkzO2UuYXNjcmlwdHR1cm5lZD01OTQ7ZS5hc21hbGxoaXJhZ2FuYT0xMjM1MztlLmFzbWFsbGthdGFrYW5hPTEyNDQ5O2UuYXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODM7ZS5hc3Rlcmlzaz00MjtlLmFzdGVyaXNrYWx0b25lYXJhYmljPTE2NDU7ZS5hc3Rlcmlza2FyYWJpYz0xNjQ1O2UuYXN0ZXJpc2ttYXRoPTg3Mjc7ZS5hc3Rlcmlza21vbm9zcGFjZT02NTI5MDtlLmFzdGVyaXNrc21hbGw9NjUxMjE7ZS5hc3RlcmlzbT04MjU4O2UuYXN1cGVyaW9yPTYzMjA5O2UuYXN5bXB0b3RpY2FsbHllcXVhbD04NzcxO2UuYXQ9NjQ7ZS5hdGlsZGU9MjI3O2UuYXRtb25vc3BhY2U9NjUzMTI7ZS5hdHNtYWxsPTY1MTMxO2UuYXR1cm5lZD01OTI7ZS5hdWJlbmdhbGk9MjQ1MjtlLmF1Ym9wb21vZm89MTI1NzY7ZS5hdWRldmE9MjMyNDtlLmF1Z3VqYXJhdGk9MjcwODtlLmF1Z3VybXVraGk9MjU4MDtlLmF1bGVuZ3RobWFya2JlbmdhbGk9MjUxOTtlLmF1bWF0cmFndXJtdWtoaT0yNjM2O2UuYXV2b3dlbHNpZ25iZW5nYWxpPTI1MDg7ZS5hdXZvd2Vsc2lnbmRldmE9MjM4MDtlLmF1dm93ZWxzaWduZ3VqYXJhdGk9Mjc2NDtlLmF2YWdyYWhhZGV2YT0yMzY1O2UuYXliYXJtZW5pYW49MTM3NztlLmF5aW49MTUwNjtlLmF5aW5hbHRvbmVoZWJyZXc9NjQyODg7ZS5heWluaGVicmV3PTE1MDY7ZS5iPTk4O2UuYmFiZW5nYWxpPTI0NzY7ZS5iYWNrc2xhc2g9OTI7ZS5iYWNrc2xhc2htb25vc3BhY2U9NjUzNDA7ZS5iYWRldmE9MjM0ODtlLmJhZ3VqYXJhdGk9MjczMjtlLmJhZ3VybXVraGk9MjYwNDtlLmJhaGlyYWdhbmE9MTI0MDA7ZS5iYWh0dGhhaT0zNjQ3O2UuYmFrYXRha2FuYT0xMjQ5NjtlLmJhcj0xMjQ7ZS5iYXJtb25vc3BhY2U9NjUzNzI7ZS5iYm9wb21vZm89MTI1NDk7ZS5iY2lyY2xlPTk0MjU7ZS5iZG90YWNjZW50PTc2ODM7ZS5iZG90YmVsb3c9NzY4NTtlLmJlYW1lZHNpeHRlZW50aG5vdGVzPTk4MzY7ZS5iZWNhdXNlPTg3NTc7ZS5iZWN5cmlsbGljPTEwNzM7ZS5iZWhhcmFiaWM9MTU3NjtlLmJlaGZpbmFsYXJhYmljPTY1MTY4O2UuYmVoaW5pdGlhbGFyYWJpYz02NTE2OTtlLmJlaGlyYWdhbmE9MTI0MDk7ZS5iZWhtZWRpYWxhcmFiaWM9NjUxNzA7ZS5iZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3MTtlLmJlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyMDtlLmJlaG5vb25maW5hbGFyYWJpYz02NDYyMTtlLmJla2F0YWthbmE9MTI1MDU7ZS5iZW5hcm1lbmlhbj0xMzc4O2UuYmV0PTE0ODk7ZS5iZXRhPTk0NjtlLmJldGFzeW1ib2xncmVlaz05NzY7ZS5iZXRkYWdlc2g9NjQzMDU7ZS5iZXRkYWdlc2hoZWJyZXc9NjQzMDU7ZS5iZXRoZWJyZXc9MTQ4OTtlLmJldHJhZmVoZWJyZXc9NjQzMzI7ZS5iaGFiZW5nYWxpPTI0Nzc7ZS5iaGFkZXZhPTIzNDk7ZS5iaGFndWphcmF0aT0yNzMzO2UuYmhhZ3VybXVraGk9MjYwNTtlLmJob29rPTU5NTtlLmJpaGlyYWdhbmE9MTI0MDM7ZS5iaWthdGFrYW5hPTEyNDk5O2UuYmlsYWJpYWxjbGljaz02NjQ7ZS5iaW5kaWd1cm11a2hpPTI1NjI7ZS5iaXJ1c3F1YXJlPTEzMTA1O2UuYmxhY2tjaXJjbGU9OTY3OTtlLmJsYWNrZGlhbW9uZD05NjcwO2UuYmxhY2tkb3ducG9pbnRpbmd0cmlhbmdsZT05NjYwO2UuYmxhY2tsZWZ0cG9pbnRpbmdwb2ludGVyPTk2Njg7ZS5ibGFja2xlZnRwb2ludGluZ3RyaWFuZ2xlPTk2NjQ7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdD0xMjMwNDtlLmJsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODM7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQ9MTIzMDU7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4NDtlLmJsYWNrbG93ZXJsZWZ0dHJpYW5nbGU9OTY5OTtlLmJsYWNrbG93ZXJyaWdodHRyaWFuZ2xlPTk2OTg7ZS5ibGFja3JlY3RhbmdsZT05NjQ0O2UuYmxhY2tyaWdodHBvaW50aW5ncG9pbnRlcj05NjU4O2UuYmxhY2tyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NDtlLmJsYWNrc21hbGxzcXVhcmU9OTY0MjtlLmJsYWNrc21pbGluZ2ZhY2U9OTc4NztlLmJsYWNrc3F1YXJlPTk2MzI7ZS5ibGFja3N0YXI9OTczMztlLmJsYWNrdXBwZXJsZWZ0dHJpYW5nbGU9OTcwMDtlLmJsYWNrdXBwZXJyaWdodHRyaWFuZ2xlPTk3MDE7ZS5ibGFja3VwcG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NTI7ZS5ibGFja3VwcG9pbnRpbmd0cmlhbmdsZT05NjUwO2UuYmxhbms9OTI1MTtlLmJsaW5lYmVsb3c9NzY4NztlLmJsb2NrPTk2MDg7ZS5ibW9ub3NwYWNlPTY1MzQ2O2UuYm9iYWltYWl0aGFpPTM2MTA7ZS5ib2hpcmFnYW5hPTEyNDEyO2UuYm9rYXRha2FuYT0xMjUwODtlLmJwYXJlbj05MzczO2UuYnFzcXVhcmU9MTMyNTE7ZS5icmFjZWV4PTYzNzMyO2UuYnJhY2VsZWZ0PTEyMztlLmJyYWNlbGVmdGJ0PTYzNzMxO2UuYnJhY2VsZWZ0bWlkPTYzNzMwO2UuYnJhY2VsZWZ0bW9ub3NwYWNlPTY1MzcxO2UuYnJhY2VsZWZ0c21hbGw9NjUxMTU7ZS5icmFjZWxlZnR0cD02MzcyOTtlLmJyYWNlbGVmdHZlcnRpY2FsPTY1MDc5O2UuYnJhY2VyaWdodD0xMjU7ZS5icmFjZXJpZ2h0YnQ9NjM3NDI7ZS5icmFjZXJpZ2h0bWlkPTYzNzQxO2UuYnJhY2VyaWdodG1vbm9zcGFjZT02NTM3MztlLmJyYWNlcmlnaHRzbWFsbD02NTExNjtlLmJyYWNlcmlnaHR0cD02Mzc0MDtlLmJyYWNlcmlnaHR2ZXJ0aWNhbD02NTA4MDtlLmJyYWNrZXRsZWZ0PTkxO2UuYnJhY2tldGxlZnRidD02MzcyODtlLmJyYWNrZXRsZWZ0ZXg9NjM3Mjc7ZS5icmFja2V0bGVmdG1vbm9zcGFjZT02NTMzOTtlLmJyYWNrZXRsZWZ0dHA9NjM3MjY7ZS5icmFja2V0cmlnaHQ9OTM7ZS5icmFja2V0cmlnaHRidD02MzczOTtlLmJyYWNrZXRyaWdodGV4PTYzNzM4O2UuYnJhY2tldHJpZ2h0bW9ub3NwYWNlPTY1MzQxO2UuYnJhY2tldHJpZ2h0dHA9NjM3Mzc7ZS5icmV2ZT03Mjg7ZS5icmV2ZWJlbG93Y21iPTgxNDtlLmJyZXZlY21iPTc3NDtlLmJyZXZlaW52ZXJ0ZWRiZWxvd2NtYj04MTU7ZS5icmV2ZWludmVydGVkY21iPTc4NTtlLmJyZXZlaW52ZXJ0ZWRkb3VibGVjbWI9ODY1O2UuYnJpZGdlYmVsb3djbWI9ODEwO2UuYnJpZGdlaW52ZXJ0ZWRiZWxvd2NtYj04MjY7ZS5icm9rZW5iYXI9MTY2O2UuYnN0cm9rZT0zODQ7ZS5ic3VwZXJpb3I9NjMyMTA7ZS5idG9wYmFyPTM4NztlLmJ1aGlyYWdhbmE9MTI0MDY7ZS5idWthdGFrYW5hPTEyNTAyO2UuYnVsbGV0PTgyMjY7ZS5idWxsZXRpbnZlcnNlPTk2ODg7ZS5idWxsZXRvcGVyYXRvcj04NzI5O2UuYnVsbHNleWU9OTY3ODtlLmM9OTk7ZS5jYWFybWVuaWFuPTEzOTA7ZS5jYWJlbmdhbGk9MjQ1ODtlLmNhY3V0ZT0yNjM7ZS5jYWRldmE9MjMzMDtlLmNhZ3VqYXJhdGk9MjcxNDtlLmNhZ3VybXVraGk9MjU4NjtlLmNhbHNxdWFyZT0xMzE5MjtlLmNhbmRyYWJpbmR1YmVuZ2FsaT0yNDMzO2UuY2FuZHJhYmluZHVjbWI9Nzg0O2UuY2FuZHJhYmluZHVkZXZhPTIzMDU7ZS5jYW5kcmFiaW5kdWd1amFyYXRpPTI2ODk7ZS5jYXBzbG9jaz04NjgyO2UuY2FyZW9mPTg0NTM7ZS5jYXJvbj03MTE7ZS5jYXJvbmJlbG93Y21iPTgxMjtlLmNhcm9uY21iPTc4MDtlLmNhcnJpYWdlcmV0dXJuPTg2Mjk7ZS5jYm9wb21vZm89MTI1Njg7ZS5jY2Fyb249MjY5O2UuY2NlZGlsbGE9MjMxO2UuY2NlZGlsbGFhY3V0ZT03Njg5O2UuY2NpcmNsZT05NDI2O2UuY2NpcmN1bWZsZXg9MjY1O2UuY2N1cmw9NTk3O2UuY2RvdD0yNjc7ZS5jZG90YWNjZW50PTI2NztlLmNkc3F1YXJlPTEzMjUzO2UuY2VkaWxsYT0xODQ7ZS5jZWRpbGxhY21iPTgwNztlLmNlbnQ9MTYyO2UuY2VudGlncmFkZT04NDUxO2UuY2VudGluZmVyaW9yPTYzMTk5O2UuY2VudG1vbm9zcGFjZT02NTUwNDtlLmNlbnRvbGRzdHlsZT02MzM5NDtlLmNlbnRzdXBlcmlvcj02MzIwMDtlLmNoYWFybWVuaWFuPTE0MDE7ZS5jaGFiZW5nYWxpPTI0NTk7ZS5jaGFkZXZhPTIzMzE7ZS5jaGFndWphcmF0aT0yNzE1O2UuY2hhZ3VybXVraGk9MjU4NztlLmNoYm9wb21vZm89MTI1NjQ7ZS5jaGVhYmtoYXNpYW5jeXJpbGxpYz0xMjEzO2UuY2hlY2ttYXJrPTEwMDAzO2UuY2hlY3lyaWxsaWM9MTA5NTtlLmNoZWRlc2NlbmRlcmFia2hhc2lhbmN5cmlsbGljPTEyMTU7ZS5jaGVkZXNjZW5kZXJjeXJpbGxpYz0xMjA3O2UuY2hlZGllcmVzaXNjeXJpbGxpYz0xMjY5O2UuY2hlaGFybWVuaWFuPTEzOTU7ZS5jaGVraGFrYXNzaWFuY3lyaWxsaWM9MTIyODtlLmNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTIwOTtlLmNoaT05Njc7ZS5jaGlldWNoYWNpcmNsZWtvcmVhbj0xMjkxOTtlLmNoaWV1Y2hhcGFyZW5rb3JlYW49MTI4MjM7ZS5jaGlldWNoY2lyY2xla29yZWFuPTEyOTA1O2UuY2hpZXVjaGtvcmVhbj0xMjYxODtlLmNoaWV1Y2hwYXJlbmtvcmVhbj0xMjgwOTtlLmNob2NoYW5ndGhhaT0zNTk0O2UuY2hvY2hhbnRoYWk9MzU5MjtlLmNob2NoaW5ndGhhaT0zNTkzO2UuY2hvY2hvZXRoYWk9MzU5NjtlLmNob29rPTM5MjtlLmNpZXVjYWNpcmNsZWtvcmVhbj0xMjkxODtlLmNpZXVjYXBhcmVua29yZWFuPTEyODIyO2UuY2lldWNjaXJjbGVrb3JlYW49MTI5MDQ7ZS5jaWV1Y2tvcmVhbj0xMjYxNjtlLmNpZXVjcGFyZW5rb3JlYW49MTI4MDg7ZS5jaWV1Y3VwYXJlbmtvcmVhbj0xMjgyODtlLmNpcmNsZT05Njc1O2UuY2lyY2xlY29weXJ0PTE2OTtlLmNpcmNsZW11bHRpcGx5PTg4NTU7ZS5jaXJjbGVvdD04ODU3O2UuY2lyY2xlcGx1cz04ODUzO2UuY2lyY2xlcG9zdGFsbWFyaz0xMjM0MjtlLmNpcmNsZXdpdGhsZWZ0aGFsZmJsYWNrPTk2ODA7ZS5jaXJjbGV3aXRocmlnaHRoYWxmYmxhY2s9OTY4MTtlLmNpcmN1bWZsZXg9NzEwO2UuY2lyY3VtZmxleGJlbG93Y21iPTgxMztlLmNpcmN1bWZsZXhjbWI9NzcwO2UuY2xlYXI9ODk5OTtlLmNsaWNrYWx2ZW9sYXI9NDUwO2UuY2xpY2tkZW50YWw9NDQ4O2UuY2xpY2tsYXRlcmFsPTQ0OTtlLmNsaWNrcmV0cm9mbGV4PTQ1MTtlLmNsdWI9OTgyNztlLmNsdWJzdWl0YmxhY2s9OTgyNztlLmNsdWJzdWl0d2hpdGU9OTgzMTtlLmNtY3ViZWRzcXVhcmU9MTMyMjA7ZS5jbW9ub3NwYWNlPTY1MzQ3O2UuY21zcXVhcmVkc3F1YXJlPTEzMjE2O2UuY29hcm1lbmlhbj0xNDA5O2UuY29sb249NTg7ZS5jb2xvbm1vbmV0YXJ5PTgzNTM7ZS5jb2xvbm1vbm9zcGFjZT02NTMwNjtlLmNvbG9uc2lnbj04MzUzO2UuY29sb25zbWFsbD02NTEwOTtlLmNvbG9udHJpYW5ndWxhcmhhbGZtb2Q9NzIxO2UuY29sb250cmlhbmd1bGFybW9kPTcyMDtlLmNvbW1hPTQ0O2UuY29tbWFhYm92ZWNtYj03ODc7ZS5jb21tYWFib3ZlcmlnaHRjbWI9Nzg5O2UuY29tbWFhY2NlbnQ9NjMxNzE7ZS5jb21tYWFyYWJpYz0xNTQ4O2UuY29tbWFhcm1lbmlhbj0xMzczO2UuY29tbWFpbmZlcmlvcj02MzIwMTtlLmNvbW1hbW9ub3NwYWNlPTY1MjkyO2UuY29tbWFyZXZlcnNlZGFib3ZlY21iPTc4ODtlLmNvbW1hcmV2ZXJzZWRtb2Q9NzAxO2UuY29tbWFzbWFsbD02NTEwNDtlLmNvbW1hc3VwZXJpb3I9NjMyMDI7ZS5jb21tYXR1cm5lZGFib3ZlY21iPTc4NjtlLmNvbW1hdHVybmVkbW9kPTY5OTtlLmNvbXBhc3M9OTc4ODtlLmNvbmdydWVudD04NzczO2UuY29udG91cmludGVncmFsPTg3NTA7ZS5jb250cm9sPTg5NjM7ZS5jb250cm9sQUNLPTY7ZS5jb250cm9sQkVMPTc7ZS5jb250cm9sQlM9ODtlLmNvbnRyb2xDQU49MjQ7ZS5jb250cm9sQ1I9MTM7ZS5jb250cm9sREMxPTE3O2UuY29udHJvbERDMj0xODtlLmNvbnRyb2xEQzM9MTk7ZS5jb250cm9sREM0PTIwO2UuY29udHJvbERFTD0xMjc7ZS5jb250cm9sRExFPTE2O2UuY29udHJvbEVNPTI1O2UuY29udHJvbEVOUT01O2UuY29udHJvbEVPVD00O2UuY29udHJvbEVTQz0yNztlLmNvbnRyb2xFVEI9MjM7ZS5jb250cm9sRVRYPTM7ZS5jb250cm9sRkY9MTI7ZS5jb250cm9sRlM9Mjg7ZS5jb250cm9sR1M9Mjk7ZS5jb250cm9sSFQ9OTtlLmNvbnRyb2xMRj0xMDtlLmNvbnRyb2xOQUs9MjE7ZS5jb250cm9sTlVMTD0wO2UuY29udHJvbFJTPTMwO2UuY29udHJvbFNJPTE1O2UuY29udHJvbFNPPTE0O2UuY29udHJvbFNPVD0yO2UuY29udHJvbFNUWD0xO2UuY29udHJvbFNVQj0yNjtlLmNvbnRyb2xTWU49MjI7ZS5jb250cm9sVVM9MzE7ZS5jb250cm9sVlQ9MTE7ZS5jb3B5cmlnaHQ9MTY5O2UuY29weXJpZ2h0c2Fucz02MzcyMTtlLmNvcHlyaWdodHNlcmlmPTYzMTkzO2UuY29ybmVyYnJhY2tldGxlZnQ9MTIzMDA7ZS5jb3JuZXJicmFja2V0bGVmdGhhbGZ3aWR0aD02NTM3ODtlLmNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODk7ZS5jb3JuZXJicmFja2V0cmlnaHQ9MTIzMDE7ZS5jb3JuZXJicmFja2V0cmlnaHRoYWxmd2lkdGg9NjUzNzk7ZS5jb3JuZXJicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA5MDtlLmNvcnBvcmF0aW9uc3F1YXJlPTEzMTgzO2UuY29zcXVhcmU9MTMyNTU7ZS5jb3Zlcmtnc3F1YXJlPTEzMjU0O2UuY3BhcmVuPTkzNzQ7ZS5jcnV6ZWlybz04MzU0O2UuY3N0cmV0Y2hlZD02NjM7ZS5jdXJseWFuZD04OTExO2UuY3VybHlvcj04OTEwO2UuY3VycmVuY3k9MTY0O2UuY3lyQnJldmU9NjMxODU7ZS5jeXJGbGV4PTYzMTg2O2UuY3lyYnJldmU9NjMxODg7ZS5jeXJmbGV4PTYzMTg5O2UuZD0xMDA7ZS5kYWFybWVuaWFuPTEzODA7ZS5kYWJlbmdhbGk9MjQ3MDtlLmRhZGFyYWJpYz0xNTkwO2UuZGFkZXZhPTIzNDI7ZS5kYWRmaW5hbGFyYWJpYz02NTIxNDtlLmRhZGluaXRpYWxhcmFiaWM9NjUyMTU7ZS5kYWRtZWRpYWxhcmFiaWM9NjUyMTY7ZS5kYWdlc2g9MTQ2ODtlLmRhZ2VzaGhlYnJldz0xNDY4O2UuZGFnZ2VyPTgyMjQ7ZS5kYWdnZXJkYmw9ODIyNTtlLmRhZ3VqYXJhdGk9MjcyNjtlLmRhZ3VybXVraGk9MjU5ODtlLmRhaGlyYWdhbmE9MTIzODQ7ZS5kYWthdGFrYW5hPTEyNDgwO2UuZGFsYXJhYmljPTE1ODM7ZS5kYWxldD0xNDkxO2UuZGFsZXRkYWdlc2g9NjQzMDc7ZS5kYWxldGRhZ2VzaGhlYnJldz02NDMwNztlLmRhbGV0aGVicmV3PTE0OTE7ZS5kYWxmaW5hbGFyYWJpYz02NTE5NDtlLmRhbW1hYXJhYmljPTE2MTU7ZS5kYW1tYWxvd2FyYWJpYz0xNjE1O2UuZGFtbWF0YW5hbHRvbmVhcmFiaWM9MTYxMjtlLmRhbW1hdGFuYXJhYmljPTE2MTI7ZS5kYW5kYT0yNDA0O2UuZGFyZ2FoZWJyZXc9MTQ0NztlLmRhcmdhbGVmdGhlYnJldz0xNDQ3O2UuZGFzaWFwbmV1bWF0YWN5cmlsbGljY21iPTExNTc7ZS5kYmxHcmF2ZT02MzE4NztlLmRibGFuZ2xlYnJhY2tldGxlZnQ9MTIyOTg7ZS5kYmxhbmdsZWJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODU7ZS5kYmxhbmdsZWJyYWNrZXRyaWdodD0xMjI5OTtlLmRibGFuZ2xlYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODY7ZS5kYmxhcmNoaW52ZXJ0ZWRiZWxvd2NtYj04MTE7ZS5kYmxhcnJvd2xlZnQ9ODY2MDtlLmRibGFycm93cmlnaHQ9ODY1ODtlLmRibGRhbmRhPTI0MDU7ZS5kYmxncmF2ZT02MzE5MDtlLmRibGdyYXZlY21iPTc4MztlLmRibGludGVncmFsPTg3NDg7ZS5kYmxsb3dsaW5lPTgyMTU7ZS5kYmxsb3dsaW5lY21iPTgxOTtlLmRibG92ZXJsaW5lY21iPTgzMTtlLmRibHByaW1lbW9kPTY5ODtlLmRibHZlcnRpY2FsYmFyPTgyMTQ7ZS5kYmx2ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODI7ZS5kYm9wb21vZm89MTI1NTM7ZS5kYnNxdWFyZT0xMzI1NjtlLmRjYXJvbj0yNzE7ZS5kY2VkaWxsYT03Njk3O2UuZGNpcmNsZT05NDI3O2UuZGNpcmN1bWZsZXhiZWxvdz03Njk5O2UuZGNyb2F0PTI3MztlLmRkYWJlbmdhbGk9MjQ2NTtlLmRkYWRldmE9MjMzNztlLmRkYWd1amFyYXRpPTI3MjE7ZS5kZGFndXJtdWtoaT0yNTkzO2UuZGRhbGFyYWJpYz0xNjcyO2UuZGRhbGZpbmFsYXJhYmljPTY0MzkzO2UuZGRkaGFkZXZhPTIzOTY7ZS5kZGhhYmVuZ2FsaT0yNDY2O2UuZGRoYWRldmE9MjMzODtlLmRkaGFndWphcmF0aT0yNzIyO2UuZGRoYWd1cm11a2hpPTI1OTQ7ZS5kZG90YWNjZW50PTc2OTE7ZS5kZG90YmVsb3c9NzY5MztlLmRlY2ltYWxzZXBhcmF0b3JhcmFiaWM9MTY0MztlLmRlY2ltYWxzZXBhcmF0b3JwZXJzaWFuPTE2NDM7ZS5kZWN5cmlsbGljPTEwNzY7ZS5kZWdyZWU9MTc2O2UuZGVoaWhlYnJldz0xNDUzO2UuZGVoaXJhZ2FuYT0xMjM5MTtlLmRlaWNvcHRpYz0xMDA3O2UuZGVrYXRha2FuYT0xMjQ4NztlLmRlbGV0ZWxlZnQ9OTAwMztlLmRlbGV0ZXJpZ2h0PTg5OTg7ZS5kZWx0YT05NDg7ZS5kZWx0YXR1cm5lZD0zOTc7ZS5kZW5vbWluYXRvcm1pbnVzb25lbnVtZXJhdG9yYmVuZ2FsaT0yNTUyO2UuZGV6aD02NzY7ZS5kaGFiZW5nYWxpPTI0NzE7ZS5kaGFkZXZhPTIzNDM7ZS5kaGFndWphcmF0aT0yNzI3O2UuZGhhZ3VybXVraGk9MjU5OTtlLmRob29rPTU5OTtlLmRpYWx5dGlrYXRvbm9zPTkwMTtlLmRpYWx5dGlrYXRvbm9zY21iPTgzNjtlLmRpYW1vbmQ9OTgzMDtlLmRpYW1vbmRzdWl0d2hpdGU9OTgyNjtlLmRpZXJlc2lzPTE2ODtlLmRpZXJlc2lzYWN1dGU9NjMxOTE7ZS5kaWVyZXNpc2JlbG93Y21iPTgwNDtlLmRpZXJlc2lzY21iPTc3NjtlLmRpZXJlc2lzZ3JhdmU9NjMxOTI7ZS5kaWVyZXNpc3Rvbm9zPTkwMTtlLmRpaGlyYWdhbmE9MTIzODY7ZS5kaWthdGFrYW5hPTEyNDgyO2UuZGl0dG9tYXJrPTEyMjkxO2UuZGl2aWRlPTI0NztlLmRpdmlkZXM9ODczOTtlLmRpdmlzaW9uc2xhc2g9ODcyNTtlLmRqZWN5cmlsbGljPTExMDY7ZS5ka3NoYWRlPTk2MTk7ZS5kbGluZWJlbG93PTc2OTU7ZS5kbHNxdWFyZT0xMzIwNztlLmRtYWNyb249MjczO2UuZG1vbm9zcGFjZT02NTM0ODtlLmRuYmxvY2s9OTYwNDtlLmRvY2hhZGF0aGFpPTM1OTg7ZS5kb2Rla3RoYWk9MzYwNDtlLmRvaGlyYWdhbmE9MTIzOTM7ZS5kb2thdGFrYW5hPTEyNDg5O2UuZG9sbGFyPTM2O2UuZG9sbGFyaW5mZXJpb3I9NjMyMDM7ZS5kb2xsYXJtb25vc3BhY2U9NjUyODQ7ZS5kb2xsYXJvbGRzdHlsZT02MzI2ODtlLmRvbGxhcnNtYWxsPTY1MTI5O2UuZG9sbGFyc3VwZXJpb3I9NjMyMDQ7ZS5kb25nPTgzNjM7ZS5kb3J1c3F1YXJlPTEzMDk0O2UuZG90YWNjZW50PTcyOTtlLmRvdGFjY2VudGNtYj03NzU7ZS5kb3RiZWxvd2NtYj04MDM7ZS5kb3RiZWxvd2NvbWI9ODAzO2UuZG90a2F0YWthbmE9MTI1Mzk7ZS5kb3RsZXNzaT0zMDU7ZS5kb3RsZXNzaj02MzE2NjtlLmRvdGxlc3Nqc3Ryb2tlaG9vaz02NDQ7ZS5kb3RtYXRoPTg5MDE7ZS5kb3R0ZWRjaXJjbGU9OTY3NjtlLmRvdWJsZXlvZHBhdGFoPTY0Mjg3O2UuZG91YmxleW9kcGF0YWhoZWJyZXc9NjQyODc7ZS5kb3dudGFja2JlbG93Y21iPTc5ODtlLmRvd250YWNrbW9kPTcyNTtlLmRwYXJlbj05Mzc1O2UuZHN1cGVyaW9yPTYzMjExO2UuZHRhaWw9NTk4O2UuZHRvcGJhcj0zOTY7ZS5kdWhpcmFnYW5hPTEyMzg5O2UuZHVrYXRha2FuYT0xMjQ4NTtlLmR6PTQ5OTtlLmR6YWx0b25lPTY3NTtlLmR6Y2Fyb249NDU0O2UuZHpjdXJsPTY3NztlLmR6ZWFia2hhc2lhbmN5cmlsbGljPTEyNDk7ZS5kemVjeXJpbGxpYz0xMTA5O2UuZHpoZWN5cmlsbGljPTExMTk7ZS5lPTEwMTtlLmVhY3V0ZT0yMzM7ZS5lYXJ0aD05NzkzO2UuZWJlbmdhbGk9MjQ0NztlLmVib3BvbW9mbz0xMjU3MjtlLmVicmV2ZT0yNzc7ZS5lY2FuZHJhZGV2YT0yMzE3O2UuZWNhbmRyYWd1amFyYXRpPTI3MDE7ZS5lY2FuZHJhdm93ZWxzaWduZGV2YT0yMzczO2UuZWNhbmRyYXZvd2Vsc2lnbmd1amFyYXRpPTI3NTc7ZS5lY2Fyb249MjgzO2UuZWNlZGlsbGFicmV2ZT03NzA5O2UuZWNoYXJtZW5pYW49MTM4MTtlLmVjaHlpd25hcm1lbmlhbj0xNDE1O2UuZWNpcmNsZT05NDI4O2UuZWNpcmN1bWZsZXg9MjM0O2UuZWNpcmN1bWZsZXhhY3V0ZT03ODcxO2UuZWNpcmN1bWZsZXhiZWxvdz03NzA1O2UuZWNpcmN1bWZsZXhkb3RiZWxvdz03ODc5O2UuZWNpcmN1bWZsZXhncmF2ZT03ODczO2UuZWNpcmN1bWZsZXhob29rYWJvdmU9Nzg3NTtlLmVjaXJjdW1mbGV4dGlsZGU9Nzg3NztlLmVjeXJpbGxpYz0xMTA4O2UuZWRibGdyYXZlPTUxNztlLmVkZXZhPTIzMTk7ZS5lZGllcmVzaXM9MjM1O2UuZWRvdD0yNzk7ZS5lZG90YWNjZW50PTI3OTtlLmVkb3RiZWxvdz03ODY1O2UuZWVndXJtdWtoaT0yNTc1O2UuZWVtYXRyYWd1cm11a2hpPTI2MzE7ZS5lZmN5cmlsbGljPTEwOTI7ZS5lZ3JhdmU9MjMyO2UuZWd1amFyYXRpPTI3MDM7ZS5laGFybWVuaWFuPTEzODM7ZS5laGJvcG9tb2ZvPTEyNTczO2UuZWhpcmFnYW5hPTEyMzYwO2UuZWhvb2thYm92ZT03ODY3O2UuZWlib3BvbW9mbz0xMjU3NTtlLmVpZ2h0PTU2O2UuZWlnaHRhcmFiaWM9MTY0MDtlLmVpZ2h0YmVuZ2FsaT0yNTQyO2UuZWlnaHRjaXJjbGU9OTMxOTtlLmVpZ2h0Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyOTtlLmVpZ2h0ZGV2YT0yNDE0O2UuZWlnaHRlZW5jaXJjbGU9OTMyOTtlLmVpZ2h0ZWVucGFyZW49OTM0OTtlLmVpZ2h0ZWVucGVyaW9kPTkzNjk7ZS5laWdodGd1amFyYXRpPTI3OTg7ZS5laWdodGd1cm11a2hpPTI2NzA7ZS5laWdodGhhY2thcmFiaWM9MTY0MDtlLmVpZ2h0aGFuZ3pob3U9MTIzMjg7ZS5laWdodGhub3RlYmVhbWVkPTk4MzU7ZS5laWdodGlkZW9ncmFwaGljcGFyZW49MTI4Mzk7ZS5laWdodGluZmVyaW9yPTgzMjg7ZS5laWdodG1vbm9zcGFjZT02NTMwNDtlLmVpZ2h0b2xkc3R5bGU9NjMyODg7ZS5laWdodHBhcmVuPTkzMzk7ZS5laWdodHBlcmlvZD05MzU5O2UuZWlnaHRwZXJzaWFuPTE3ODQ7ZS5laWdodHJvbWFuPTg1Njc7ZS5laWdodHN1cGVyaW9yPTgzMTI7ZS5laWdodHRoYWk9MzY3MjtlLmVpbnZlcnRlZGJyZXZlPTUxOTtlLmVpb3RpZmllZGN5cmlsbGljPTExMjU7ZS5la2F0YWthbmE9MTI0NTY7ZS5la2F0YWthbmFoYWxmd2lkdGg9NjUzOTY7ZS5la29ua2FyZ3VybXVraGk9MjY3NjtlLmVrb3JlYW49MTI2Mjg7ZS5lbGN5cmlsbGljPTEwODM7ZS5lbGVtZW50PTg3MTI7ZS5lbGV2ZW5jaXJjbGU9OTMyMjtlLmVsZXZlbnBhcmVuPTkzNDI7ZS5lbGV2ZW5wZXJpb2Q9OTM2MjtlLmVsZXZlbnJvbWFuPTg1NzA7ZS5lbGxpcHNpcz04MjMwO2UuZWxsaXBzaXN2ZXJ0aWNhbD04OTQyO2UuZW1hY3Jvbj0yNzU7ZS5lbWFjcm9uYWN1dGU9NzcwMztlLmVtYWNyb25ncmF2ZT03NzAxO2UuZW1jeXJpbGxpYz0xMDg0O2UuZW1kYXNoPTgyMTI7ZS5lbWRhc2h2ZXJ0aWNhbD02NTA3MztlLmVtb25vc3BhY2U9NjUzNDk7ZS5lbXBoYXNpc21hcmthcm1lbmlhbj0xMzcxO2UuZW1wdHlzZXQ9ODcwOTtlLmVuYm9wb21vZm89MTI1Nzk7ZS5lbmN5cmlsbGljPTEwODU7ZS5lbmRhc2g9ODIxMTtlLmVuZGFzaHZlcnRpY2FsPTY1MDc0O2UuZW5kZXNjZW5kZXJjeXJpbGxpYz0xMTg3O2UuZW5nPTMzMTtlLmVuZ2JvcG9tb2ZvPTEyNTgxO2UuZW5naGVjeXJpbGxpYz0xMTg5O2UuZW5ob29rY3lyaWxsaWM9MTIyNDtlLmVuc3BhY2U9ODE5NDtlLmVvZ29uZWs9MjgxO2UuZW9rb3JlYW49MTI2Mjc7ZS5lb3Blbj02MDM7ZS5lb3BlbmNsb3NlZD02NjY7ZS5lb3BlbnJldmVyc2VkPTYwNDtlLmVvcGVucmV2ZXJzZWRjbG9zZWQ9NjA2O2UuZW9wZW5yZXZlcnNlZGhvb2s9NjA1O2UuZXBhcmVuPTkzNzY7ZS5lcHNpbG9uPTk0OTtlLmVwc2lsb250b25vcz05NDE7ZS5lcXVhbD02MTtlLmVxdWFsbW9ub3NwYWNlPTY1MzA5O2UuZXF1YWxzbWFsbD02NTEyNjtlLmVxdWFsc3VwZXJpb3I9ODMxNjtlLmVxdWl2YWxlbmNlPTg4MDE7ZS5lcmJvcG9tb2ZvPTEyNTgyO2UuZXJjeXJpbGxpYz0xMDg4O2UuZXJldmVyc2VkPTYwMDtlLmVyZXZlcnNlZGN5cmlsbGljPTExMDE7ZS5lc2N5cmlsbGljPTEwODk7ZS5lc2Rlc2NlbmRlcmN5cmlsbGljPTExOTU7ZS5lc2g9NjQzO2UuZXNoY3VybD02NDY7ZS5lc2hvcnRkZXZhPTIzMTg7ZS5lc2hvcnR2b3dlbHNpZ25kZXZhPTIzNzQ7ZS5lc2hyZXZlcnNlZGxvb3A9NDI2O2UuZXNoc3F1YXRyZXZlcnNlZD02NDU7ZS5lc21hbGxoaXJhZ2FuYT0xMjM1OTtlLmVzbWFsbGthdGFrYW5hPTEyNDU1O2UuZXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODY7ZS5lc3RpbWF0ZWQ9ODQ5NDtlLmVzdXBlcmlvcj02MzIxMjtlLmV0YT05NTE7ZS5ldGFybWVuaWFuPTEzODQ7ZS5ldGF0b25vcz05NDI7ZS5ldGg9MjQwO2UuZXRpbGRlPTc4Njk7ZS5ldGlsZGViZWxvdz03NzA3O2UuZXRuYWh0YWZvdWtoaGVicmV3PTE0MjU7ZS5ldG5haHRhZm91a2hsZWZ0aGVicmV3PTE0MjU7ZS5ldG5haHRhaGVicmV3PTE0MjU7ZS5ldG5haHRhbGVmdGhlYnJldz0xNDI1O2UuZXR1cm5lZD00Nzc7ZS5ldWtvcmVhbj0xMjY0MTtlLmV1cm89ODM2NDtlLmV2b3dlbHNpZ25iZW5nYWxpPTI1MDM7ZS5ldm93ZWxzaWduZGV2YT0yMzc1O2UuZXZvd2Vsc2lnbmd1amFyYXRpPTI3NTk7ZS5leGNsYW09MzM7ZS5leGNsYW1hcm1lbmlhbj0xMzcyO2UuZXhjbGFtZGJsPTgyNTI7ZS5leGNsYW1kb3duPTE2MTtlLmV4Y2xhbWRvd25zbWFsbD02MzM5MztlLmV4Y2xhbW1vbm9zcGFjZT02NTI4MTtlLmV4Y2xhbXNtYWxsPTYzMjY1O2UuZXhpc3RlbnRpYWw9ODcwNztlLmV6aD02NTg7ZS5lemhjYXJvbj00OTU7ZS5lemhjdXJsPTY1OTtlLmV6aHJldmVyc2VkPTQ0MTtlLmV6aHRhaWw9NDQyO2UuZj0xMDI7ZS5mYWRldmE9MjM5ODtlLmZhZ3VybXVraGk9MjY1NDtlLmZhaHJlbmhlaXQ9ODQ1NztlLmZhdGhhYXJhYmljPTE2MTQ7ZS5mYXRoYWxvd2FyYWJpYz0xNjE0O2UuZmF0aGF0YW5hcmFiaWM9MTYxMTtlLmZib3BvbW9mbz0xMjU1MjtlLmZjaXJjbGU9OTQyOTtlLmZkb3RhY2NlbnQ9NzcxMTtlLmZlaGFyYWJpYz0xNjAxO2UuZmVoYXJtZW5pYW49MTQxNDtlLmZlaGZpbmFsYXJhYmljPTY1MjM0O2UuZmVoaW5pdGlhbGFyYWJpYz02NTIzNTtlLmZlaG1lZGlhbGFyYWJpYz02NTIzNjtlLmZlaWNvcHRpYz05OTc7ZS5mZW1hbGU9OTc5MjtlLmZmPTY0MjU2O2UuZl9mPTY0MjU2O2UuZmZpPTY0MjU5O2UuZl9mX2k9NjQyNTk7ZS5mZmw9NjQyNjA7ZS5mX2ZfbD02NDI2MDtlLmZpPTY0MjU3O2UuZl9pPTY0MjU3O2UuZmlmdGVlbmNpcmNsZT05MzI2O2UuZmlmdGVlbnBhcmVuPTkzNDY7ZS5maWZ0ZWVucGVyaW9kPTkzNjY7ZS5maWd1cmVkYXNoPTgyMTA7ZS5maWxsZWRib3g9OTYzMjtlLmZpbGxlZHJlY3Q9OTY0NDtlLmZpbmFsa2FmPTE0OTg7ZS5maW5hbGthZmRhZ2VzaD02NDMxNDtlLmZpbmFsa2FmZGFnZXNoaGVicmV3PTY0MzE0O2UuZmluYWxrYWZoZWJyZXc9MTQ5ODtlLmZpbmFsbWVtPTE1MDE7ZS5maW5hbG1lbWhlYnJldz0xNTAxO2UuZmluYWxudW49MTUwMztlLmZpbmFsbnVuaGVicmV3PTE1MDM7ZS5maW5hbHBlPTE1MDc7ZS5maW5hbHBlaGVicmV3PTE1MDc7ZS5maW5hbHRzYWRpPTE1MDk7ZS5maW5hbHRzYWRpaGVicmV3PTE1MDk7ZS5maXJzdHRvbmVjaGluZXNlPTcxMztlLmZpc2hleWU9OTY3MztlLmZpdGFjeXJpbGxpYz0xMTM5O2UuZml2ZT01MztlLmZpdmVhcmFiaWM9MTYzNztlLmZpdmViZW5nYWxpPTI1Mzk7ZS5maXZlY2lyY2xlPTkzMTY7ZS5maXZlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNjtlLmZpdmVkZXZhPTI0MTE7ZS5maXZlZWlnaHRocz04NTQxO2UuZml2ZWd1amFyYXRpPTI3OTU7ZS5maXZlZ3VybXVraGk9MjY2NztlLmZpdmVoYWNrYXJhYmljPTE2Mzc7ZS5maXZlaGFuZ3pob3U9MTIzMjU7ZS5maXZlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNjtlLmZpdmVpbmZlcmlvcj04MzI1O2UuZml2ZW1vbm9zcGFjZT02NTMwMTtlLmZpdmVvbGRzdHlsZT02MzI4NTtlLmZpdmVwYXJlbj05MzM2O2UuZml2ZXBlcmlvZD05MzU2O2UuZml2ZXBlcnNpYW49MTc4MTtlLmZpdmVyb21hbj04NTY0O2UuZml2ZXN1cGVyaW9yPTgzMDk7ZS5maXZldGhhaT0zNjY5O2UuZmw9NjQyNTg7ZS5mX2w9NjQyNTg7ZS5mbG9yaW49NDAyO2UuZm1vbm9zcGFjZT02NTM1MDtlLmZtc3F1YXJlPTEzMjA5O2UuZm9mYW50aGFpPTM2MTU7ZS5mb2ZhdGhhaT0zNjEzO2UuZm9uZ21hbnRoYWk9MzY2MztlLmZvcmFsbD04NzA0O2UuZm91cj01MjtlLmZvdXJhcmFiaWM9MTYzNjtlLmZvdXJiZW5nYWxpPTI1Mzg7ZS5mb3VyY2lyY2xlPTkzMTU7ZS5mb3VyY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNTtlLmZvdXJkZXZhPTI0MTA7ZS5mb3VyZ3VqYXJhdGk9Mjc5NDtlLmZvdXJndXJtdWtoaT0yNjY2O2UuZm91cmhhY2thcmFiaWM9MTYzNjtlLmZvdXJoYW5nemhvdT0xMjMyNDtlLmZvdXJpZGVvZ3JhcGhpY3BhcmVuPTEyODM1O2UuZm91cmluZmVyaW9yPTgzMjQ7ZS5mb3VybW9ub3NwYWNlPTY1MzAwO2UuZm91cm51bWVyYXRvcmJlbmdhbGk9MjU1MTtlLmZvdXJvbGRzdHlsZT02MzI4NDtlLmZvdXJwYXJlbj05MzM1O2UuZm91cnBlcmlvZD05MzU1O2UuZm91cnBlcnNpYW49MTc4MDtlLmZvdXJyb21hbj04NTYzO2UuZm91cnN1cGVyaW9yPTgzMDg7ZS5mb3VydGVlbmNpcmNsZT05MzI1O2UuZm91cnRlZW5wYXJlbj05MzQ1O2UuZm91cnRlZW5wZXJpb2Q9OTM2NTtlLmZvdXJ0aGFpPTM2Njg7ZS5mb3VydGh0b25lY2hpbmVzZT03MTU7ZS5mcGFyZW49OTM3NztlLmZyYWN0aW9uPTgyNjA7ZS5mcmFuYz04MzU1O2UuZz0xMDM7ZS5nYWJlbmdhbGk9MjQ1NTtlLmdhY3V0ZT01MDE7ZS5nYWRldmE9MjMyNztlLmdhZmFyYWJpYz0xNzExO2UuZ2FmZmluYWxhcmFiaWM9NjQ0MDM7ZS5nYWZpbml0aWFsYXJhYmljPTY0NDA0O2UuZ2FmbWVkaWFsYXJhYmljPTY0NDA1O2UuZ2FndWphcmF0aT0yNzExO2UuZ2FndXJtdWtoaT0yNTgzO2UuZ2FoaXJhZ2FuYT0xMjM2NDtlLmdha2F0YWthbmE9MTI0NjA7ZS5nYW1tYT05NDc7ZS5nYW1tYWxhdGluc21hbGw9NjExO2UuZ2FtbWFzdXBlcmlvcj03MzY7ZS5nYW5naWFjb3B0aWM9MTAwMztlLmdib3BvbW9mbz0xMjU1NztlLmdicmV2ZT0yODc7ZS5nY2Fyb249NDg3O2UuZ2NlZGlsbGE9MjkxO2UuZ2NpcmNsZT05NDMwO2UuZ2NpcmN1bWZsZXg9Mjg1O2UuZ2NvbW1hYWNjZW50PTI5MTtlLmdkb3Q9Mjg5O2UuZ2RvdGFjY2VudD0yODk7ZS5nZWN5cmlsbGljPTEwNzU7ZS5nZWhpcmFnYW5hPTEyMzcwO2UuZ2VrYXRha2FuYT0xMjQ2NjtlLmdlb21ldHJpY2FsbHllcXVhbD04Nzg1O2UuZ2VyZXNoYWNjZW50aGVicmV3PTE0MzY7ZS5nZXJlc2hoZWJyZXc9MTUyMztlLmdlcmVzaG11cWRhbWhlYnJldz0xNDM3O2UuZ2VybWFuZGJscz0yMjM7ZS5nZXJzaGF5aW1hY2NlbnRoZWJyZXc9MTQzODtlLmdlcnNoYXlpbWhlYnJldz0xNTI0O2UuZ2V0YW1hcms9MTIzMDc7ZS5naGFiZW5nYWxpPTI0NTY7ZS5naGFkYXJtZW5pYW49MTM5NDtlLmdoYWRldmE9MjMyODtlLmdoYWd1amFyYXRpPTI3MTI7ZS5naGFndXJtdWtoaT0yNTg0O2UuZ2hhaW5hcmFiaWM9MTU5NDtlLmdoYWluZmluYWxhcmFiaWM9NjUyMzA7ZS5naGFpbmluaXRpYWxhcmFiaWM9NjUyMzE7ZS5naGFpbm1lZGlhbGFyYWJpYz02NTIzMjtlLmdoZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTczO2UuZ2hlc3Ryb2tlY3lyaWxsaWM9MTE3MTtlLmdoZXVwdHVybmN5cmlsbGljPTExNjk7ZS5naGhhZGV2YT0yMzk0O2UuZ2hoYWd1cm11a2hpPTI2NTA7ZS5naG9vaz02MDg7ZS5naHpzcXVhcmU9MTMyMDM7ZS5naWhpcmFnYW5hPTEyMzY2O2UuZ2lrYXRha2FuYT0xMjQ2MjtlLmdpbWFybWVuaWFuPTEzNzk7ZS5naW1lbD0xNDkwO2UuZ2ltZWxkYWdlc2g9NjQzMDY7ZS5naW1lbGRhZ2VzaGhlYnJldz02NDMwNjtlLmdpbWVsaGVicmV3PTE0OTA7ZS5namVjeXJpbGxpYz0xMTA3O2UuZ2xvdHRhbGludmVydGVkc3Ryb2tlPTQ0NjtlLmdsb3R0YWxzdG9wPTY2MDtlLmdsb3R0YWxzdG9waW52ZXJ0ZWQ9NjYyO2UuZ2xvdHRhbHN0b3Btb2Q9NzA0O2UuZ2xvdHRhbHN0b3ByZXZlcnNlZD02NjE7ZS5nbG90dGFsc3RvcHJldmVyc2VkbW9kPTcwNTtlLmdsb3R0YWxzdG9wcmV2ZXJzZWRzdXBlcmlvcj03NDA7ZS5nbG90dGFsc3RvcHN0cm9rZT02NzM7ZS5nbG90dGFsc3RvcHN0cm9rZXJldmVyc2VkPTY3NDtlLmdtYWNyb249NzcxMztlLmdtb25vc3BhY2U9NjUzNTE7ZS5nb2hpcmFnYW5hPTEyMzcyO2UuZ29rYXRha2FuYT0xMjQ2ODtlLmdwYXJlbj05Mzc4O2UuZ3Bhc3F1YXJlPTEzMjI4O2UuZ3JhZGllbnQ9ODcxMTtlLmdyYXZlPTk2O2UuZ3JhdmViZWxvd2NtYj03OTA7ZS5ncmF2ZWNtYj03Njg7ZS5ncmF2ZWNvbWI9NzY4O2UuZ3JhdmVkZXZhPTIzODc7ZS5ncmF2ZWxvd21vZD03MTg7ZS5ncmF2ZW1vbm9zcGFjZT02NTM0NDtlLmdyYXZldG9uZWNtYj04MzI7ZS5ncmVhdGVyPTYyO2UuZ3JlYXRlcmVxdWFsPTg4MDU7ZS5ncmVhdGVyZXF1YWxvcmxlc3M9ODkyMztlLmdyZWF0ZXJtb25vc3BhY2U9NjUzMTA7ZS5ncmVhdGVyb3JlcXVpdmFsZW50PTg4MTk7ZS5ncmVhdGVyb3JsZXNzPTg4MjM7ZS5ncmVhdGVyb3ZlcmVxdWFsPTg4MDc7ZS5ncmVhdGVyc21hbGw9NjUxMjU7ZS5nc2NyaXB0PTYwOTtlLmdzdHJva2U9NDg1O2UuZ3VoaXJhZ2FuYT0xMjM2ODtlLmd1aWxsZW1vdGxlZnQ9MTcxO2UuZ3VpbGxlbW90cmlnaHQ9MTg3O2UuZ3VpbHNpbmdsbGVmdD04MjQ5O2UuZ3VpbHNpbmdscmlnaHQ9ODI1MDtlLmd1a2F0YWthbmE9MTI0NjQ7ZS5ndXJhbXVzcXVhcmU9MTMwODA7ZS5neXNxdWFyZT0xMzI1NztlLmg9MTA0O2UuaGFhYmtoYXNpYW5jeXJpbGxpYz0xMTkzO2UuaGFhbHRvbmVhcmFiaWM9MTcyOTtlLmhhYmVuZ2FsaT0yNDg5O2UuaGFkZXNjZW5kZXJjeXJpbGxpYz0xMjAzO2UuaGFkZXZhPTIzNjE7ZS5oYWd1amFyYXRpPTI3NDU7ZS5oYWd1cm11a2hpPTI2MTc7ZS5oYWhhcmFiaWM9MTU4MTtlLmhhaGZpbmFsYXJhYmljPTY1MTg2O2UuaGFoaW5pdGlhbGFyYWJpYz02NTE4NztlLmhhaGlyYWdhbmE9MTIzOTk7ZS5oYWhtZWRpYWxhcmFiaWM9NjUxODg7ZS5oYWl0dXNxdWFyZT0xMzA5ODtlLmhha2F0YWthbmE9MTI0OTU7ZS5oYWthdGFrYW5haGFsZndpZHRoPTY1NDE4O2UuaGFsYW50Z3VybXVraGk9MjYzNztlLmhhbXphYXJhYmljPTE1Njk7ZS5oYW16YWxvd2FyYWJpYz0xNTY5O2UuaGFuZ3VsZmlsbGVyPTEyNjQ0O2UuaGFyZHNpZ25jeXJpbGxpYz0xMDk4O2UuaGFycG9vbmxlZnRiYXJidXA9ODYzNjtlLmhhcnBvb25yaWdodGJhcmJ1cD04NjQwO2UuaGFzcXVhcmU9MTMyNTg7ZS5oYXRhZnBhdGFoPTE0NTg7ZS5oYXRhZnBhdGFoMTY9MTQ1ODtlLmhhdGFmcGF0YWgyMz0xNDU4O2UuaGF0YWZwYXRhaDJmPTE0NTg7ZS5oYXRhZnBhdGFoaGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFobmFycm93aGVicmV3PTE0NTg7ZS5oYXRhZnBhdGFocXVhcnRlcmhlYnJldz0xNDU4O2UuaGF0YWZwYXRhaHdpZGVoZWJyZXc9MTQ1ODtlLmhhdGFmcWFtYXRzPTE0NTk7ZS5oYXRhZnFhbWF0czFiPTE0NTk7ZS5oYXRhZnFhbWF0czI4PTE0NTk7ZS5oYXRhZnFhbWF0czM0PTE0NTk7ZS5oYXRhZnFhbWF0c2hlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHNuYXJyb3doZWJyZXc9MTQ1OTtlLmhhdGFmcWFtYXRzcXVhcnRlcmhlYnJldz0xNDU5O2UuaGF0YWZxYW1hdHN3aWRlaGVicmV3PTE0NTk7ZS5oYXRhZnNlZ29sPTE0NTc7ZS5oYXRhZnNlZ29sMTc9MTQ1NztlLmhhdGFmc2Vnb2wyND0xNDU3O2UuaGF0YWZzZWdvbDMwPTE0NTc7ZS5oYXRhZnNlZ29saGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29sbmFycm93aGVicmV3PTE0NTc7ZS5oYXRhZnNlZ29scXVhcnRlcmhlYnJldz0xNDU3O2UuaGF0YWZzZWdvbHdpZGVoZWJyZXc9MTQ1NztlLmhiYXI9Mjk1O2UuaGJvcG9tb2ZvPTEyNTU5O2UuaGJyZXZlYmVsb3c9NzcyMztlLmhjZWRpbGxhPTc3MjE7ZS5oY2lyY2xlPTk0MzE7ZS5oY2lyY3VtZmxleD0yOTM7ZS5oZGllcmVzaXM9NzcxOTtlLmhkb3RhY2NlbnQ9NzcxNTtlLmhkb3RiZWxvdz03NzE3O2UuaGU9MTQ5MjtlLmhlYXJ0PTk4Mjk7ZS5oZWFydHN1aXRibGFjaz05ODI5O2UuaGVhcnRzdWl0d2hpdGU9OTgyNTtlLmhlZGFnZXNoPTY0MzA4O2UuaGVkYWdlc2hoZWJyZXc9NjQzMDg7ZS5oZWhhbHRvbmVhcmFiaWM9MTcyOTtlLmhlaGFyYWJpYz0xNjA3O2UuaGVoZWJyZXc9MTQ5MjtlLmhlaGZpbmFsYWx0b25lYXJhYmljPTY0NDIzO2UuaGVoZmluYWxhbHR0d29hcmFiaWM9NjUyNTg7ZS5oZWhmaW5hbGFyYWJpYz02NTI1ODtlLmhlaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NDQyMTtlLmhlaGhhbXphYWJvdmVpc29sYXRlZGFyYWJpYz02NDQyMDtlLmhlaGluaXRpYWxhbHRvbmVhcmFiaWM9NjQ0MjQ7ZS5oZWhpbml0aWFsYXJhYmljPTY1MjU5O2UuaGVoaXJhZ2FuYT0xMjQwODtlLmhlaG1lZGlhbGFsdG9uZWFyYWJpYz02NDQyNTtlLmhlaG1lZGlhbGFyYWJpYz02NTI2MDtlLmhlaXNlaWVyYXNxdWFyZT0xMzE3OTtlLmhla2F0YWthbmE9MTI1MDQ7ZS5oZWthdGFrYW5haGFsZndpZHRoPTY1NDIxO2UuaGVrdXRhYXJ1c3F1YXJlPTEzMTEwO2UuaGVuZ2hvb2s9NjE1O2UuaGVydXR1c3F1YXJlPTEzMTEzO2UuaGV0PTE0OTU7ZS5oZXRoZWJyZXc9MTQ5NTtlLmhob29rPTYxNDtlLmhob29rc3VwZXJpb3I9Njg5O2UuaGlldWhhY2lyY2xla29yZWFuPTEyOTIzO2UuaGlldWhhcGFyZW5rb3JlYW49MTI4Mjc7ZS5oaWV1aGNpcmNsZWtvcmVhbj0xMjkwOTtlLmhpZXVoa29yZWFuPTEyNjIyO2UuaGlldWhwYXJlbmtvcmVhbj0xMjgxMztlLmhpaGlyYWdhbmE9MTI0MDI7ZS5oaWthdGFrYW5hPTEyNDk4O2UuaGlrYXRha2FuYWhhbGZ3aWR0aD02NTQxOTtlLmhpcmlxPTE0NjA7ZS5oaXJpcTE0PTE0NjA7ZS5oaXJpcTIxPTE0NjA7ZS5oaXJpcTJkPTE0NjA7ZS5oaXJpcWhlYnJldz0xNDYwO2UuaGlyaXFuYXJyb3doZWJyZXc9MTQ2MDtlLmhpcmlxcXVhcnRlcmhlYnJldz0xNDYwO2UuaGlyaXF3aWRlaGVicmV3PTE0NjA7ZS5obGluZWJlbG93PTc4MzA7ZS5obW9ub3NwYWNlPTY1MzUyO2UuaG9hcm1lbmlhbj0xMzkyO2UuaG9oaXB0aGFpPTM2Mjc7ZS5ob2hpcmFnYW5hPTEyNDExO2UuaG9rYXRha2FuYT0xMjUwNztlLmhva2F0YWthbmFoYWxmd2lkdGg9NjU0MjI7ZS5ob2xhbT0xNDY1O2UuaG9sYW0xOT0xNDY1O2UuaG9sYW0yNj0xNDY1O2UuaG9sYW0zMj0xNDY1O2UuaG9sYW1oZWJyZXc9MTQ2NTtlLmhvbGFtbmFycm93aGVicmV3PTE0NjU7ZS5ob2xhbXF1YXJ0ZXJoZWJyZXc9MTQ2NTtlLmhvbGFtd2lkZWhlYnJldz0xNDY1O2UuaG9ub2todWt0aGFpPTM2MzA7ZS5ob29rYWJvdmVjb21iPTc3NztlLmhvb2tjbWI9Nzc3O2UuaG9va3BhbGF0YWxpemVkYmVsb3djbWI9ODAxO2UuaG9va3JldHJvZmxleGJlbG93Y21iPTgwMjtlLmhvb25zcXVhcmU9MTMxMjI7ZS5ob3JpY29wdGljPTEwMDE7ZS5ob3Jpem9udGFsYmFyPTgyMTM7ZS5ob3JuY21iPTc5NTtlLmhvdHNwcmluZ3M9OTgzMjtlLmhvdXNlPTg5NjI7ZS5ocGFyZW49OTM3OTtlLmhzdXBlcmlvcj02ODg7ZS5odHVybmVkPTYxMztlLmh1aGlyYWdhbmE9MTI0MDU7ZS5odWlpdG9zcXVhcmU9MTMxMDc7ZS5odWthdGFrYW5hPTEyNTAxO2UuaHVrYXRha2FuYWhhbGZ3aWR0aD02NTQyMDtlLmh1bmdhcnVtbGF1dD03MzM7ZS5odW5nYXJ1bWxhdXRjbWI9Nzc5O2UuaHY9NDA1O2UuaHlwaGVuPTQ1O2UuaHlwaGVuaW5mZXJpb3I9NjMyMDU7ZS5oeXBoZW5tb25vc3BhY2U9NjUyOTM7ZS5oeXBoZW5zbWFsbD02NTEyMztlLmh5cGhlbnN1cGVyaW9yPTYzMjA2O2UuaHlwaGVudHdvPTgyMDg7ZS5pPTEwNTtlLmlhY3V0ZT0yMzc7ZS5pYWN5cmlsbGljPTExMDM7ZS5pYmVuZ2FsaT0yNDM5O2UuaWJvcG9tb2ZvPTEyNTgzO2UuaWJyZXZlPTMwMTtlLmljYXJvbj00NjQ7ZS5pY2lyY2xlPTk0MzI7ZS5pY2lyY3VtZmxleD0yMzg7ZS5pY3lyaWxsaWM9MTExMDtlLmlkYmxncmF2ZT01MjE7ZS5pZGVvZ3JhcGhlYXJ0aGNpcmNsZT0xMjk0MztlLmlkZW9ncmFwaGZpcmVjaXJjbGU9MTI5Mzk7ZS5pZGVvZ3JhcGhpY2FsbGlhbmNlcGFyZW49MTI4NjM7ZS5pZGVvZ3JhcGhpY2NhbGxwYXJlbj0xMjg1ODtlLmlkZW9ncmFwaGljY2VudHJlY2lyY2xlPTEyOTY1O2UuaWRlb2dyYXBoaWNjbG9zZT0xMjI5NDtlLmlkZW9ncmFwaGljY29tbWE9MTIyODk7ZS5pZGVvZ3JhcGhpY2NvbW1hbGVmdD02NTM4MDtlLmlkZW9ncmFwaGljY29uZ3JhdHVsYXRpb25wYXJlbj0xMjg1NTtlLmlkZW9ncmFwaGljY29ycmVjdGNpcmNsZT0xMjk2MztlLmlkZW9ncmFwaGljZWFydGhwYXJlbj0xMjg0NztlLmlkZW9ncmFwaGljZW50ZXJwcmlzZXBhcmVuPTEyODYxO2UuaWRlb2dyYXBoaWNleGNlbGxlbnRjaXJjbGU9MTI5NTc7ZS5pZGVvZ3JhcGhpY2Zlc3RpdmFscGFyZW49MTI4NjQ7ZS5pZGVvZ3JhcGhpY2ZpbmFuY2lhbGNpcmNsZT0xMjk1MDtlLmlkZW9ncmFwaGljZmluYW5jaWFscGFyZW49MTI4NTQ7ZS5pZGVvZ3JhcGhpY2ZpcmVwYXJlbj0xMjg0MztlLmlkZW9ncmFwaGljaGF2ZXBhcmVuPTEyODUwO2UuaWRlb2dyYXBoaWNoaWdoY2lyY2xlPTEyOTY0O2UuaWRlb2dyYXBoaWNpdGVyYXRpb25tYXJrPTEyMjkzO2UuaWRlb2dyYXBoaWNsYWJvcmNpcmNsZT0xMjk1MjtlLmlkZW9ncmFwaGljbGFib3JwYXJlbj0xMjg1NjtlLmlkZW9ncmFwaGljbGVmdGNpcmNsZT0xMjk2NztlLmlkZW9ncmFwaGljbG93Y2lyY2xlPTEyOTY2O2UuaWRlb2dyYXBoaWNtZWRpY2luZWNpcmNsZT0xMjk2OTtlLmlkZW9ncmFwaGljbWV0YWxwYXJlbj0xMjg0NjtlLmlkZW9ncmFwaGljbW9vbnBhcmVuPTEyODQyO2UuaWRlb2dyYXBoaWNuYW1lcGFyZW49MTI4NTI7ZS5pZGVvZ3JhcGhpY3BlcmlvZD0xMjI5MDtlLmlkZW9ncmFwaGljcHJpbnRjaXJjbGU9MTI5NTg7ZS5pZGVvZ3JhcGhpY3JlYWNocGFyZW49MTI4Njc7ZS5pZGVvZ3JhcGhpY3JlcHJlc2VudHBhcmVuPTEyODU3O2UuaWRlb2dyYXBoaWNyZXNvdXJjZXBhcmVuPTEyODYyO2UuaWRlb2dyYXBoaWNyaWdodGNpcmNsZT0xMjk2ODtlLmlkZW9ncmFwaGljc2VjcmV0Y2lyY2xlPTEyOTUzO2UuaWRlb2dyYXBoaWNzZWxmcGFyZW49MTI4NjY7ZS5pZGVvZ3JhcGhpY3NvY2lldHlwYXJlbj0xMjg1MTtlLmlkZW9ncmFwaGljc3BhY2U9MTIyODg7ZS5pZGVvZ3JhcGhpY3NwZWNpYWxwYXJlbj0xMjg1MztlLmlkZW9ncmFwaGljc3RvY2twYXJlbj0xMjg0OTtlLmlkZW9ncmFwaGljc3R1ZHlwYXJlbj0xMjg1OTtlLmlkZW9ncmFwaGljc3VucGFyZW49MTI4NDg7ZS5pZGVvZ3JhcGhpY3N1cGVydmlzZXBhcmVuPTEyODYwO2UuaWRlb2dyYXBoaWN3YXRlcnBhcmVuPTEyODQ0O2UuaWRlb2dyYXBoaWN3b29kcGFyZW49MTI4NDU7ZS5pZGVvZ3JhcGhpY3plcm89MTIyOTU7ZS5pZGVvZ3JhcGhtZXRhbGNpcmNsZT0xMjk0MjtlLmlkZW9ncmFwaG1vb25jaXJjbGU9MTI5Mzg7ZS5pZGVvZ3JhcGhuYW1lY2lyY2xlPTEyOTQ4O2UuaWRlb2dyYXBoc3VuY2lyY2xlPTEyOTQ0O2UuaWRlb2dyYXBod2F0ZXJjaXJjbGU9MTI5NDA7ZS5pZGVvZ3JhcGh3b29kY2lyY2xlPTEyOTQxO2UuaWRldmE9MjMxMTtlLmlkaWVyZXNpcz0yMzk7ZS5pZGllcmVzaXNhY3V0ZT03NzI3O2UuaWRpZXJlc2lzY3lyaWxsaWM9MTI1MztlLmlkb3RiZWxvdz03ODgzO2UuaWVicmV2ZWN5cmlsbGljPTEyMzk7ZS5pZWN5cmlsbGljPTEwNzc7ZS5pZXVuZ2FjaXJjbGVrb3JlYW49MTI5MTc7ZS5pZXVuZ2FwYXJlbmtvcmVhbj0xMjgyMTtlLmlldW5nY2lyY2xla29yZWFuPTEyOTAzO2UuaWV1bmdrb3JlYW49MTI2MTU7ZS5pZXVuZ3BhcmVua29yZWFuPTEyODA3O2UuaWdyYXZlPTIzNjtlLmlndWphcmF0aT0yNjk1O2UuaWd1cm11a2hpPTI1Njc7ZS5paGlyYWdhbmE9MTIzNTY7ZS5paG9va2Fib3ZlPTc4ODE7ZS5paWJlbmdhbGk9MjQ0MDtlLmlpY3lyaWxsaWM9MTA4MDtlLmlpZGV2YT0yMzEyO2UuaWlndWphcmF0aT0yNjk2O2UuaWlndXJtdWtoaT0yNTY4O2UuaWltYXRyYWd1cm11a2hpPTI2MjQ7ZS5paW52ZXJ0ZWRicmV2ZT01MjM7ZS5paXNob3J0Y3lyaWxsaWM9MTA4MTtlLmlpdm93ZWxzaWduYmVuZ2FsaT0yNDk2O2UuaWl2b3dlbHNpZ25kZXZhPTIzNjg7ZS5paXZvd2Vsc2lnbmd1amFyYXRpPTI3NTI7ZS5paj0zMDc7ZS5pa2F0YWthbmE9MTI0NTI7ZS5pa2F0YWthbmFoYWxmd2lkdGg9NjUzOTQ7ZS5pa29yZWFuPTEyNjQzO2UuaWxkZT03MzI7ZS5pbHV5aGVicmV3PTE0NTI7ZS5pbWFjcm9uPTI5OTtlLmltYWNyb25jeXJpbGxpYz0xMjUxO2UuaW1hZ2VvcmFwcHJveGltYXRlbHllcXVhbD04Nzg3O2UuaW1hdHJhZ3VybXVraGk9MjYyMztlLmltb25vc3BhY2U9NjUzNTM7ZS5pbmNyZW1lbnQ9ODcxMDtlLmluZmluaXR5PTg3MzQ7ZS5pbmlhcm1lbmlhbj0xMzg3O2UuaW50ZWdyYWw9ODc0NztlLmludGVncmFsYm90dG9tPTg5OTM7ZS5pbnRlZ3JhbGJ0PTg5OTM7ZS5pbnRlZ3JhbGV4PTYzNzMzO2UuaW50ZWdyYWx0b3A9ODk5MjtlLmludGVncmFsdHA9ODk5MjtlLmludGVyc2VjdGlvbj04NzQ1O2UuaW50aXNxdWFyZT0xMzA2MTtlLmludmJ1bGxldD05Njg4O2UuaW52Y2lyY2xlPTk2ODk7ZS5pbnZzbWlsZWZhY2U9OTc4NztlLmlvY3lyaWxsaWM9MTEwNTtlLmlvZ29uZWs9MzAzO2UuaW90YT05NTM7ZS5pb3RhZGllcmVzaXM9OTcwO2UuaW90YWRpZXJlc2lzdG9ub3M9OTEyO2UuaW90YWxhdGluPTYxNztlLmlvdGF0b25vcz05NDM7ZS5pcGFyZW49OTM4MDtlLmlyaWd1cm11a2hpPTI2NzQ7ZS5pc21hbGxoaXJhZ2FuYT0xMjM1NTtlLmlzbWFsbGthdGFrYW5hPTEyNDUxO2UuaXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODQ7ZS5pc3NoYXJiZW5nYWxpPTI1NTQ7ZS5pc3Ryb2tlPTYxNjtlLmlzdXBlcmlvcj02MzIxMztlLml0ZXJhdGlvbmhpcmFnYW5hPTEyNDQ1O2UuaXRlcmF0aW9ua2F0YWthbmE9MTI1NDE7ZS5pdGlsZGU9Mjk3O2UuaXRpbGRlYmVsb3c9NzcyNTtlLml1Ym9wb21vZm89MTI1ODU7ZS5pdWN5cmlsbGljPTExMDI7ZS5pdm93ZWxzaWduYmVuZ2FsaT0yNDk1O2UuaXZvd2Vsc2lnbmRldmE9MjM2NztlLml2b3dlbHNpZ25ndWphcmF0aT0yNzUxO2UuaXpoaXRzYWN5cmlsbGljPTExNDE7ZS5pemhpdHNhZGJsZ3JhdmVjeXJpbGxpYz0xMTQzO2Uuaj0xMDY7ZS5qYWFybWVuaWFuPTEzOTM7ZS5qYWJlbmdhbGk9MjQ2MDtlLmphZGV2YT0yMzMyO2UuamFndWphcmF0aT0yNzE2O2UuamFndXJtdWtoaT0yNTg4O2UuamJvcG9tb2ZvPTEyNTYwO2UuamNhcm9uPTQ5NjtlLmpjaXJjbGU9OTQzMztlLmpjaXJjdW1mbGV4PTMwOTtlLmpjcm9zc2VkdGFpbD02Njk7ZS5qZG90bGVzc3N0cm9rZT02MDc7ZS5qZWN5cmlsbGljPTExMTI7ZS5qZWVtYXJhYmljPTE1ODA7ZS5qZWVtZmluYWxhcmFiaWM9NjUxODI7ZS5qZWVtaW5pdGlhbGFyYWJpYz02NTE4MztlLmplZW1tZWRpYWxhcmFiaWM9NjUxODQ7ZS5qZWhhcmFiaWM9MTY4ODtlLmplaGZpbmFsYXJhYmljPTY0Mzk1O2UuamhhYmVuZ2FsaT0yNDYxO2UuamhhZGV2YT0yMzMzO2UuamhhZ3VqYXJhdGk9MjcxNztlLmpoYWd1cm11a2hpPTI1ODk7ZS5qaGVoYXJtZW5pYW49MTQwMztlLmppcz0xMjI5MjtlLmptb25vc3BhY2U9NjUzNTQ7ZS5qcGFyZW49OTM4MTtlLmpzdXBlcmlvcj02OTA7ZS5rPTEwNztlLmthYmFzaGtpcmN5cmlsbGljPTExODU7ZS5rYWJlbmdhbGk9MjQ1MztlLmthY3V0ZT03NzI5O2Uua2FjeXJpbGxpYz0xMDgyO2Uua2FkZXNjZW5kZXJjeXJpbGxpYz0xMTc5O2Uua2FkZXZhPTIzMjU7ZS5rYWY9MTQ5OTtlLmthZmFyYWJpYz0xNjAzO2Uua2FmZGFnZXNoPTY0MzE1O2Uua2FmZGFnZXNoaGVicmV3PTY0MzE1O2Uua2FmZmluYWxhcmFiaWM9NjUyNDI7ZS5rYWZoZWJyZXc9MTQ5OTtlLmthZmluaXRpYWxhcmFiaWM9NjUyNDM7ZS5rYWZtZWRpYWxhcmFiaWM9NjUyNDQ7ZS5rYWZyYWZlaGVicmV3PTY0MzMzO2Uua2FndWphcmF0aT0yNzA5O2Uua2FndXJtdWtoaT0yNTgxO2Uua2FoaXJhZ2FuYT0xMjM2MztlLmthaG9va2N5cmlsbGljPTEyMjA7ZS5rYWthdGFrYW5hPTEyNDU5O2Uua2FrYXRha2FuYWhhbGZ3aWR0aD02NTM5ODtlLmthcHBhPTk1NDtlLmthcHBhc3ltYm9sZ3JlZWs9MTAwODtlLmthcHllb3VubWlldW1rb3JlYW49MTI2NTc7ZS5rYXB5ZW91bnBoaWV1cGhrb3JlYW49MTI2NzY7ZS5rYXB5ZW91bnBpZXVwa29yZWFuPTEyNjY0O2Uua2FweWVvdW5zc2FuZ3BpZXVwa29yZWFuPTEyNjY1O2Uua2Fyb3JpaXNxdWFyZT0xMzA2OTtlLmthc2hpZGFhdXRvYXJhYmljPTE2MDA7ZS5rYXNoaWRhYXV0b25vc2lkZWJlYXJpbmdhcmFiaWM9MTYwMDtlLmthc21hbGxrYXRha2FuYT0xMjUzMztlLmthc3F1YXJlPTEzMTg4O2Uua2FzcmFhcmFiaWM9MTYxNjtlLmthc3JhdGFuYXJhYmljPTE2MTM7ZS5rYXN0cm9rZWN5cmlsbGljPTExODM7ZS5rYXRhaGlyYXByb2xvbmdtYXJraGFsZndpZHRoPTY1MzkyO2Uua2F2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTExODE7ZS5rYm9wb21vZm89MTI1NTg7ZS5rY2Fsc3F1YXJlPTEzMTkzO2Uua2Nhcm9uPTQ4OTtlLmtjZWRpbGxhPTMxMTtlLmtjaXJjbGU9OTQzNDtlLmtjb21tYWFjY2VudD0zMTE7ZS5rZG90YmVsb3c9NzczMTtlLmtlaGFybWVuaWFuPTE0MTI7ZS5rZWhpcmFnYW5hPTEyMzY5O2Uua2VrYXRha2FuYT0xMjQ2NTtlLmtla2F0YWthbmFoYWxmd2lkdGg9NjU0MDE7ZS5rZW5hcm1lbmlhbj0xMzkxO2Uua2VzbWFsbGthdGFrYW5hPTEyNTM0O2Uua2dyZWVubGFuZGljPTMxMjtlLmtoYWJlbmdhbGk9MjQ1NDtlLmtoYWN5cmlsbGljPTEwOTM7ZS5raGFkZXZhPTIzMjY7ZS5raGFndWphcmF0aT0yNzEwO2Uua2hhZ3VybXVraGk9MjU4MjtlLmtoYWhhcmFiaWM9MTU4MjtlLmtoYWhmaW5hbGFyYWJpYz02NTE5MDtlLmtoYWhpbml0aWFsYXJhYmljPTY1MTkxO2Uua2hhaG1lZGlhbGFyYWJpYz02NTE5MjtlLmtoZWljb3B0aWM9OTk5O2Uua2hoYWRldmE9MjM5MztlLmtoaGFndXJtdWtoaT0yNjQ5O2Uua2hpZXVraGFjaXJjbGVrb3JlYW49MTI5MjA7ZS5raGlldWtoYXBhcmVua29yZWFuPTEyODI0O2Uua2hpZXVraGNpcmNsZWtvcmVhbj0xMjkwNjtlLmtoaWV1a2hrb3JlYW49MTI2MTk7ZS5raGlldWtocGFyZW5rb3JlYW49MTI4MTA7ZS5raG9raGFpdGhhaT0zNTg2O2Uua2hva2hvbnRoYWk9MzU4OTtlLmtob2todWF0dGhhaT0zNTg3O2Uua2hva2h3YWl0aGFpPTM1ODg7ZS5raG9tdXR0aGFpPTM2NzU7ZS5raG9vaz00MDk7ZS5raG9yYWtoYW5ndGhhaT0zNTkwO2Uua2h6c3F1YXJlPTEzMjAxO2Uua2loaXJhZ2FuYT0xMjM2NTtlLmtpa2F0YWthbmE9MTI0NjE7ZS5raWthdGFrYW5haGFsZndpZHRoPTY1Mzk5O2Uua2lyb2d1cmFtdXNxdWFyZT0xMzA3NztlLmtpcm9tZWV0b3J1c3F1YXJlPTEzMDc4O2Uua2lyb3NxdWFyZT0xMzA3NjtlLmtpeWVva2FjaXJjbGVrb3JlYW49MTI5MTA7ZS5raXllb2thcGFyZW5rb3JlYW49MTI4MTQ7ZS5raXllb2tjaXJjbGVrb3JlYW49MTI4OTY7ZS5raXllb2trb3JlYW49MTI1OTM7ZS5raXllb2twYXJlbmtvcmVhbj0xMjgwMDtlLmtpeWVva3Npb3Nrb3JlYW49MTI1OTU7ZS5ramVjeXJpbGxpYz0xMTE2O2Uua2xpbmViZWxvdz03NzMzO2Uua2xzcXVhcmU9MTMyMDg7ZS5rbWN1YmVkc3F1YXJlPTEzMjIyO2Uua21vbm9zcGFjZT02NTM1NTtlLmttc3F1YXJlZHNxdWFyZT0xMzIxODtlLmtvaGlyYWdhbmE9MTIzNzE7ZS5rb2htc3F1YXJlPTEzMjQ4O2Uua29rYWl0aGFpPTM1ODU7ZS5rb2thdGFrYW5hPTEyNDY3O2Uua29rYXRha2FuYWhhbGZ3aWR0aD02NTQwMjtlLmtvb3Bvc3F1YXJlPTEzMDg2O2Uua29wcGFjeXJpbGxpYz0xMTUzO2Uua29yZWFuc3RhbmRhcmRzeW1ib2w9MTI5Mjc7ZS5rb3JvbmlzY21iPTgzNTtlLmtwYXJlbj05MzgyO2Uua3Bhc3F1YXJlPTEzMjI2O2Uua3NpY3lyaWxsaWM9MTEzNTtlLmt0c3F1YXJlPTEzMjYzO2Uua3R1cm5lZD02NzA7ZS5rdWhpcmFnYW5hPTEyMzY3O2Uua3VrYXRha2FuYT0xMjQ2MztlLmt1a2F0YWthbmFoYWxmd2lkdGg9NjU0MDA7ZS5rdnNxdWFyZT0xMzI0MDtlLmt3c3F1YXJlPTEzMjQ2O2UubD0xMDg7ZS5sYWJlbmdhbGk9MjQ4MjtlLmxhY3V0ZT0zMTQ7ZS5sYWRldmE9MjM1NDtlLmxhZ3VqYXJhdGk9MjczODtlLmxhZ3VybXVraGk9MjYxMDtlLmxha2toYW5neWFvdGhhaT0zNjUzO2UubGFtYWxlZmZpbmFsYXJhYmljPTY1Mjc2O2UubGFtYWxlZmhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTI3MjtlLmxhbWFsZWZoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM9NjUyNzE7ZS5sYW1hbGVmaGFtemFiZWxvd2ZpbmFsYXJhYmljPTY1Mjc0O2UubGFtYWxlZmhhbXphYmVsb3dpc29sYXRlZGFyYWJpYz02NTI3MztlLmxhbWFsZWZpc29sYXRlZGFyYWJpYz02NTI3NTtlLmxhbWFsZWZtYWRkYWFib3ZlZmluYWxhcmFiaWM9NjUyNzA7ZS5sYW1hbGVmbWFkZGFhYm92ZWlzb2xhdGVkYXJhYmljPTY1MjY5O2UubGFtYXJhYmljPTE2MDQ7ZS5sYW1iZGE9OTU1O2UubGFtYmRhc3Ryb2tlPTQxMTtlLmxhbWVkPTE1MDA7ZS5sYW1lZGRhZ2VzaD02NDMxNjtlLmxhbWVkZGFnZXNoaGVicmV3PTY0MzE2O2UubGFtZWRoZWJyZXc9MTUwMDtlLmxhbWZpbmFsYXJhYmljPTY1MjQ2O2UubGFtaGFoaW5pdGlhbGFyYWJpYz02NDcxNDtlLmxhbWluaXRpYWxhcmFiaWM9NjUyNDc7ZS5sYW1qZWVtaW5pdGlhbGFyYWJpYz02NDcxMztlLmxhbWtoYWhpbml0aWFsYXJhYmljPTY0NzE1O2UubGFtbGFtaGVoaXNvbGF0ZWRhcmFiaWM9NjUwMTA7ZS5sYW1tZWRpYWxhcmFiaWM9NjUyNDg7ZS5sYW1tZWVtaGFoaW5pdGlhbGFyYWJpYz02NDkwNDtlLmxhbW1lZW1pbml0aWFsYXJhYmljPTY0NzE2O2UubGFyZ2VjaXJjbGU9OTcxMTtlLmxiYXI9NDEwO2UubGJlbHQ9NjIwO2UubGJvcG9tb2ZvPTEyNTU2O2UubGNhcm9uPTMxODtlLmxjZWRpbGxhPTMxNjtlLmxjaXJjbGU9OTQzNTtlLmxjaXJjdW1mbGV4YmVsb3c9Nzc0MTtlLmxjb21tYWFjY2VudD0zMTY7ZS5sZG90PTMyMDtlLmxkb3RhY2NlbnQ9MzIwO2UubGRvdGJlbG93PTc3MzU7ZS5sZG90YmVsb3dtYWNyb249NzczNztlLmxlZnRhbmdsZWFib3ZlY21iPTc5NDtlLmxlZnR0YWNrYmVsb3djbWI9NzkyO2UubGVzcz02MDtlLmxlc3NlcXVhbD04ODA0O2UubGVzc2VxdWFsb3JncmVhdGVyPTg5MjI7ZS5sZXNzbW9ub3NwYWNlPTY1MzA4O2UubGVzc29yZXF1aXZhbGVudD04ODE4O2UubGVzc29yZ3JlYXRlcj04ODIyO2UubGVzc292ZXJlcXVhbD04ODA2O2UubGVzc3NtYWxsPTY1MTI0O2UubGV6aD02MjI7ZS5sZmJsb2NrPTk2MTI7ZS5saG9va3JldHJvZmxleD02MjE7ZS5saXJhPTgzNTY7ZS5saXduYXJtZW5pYW49MTM4ODtlLmxqPTQ1NztlLmxqZWN5cmlsbGljPTExMTM7ZS5sbD02MzE2ODtlLmxsYWRldmE9MjM1NTtlLmxsYWd1amFyYXRpPTI3Mzk7ZS5sbGluZWJlbG93PTc3Mzk7ZS5sbGxhZGV2YT0yMzU2O2UubGx2b2NhbGljYmVuZ2FsaT0yNTI5O2UubGx2b2NhbGljZGV2YT0yNDAxO2UubGx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMxO2UubGx2b2NhbGljdm93ZWxzaWduZGV2YT0yNDAzO2UubG1pZGRsZXRpbGRlPTYxOTtlLmxtb25vc3BhY2U9NjUzNTY7ZS5sbXNxdWFyZT0xMzI2NDtlLmxvY2h1bGF0aGFpPTM2Mjg7ZS5sb2dpY2FsYW5kPTg3NDM7ZS5sb2dpY2Fsbm90PTE3MjtlLmxvZ2ljYWxub3RyZXZlcnNlZD04OTc2O2UubG9naWNhbG9yPTg3NDQ7ZS5sb2xpbmd0aGFpPTM2MjE7ZS5sb25ncz0zODM7ZS5sb3dsaW5lY2VudGVybGluZT02NTEwMjtlLmxvd2xpbmVjbWI9ODE4O2UubG93bGluZWRhc2hlZD02NTEwMTtlLmxvemVuZ2U9OTY3NDtlLmxwYXJlbj05MzgzO2UubHNsYXNoPTMyMjtlLmxzcXVhcmU9ODQ2NztlLmxzdXBlcmlvcj02MzIxNDtlLmx0c2hhZGU9OTYxNztlLmx1dGhhaT0zNjIyO2UubHZvY2FsaWNiZW5nYWxpPTI0NDQ7ZS5sdm9jYWxpY2RldmE9MjMxNjtlLmx2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTMwO2UubHZvY2FsaWN2b3dlbHNpZ25kZXZhPTI0MDI7ZS5seHNxdWFyZT0xMzI2NztlLm09MTA5O2UubWFiZW5nYWxpPTI0Nzg7ZS5tYWNyb249MTc1O2UubWFjcm9uYmVsb3djbWI9ODE3O2UubWFjcm9uY21iPTc3MjtlLm1hY3Jvbmxvd21vZD03MTc7ZS5tYWNyb25tb25vc3BhY2U9NjU1MDc7ZS5tYWN1dGU9Nzc0MztlLm1hZGV2YT0yMzUwO2UubWFndWphcmF0aT0yNzM0O2UubWFndXJtdWtoaT0yNjA2O2UubWFoYXBha2hoZWJyZXc9MTQ0NDtlLm1haGFwYWtobGVmdGhlYnJldz0xNDQ0O2UubWFoaXJhZ2FuYT0xMjQxNDtlLm1haWNoYXR0YXdhbG93bGVmdHRoYWk9NjM2Mzc7ZS5tYWljaGF0dGF3YWxvd3JpZ2h0dGhhaT02MzYzNjtlLm1haWNoYXR0YXdhdGhhaT0zNjU5O2UubWFpY2hhdHRhd2F1cHBlcmxlZnR0aGFpPTYzNjM1O2UubWFpZWtsb3dsZWZ0dGhhaT02MzYyODtlLm1haWVrbG93cmlnaHR0aGFpPTYzNjI3O2UubWFpZWt0aGFpPTM2NTY7ZS5tYWlla3VwcGVybGVmdHRoYWk9NjM2MjY7ZS5tYWloYW5ha2F0bGVmdHRoYWk9NjM2MjA7ZS5tYWloYW5ha2F0dGhhaT0zNjMzO2UubWFpdGFpa2h1bGVmdHRoYWk9NjM2MjU7ZS5tYWl0YWlraHV0aGFpPTM2NTU7ZS5tYWl0aG9sb3dsZWZ0dGhhaT02MzYzMTtlLm1haXRob2xvd3JpZ2h0dGhhaT02MzYzMDtlLm1haXRob3RoYWk9MzY1NztlLm1haXRob3VwcGVybGVmdHRoYWk9NjM2Mjk7ZS5tYWl0cmlsb3dsZWZ0dGhhaT02MzYzNDtlLm1haXRyaWxvd3JpZ2h0dGhhaT02MzYzMztlLm1haXRyaXRoYWk9MzY1ODtlLm1haXRyaXVwcGVybGVmdHRoYWk9NjM2MzI7ZS5tYWl5YW1va3RoYWk9MzY1NDtlLm1ha2F0YWthbmE9MTI1MTA7ZS5tYWthdGFrYW5haGFsZndpZHRoPTY1NDIzO2UubWFsZT05Nzk0O2UubWFuc3lvbnNxdWFyZT0xMzEyNztlLm1hcWFmaGVicmV3PTE0NzA7ZS5tYXJzPTk3OTQ7ZS5tYXNvcmFjaXJjbGVoZWJyZXc9MTQ1NTtlLm1hc3F1YXJlPTEzMTg3O2UubWJvcG9tb2ZvPTEyNTUxO2UubWJzcXVhcmU9MTMyNjg7ZS5tY2lyY2xlPTk0MzY7ZS5tY3ViZWRzcXVhcmU9MTMyMjE7ZS5tZG90YWNjZW50PTc3NDU7ZS5tZG90YmVsb3c9Nzc0NztlLm1lZW1hcmFiaWM9MTYwNTtlLm1lZW1maW5hbGFyYWJpYz02NTI1MDtlLm1lZW1pbml0aWFsYXJhYmljPTY1MjUxO2UubWVlbW1lZGlhbGFyYWJpYz02NTI1MjtlLm1lZW1tZWVtaW5pdGlhbGFyYWJpYz02NDcyMTtlLm1lZW1tZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1ODQ7ZS5tZWV0b3J1c3F1YXJlPTEzMTMzO2UubWVoaXJhZ2FuYT0xMjQxNztlLm1laXppZXJhc3F1YXJlPTEzMTgyO2UubWVrYXRha2FuYT0xMjUxMztlLm1la2F0YWthbmFoYWxmd2lkdGg9NjU0MjY7ZS5tZW09MTUwMjtlLm1lbWRhZ2VzaD02NDMxODtlLm1lbWRhZ2VzaGhlYnJldz02NDMxODtlLm1lbWhlYnJldz0xNTAyO2UubWVuYXJtZW5pYW49MTM5NjtlLm1lcmtoYWhlYnJldz0xNDQ1O2UubWVya2hha2VmdWxhaGVicmV3PTE0NDY7ZS5tZXJraGFrZWZ1bGFsZWZ0aGVicmV3PTE0NDY7ZS5tZXJraGFsZWZ0aGVicmV3PTE0NDU7ZS5taG9vaz02MjU7ZS5taHpzcXVhcmU9MTMyMDI7ZS5taWRkbGVkb3RrYXRha2FuYWhhbGZ3aWR0aD02NTM4MTtlLm1pZGRvdD0xODM7ZS5taWV1bWFjaXJjbGVrb3JlYW49MTI5MTQ7ZS5taWV1bWFwYXJlbmtvcmVhbj0xMjgxODtlLm1pZXVtY2lyY2xla29yZWFuPTEyOTAwO2UubWlldW1rb3JlYW49MTI2MDk7ZS5taWV1bXBhbnNpb3Nrb3JlYW49MTI2NTY7ZS5taWV1bXBhcmVua29yZWFuPTEyODA0O2UubWlldW1waWV1cGtvcmVhbj0xMjY1NDtlLm1pZXVtc2lvc2tvcmVhbj0xMjY1NTtlLm1paGlyYWdhbmE9MTI0MTU7ZS5taWthdGFrYW5hPTEyNTExO2UubWlrYXRha2FuYWhhbGZ3aWR0aD02NTQyNDtlLm1pbnVzPTg3MjI7ZS5taW51c2JlbG93Y21iPTgwMDtlLm1pbnVzY2lyY2xlPTg4NTQ7ZS5taW51c21vZD03Mjc7ZS5taW51c3BsdXM9ODcyMztlLm1pbnV0ZT04MjQyO2UubWlyaWJhYXJ1c3F1YXJlPTEzMTMwO2UubWlyaXNxdWFyZT0xMzEyOTtlLm1sb25nbGVndHVybmVkPTYyNDtlLm1sc3F1YXJlPTEzMjA2O2UubW1jdWJlZHNxdWFyZT0xMzIxOTtlLm1tb25vc3BhY2U9NjUzNTc7ZS5tbXNxdWFyZWRzcXVhcmU9MTMyMTU7ZS5tb2hpcmFnYW5hPTEyNDE4O2UubW9obXNxdWFyZT0xMzI0OTtlLm1va2F0YWthbmE9MTI1MTQ7ZS5tb2thdGFrYW5haGFsZndpZHRoPTY1NDI3O2UubW9sc3F1YXJlPTEzMjcwO2UubW9tYXRoYWk9MzYxNztlLm1vdmVyc3NxdWFyZT0xMzIyMztlLm1vdmVyc3NxdWFyZWRzcXVhcmU9MTMyMjQ7ZS5tcGFyZW49OTM4NDtlLm1wYXNxdWFyZT0xMzIyNztlLm1zc3F1YXJlPTEzMjM1O2UubXN1cGVyaW9yPTYzMjE1O2UubXR1cm5lZD02MjM7ZS5tdT0xODE7ZS5tdTE9MTgxO2UubXVhc3F1YXJlPTEzMTg2O2UubXVjaGdyZWF0ZXI9ODgxMTtlLm11Y2hsZXNzPTg4MTA7ZS5tdWZzcXVhcmU9MTMxOTY7ZS5tdWdyZWVrPTk1NjtlLm11Z3NxdWFyZT0xMzE5NztlLm11aGlyYWdhbmE9MTI0MTY7ZS5tdWthdGFrYW5hPTEyNTEyO2UubXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyNTtlLm11bHNxdWFyZT0xMzIwNTtlLm11bHRpcGx5PTIxNTtlLm11bXNxdWFyZT0xMzIxMTtlLm11bmFoaGVicmV3PTE0NDM7ZS5tdW5haGxlZnRoZWJyZXc9MTQ0MztlLm11c2ljYWxub3RlPTk4MzQ7ZS5tdXNpY2Fsbm90ZWRibD05ODM1O2UubXVzaWNmbGF0c2lnbj05ODM3O2UubXVzaWNzaGFycHNpZ249OTgzOTtlLm11c3NxdWFyZT0xMzIzNDtlLm11dnNxdWFyZT0xMzIzODtlLm11d3NxdWFyZT0xMzI0NDtlLm12bWVnYXNxdWFyZT0xMzI0MTtlLm12c3F1YXJlPTEzMjM5O2UubXdtZWdhc3F1YXJlPTEzMjQ3O2UubXdzcXVhcmU9MTMyNDU7ZS5uPTExMDtlLm5hYmVuZ2FsaT0yNDcyO2UubmFibGE9ODcxMTtlLm5hY3V0ZT0zMjQ7ZS5uYWRldmE9MjM0NDtlLm5hZ3VqYXJhdGk9MjcyODtlLm5hZ3VybXVraGk9MjYwMDtlLm5haGlyYWdhbmE9MTIzOTQ7ZS5uYWthdGFrYW5hPTEyNDkwO2UubmFrYXRha2FuYWhhbGZ3aWR0aD02NTQxMztlLm5hcG9zdHJvcGhlPTMyOTtlLm5hc3F1YXJlPTEzMTg1O2UubmJvcG9tb2ZvPTEyNTU1O2UubmJzcGFjZT0xNjA7ZS5uY2Fyb249MzI4O2UubmNlZGlsbGE9MzI2O2UubmNpcmNsZT05NDM3O2UubmNpcmN1bWZsZXhiZWxvdz03NzU1O2UubmNvbW1hYWNjZW50PTMyNjtlLm5kb3RhY2NlbnQ9Nzc0OTtlLm5kb3RiZWxvdz03NzUxO2UubmVoaXJhZ2FuYT0xMjM5NztlLm5la2F0YWthbmE9MTI0OTM7ZS5uZWthdGFrYW5haGFsZndpZHRoPTY1NDE2O2UubmV3c2hlcWVsc2lnbj04MzYyO2UubmZzcXVhcmU9MTMxOTU7ZS5uZ2FiZW5nYWxpPTI0NTc7ZS5uZ2FkZXZhPTIzMjk7ZS5uZ2FndWphcmF0aT0yNzEzO2UubmdhZ3VybXVraGk9MjU4NTtlLm5nb25ndXRoYWk9MzU5MTtlLm5oaXJhZ2FuYT0xMjQzNTtlLm5ob29rbGVmdD02MjY7ZS5uaG9va3JldHJvZmxleD02Mjc7ZS5uaWV1bmFjaXJjbGVrb3JlYW49MTI5MTE7ZS5uaWV1bmFwYXJlbmtvcmVhbj0xMjgxNTtlLm5pZXVuY2lldWNrb3JlYW49MTI1OTc7ZS5uaWV1bmNpcmNsZWtvcmVhbj0xMjg5NztlLm5pZXVuaGlldWhrb3JlYW49MTI1OTg7ZS5uaWV1bmtvcmVhbj0xMjU5NjtlLm5pZXVucGFuc2lvc2tvcmVhbj0xMjY0ODtlLm5pZXVucGFyZW5rb3JlYW49MTI4MDE7ZS5uaWV1bnNpb3Nrb3JlYW49MTI2NDc7ZS5uaWV1bnRpa2V1dGtvcmVhbj0xMjY0NjtlLm5paGlyYWdhbmE9MTIzOTU7ZS5uaWthdGFrYW5hPTEyNDkxO2UubmlrYXRha2FuYWhhbGZ3aWR0aD02NTQxNDtlLm5pa2hhaGl0bGVmdHRoYWk9NjM2NDE7ZS5uaWtoYWhpdHRoYWk9MzY2MTtlLm5pbmU9NTc7ZS5uaW5lYXJhYmljPTE2NDE7ZS5uaW5lYmVuZ2FsaT0yNTQzO2UubmluZWNpcmNsZT05MzIwO2UubmluZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMzA7ZS5uaW5lZGV2YT0yNDE1O2UubmluZWd1amFyYXRpPTI3OTk7ZS5uaW5lZ3VybXVraGk9MjY3MTtlLm5pbmVoYWNrYXJhYmljPTE2NDE7ZS5uaW5laGFuZ3pob3U9MTIzMjk7ZS5uaW5laWRlb2dyYXBoaWNwYXJlbj0xMjg0MDtlLm5pbmVpbmZlcmlvcj04MzI5O2UubmluZW1vbm9zcGFjZT02NTMwNTtlLm5pbmVvbGRzdHlsZT02MzI4OTtlLm5pbmVwYXJlbj05MzQwO2UubmluZXBlcmlvZD05MzYwO2UubmluZXBlcnNpYW49MTc4NTtlLm5pbmVyb21hbj04NTY4O2UubmluZXN1cGVyaW9yPTgzMTM7ZS5uaW5ldGVlbmNpcmNsZT05MzMwO2UubmluZXRlZW5wYXJlbj05MzUwO2UubmluZXRlZW5wZXJpb2Q9OTM3MDtlLm5pbmV0aGFpPTM2NzM7ZS5uaj00NjA7ZS5uamVjeXJpbGxpYz0xMTE0O2UubmthdGFrYW5hPTEyNTMxO2UubmthdGFrYW5haGFsZndpZHRoPTY1NDM3O2UubmxlZ3JpZ2h0bG9uZz00MTQ7ZS5ubGluZWJlbG93PTc3NTM7ZS5ubW9ub3NwYWNlPTY1MzU4O2Uubm1zcXVhcmU9MTMyMTA7ZS5ubmFiZW5nYWxpPTI0Njc7ZS5ubmFkZXZhPTIzMzk7ZS5ubmFndWphcmF0aT0yNzIzO2Uubm5hZ3VybXVraGk9MjU5NTtlLm5ubmFkZXZhPTIzNDU7ZS5ub2hpcmFnYW5hPTEyMzk4O2Uubm9rYXRha2FuYT0xMjQ5NDtlLm5va2F0YWthbmFoYWxmd2lkdGg9NjU0MTc7ZS5ub25icmVha2luZ3NwYWNlPTE2MDtlLm5vbmVudGhhaT0zNjAzO2Uubm9udXRoYWk9MzYwOTtlLm5vb25hcmFiaWM9MTYwNjtlLm5vb25maW5hbGFyYWJpYz02NTI1NDtlLm5vb25naHVubmFhcmFiaWM9MTcyMjtlLm5vb25naHVubmFmaW5hbGFyYWJpYz02NDQxNTtlLm5vb25pbml0aWFsYXJhYmljPTY1MjU1O2Uubm9vbmplZW1pbml0aWFsYXJhYmljPTY0NzIyO2Uubm9vbmplZW1pc29sYXRlZGFyYWJpYz02NDU4NztlLm5vb25tZWRpYWxhcmFiaWM9NjUyNTY7ZS5ub29ubWVlbWluaXRpYWxhcmFiaWM9NjQ3MjU7ZS5ub29ubWVlbWlzb2xhdGVkYXJhYmljPTY0NTkwO2Uubm9vbm5vb25maW5hbGFyYWJpYz02NDY1MztlLm5vdGNvbnRhaW5zPTg3MTY7ZS5ub3RlbGVtZW50PTg3MTM7ZS5ub3RlbGVtZW50b2Y9ODcxMztlLm5vdGVxdWFsPTg4MDA7ZS5ub3RncmVhdGVyPTg4MTU7ZS5ub3RncmVhdGVybm9yZXF1YWw9ODgxNztlLm5vdGdyZWF0ZXJub3JsZXNzPTg4MjU7ZS5ub3RpZGVudGljYWw9ODgwMjtlLm5vdGxlc3M9ODgxNDtlLm5vdGxlc3Nub3JlcXVhbD04ODE2O2Uubm90cGFyYWxsZWw9ODc0MjtlLm5vdHByZWNlZGVzPTg4MzI7ZS5ub3RzdWJzZXQ9ODgzNjtlLm5vdHN1Y2NlZWRzPTg4MzM7ZS5ub3RzdXBlcnNldD04ODM3O2Uubm93YXJtZW5pYW49MTM5ODtlLm5wYXJlbj05Mzg1O2UubnNzcXVhcmU9MTMyMzM7ZS5uc3VwZXJpb3I9ODMxOTtlLm50aWxkZT0yNDE7ZS5udT05NTc7ZS5udWhpcmFnYW5hPTEyMzk2O2UubnVrYXRha2FuYT0xMjQ5MjtlLm51a2F0YWthbmFoYWxmd2lkdGg9NjU0MTU7ZS5udWt0YWJlbmdhbGk9MjQ5MjtlLm51a3RhZGV2YT0yMzY0O2UubnVrdGFndWphcmF0aT0yNzQ4O2UubnVrdGFndXJtdWtoaT0yNjIwO2UubnVtYmVyc2lnbj0zNTtlLm51bWJlcnNpZ25tb25vc3BhY2U9NjUyODM7ZS5udW1iZXJzaWduc21hbGw9NjUxMTk7ZS5udW1lcmFsc2lnbmdyZWVrPTg4NDtlLm51bWVyYWxzaWdubG93ZXJncmVlaz04ODU7ZS5udW1lcm89ODQ3MDtlLm51bj0xNTA0O2UubnVuZGFnZXNoPTY0MzIwO2UubnVuZGFnZXNoaGVicmV3PTY0MzIwO2UubnVuaGVicmV3PTE1MDQ7ZS5udnNxdWFyZT0xMzIzNztlLm53c3F1YXJlPTEzMjQzO2UubnlhYmVuZ2FsaT0yNDYyO2UubnlhZGV2YT0yMzM0O2UubnlhZ3VqYXJhdGk9MjcxODtlLm55YWd1cm11a2hpPTI1OTA7ZS5vPTExMTtlLm9hY3V0ZT0yNDM7ZS5vYW5ndGhhaT0zNjI5O2Uub2JhcnJlZD02Mjk7ZS5vYmFycmVkY3lyaWxsaWM9MTI1NztlLm9iYXJyZWRkaWVyZXNpc2N5cmlsbGljPTEyNTk7ZS5vYmVuZ2FsaT0yNDUxO2Uub2JvcG9tb2ZvPTEyNTcxO2Uub2JyZXZlPTMzNTtlLm9jYW5kcmFkZXZhPTIzMjE7ZS5vY2FuZHJhZ3VqYXJhdGk9MjcwNTtlLm9jYW5kcmF2b3dlbHNpZ25kZXZhPTIzNzc7ZS5vY2FuZHJhdm93ZWxzaWduZ3VqYXJhdGk9Mjc2MTtlLm9jYXJvbj00NjY7ZS5vY2lyY2xlPTk0Mzg7ZS5vY2lyY3VtZmxleD0yNDQ7ZS5vY2lyY3VtZmxleGFjdXRlPTc4ODk7ZS5vY2lyY3VtZmxleGRvdGJlbG93PTc4OTc7ZS5vY2lyY3VtZmxleGdyYXZlPTc4OTE7ZS5vY2lyY3VtZmxleGhvb2thYm92ZT03ODkzO2Uub2NpcmN1bWZsZXh0aWxkZT03ODk1O2Uub2N5cmlsbGljPTEwODY7ZS5vZGJsYWN1dGU9MzM3O2Uub2RibGdyYXZlPTUyNTtlLm9kZXZhPTIzMjM7ZS5vZGllcmVzaXM9MjQ2O2Uub2RpZXJlc2lzY3lyaWxsaWM9MTI1NTtlLm9kb3RiZWxvdz03ODg1O2Uub2U9MzM5O2Uub2Vrb3JlYW49MTI2MzQ7ZS5vZ29uZWs9NzMxO2Uub2dvbmVrY21iPTgwODtlLm9ncmF2ZT0yNDI7ZS5vZ3VqYXJhdGk9MjcwNztlLm9oYXJtZW5pYW49MTQxMztlLm9oaXJhZ2FuYT0xMjM2MjtlLm9ob29rYWJvdmU9Nzg4NztlLm9ob3JuPTQxNztlLm9ob3JuYWN1dGU9Nzg5OTtlLm9ob3JuZG90YmVsb3c9NzkwNztlLm9ob3JuZ3JhdmU9NzkwMTtlLm9ob3JuaG9va2Fib3ZlPTc5MDM7ZS5vaG9ybnRpbGRlPTc5MDU7ZS5vaHVuZ2FydW1sYXV0PTMzNztlLm9pPTQxOTtlLm9pbnZlcnRlZGJyZXZlPTUyNztlLm9rYXRha2FuYT0xMjQ1ODtlLm9rYXRha2FuYWhhbGZ3aWR0aD02NTM5NztlLm9rb3JlYW49MTI2MzE7ZS5vbGVoZWJyZXc9MTQ1MTtlLm9tYWNyb249MzMzO2Uub21hY3JvbmFjdXRlPTc3NjM7ZS5vbWFjcm9uZ3JhdmU9Nzc2MTtlLm9tZGV2YT0yMzg0O2Uub21lZ2E9OTY5O2Uub21lZ2ExPTk4MjtlLm9tZWdhY3lyaWxsaWM9MTEyMTtlLm9tZWdhbGF0aW5jbG9zZWQ9NjMxO2Uub21lZ2Fyb3VuZGN5cmlsbGljPTExNDc7ZS5vbWVnYXRpdGxvY3lyaWxsaWM9MTE0OTtlLm9tZWdhdG9ub3M9OTc0O2Uub21ndWphcmF0aT0yNzY4O2Uub21pY3Jvbj05NTk7ZS5vbWljcm9udG9ub3M9OTcyO2Uub21vbm9zcGFjZT02NTM1OTtlLm9uZT00OTtlLm9uZWFyYWJpYz0xNjMzO2Uub25lYmVuZ2FsaT0yNTM1O2Uub25lY2lyY2xlPTkzMTI7ZS5vbmVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIyO2Uub25lZGV2YT0yNDA3O2Uub25lZG90ZW5sZWFkZXI9ODIyODtlLm9uZWVpZ2h0aD04NTM5O2Uub25lZml0dGVkPTYzMTk2O2Uub25lZ3VqYXJhdGk9Mjc5MTtlLm9uZWd1cm11a2hpPTI2NjM7ZS5vbmVoYWNrYXJhYmljPTE2MzM7ZS5vbmVoYWxmPTE4OTtlLm9uZWhhbmd6aG91PTEyMzIxO2Uub25laWRlb2dyYXBoaWNwYXJlbj0xMjgzMjtlLm9uZWluZmVyaW9yPTgzMjE7ZS5vbmVtb25vc3BhY2U9NjUyOTc7ZS5vbmVudW1lcmF0b3JiZW5nYWxpPTI1NDg7ZS5vbmVvbGRzdHlsZT02MzI4MTtlLm9uZXBhcmVuPTkzMzI7ZS5vbmVwZXJpb2Q9OTM1MjtlLm9uZXBlcnNpYW49MTc3NztlLm9uZXF1YXJ0ZXI9MTg4O2Uub25lcm9tYW49ODU2MDtlLm9uZXN1cGVyaW9yPTE4NTtlLm9uZXRoYWk9MzY2NTtlLm9uZXRoaXJkPTg1MzE7ZS5vb2dvbmVrPTQ5MTtlLm9vZ29uZWttYWNyb249NDkzO2Uub29ndXJtdWtoaT0yNTc5O2Uub29tYXRyYWd1cm11a2hpPTI2MzU7ZS5vb3Blbj01OTY7ZS5vcGFyZW49OTM4NjtlLm9wZW5idWxsZXQ9OTcwMjtlLm9wdGlvbj04OTk3O2Uub3JkZmVtaW5pbmU9MTcwO2Uub3JkbWFzY3VsaW5lPTE4NjtlLm9ydGhvZ29uYWw9ODczNTtlLm9zaG9ydGRldmE9MjMyMjtlLm9zaG9ydHZvd2Vsc2lnbmRldmE9MjM3ODtlLm9zbGFzaD0yNDg7ZS5vc2xhc2hhY3V0ZT01MTE7ZS5vc21hbGxoaXJhZ2FuYT0xMjM2MTtlLm9zbWFsbGthdGFrYW5hPTEyNDU3O2Uub3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODc7ZS5vc3Ryb2tlYWN1dGU9NTExO2Uub3N1cGVyaW9yPTYzMjE2O2Uub3RjeXJpbGxpYz0xMTUxO2Uub3RpbGRlPTI0NTtlLm90aWxkZWFjdXRlPTc3NTc7ZS5vdGlsZGVkaWVyZXNpcz03NzU5O2Uub3Vib3BvbW9mbz0xMjU3NztlLm92ZXJsaW5lPTgyNTQ7ZS5vdmVybGluZWNlbnRlcmxpbmU9NjUwOTg7ZS5vdmVybGluZWNtYj03NzM7ZS5vdmVybGluZWRhc2hlZD02NTA5NztlLm92ZXJsaW5lZGJsd2F2eT02NTEwMDtlLm92ZXJsaW5ld2F2eT02NTA5OTtlLm92ZXJzY29yZT0xNzU7ZS5vdm93ZWxzaWduYmVuZ2FsaT0yNTA3O2Uub3Zvd2Vsc2lnbmRldmE9MjM3OTtlLm92b3dlbHNpZ25ndWphcmF0aT0yNzYzO2UucD0xMTI7ZS5wYWFtcHNzcXVhcmU9MTMxODQ7ZS5wYWFzZW50b3NxdWFyZT0xMzA5OTtlLnBhYmVuZ2FsaT0yNDc0O2UucGFjdXRlPTc3NjU7ZS5wYWRldmE9MjM0NjtlLnBhZ2Vkb3duPTg2NzE7ZS5wYWdldXA9ODY3MDtlLnBhZ3VqYXJhdGk9MjczMDtlLnBhZ3VybXVraGk9MjYwMjtlLnBhaGlyYWdhbmE9MTI0MDE7ZS5wYWl5YW5ub2l0aGFpPTM2MzE7ZS5wYWthdGFrYW5hPTEyNDk3O2UucGFsYXRhbGl6YXRpb25jeXJpbGxpY2NtYj0xMTU2O2UucGFsb2Noa2FjeXJpbGxpYz0xMjE2O2UucGFuc2lvc2tvcmVhbj0xMjY3MTtlLnBhcmFncmFwaD0xODI7ZS5wYXJhbGxlbD04NzQxO2UucGFyZW5sZWZ0PTQwO2UucGFyZW5sZWZ0YWx0b25lYXJhYmljPTY0ODMwO2UucGFyZW5sZWZ0YnQ9NjM3MjU7ZS5wYXJlbmxlZnRleD02MzcyNDtlLnBhcmVubGVmdGluZmVyaW9yPTgzMzM7ZS5wYXJlbmxlZnRtb25vc3BhY2U9NjUyODg7ZS5wYXJlbmxlZnRzbWFsbD02NTExMztlLnBhcmVubGVmdHN1cGVyaW9yPTgzMTc7ZS5wYXJlbmxlZnR0cD02MzcyMztlLnBhcmVubGVmdHZlcnRpY2FsPTY1MDc3O2UucGFyZW5yaWdodD00MTtlLnBhcmVucmlnaHRhbHRvbmVhcmFiaWM9NjQ4MzE7ZS5wYXJlbnJpZ2h0YnQ9NjM3MzY7ZS5wYXJlbnJpZ2h0ZXg9NjM3MzU7ZS5wYXJlbnJpZ2h0aW5mZXJpb3I9ODMzNDtlLnBhcmVucmlnaHRtb25vc3BhY2U9NjUyODk7ZS5wYXJlbnJpZ2h0c21hbGw9NjUxMTQ7ZS5wYXJlbnJpZ2h0c3VwZXJpb3I9ODMxODtlLnBhcmVucmlnaHR0cD02MzczNDtlLnBhcmVucmlnaHR2ZXJ0aWNhbD02NTA3ODtlLnBhcnRpYWxkaWZmPTg3MDY7ZS5wYXNlcWhlYnJldz0xNDcyO2UucGFzaHRhaGVicmV3PTE0MzM7ZS5wYXNxdWFyZT0xMzIyNTtlLnBhdGFoPTE0NjM7ZS5wYXRhaDExPTE0NjM7ZS5wYXRhaDFkPTE0NjM7ZS5wYXRhaDJhPTE0NjM7ZS5wYXRhaGhlYnJldz0xNDYzO2UucGF0YWhuYXJyb3doZWJyZXc9MTQ2MztlLnBhdGFocXVhcnRlcmhlYnJldz0xNDYzO2UucGF0YWh3aWRlaGVicmV3PTE0NjM7ZS5wYXplcmhlYnJldz0xNDQxO2UucGJvcG9tb2ZvPTEyNTUwO2UucGNpcmNsZT05NDM5O2UucGRvdGFjY2VudD03NzY3O2UucGU9MTUwODtlLnBlY3lyaWxsaWM9MTA4NztlLnBlZGFnZXNoPTY0MzI0O2UucGVkYWdlc2hoZWJyZXc9NjQzMjQ7ZS5wZWV6aXNxdWFyZT0xMzExNTtlLnBlZmluYWxkYWdlc2hoZWJyZXc9NjQzMjM7ZS5wZWhhcmFiaWM9MTY2MjtlLnBlaGFybWVuaWFuPTE0MDI7ZS5wZWhlYnJldz0xNTA4O2UucGVoZmluYWxhcmFiaWM9NjQzNDM7ZS5wZWhpbml0aWFsYXJhYmljPTY0MzQ0O2UucGVoaXJhZ2FuYT0xMjQxMDtlLnBlaG1lZGlhbGFyYWJpYz02NDM0NTtlLnBla2F0YWthbmE9MTI1MDY7ZS5wZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTkxO2UucGVyYWZlaGVicmV3PTY0MzM0O2UucGVyY2VudD0zNztlLnBlcmNlbnRhcmFiaWM9MTY0MjtlLnBlcmNlbnRtb25vc3BhY2U9NjUyODU7ZS5wZXJjZW50c21hbGw9NjUxMzA7ZS5wZXJpb2Q9NDY7ZS5wZXJpb2Rhcm1lbmlhbj0xNDE3O2UucGVyaW9kY2VudGVyZWQ9MTgzO2UucGVyaW9kaGFsZndpZHRoPTY1Mzc3O2UucGVyaW9kaW5mZXJpb3I9NjMyMDc7ZS5wZXJpb2Rtb25vc3BhY2U9NjUyOTQ7ZS5wZXJpb2RzbWFsbD02NTEwNjtlLnBlcmlvZHN1cGVyaW9yPTYzMjA4O2UucGVyaXNwb21lbmlncmVla2NtYj04MzQ7ZS5wZXJwZW5kaWN1bGFyPTg4Njk7ZS5wZXJ0aG91c2FuZD04MjQwO2UucGVzZXRhPTgzNTk7ZS5wZnNxdWFyZT0xMzE5NDtlLnBoYWJlbmdhbGk9MjQ3NTtlLnBoYWRldmE9MjM0NztlLnBoYWd1amFyYXRpPTI3MzE7ZS5waGFndXJtdWtoaT0yNjAzO2UucGhpPTk2NjtlLnBoaTE9OTgxO2UucGhpZXVwaGFjaXJjbGVrb3JlYW49MTI5MjI7ZS5waGlldXBoYXBhcmVua29yZWFuPTEyODI2O2UucGhpZXVwaGNpcmNsZWtvcmVhbj0xMjkwODtlLnBoaWV1cGhrb3JlYW49MTI2MjE7ZS5waGlldXBocGFyZW5rb3JlYW49MTI4MTI7ZS5waGlsYXRpbj02MzI7ZS5waGludGh1dGhhaT0zNjQyO2UucGhpc3ltYm9sZ3JlZWs9OTgxO2UucGhvb2s9NDIxO2UucGhvcGhhbnRoYWk9MzYxNDtlLnBob3BodW5ndGhhaT0zNjEyO2UucGhvc2FtcGhhb3RoYWk9MzYxNjtlLnBpPTk2MDtlLnBpZXVwYWNpcmNsZWtvcmVhbj0xMjkxNTtlLnBpZXVwYXBhcmVua29yZWFuPTEyODE5O2UucGlldXBjaWV1Y2tvcmVhbj0xMjY2MjtlLnBpZXVwY2lyY2xla29yZWFuPTEyOTAxO2UucGlldXBraXllb2trb3JlYW49MTI2NTg7ZS5waWV1cGtvcmVhbj0xMjYxMDtlLnBpZXVwcGFyZW5rb3JlYW49MTI4MDU7ZS5waWV1cHNpb3NraXllb2trb3JlYW49MTI2NjA7ZS5waWV1cHNpb3Nrb3JlYW49MTI2MTI7ZS5waWV1cHNpb3N0aWtldXRrb3JlYW49MTI2NjE7ZS5waWV1cHRoaWV1dGhrb3JlYW49MTI2NjM7ZS5waWV1cHRpa2V1dGtvcmVhbj0xMjY1OTtlLnBpaGlyYWdhbmE9MTI0MDQ7ZS5waWthdGFrYW5hPTEyNTAwO2UucGlzeW1ib2xncmVlaz05ODI7ZS5waXdyYXJtZW5pYW49MTQxMTtlLnBsYW5ja292ZXIycGk9ODQ2MztlLnBsYW5ja292ZXIycGkxPTg0NjM7ZS5wbHVzPTQzO2UucGx1c2JlbG93Y21iPTc5OTtlLnBsdXNjaXJjbGU9ODg1MztlLnBsdXNtaW51cz0xNzc7ZS5wbHVzbW9kPTcyNjtlLnBsdXNtb25vc3BhY2U9NjUyOTE7ZS5wbHVzc21hbGw9NjUxMjI7ZS5wbHVzc3VwZXJpb3I9ODMxNDtlLnBtb25vc3BhY2U9NjUzNjA7ZS5wbXNxdWFyZT0xMzI3MjtlLnBvaGlyYWdhbmE9MTI0MTM7ZS5wb2ludGluZ2luZGV4ZG93bndoaXRlPTk3NTk7ZS5wb2ludGluZ2luZGV4bGVmdHdoaXRlPTk3NTY7ZS5wb2ludGluZ2luZGV4cmlnaHR3aGl0ZT05NzU4O2UucG9pbnRpbmdpbmRleHVwd2hpdGU9OTc1NztlLnBva2F0YWthbmE9MTI1MDk7ZS5wb3BsYXRoYWk9MzYxMTtlLnBvc3RhbG1hcms9MTIzMDY7ZS5wb3N0YWxtYXJrZmFjZT0xMjMyMDtlLnBwYXJlbj05Mzg3O2UucHJlY2VkZXM9ODgyNjtlLnByZXNjcmlwdGlvbj04NDc4O2UucHJpbWVtb2Q9Njk3O2UucHJpbWVyZXZlcnNlZD04MjQ1O2UucHJvZHVjdD04NzE5O2UucHJvamVjdGl2ZT04OTY1O2UucHJvbG9uZ2Vka2FuYT0xMjU0MDtlLnByb3BlbGxvcj04OTg0O2UucHJvcGVyc3Vic2V0PTg4MzQ7ZS5wcm9wZXJzdXBlcnNldD04ODM1O2UucHJvcG9ydGlvbj04NzU5O2UucHJvcG9ydGlvbmFsPTg3MzM7ZS5wc2k9OTY4O2UucHNpY3lyaWxsaWM9MTEzNztlLnBzaWxpcG5ldW1hdGFjeXJpbGxpY2NtYj0xMTU4O2UucHNzcXVhcmU9MTMyMzI7ZS5wdWhpcmFnYW5hPTEyNDA3O2UucHVrYXRha2FuYT0xMjUwMztlLnB2c3F1YXJlPTEzMjM2O2UucHdzcXVhcmU9MTMyNDI7ZS5xPTExMztlLnFhZGV2YT0yMzkyO2UucWFkbWFoZWJyZXc9MTQ0ODtlLnFhZmFyYWJpYz0xNjAyO2UucWFmZmluYWxhcmFiaWM9NjUyMzg7ZS5xYWZpbml0aWFsYXJhYmljPTY1MjM5O2UucWFmbWVkaWFsYXJhYmljPTY1MjQwO2UucWFtYXRzPTE0NjQ7ZS5xYW1hdHMxMD0xNDY0O2UucWFtYXRzMWE9MTQ2NDtlLnFhbWF0czFjPTE0NjQ7ZS5xYW1hdHMyNz0xNDY0O2UucWFtYXRzMjk9MTQ2NDtlLnFhbWF0czMzPTE0NjQ7ZS5xYW1hdHNkZT0xNDY0O2UucWFtYXRzaGVicmV3PTE0NjQ7ZS5xYW1hdHNuYXJyb3doZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFuaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbm5hcnJvd2hlYnJldz0xNDY0O2UucWFtYXRzcWF0YW5xdWFydGVyaGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbndpZGVoZWJyZXc9MTQ2NDtlLnFhbWF0c3F1YXJ0ZXJoZWJyZXc9MTQ2NDtlLnFhbWF0c3dpZGVoZWJyZXc9MTQ2NDtlLnFhcm5leXBhcmFoZWJyZXc9MTQzOTtlLnFib3BvbW9mbz0xMjU2MTtlLnFjaXJjbGU9OTQ0MDtlLnFob29rPTY3MjtlLnFtb25vc3BhY2U9NjUzNjE7ZS5xb2Y9MTUxMTtlLnFvZmRhZ2VzaD02NDMyNztlLnFvZmRhZ2VzaGhlYnJldz02NDMyNztlLnFvZmhlYnJldz0xNTExO2UucXBhcmVuPTkzODg7ZS5xdWFydGVybm90ZT05ODMzO2UucXVidXRzPTE0Njc7ZS5xdWJ1dHMxOD0xNDY3O2UucXVidXRzMjU9MTQ2NztlLnF1YnV0czMxPTE0Njc7ZS5xdWJ1dHNoZWJyZXc9MTQ2NztlLnF1YnV0c25hcnJvd2hlYnJldz0xNDY3O2UucXVidXRzcXVhcnRlcmhlYnJldz0xNDY3O2UucXVidXRzd2lkZWhlYnJldz0xNDY3O2UucXVlc3Rpb249NjM7ZS5xdWVzdGlvbmFyYWJpYz0xNTY3O2UucXVlc3Rpb25hcm1lbmlhbj0xMzc0O2UucXVlc3Rpb25kb3duPTE5MTtlLnF1ZXN0aW9uZG93bnNtYWxsPTYzNDIzO2UucXVlc3Rpb25ncmVlaz04OTQ7ZS5xdWVzdGlvbm1vbm9zcGFjZT02NTMxMTtlLnF1ZXN0aW9uc21hbGw9NjMyOTU7ZS5xdW90ZWRibD0zNDtlLnF1b3RlZGJsYmFzZT04MjIyO2UucXVvdGVkYmxsZWZ0PTgyMjA7ZS5xdW90ZWRibG1vbm9zcGFjZT02NTI4MjtlLnF1b3RlZGJscHJpbWU9MTIzMTg7ZS5xdW90ZWRibHByaW1lcmV2ZXJzZWQ9MTIzMTc7ZS5xdW90ZWRibHJpZ2h0PTgyMjE7ZS5xdW90ZWxlZnQ9ODIxNjtlLnF1b3RlbGVmdHJldmVyc2VkPTgyMTk7ZS5xdW90ZXJldmVyc2VkPTgyMTk7ZS5xdW90ZXJpZ2h0PTgyMTc7ZS5xdW90ZXJpZ2h0bj0zMjk7ZS5xdW90ZXNpbmdsYmFzZT04MjE4O2UucXVvdGVzaW5nbGU9Mzk7ZS5xdW90ZXNpbmdsZW1vbm9zcGFjZT02NTI4NztlLnI9MTE0O2UucmFhcm1lbmlhbj0xNDA0O2UucmFiZW5nYWxpPTI0ODA7ZS5yYWN1dGU9MzQxO2UucmFkZXZhPTIzNTI7ZS5yYWRpY2FsPTg3MzA7ZS5yYWRpY2FsZXg9NjM3MTc7ZS5yYWRvdmVyc3NxdWFyZT0xMzIzMDtlLnJhZG92ZXJzc3F1YXJlZHNxdWFyZT0xMzIzMTtlLnJhZHNxdWFyZT0xMzIyOTtlLnJhZmU9MTQ3MTtlLnJhZmVoZWJyZXc9MTQ3MTtlLnJhZ3VqYXJhdGk9MjczNjtlLnJhZ3VybXVraGk9MjYwODtlLnJhaGlyYWdhbmE9MTI0MjU7ZS5yYWthdGFrYW5hPTEyNTIxO2UucmFrYXRha2FuYWhhbGZ3aWR0aD02NTQzMTtlLnJhbG93ZXJkaWFnb25hbGJlbmdhbGk9MjU0NTtlLnJhbWlkZGxlZGlhZ29uYWxiZW5nYWxpPTI1NDQ7ZS5yYW1zaG9ybj02MTI7ZS5yYXRpbz04NzU4O2UucmJvcG9tb2ZvPTEyNTY2O2UucmNhcm9uPTM0NTtlLnJjZWRpbGxhPTM0MztlLnJjaXJjbGU9OTQ0MTtlLnJjb21tYWFjY2VudD0zNDM7ZS5yZGJsZ3JhdmU9NTI5O2UucmRvdGFjY2VudD03NzY5O2UucmRvdGJlbG93PTc3NzE7ZS5yZG90YmVsb3dtYWNyb249Nzc3MztlLnJlZmVyZW5jZW1hcms9ODI1MTtlLnJlZmxleHN1YnNldD04ODM4O2UucmVmbGV4c3VwZXJzZXQ9ODgzOTtlLnJlZ2lzdGVyZWQ9MTc0O2UucmVnaXN0ZXJzYW5zPTYzNzIwO2UucmVnaXN0ZXJzZXJpZj02MzE5NDtlLnJlaGFyYWJpYz0xNTg1O2UucmVoYXJtZW5pYW49MTQwODtlLnJlaGZpbmFsYXJhYmljPTY1MTk4O2UucmVoaXJhZ2FuYT0xMjQyODtlLnJla2F0YWthbmE9MTI1MjQ7ZS5yZWthdGFrYW5haGFsZndpZHRoPTY1NDM0O2UucmVzaD0xNTEyO2UucmVzaGRhZ2VzaGhlYnJldz02NDMyODtlLnJlc2hoZWJyZXc9MTUxMjtlLnJldmVyc2VkdGlsZGU9ODc2NTtlLnJldmlhaGVicmV3PTE0MzE7ZS5yZXZpYW11Z3Jhc2hoZWJyZXc9MTQzMTtlLnJldmxvZ2ljYWxub3Q9ODk3NjtlLnJmaXNoaG9vaz02Mzg7ZS5yZmlzaGhvb2tyZXZlcnNlZD02Mzk7ZS5yaGFiZW5nYWxpPTI1MjU7ZS5yaGFkZXZhPTIzOTc7ZS5yaG89OTYxO2Uucmhvb2s9NjM3O2Uucmhvb2t0dXJuZWQ9NjM1O2Uucmhvb2t0dXJuZWRzdXBlcmlvcj02OTM7ZS5yaG9zeW1ib2xncmVlaz0xMDA5O2UucmhvdGljaG9va21vZD03MzQ7ZS5yaWV1bGFjaXJjbGVrb3JlYW49MTI5MTM7ZS5yaWV1bGFwYXJlbmtvcmVhbj0xMjgxNztlLnJpZXVsY2lyY2xla29yZWFuPTEyODk5O2UucmlldWxoaWV1aGtvcmVhbj0xMjYwODtlLnJpZXVsa2l5ZW9ra29yZWFuPTEyNjAyO2UucmlldWxraXllb2tzaW9za29yZWFuPTEyNjQ5O2UucmlldWxrb3JlYW49MTI2MDE7ZS5yaWV1bG1pZXVta29yZWFuPTEyNjAzO2UucmlldWxwYW5zaW9za29yZWFuPTEyNjUyO2UucmlldWxwYXJlbmtvcmVhbj0xMjgwMztlLnJpZXVscGhpZXVwaGtvcmVhbj0xMjYwNztlLnJpZXVscGlldXBrb3JlYW49MTI2MDQ7ZS5yaWV1bHBpZXVwc2lvc2tvcmVhbj0xMjY1MTtlLnJpZXVsc2lvc2tvcmVhbj0xMjYwNTtlLnJpZXVsdGhpZXV0aGtvcmVhbj0xMjYwNjtlLnJpZXVsdGlrZXV0a29yZWFuPTEyNjUwO2UucmlldWx5ZW9yaW5oaWV1aGtvcmVhbj0xMjY1MztlLnJpZ2h0YW5nbGU9ODczNTtlLnJpZ2h0dGFja2JlbG93Y21iPTc5MztlLnJpZ2h0dHJpYW5nbGU9ODg5NTtlLnJpaGlyYWdhbmE9MTI0MjY7ZS5yaWthdGFrYW5hPTEyNTIyO2UucmlrYXRha2FuYWhhbGZ3aWR0aD02NTQzMjtlLnJpbmc9NzMwO2UucmluZ2JlbG93Y21iPTgwNTtlLnJpbmdjbWI9Nzc4O2UucmluZ2hhbGZsZWZ0PTcwMztlLnJpbmdoYWxmbGVmdGFybWVuaWFuPTEzNjk7ZS5yaW5naGFsZmxlZnRiZWxvd2NtYj03OTY7ZS5yaW5naGFsZmxlZnRjZW50ZXJlZD03MjM7ZS5yaW5naGFsZnJpZ2h0PTcwMjtlLnJpbmdoYWxmcmlnaHRiZWxvd2NtYj04MjU7ZS5yaW5naGFsZnJpZ2h0Y2VudGVyZWQ9NzIyO2UucmludmVydGVkYnJldmU9NTMxO2Uucml0dG9ydXNxdWFyZT0xMzEzNztlLnJsaW5lYmVsb3c9Nzc3NTtlLnJsb25nbGVnPTYzNjtlLnJsb25nbGVndHVybmVkPTYzNDtlLnJtb25vc3BhY2U9NjUzNjI7ZS5yb2hpcmFnYW5hPTEyNDI5O2Uucm9rYXRha2FuYT0xMjUyNTtlLnJva2F0YWthbmFoYWxmd2lkdGg9NjU0MzU7ZS5yb3J1YXRoYWk9MzYxOTtlLnJwYXJlbj05Mzg5O2UucnJhYmVuZ2FsaT0yNTI0O2UucnJhZGV2YT0yMzUzO2UucnJhZ3VybXVraGk9MjY1MjtlLnJyZWhhcmFiaWM9MTY4MTtlLnJyZWhmaW5hbGFyYWJpYz02NDM5NztlLnJydm9jYWxpY2JlbmdhbGk9MjUyODtlLnJydm9jYWxpY2RldmE9MjQwMDtlLnJydm9jYWxpY2d1amFyYXRpPTI3ODQ7ZS5ycnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI1MDA7ZS5ycnZvY2FsaWN2b3dlbHNpZ25kZXZhPTIzNzI7ZS5ycnZvY2FsaWN2b3dlbHNpZ25ndWphcmF0aT0yNzU2O2UucnN1cGVyaW9yPTYzMjE3O2UucnRibG9jaz05NjE2O2UucnR1cm5lZD02MzM7ZS5ydHVybmVkc3VwZXJpb3I9NjkyO2UucnVoaXJhZ2FuYT0xMjQyNztlLnJ1a2F0YWthbmE9MTI1MjM7ZS5ydWthdGFrYW5haGFsZndpZHRoPTY1NDMzO2UucnVwZWVtYXJrYmVuZ2FsaT0yNTQ2O2UucnVwZWVzaWduYmVuZ2FsaT0yNTQ3O2UucnVwaWFoPTYzMTk3O2UucnV0aGFpPTM2MjA7ZS5ydm9jYWxpY2JlbmdhbGk9MjQ0MztlLnJ2b2NhbGljZGV2YT0yMzE1O2UucnZvY2FsaWNndWphcmF0aT0yNjk5O2UucnZvY2FsaWN2b3dlbHNpZ25iZW5nYWxpPTI0OTk7ZS5ydm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjM3MTtlLnJ2b2NhbGljdm93ZWxzaWduZ3VqYXJhdGk9Mjc1NTtlLnM9MTE1O2Uuc2FiZW5nYWxpPTI0ODg7ZS5zYWN1dGU9MzQ3O2Uuc2FjdXRlZG90YWNjZW50PTc3ODE7ZS5zYWRhcmFiaWM9MTU4OTtlLnNhZGV2YT0yMzYwO2Uuc2FkZmluYWxhcmFiaWM9NjUyMTA7ZS5zYWRpbml0aWFsYXJhYmljPTY1MjExO2Uuc2FkbWVkaWFsYXJhYmljPTY1MjEyO2Uuc2FndWphcmF0aT0yNzQ0O2Uuc2FndXJtdWtoaT0yNjE2O2Uuc2FoaXJhZ2FuYT0xMjM3MztlLnNha2F0YWthbmE9MTI0Njk7ZS5zYWthdGFrYW5haGFsZndpZHRoPTY1NDAzO2Uuc2FsbGFsbGFob3VhbGF5aGV3YXNhbGxhbWFyYWJpYz02NTAxODtlLnNhbWVraD0xNTA1O2Uuc2FtZWtoZGFnZXNoPTY0MzIxO2Uuc2FtZWtoZGFnZXNoaGVicmV3PTY0MzIxO2Uuc2FtZWtoaGVicmV3PTE1MDU7ZS5zYXJhYWF0aGFpPTM2MzQ7ZS5zYXJhYWV0aGFpPTM2NDk7ZS5zYXJhYWltYWltYWxhaXRoYWk9MzY1MjtlLnNhcmFhaW1haW11YW50aGFpPTM2NTE7ZS5zYXJhYW10aGFpPTM2MzU7ZS5zYXJhYXRoYWk9MzYzMjtlLnNhcmFldGhhaT0zNjQ4O2Uuc2FyYWlpbGVmdHRoYWk9NjM2MjI7ZS5zYXJhaWl0aGFpPTM2Mzc7ZS5zYXJhaWxlZnR0aGFpPTYzNjIxO2Uuc2FyYWl0aGFpPTM2MzY7ZS5zYXJhb3RoYWk9MzY1MDtlLnNhcmF1ZWVsZWZ0dGhhaT02MzYyNDtlLnNhcmF1ZWV0aGFpPTM2Mzk7ZS5zYXJhdWVsZWZ0dGhhaT02MzYyMztlLnNhcmF1ZXRoYWk9MzYzODtlLnNhcmF1dGhhaT0zNjQwO2Uuc2FyYXV1dGhhaT0zNjQxO2Uuc2JvcG9tb2ZvPTEyNTY5O2Uuc2Nhcm9uPTM1MztlLnNjYXJvbmRvdGFjY2VudD03NzgzO2Uuc2NlZGlsbGE9MzUxO2Uuc2Nod2E9NjAxO2Uuc2Nod2FjeXJpbGxpYz0xMjQxO2Uuc2Nod2FkaWVyZXNpc2N5cmlsbGljPTEyNDM7ZS5zY2h3YWhvb2s9NjAyO2Uuc2NpcmNsZT05NDQyO2Uuc2NpcmN1bWZsZXg9MzQ5O2Uuc2NvbW1hYWNjZW50PTUzNztlLnNkb3RhY2NlbnQ9Nzc3NztlLnNkb3RiZWxvdz03Nzc5O2Uuc2RvdGJlbG93ZG90YWNjZW50PTc3ODU7ZS5zZWFndWxsYmVsb3djbWI9ODI4O2Uuc2Vjb25kPTgyNDM7ZS5zZWNvbmR0b25lY2hpbmVzZT03MTQ7ZS5zZWN0aW9uPTE2NztlLnNlZW5hcmFiaWM9MTU4NztlLnNlZW5maW5hbGFyYWJpYz02NTIwMjtlLnNlZW5pbml0aWFsYXJhYmljPTY1MjAzO2Uuc2Vlbm1lZGlhbGFyYWJpYz02NTIwNDtlLnNlZ29sPTE0NjI7ZS5zZWdvbDEzPTE0NjI7ZS5zZWdvbDFmPTE0NjI7ZS5zZWdvbDJjPTE0NjI7ZS5zZWdvbGhlYnJldz0xNDYyO2Uuc2Vnb2xuYXJyb3doZWJyZXc9MTQ2MjtlLnNlZ29scXVhcnRlcmhlYnJldz0xNDYyO2Uuc2Vnb2x0YWhlYnJldz0xNDI2O2Uuc2Vnb2x3aWRlaGVicmV3PTE0NjI7ZS5zZWhhcm1lbmlhbj0xNDA1O2Uuc2VoaXJhZ2FuYT0xMjM3OTtlLnNla2F0YWthbmE9MTI0NzU7ZS5zZWthdGFrYW5haGFsZndpZHRoPTY1NDA2O2Uuc2VtaWNvbG9uPTU5O2Uuc2VtaWNvbG9uYXJhYmljPTE1NjM7ZS5zZW1pY29sb25tb25vc3BhY2U9NjUzMDc7ZS5zZW1pY29sb25zbWFsbD02NTEwODtlLnNlbWl2b2ljZWRtYXJra2FuYT0xMjQ0NDtlLnNlbWl2b2ljZWRtYXJra2FuYWhhbGZ3aWR0aD02NTQzOTtlLnNlbnRpc3F1YXJlPTEzMDkwO2Uuc2VudG9zcXVhcmU9MTMwOTE7ZS5zZXZlbj01NTtlLnNldmVuYXJhYmljPTE2Mzk7ZS5zZXZlbmJlbmdhbGk9MjU0MTtlLnNldmVuY2lyY2xlPTkzMTg7ZS5zZXZlbmNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjg7ZS5zZXZlbmRldmE9MjQxMztlLnNldmVuZWlnaHRocz04NTQyO2Uuc2V2ZW5ndWphcmF0aT0yNzk3O2Uuc2V2ZW5ndXJtdWtoaT0yNjY5O2Uuc2V2ZW5oYWNrYXJhYmljPTE2Mzk7ZS5zZXZlbmhhbmd6aG91PTEyMzI3O2Uuc2V2ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODM4O2Uuc2V2ZW5pbmZlcmlvcj04MzI3O2Uuc2V2ZW5tb25vc3BhY2U9NjUzMDM7ZS5zZXZlbm9sZHN0eWxlPTYzMjg3O2Uuc2V2ZW5wYXJlbj05MzM4O2Uuc2V2ZW5wZXJpb2Q9OTM1ODtlLnNldmVucGVyc2lhbj0xNzgzO2Uuc2V2ZW5yb21hbj04NTY2O2Uuc2V2ZW5zdXBlcmlvcj04MzExO2Uuc2V2ZW50ZWVuY2lyY2xlPTkzMjg7ZS5zZXZlbnRlZW5wYXJlbj05MzQ4O2Uuc2V2ZW50ZWVucGVyaW9kPTkzNjg7ZS5zZXZlbnRoYWk9MzY3MTtlLnNmdGh5cGhlbj0xNzM7ZS5zaGFhcm1lbmlhbj0xMzk5O2Uuc2hhYmVuZ2FsaT0yNDg2O2Uuc2hhY3lyaWxsaWM9MTA5NjtlLnNoYWRkYWFyYWJpYz0xNjE3O2Uuc2hhZGRhZGFtbWFhcmFiaWM9NjQ2MDk7ZS5zaGFkZGFkYW1tYXRhbmFyYWJpYz02NDYwNjtlLnNoYWRkYWZhdGhhYXJhYmljPTY0NjA4O2Uuc2hhZGRha2FzcmFhcmFiaWM9NjQ2MTA7ZS5zaGFkZGFrYXNyYXRhbmFyYWJpYz02NDYwNztlLnNoYWRlPTk2MTg7ZS5zaGFkZWRhcms9OTYxOTtlLnNoYWRlbGlnaHQ9OTYxNztlLnNoYWRlbWVkaXVtPTk2MTg7ZS5zaGFkZXZhPTIzNTg7ZS5zaGFndWphcmF0aT0yNzQyO2Uuc2hhZ3VybXVraGk9MjYxNDtlLnNoYWxzaGVsZXRoZWJyZXc9MTQyNztlLnNoYm9wb21vZm89MTI1NjU7ZS5zaGNoYWN5cmlsbGljPTEwOTc7ZS5zaGVlbmFyYWJpYz0xNTg4O2Uuc2hlZW5maW5hbGFyYWJpYz02NTIwNjtlLnNoZWVuaW5pdGlhbGFyYWJpYz02NTIwNztlLnNoZWVubWVkaWFsYXJhYmljPTY1MjA4O2Uuc2hlaWNvcHRpYz05OTU7ZS5zaGVxZWw9ODM2MjtlLnNoZXFlbGhlYnJldz04MzYyO2Uuc2hldmE9MTQ1NjtlLnNoZXZhMTE1PTE0NTY7ZS5zaGV2YTE1PTE0NTY7ZS5zaGV2YTIyPTE0NTY7ZS5zaGV2YTJlPTE0NTY7ZS5zaGV2YWhlYnJldz0xNDU2O2Uuc2hldmFuYXJyb3doZWJyZXc9MTQ1NjtlLnNoZXZhcXVhcnRlcmhlYnJldz0xNDU2O2Uuc2hldmF3aWRlaGVicmV3PTE0NTY7ZS5zaGhhY3lyaWxsaWM9MTIxMTtlLnNoaW1hY29wdGljPTEwMDU7ZS5zaGluPTE1MTM7ZS5zaGluZGFnZXNoPTY0MzI5O2Uuc2hpbmRhZ2VzaGhlYnJldz02NDMyOTtlLnNoaW5kYWdlc2hzaGluZG90PTY0MzAwO2Uuc2hpbmRhZ2VzaHNoaW5kb3RoZWJyZXc9NjQzMDA7ZS5zaGluZGFnZXNoc2luZG90PTY0MzAxO2Uuc2hpbmRhZ2VzaHNpbmRvdGhlYnJldz02NDMwMTtlLnNoaW5kb3RoZWJyZXc9MTQ3MztlLnNoaW5oZWJyZXc9MTUxMztlLnNoaW5zaGluZG90PTY0Mjk4O2Uuc2hpbnNoaW5kb3RoZWJyZXc9NjQyOTg7ZS5zaGluc2luZG90PTY0Mjk5O2Uuc2hpbnNpbmRvdGhlYnJldz02NDI5OTtlLnNob29rPTY0MjtlLnNpZ21hPTk2MztlLnNpZ21hMT05NjI7ZS5zaWdtYWZpbmFsPTk2MjtlLnNpZ21hbHVuYXRlc3ltYm9sZ3JlZWs9MTAxMDtlLnNpaGlyYWdhbmE9MTIzNzU7ZS5zaWthdGFrYW5hPTEyNDcxO2Uuc2lrYXRha2FuYWhhbGZ3aWR0aD02NTQwNDtlLnNpbHVxaGVicmV3PTE0Njk7ZS5zaWx1cWxlZnRoZWJyZXc9MTQ2OTtlLnNpbWlsYXI9ODc2NDtlLnNpbmRvdGhlYnJldz0xNDc0O2Uuc2lvc2FjaXJjbGVrb3JlYW49MTI5MTY7ZS5zaW9zYXBhcmVua29yZWFuPTEyODIwO2Uuc2lvc2NpZXVja29yZWFuPTEyNjcwO2Uuc2lvc2NpcmNsZWtvcmVhbj0xMjkwMjtlLnNpb3NraXllb2trb3JlYW49MTI2NjY7ZS5zaW9za29yZWFuPTEyNjEzO2Uuc2lvc25pZXVua29yZWFuPTEyNjY3O2Uuc2lvc3BhcmVua29yZWFuPTEyODA2O2Uuc2lvc3BpZXVwa29yZWFuPTEyNjY5O2Uuc2lvc3Rpa2V1dGtvcmVhbj0xMjY2ODtlLnNpeD01NDtlLnNpeGFyYWJpYz0xNjM4O2Uuc2l4YmVuZ2FsaT0yNTQwO2Uuc2l4Y2lyY2xlPTkzMTc7ZS5zaXhjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI3O2Uuc2l4ZGV2YT0yNDEyO2Uuc2l4Z3VqYXJhdGk9Mjc5NjtlLnNpeGd1cm11a2hpPTI2Njg7ZS5zaXhoYWNrYXJhYmljPTE2Mzg7ZS5zaXhoYW5nemhvdT0xMjMyNjtlLnNpeGlkZW9ncmFwaGljcGFyZW49MTI4Mzc7ZS5zaXhpbmZlcmlvcj04MzI2O2Uuc2l4bW9ub3NwYWNlPTY1MzAyO2Uuc2l4b2xkc3R5bGU9NjMyODY7ZS5zaXhwYXJlbj05MzM3O2Uuc2l4cGVyaW9kPTkzNTc7ZS5zaXhwZXJzaWFuPTE3ODI7ZS5zaXhyb21hbj04NTY1O2Uuc2l4c3VwZXJpb3I9ODMxMDtlLnNpeHRlZW5jaXJjbGU9OTMyNztlLnNpeHRlZW5jdXJyZW5jeWRlbm9taW5hdG9yYmVuZ2FsaT0yNTUzO2Uuc2l4dGVlbnBhcmVuPTkzNDc7ZS5zaXh0ZWVucGVyaW9kPTkzNjc7ZS5zaXh0aGFpPTM2NzA7ZS5zbGFzaD00NztlLnNsYXNobW9ub3NwYWNlPTY1Mjk1O2Uuc2xvbmc9MzgzO2Uuc2xvbmdkb3RhY2NlbnQ9NzgzNTtlLnNtaWxlZmFjZT05Nzg2O2Uuc21vbm9zcGFjZT02NTM2MztlLnNvZnBhc3VxaGVicmV3PTE0NzU7ZS5zb2Z0aHlwaGVuPTE3MztlLnNvZnRzaWduY3lyaWxsaWM9MTEwMDtlLnNvaGlyYWdhbmE9MTIzODE7ZS5zb2thdGFrYW5hPTEyNDc3O2Uuc29rYXRha2FuYWhhbGZ3aWR0aD02NTQwNztlLnNvbGlkdXNsb25nb3ZlcmxheWNtYj04MjQ7ZS5zb2xpZHVzc2hvcnRvdmVybGF5Y21iPTgyMztlLnNvcnVzaXRoYWk9MzYyNTtlLnNvc2FsYXRoYWk9MzYyNDtlLnNvc290aGFpPTM1OTU7ZS5zb3N1YXRoYWk9MzYyNjtlLnNwYWNlPTMyO2Uuc3BhY2VoYWNrYXJhYmljPTMyO2Uuc3BhZGU9OTgyNDtlLnNwYWRlc3VpdGJsYWNrPTk4MjQ7ZS5zcGFkZXN1aXR3aGl0ZT05ODI4O2Uuc3BhcmVuPTkzOTA7ZS5zcXVhcmViZWxvd2NtYj04Mjc7ZS5zcXVhcmVjYz0xMzI1MjtlLnNxdWFyZWNtPTEzMjEzO2Uuc3F1YXJlZGlhZ29uYWxjcm9zc2hhdGNoZmlsbD05NjQxO2Uuc3F1YXJlaG9yaXpvbnRhbGZpbGw9OTYzNjtlLnNxdWFyZWtnPTEzMTk5O2Uuc3F1YXJla209MTMyMTQ7ZS5zcXVhcmVrbWNhcGl0YWw9MTMyNjI7ZS5zcXVhcmVsbj0xMzI2NTtlLnNxdWFyZWxvZz0xMzI2NjtlLnNxdWFyZW1nPTEzMTk4O2Uuc3F1YXJlbWlsPTEzMjY5O2Uuc3F1YXJlbW09MTMyMTI7ZS5zcXVhcmVtc3F1YXJlZD0xMzIxNztlLnNxdWFyZW9ydGhvZ29uYWxjcm9zc2hhdGNoZmlsbD05NjM4O2Uuc3F1YXJldXBwZXJsZWZ0dG9sb3dlcnJpZ2h0ZmlsbD05NjM5O2Uuc3F1YXJldXBwZXJyaWdodHRvbG93ZXJsZWZ0ZmlsbD05NjQwO2Uuc3F1YXJldmVydGljYWxmaWxsPTk2Mzc7ZS5zcXVhcmV3aGl0ZXdpdGhzbWFsbGJsYWNrPTk2MzU7ZS5zcnNxdWFyZT0xMzI3NTtlLnNzYWJlbmdhbGk9MjQ4NztlLnNzYWRldmE9MjM1OTtlLnNzYWd1amFyYXRpPTI3NDM7ZS5zc2FuZ2NpZXVja29yZWFuPTEyNjE3O2Uuc3NhbmdoaWV1aGtvcmVhbj0xMjY3NztlLnNzYW5naWV1bmdrb3JlYW49MTI2NzI7ZS5zc2FuZ2tpeWVva2tvcmVhbj0xMjU5NDtlLnNzYW5nbmlldW5rb3JlYW49MTI2NDU7ZS5zc2FuZ3BpZXVwa29yZWFuPTEyNjExO2Uuc3NhbmdzaW9za29yZWFuPTEyNjE0O2Uuc3Nhbmd0aWtldXRrb3JlYW49MTI2MDA7ZS5zc3VwZXJpb3I9NjMyMTg7ZS5zdGVybGluZz0xNjM7ZS5zdGVybGluZ21vbm9zcGFjZT02NTUwNTtlLnN0cm9rZWxvbmdvdmVybGF5Y21iPTgyMjtlLnN0cm9rZXNob3J0b3ZlcmxheWNtYj04MjE7ZS5zdWJzZXQ9ODgzNDtlLnN1YnNldG5vdGVxdWFsPTg4NDI7ZS5zdWJzZXRvcmVxdWFsPTg4Mzg7ZS5zdWNjZWVkcz04ODI3O2Uuc3VjaHRoYXQ9ODcxNTtlLnN1aGlyYWdhbmE9MTIzNzc7ZS5zdWthdGFrYW5hPTEyNDczO2Uuc3VrYXRha2FuYWhhbGZ3aWR0aD02NTQwNTtlLnN1a3VuYXJhYmljPTE2MTg7ZS5zdW1tYXRpb249ODcyMTtlLnN1bj05Nzg4O2Uuc3VwZXJzZXQ9ODgzNTtlLnN1cGVyc2V0bm90ZXF1YWw9ODg0MztlLnN1cGVyc2V0b3JlcXVhbD04ODM5O2Uuc3ZzcXVhcmU9MTMyNzY7ZS5zeW91d2FlcmFzcXVhcmU9MTMxODA7ZS50PTExNjtlLnRhYmVuZ2FsaT0yNDY4O2UudGFja2Rvd249ODg2ODtlLnRhY2tsZWZ0PTg4Njc7ZS50YWRldmE9MjM0MDtlLnRhZ3VqYXJhdGk9MjcyNDtlLnRhZ3VybXVraGk9MjU5NjtlLnRhaGFyYWJpYz0xNTkxO2UudGFoZmluYWxhcmFiaWM9NjUyMTg7ZS50YWhpbml0aWFsYXJhYmljPTY1MjE5O2UudGFoaXJhZ2FuYT0xMjM4MztlLnRhaG1lZGlhbGFyYWJpYz02NTIyMDtlLnRhaXN5b3VlcmFzcXVhcmU9MTMxODE7ZS50YWthdGFrYW5hPTEyNDc5O2UudGFrYXRha2FuYWhhbGZ3aWR0aD02NTQwODtlLnRhdHdlZWxhcmFiaWM9MTYwMDtlLnRhdT05NjQ7ZS50YXY9MTUxNDtlLnRhdmRhZ2VzPTY0MzMwO2UudGF2ZGFnZXNoPTY0MzMwO2UudGF2ZGFnZXNoaGVicmV3PTY0MzMwO2UudGF2aGVicmV3PTE1MTQ7ZS50YmFyPTM1OTtlLnRib3BvbW9mbz0xMjU1NDtlLnRjYXJvbj0zNTc7ZS50Y2N1cmw9NjgwO2UudGNlZGlsbGE9MzU1O2UudGNoZWhhcmFiaWM9MTY3MDtlLnRjaGVoZmluYWxhcmFiaWM9NjQzNzk7ZS50Y2hlaGluaXRpYWxhcmFiaWM9NjQzODA7ZS50Y2hlaG1lZGlhbGFyYWJpYz02NDM4MTtlLnRjaXJjbGU9OTQ0MztlLnRjaXJjdW1mbGV4YmVsb3c9Nzc5MztlLnRjb21tYWFjY2VudD0zNTU7ZS50ZGllcmVzaXM9NzgzMTtlLnRkb3RhY2NlbnQ9Nzc4NztlLnRkb3RiZWxvdz03Nzg5O2UudGVjeXJpbGxpYz0xMDkwO2UudGVkZXNjZW5kZXJjeXJpbGxpYz0xMTk3O2UudGVoYXJhYmljPTE1Nzg7ZS50ZWhmaW5hbGFyYWJpYz02NTE3NDtlLnRlaGhhaGluaXRpYWxhcmFiaWM9NjQ2NzQ7ZS50ZWhoYWhpc29sYXRlZGFyYWJpYz02NDUyNDtlLnRlaGluaXRpYWxhcmFiaWM9NjUxNzU7ZS50ZWhpcmFnYW5hPTEyMzkwO2UudGVoamVlbWluaXRpYWxhcmFiaWM9NjQ2NzM7ZS50ZWhqZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1MjM7ZS50ZWhtYXJidXRhYXJhYmljPTE1Nzc7ZS50ZWhtYXJidXRhZmluYWxhcmFiaWM9NjUxNzI7ZS50ZWhtZWRpYWxhcmFiaWM9NjUxNzY7ZS50ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDY3NjtlLnRlaG1lZW1pc29sYXRlZGFyYWJpYz02NDUyNjtlLnRlaG5vb25maW5hbGFyYWJpYz02NDYyNztlLnRla2F0YWthbmE9MTI0ODY7ZS50ZWthdGFrYW5haGFsZndpZHRoPTY1NDExO2UudGVsZXBob25lPTg0ODE7ZS50ZWxlcGhvbmVibGFjaz05NzQyO2UudGVsaXNoYWdlZG9sYWhlYnJldz0xNDQwO2UudGVsaXNoYXFldGFuYWhlYnJldz0xNDQ5O2UudGVuY2lyY2xlPTkzMjE7ZS50ZW5pZGVvZ3JhcGhpY3BhcmVuPTEyODQxO2UudGVucGFyZW49OTM0MTtlLnRlbnBlcmlvZD05MzYxO2UudGVucm9tYW49ODU2OTtlLnRlc2g9Njc5O2UudGV0PTE0OTY7ZS50ZXRkYWdlc2g9NjQzMTI7ZS50ZXRkYWdlc2hoZWJyZXc9NjQzMTI7ZS50ZXRoZWJyZXc9MTQ5NjtlLnRldHNlY3lyaWxsaWM9MTIwNTtlLnRldmlyaGVicmV3PTE0MzU7ZS50ZXZpcmxlZnRoZWJyZXc9MTQzNTtlLnRoYWJlbmdhbGk9MjQ2OTtlLnRoYWRldmE9MjM0MTtlLnRoYWd1amFyYXRpPTI3MjU7ZS50aGFndXJtdWtoaT0yNTk3O2UudGhhbGFyYWJpYz0xNTg0O2UudGhhbGZpbmFsYXJhYmljPTY1MTk2O2UudGhhbnRoYWtoYXRsb3dsZWZ0dGhhaT02MzY0MDtlLnRoYW50aGFraGF0bG93cmlnaHR0aGFpPTYzNjM5O2UudGhhbnRoYWtoYXR0aGFpPTM2NjA7ZS50aGFudGhha2hhdHVwcGVybGVmdHRoYWk9NjM2Mzg7ZS50aGVoYXJhYmljPTE1Nzk7ZS50aGVoZmluYWxhcmFiaWM9NjUxNzg7ZS50aGVoaW5pdGlhbGFyYWJpYz02NTE3OTtlLnRoZWhtZWRpYWxhcmFiaWM9NjUxODA7ZS50aGVyZWV4aXN0cz04NzA3O2UudGhlcmVmb3JlPTg3NTY7ZS50aGV0YT05NTI7ZS50aGV0YTE9OTc3O2UudGhldGFzeW1ib2xncmVlaz05Nzc7ZS50aGlldXRoYWNpcmNsZWtvcmVhbj0xMjkyMTtlLnRoaWV1dGhhcGFyZW5rb3JlYW49MTI4MjU7ZS50aGlldXRoY2lyY2xla29yZWFuPTEyOTA3O2UudGhpZXV0aGtvcmVhbj0xMjYyMDtlLnRoaWV1dGhwYXJlbmtvcmVhbj0xMjgxMTtlLnRoaXJ0ZWVuY2lyY2xlPTkzMjQ7ZS50aGlydGVlbnBhcmVuPTkzNDQ7ZS50aGlydGVlbnBlcmlvZD05MzY0O2UudGhvbmFuZ21vbnRob3RoYWk9MzYwMTtlLnRob29rPTQyOTtlLnRob3BodXRoYW90aGFpPTM2MDI7ZS50aG9ybj0yNTQ7ZS50aG90aGFoYW50aGFpPTM2MDc7ZS50aG90aGFudGhhaT0zNjAwO2UudGhvdGhvbmd0aGFpPTM2MDg7ZS50aG90aHVuZ3RoYWk9MzYwNjtlLnRob3VzYW5kY3lyaWxsaWM9MTE1NDtlLnRob3VzYW5kc3NlcGFyYXRvcmFyYWJpYz0xNjQ0O2UudGhvdXNhbmRzc2VwYXJhdG9ycGVyc2lhbj0xNjQ0O2UudGhyZWU9NTE7ZS50aHJlZWFyYWJpYz0xNjM1O2UudGhyZWViZW5nYWxpPTI1Mzc7ZS50aHJlZWNpcmNsZT05MzE0O2UudGhyZWVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI0O2UudGhyZWVkZXZhPTI0MDk7ZS50aHJlZWVpZ2h0aHM9ODU0MDtlLnRocmVlZ3VqYXJhdGk9Mjc5MztlLnRocmVlZ3VybXVraGk9MjY2NTtlLnRocmVlaGFja2FyYWJpYz0xNjM1O2UudGhyZWVoYW5nemhvdT0xMjMyMztlLnRocmVlaWRlb2dyYXBoaWNwYXJlbj0xMjgzNDtlLnRocmVlaW5mZXJpb3I9ODMyMztlLnRocmVlbW9ub3NwYWNlPTY1Mjk5O2UudGhyZWVudW1lcmF0b3JiZW5nYWxpPTI1NTA7ZS50aHJlZW9sZHN0eWxlPTYzMjgzO2UudGhyZWVwYXJlbj05MzM0O2UudGhyZWVwZXJpb2Q9OTM1NDtlLnRocmVlcGVyc2lhbj0xNzc5O2UudGhyZWVxdWFydGVycz0xOTA7ZS50aHJlZXF1YXJ0ZXJzZW1kYXNoPTYzMTk4O2UudGhyZWVyb21hbj04NTYyO2UudGhyZWVzdXBlcmlvcj0xNzk7ZS50aHJlZXRoYWk9MzY2NztlLnRoenNxdWFyZT0xMzIwNDtlLnRpaGlyYWdhbmE9MTIzODU7ZS50aWthdGFrYW5hPTEyNDgxO2UudGlrYXRha2FuYWhhbGZ3aWR0aD02NTQwOTtlLnRpa2V1dGFjaXJjbGVrb3JlYW49MTI5MTI7ZS50aWtldXRhcGFyZW5rb3JlYW49MTI4MTY7ZS50aWtldXRjaXJjbGVrb3JlYW49MTI4OTg7ZS50aWtldXRrb3JlYW49MTI1OTk7ZS50aWtldXRwYXJlbmtvcmVhbj0xMjgwMjtlLnRpbGRlPTczMjtlLnRpbGRlYmVsb3djbWI9ODE2O2UudGlsZGVjbWI9NzcxO2UudGlsZGVjb21iPTc3MTtlLnRpbGRlZG91YmxlY21iPTg2NDtlLnRpbGRlb3BlcmF0b3I9ODc2NDtlLnRpbGRlb3ZlcmxheWNtYj04MjA7ZS50aWxkZXZlcnRpY2FsY21iPTgzMDtlLnRpbWVzY2lyY2xlPTg4NTU7ZS50aXBlaGFoZWJyZXc9MTQzMDtlLnRpcGVoYWxlZnRoZWJyZXc9MTQzMDtlLnRpcHBpZ3VybXVraGk9MjY3MjtlLnRpdGxvY3lyaWxsaWNjbWI9MTE1NTtlLnRpd25hcm1lbmlhbj0xNDA3O2UudGxpbmViZWxvdz03NzkxO2UudG1vbm9zcGFjZT02NTM2NDtlLnRvYXJtZW5pYW49MTM4NTtlLnRvaGlyYWdhbmE9MTIzOTI7ZS50b2thdGFrYW5hPTEyNDg4O2UudG9rYXRha2FuYWhhbGZ3aWR0aD02NTQxMjtlLnRvbmViYXJleHRyYWhpZ2htb2Q9NzQxO2UudG9uZWJhcmV4dHJhbG93bW9kPTc0NTtlLnRvbmViYXJoaWdobW9kPTc0MjtlLnRvbmViYXJsb3dtb2Q9NzQ0O2UudG9uZWJhcm1pZG1vZD03NDM7ZS50b25lZml2ZT00NDU7ZS50b25lc2l4PTM4OTtlLnRvbmV0d289NDI0O2UudG9ub3M9OTAwO2UudG9uc3F1YXJlPTEzMDk1O2UudG9wYXRha3RoYWk9MzU5OTtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMwODtlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHNtYWxsPTY1MTE3O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRsZWZ0dmVydGljYWw9NjUwODE7ZS50b3J0b2lzZXNoZWxsYnJhY2tldHJpZ2h0PTEyMzA5O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHNtYWxsPTY1MTE4O2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDgyO2UudG90YW90aGFpPTM2MDU7ZS50cGFsYXRhbGhvb2s9NDI3O2UudHBhcmVuPTkzOTE7ZS50cmFkZW1hcms9ODQ4MjtlLnRyYWRlbWFya3NhbnM9NjM3MjI7ZS50cmFkZW1hcmtzZXJpZj02MzE5NTtlLnRyZXRyb2ZsZXhob29rPTY0ODtlLnRyaWFnZG49OTY2MDtlLnRyaWFnbGY9OTY2ODtlLnRyaWFncnQ9OTY1ODtlLnRyaWFndXA9OTY1MDtlLnRzPTY3ODtlLnRzYWRpPTE1MTA7ZS50c2FkaWRhZ2VzaD02NDMyNjtlLnRzYWRpZGFnZXNoaGVicmV3PTY0MzI2O2UudHNhZGloZWJyZXc9MTUxMDtlLnRzZWN5cmlsbGljPTEwOTQ7ZS50c2VyZT0xNDYxO2UudHNlcmUxMj0xNDYxO2UudHNlcmUxZT0xNDYxO2UudHNlcmUyYj0xNDYxO2UudHNlcmVoZWJyZXc9MTQ2MTtlLnRzZXJlbmFycm93aGVicmV3PTE0NjE7ZS50c2VyZXF1YXJ0ZXJoZWJyZXc9MTQ2MTtlLnRzZXJld2lkZWhlYnJldz0xNDYxO2UudHNoZWN5cmlsbGljPTExMTU7ZS50c3VwZXJpb3I9NjMyMTk7ZS50dGFiZW5nYWxpPTI0NjM7ZS50dGFkZXZhPTIzMzU7ZS50dGFndWphcmF0aT0yNzE5O2UudHRhZ3VybXVraGk9MjU5MTtlLnR0ZWhhcmFiaWM9MTY1NztlLnR0ZWhmaW5hbGFyYWJpYz02NDM1OTtlLnR0ZWhpbml0aWFsYXJhYmljPTY0MzYwO2UudHRlaG1lZGlhbGFyYWJpYz02NDM2MTtlLnR0aGFiZW5nYWxpPTI0NjQ7ZS50dGhhZGV2YT0yMzM2O2UudHRoYWd1amFyYXRpPTI3MjA7ZS50dGhhZ3VybXVraGk9MjU5MjtlLnR0dXJuZWQ9NjQ3O2UudHVoaXJhZ2FuYT0xMjM4ODtlLnR1a2F0YWthbmE9MTI0ODQ7ZS50dWthdGFrYW5haGFsZndpZHRoPTY1NDEwO2UudHVzbWFsbGhpcmFnYW5hPTEyMzg3O2UudHVzbWFsbGthdGFrYW5hPTEyNDgzO2UudHVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1MzkxO2UudHdlbHZlY2lyY2xlPTkzMjM7ZS50d2VsdmVwYXJlbj05MzQzO2UudHdlbHZlcGVyaW9kPTkzNjM7ZS50d2VsdmVyb21hbj04NTcxO2UudHdlbnR5Y2lyY2xlPTkzMzE7ZS50d2VudHloYW5nemhvdT0yMTMxNjtlLnR3ZW50eXBhcmVuPTkzNTE7ZS50d2VudHlwZXJpb2Q9OTM3MTtlLnR3bz01MDtlLnR3b2FyYWJpYz0xNjM0O2UudHdvYmVuZ2FsaT0yNTM2O2UudHdvY2lyY2xlPTkzMTM7ZS50d29jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTIzO2UudHdvZGV2YT0yNDA4O2UudHdvZG90ZW5sZWFkZXI9ODIyOTtlLnR3b2RvdGxlYWRlcj04MjI5O2UudHdvZG90bGVhZGVydmVydGljYWw9NjUwNzI7ZS50d29ndWphcmF0aT0yNzkyO2UudHdvZ3VybXVraGk9MjY2NDtlLnR3b2hhY2thcmFiaWM9MTYzNDtlLnR3b2hhbmd6aG91PTEyMzIyO2UudHdvaWRlb2dyYXBoaWNwYXJlbj0xMjgzMztlLnR3b2luZmVyaW9yPTgzMjI7ZS50d29tb25vc3BhY2U9NjUyOTg7ZS50d29udW1lcmF0b3JiZW5nYWxpPTI1NDk7ZS50d29vbGRzdHlsZT02MzI4MjtlLnR3b3BhcmVuPTkzMzM7ZS50d29wZXJpb2Q9OTM1MztlLnR3b3BlcnNpYW49MTc3ODtlLnR3b3JvbWFuPTg1NjE7ZS50d29zdHJva2U9NDQzO2UudHdvc3VwZXJpb3I9MTc4O2UudHdvdGhhaT0zNjY2O2UudHdvdGhpcmRzPTg1MzI7ZS51PTExNztlLnVhY3V0ZT0yNTA7ZS51YmFyPTY0OTtlLnViZW5nYWxpPTI0NDE7ZS51Ym9wb21vZm89MTI1ODQ7ZS51YnJldmU9MzY1O2UudWNhcm9uPTQ2ODtlLnVjaXJjbGU9OTQ0NDtlLnVjaXJjdW1mbGV4PTI1MTtlLnVjaXJjdW1mbGV4YmVsb3c9Nzc5OTtlLnVjeXJpbGxpYz0xMDkxO2UudWRhdHRhZGV2YT0yMzg1O2UudWRibGFjdXRlPTM2OTtlLnVkYmxncmF2ZT01MzM7ZS51ZGV2YT0yMzEzO2UudWRpZXJlc2lzPTI1MjtlLnVkaWVyZXNpc2FjdXRlPTQ3MjtlLnVkaWVyZXNpc2JlbG93PTc3OTU7ZS51ZGllcmVzaXNjYXJvbj00NzQ7ZS51ZGllcmVzaXNjeXJpbGxpYz0xMjY1O2UudWRpZXJlc2lzZ3JhdmU9NDc2O2UudWRpZXJlc2lzbWFjcm9uPTQ3MDtlLnVkb3RiZWxvdz03OTA5O2UudWdyYXZlPTI0OTtlLnVndWphcmF0aT0yNjk3O2UudWd1cm11a2hpPTI1Njk7ZS51aGlyYWdhbmE9MTIzNTg7ZS51aG9va2Fib3ZlPTc5MTE7ZS51aG9ybj00MzI7ZS51aG9ybmFjdXRlPTc5MTM7ZS51aG9ybmRvdGJlbG93PTc5MjE7ZS51aG9ybmdyYXZlPTc5MTU7ZS51aG9ybmhvb2thYm92ZT03OTE3O2UudWhvcm50aWxkZT03OTE5O2UudWh1bmdhcnVtbGF1dD0zNjk7ZS51aHVuZ2FydW1sYXV0Y3lyaWxsaWM9MTI2NztlLnVpbnZlcnRlZGJyZXZlPTUzNTtlLnVrYXRha2FuYT0xMjQ1NDtlLnVrYXRha2FuYWhhbGZ3aWR0aD02NTM5NTtlLnVrY3lyaWxsaWM9MTE0NTtlLnVrb3JlYW49MTI2MzY7ZS51bWFjcm9uPTM2MztlLnVtYWNyb25jeXJpbGxpYz0xMjYzO2UudW1hY3JvbmRpZXJlc2lzPTc4MDM7ZS51bWF0cmFndXJtdWtoaT0yNjI1O2UudW1vbm9zcGFjZT02NTM2NTtlLnVuZGVyc2NvcmU9OTU7ZS51bmRlcnNjb3JlZGJsPTgyMTU7ZS51bmRlcnNjb3JlbW9ub3NwYWNlPTY1MzQzO2UudW5kZXJzY29yZXZlcnRpY2FsPTY1MDc1O2UudW5kZXJzY29yZXdhdnk9NjUxMDM7ZS51bmlvbj04NzQ2O2UudW5pdmVyc2FsPTg3MDQ7ZS51b2dvbmVrPTM3MTtlLnVwYXJlbj05MzkyO2UudXBibG9jaz05NjAwO2UudXBwZXJkb3RoZWJyZXc9MTQ3NjtlLnVwc2lsb249OTY1O2UudXBzaWxvbmRpZXJlc2lzPTk3MTtlLnVwc2lsb25kaWVyZXNpc3Rvbm9zPTk0NDtlLnVwc2lsb25sYXRpbj02NTA7ZS51cHNpbG9udG9ub3M9OTczO2UudXB0YWNrYmVsb3djbWI9Nzk3O2UudXB0YWNrbW9kPTcyNDtlLnVyYWd1cm11a2hpPTI2NzU7ZS51cmluZz0zNjc7ZS51c2hvcnRjeXJpbGxpYz0xMTE4O2UudXNtYWxsaGlyYWdhbmE9MTIzNTc7ZS51c21hbGxrYXRha2FuYT0xMjQ1MztlLnVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg1O2UudXN0cmFpZ2h0Y3lyaWxsaWM9MTE5OTtlLnVzdHJhaWdodHN0cm9rZWN5cmlsbGljPTEyMDE7ZS51dGlsZGU9MzYxO2UudXRpbGRlYWN1dGU9NzgwMTtlLnV0aWxkZWJlbG93PTc3OTc7ZS51dWJlbmdhbGk9MjQ0MjtlLnV1ZGV2YT0yMzE0O2UudXVndWphcmF0aT0yNjk4O2UudXVndXJtdWtoaT0yNTcwO2UudXVtYXRyYWd1cm11a2hpPTI2MjY7ZS51dXZvd2Vsc2lnbmJlbmdhbGk9MjQ5ODtlLnV1dm93ZWxzaWduZGV2YT0yMzcwO2UudXV2b3dlbHNpZ25ndWphcmF0aT0yNzU0O2UudXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NztlLnV2b3dlbHNpZ25kZXZhPTIzNjk7ZS51dm93ZWxzaWduZ3VqYXJhdGk9Mjc1MztlLnY9MTE4O2UudmFkZXZhPTIzNTc7ZS52YWd1amFyYXRpPTI3NDE7ZS52YWd1cm11a2hpPTI2MTM7ZS52YWthdGFrYW5hPTEyNTM1O2UudmF2PTE0OTM7ZS52YXZkYWdlc2g9NjQzMDk7ZS52YXZkYWdlc2g2NT02NDMwOTtlLnZhdmRhZ2VzaGhlYnJldz02NDMwOTtlLnZhdmhlYnJldz0xNDkzO2UudmF2aG9sYW09NjQzMzE7ZS52YXZob2xhbWhlYnJldz02NDMzMTtlLnZhdnZhdmhlYnJldz0xNTIwO2UudmF2eW9kaGVicmV3PTE1MjE7ZS52Y2lyY2xlPTk0NDU7ZS52ZG90YmVsb3c9NzgwNztlLnZlY3lyaWxsaWM9MTA3NDtlLnZlaGFyYWJpYz0xNzAwO2UudmVoZmluYWxhcmFiaWM9NjQzNjM7ZS52ZWhpbml0aWFsYXJhYmljPTY0MzY0O2UudmVobWVkaWFsYXJhYmljPTY0MzY1O2UudmVrYXRha2FuYT0xMjUzNztlLnZlbnVzPTk3OTI7ZS52ZXJ0aWNhbGJhcj0xMjQ7ZS52ZXJ0aWNhbGxpbmVhYm92ZWNtYj03ODE7ZS52ZXJ0aWNhbGxpbmViZWxvd2NtYj04MDk7ZS52ZXJ0aWNhbGxpbmVsb3dtb2Q9NzE2O2UudmVydGljYWxsaW5lbW9kPTcxMjtlLnZld2FybWVuaWFuPTE0MDY7ZS52aG9vaz02NTE7ZS52aWthdGFrYW5hPTEyNTM2O2UudmlyYW1hYmVuZ2FsaT0yNTA5O2UudmlyYW1hZGV2YT0yMzgxO2UudmlyYW1hZ3VqYXJhdGk9Mjc2NTtlLnZpc2FyZ2FiZW5nYWxpPTI0MzU7ZS52aXNhcmdhZGV2YT0yMzA3O2UudmlzYXJnYWd1amFyYXRpPTI2OTE7ZS52bW9ub3NwYWNlPTY1MzY2O2Uudm9hcm1lbmlhbj0xNDAwO2Uudm9pY2VkaXRlcmF0aW9uaGlyYWdhbmE9MTI0NDY7ZS52b2ljZWRpdGVyYXRpb25rYXRha2FuYT0xMjU0MjtlLnZvaWNlZG1hcmtrYW5hPTEyNDQzO2Uudm9pY2VkbWFya2thbmFoYWxmd2lkdGg9NjU0Mzg7ZS52b2thdGFrYW5hPTEyNTM4O2UudnBhcmVuPTkzOTM7ZS52dGlsZGU9NzgwNTtlLnZ0dXJuZWQ9NjUyO2UudnVoaXJhZ2FuYT0xMjQzNjtlLnZ1a2F0YWthbmE9MTI1MzI7ZS53PTExOTtlLndhY3V0ZT03ODExO2Uud2Fla29yZWFuPTEyNjMzO2Uud2FoaXJhZ2FuYT0xMjQzMTtlLndha2F0YWthbmE9MTI1Mjc7ZS53YWthdGFrYW5haGFsZndpZHRoPTY1NDM2O2Uud2Frb3JlYW49MTI2MzI7ZS53YXNtYWxsaGlyYWdhbmE9MTI0MzA7ZS53YXNtYWxsa2F0YWthbmE9MTI1MjY7ZS53YXR0b3NxdWFyZT0xMzE0MztlLndhdmVkYXNoPTEyMzE2O2Uud2F2eXVuZGVyc2NvcmV2ZXJ0aWNhbD02NTA3NjtlLndhd2FyYWJpYz0xNjA4O2Uud2F3ZmluYWxhcmFiaWM9NjUyNjI7ZS53YXdoYW16YWFib3ZlYXJhYmljPTE1NzI7ZS53YXdoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUxNTg7ZS53YnNxdWFyZT0xMzI3NztlLndjaXJjbGU9OTQ0NjtlLndjaXJjdW1mbGV4PTM3MztlLndkaWVyZXNpcz03ODEzO2Uud2RvdGFjY2VudD03ODE1O2Uud2RvdGJlbG93PTc4MTc7ZS53ZWhpcmFnYW5hPTEyNDMzO2Uud2VpZXJzdHJhc3M9ODQ3MjtlLndla2F0YWthbmE9MTI1Mjk7ZS53ZWtvcmVhbj0xMjYzODtlLndlb2tvcmVhbj0xMjYzNztlLndncmF2ZT03ODA5O2Uud2hpdGVidWxsZXQ9OTcwMjtlLndoaXRlY2lyY2xlPTk2NzU7ZS53aGl0ZWNpcmNsZWludmVyc2U9OTY4OTtlLndoaXRlY29ybmVyYnJhY2tldGxlZnQ9MTIzMDI7ZS53aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0dmVydGljYWw9NjUwOTE7ZS53aGl0ZWNvcm5lcmJyYWNrZXRyaWdodD0xMjMwMztlLndoaXRlY29ybmVyYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwOTI7ZS53aGl0ZWRpYW1vbmQ9OTY3MTtlLndoaXRlZGlhbW9uZGNvbnRhaW5pbmdibGFja3NtYWxsZGlhbW9uZD05NjcyO2Uud2hpdGVkb3ducG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NjM7ZS53aGl0ZWRvd25wb2ludGluZ3RyaWFuZ2xlPTk2NjE7ZS53aGl0ZWxlZnRwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY2NztlLndoaXRlbGVmdHBvaW50aW5ndHJpYW5nbGU9OTY2NTtlLndoaXRlbGVudGljdWxhcmJyYWNrZXRsZWZ0PTEyMzEwO2Uud2hpdGVsZW50aWN1bGFyYnJhY2tldHJpZ2h0PTEyMzExO2Uud2hpdGVyaWdodHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjU3O2Uud2hpdGVyaWdodHBvaW50aW5ndHJpYW5nbGU9OTY1NTtlLndoaXRlc21hbGxzcXVhcmU9OTY0MztlLndoaXRlc21pbGluZ2ZhY2U9OTc4NjtlLndoaXRlc3F1YXJlPTk2MzM7ZS53aGl0ZXN0YXI9OTczNDtlLndoaXRldGVsZXBob25lPTk3NDM7ZS53aGl0ZXRvcnRvaXNlc2hlbGxicmFja2V0bGVmdD0xMjMxMjtlLndoaXRldG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodD0xMjMxMztlLndoaXRldXBwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY1MztlLndoaXRldXBwb2ludGluZ3RyaWFuZ2xlPTk2NTE7ZS53aWhpcmFnYW5hPTEyNDMyO2Uud2lrYXRha2FuYT0xMjUyODtlLndpa29yZWFuPTEyNjM5O2Uud21vbm9zcGFjZT02NTM2NztlLndvaGlyYWdhbmE9MTI0MzQ7ZS53b2thdGFrYW5hPTEyNTMwO2Uud29rYXRha2FuYWhhbGZ3aWR0aD02NTM4MjtlLndvbj04MzYxO2Uud29ubW9ub3NwYWNlPTY1NTEwO2Uud293YWVudGhhaT0zNjIzO2Uud3BhcmVuPTkzOTQ7ZS53cmluZz03ODMyO2Uud3N1cGVyaW9yPTY5NTtlLnd0dXJuZWQ9NjUzO2Uud3lubj00NDc7ZS54PTEyMDtlLnhhYm92ZWNtYj04Mjk7ZS54Ym9wb21vZm89MTI1NjI7ZS54Y2lyY2xlPTk0NDc7ZS54ZGllcmVzaXM9NzgyMTtlLnhkb3RhY2NlbnQ9NzgxOTtlLnhlaGFybWVuaWFuPTEzODk7ZS54aT05NTg7ZS54bW9ub3NwYWNlPTY1MzY4O2UueHBhcmVuPTkzOTU7ZS54c3VwZXJpb3I9NzM5O2UueT0xMjE7ZS55YWFkb3NxdWFyZT0xMzEzNDtlLnlhYmVuZ2FsaT0yNDc5O2UueWFjdXRlPTI1MztlLnlhZGV2YT0yMzUxO2UueWFla29yZWFuPTEyNjI2O2UueWFndWphcmF0aT0yNzM1O2UueWFndXJtdWtoaT0yNjA3O2UueWFoaXJhZ2FuYT0xMjQyMDtlLnlha2F0YWthbmE9MTI1MTY7ZS55YWthdGFrYW5haGFsZndpZHRoPTY1NDI4O2UueWFrb3JlYW49MTI2MjU7ZS55YW1ha2thbnRoYWk9MzY2MjtlLnlhc21hbGxoaXJhZ2FuYT0xMjQxOTtlLnlhc21hbGxrYXRha2FuYT0xMjUxNTtlLnlhc21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4ODtlLnlhdGN5cmlsbGljPTExMjM7ZS55Y2lyY2xlPTk0NDg7ZS55Y2lyY3VtZmxleD0zNzU7ZS55ZGllcmVzaXM9MjU1O2UueWRvdGFjY2VudD03ODIzO2UueWRvdGJlbG93PTc5MjU7ZS55ZWhhcmFiaWM9MTYxMDtlLnllaGJhcnJlZWFyYWJpYz0xNzQ2O2UueWVoYmFycmVlZmluYWxhcmFiaWM9NjQ0MzE7ZS55ZWhmaW5hbGFyYWJpYz02NTI2NjtlLnllaGhhbXphYWJvdmVhcmFiaWM9MTU3NDtlLnllaGhhbXphYWJvdmVmaW5hbGFyYWJpYz02NTE2MjtlLnllaGhhbXphYWJvdmVpbml0aWFsYXJhYmljPTY1MTYzO2UueWVoaGFtemFhYm92ZW1lZGlhbGFyYWJpYz02NTE2NDtlLnllaGluaXRpYWxhcmFiaWM9NjUyNjc7ZS55ZWhtZWRpYWxhcmFiaWM9NjUyNjg7ZS55ZWhtZWVtaW5pdGlhbGFyYWJpYz02NDczMztlLnllaG1lZW1pc29sYXRlZGFyYWJpYz02NDYwMDtlLnllaG5vb25maW5hbGFyYWJpYz02NDY2MDtlLnllaHRocmVlZG90c2JlbG93YXJhYmljPTE3NDU7ZS55ZWtvcmVhbj0xMjYzMDtlLnllbj0xNjU7ZS55ZW5tb25vc3BhY2U9NjU1MDk7ZS55ZW9rb3JlYW49MTI2Mjk7ZS55ZW9yaW5oaWV1aGtvcmVhbj0xMjY3ODtlLnllcmFoYmVueW9tb2hlYnJldz0xNDUwO2UueWVyYWhiZW55b21vbGVmdGhlYnJldz0xNDUwO2UueWVyaWN5cmlsbGljPTEwOTk7ZS55ZXJ1ZGllcmVzaXNjeXJpbGxpYz0xMjczO2UueWVzaWV1bmdrb3JlYW49MTI2NzM7ZS55ZXNpZXVuZ3BhbnNpb3Nrb3JlYW49MTI2NzU7ZS55ZXNpZXVuZ3Npb3Nrb3JlYW49MTI2NzQ7ZS55ZXRpdmhlYnJldz0xNDM0O2UueWdyYXZlPTc5MjM7ZS55aG9vaz00MzY7ZS55aG9va2Fib3ZlPTc5Mjc7ZS55aWFybWVuaWFuPTEzOTc7ZS55aWN5cmlsbGljPTExMTE7ZS55aWtvcmVhbj0xMjY0MjtlLnlpbnlhbmc9OTc3NTtlLnlpd25hcm1lbmlhbj0xNDEwO2UueW1vbm9zcGFjZT02NTM2OTtlLnlvZD0xNDk3O2UueW9kZGFnZXNoPTY0MzEzO2UueW9kZGFnZXNoaGVicmV3PTY0MzEzO2UueW9kaGVicmV3PTE0OTc7ZS55b2R5b2RoZWJyZXc9MTUyMjtlLnlvZHlvZHBhdGFoaGVicmV3PTY0Mjg3O2UueW9oaXJhZ2FuYT0xMjQyNDtlLnlvaWtvcmVhbj0xMjY4MTtlLnlva2F0YWthbmE9MTI1MjA7ZS55b2thdGFrYW5haGFsZndpZHRoPTY1NDMwO2UueW9rb3JlYW49MTI2MzU7ZS55b3NtYWxsaGlyYWdhbmE9MTI0MjM7ZS55b3NtYWxsa2F0YWthbmE9MTI1MTk7ZS55b3NtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzOTA7ZS55b3RncmVlaz0xMDExO2UueW95YWVrb3JlYW49MTI2ODA7ZS55b3lha29yZWFuPTEyNjc5O2UueW95YWt0aGFpPTM2MTg7ZS55b3lpbmd0aGFpPTM1OTc7ZS55cGFyZW49OTM5NjtlLnlwb2dlZ3JhbW1lbmk9ODkwO2UueXBvZ2VncmFtbWVuaWdyZWVrY21iPTgzNztlLnlyPTQyMjtlLnlyaW5nPTc4MzM7ZS55c3VwZXJpb3I9Njk2O2UueXRpbGRlPTc5Mjk7ZS55dHVybmVkPTY1NDtlLnl1aGlyYWdhbmE9MTI0MjI7ZS55dWlrb3JlYW49MTI2ODQ7ZS55dWthdGFrYW5hPTEyNTE4O2UueXVrYXRha2FuYWhhbGZ3aWR0aD02NTQyOTtlLnl1a29yZWFuPTEyNjQwO2UueXVzYmlnY3lyaWxsaWM9MTEzMTtlLnl1c2JpZ2lvdGlmaWVkY3lyaWxsaWM9MTEzMztlLnl1c2xpdHRsZWN5cmlsbGljPTExMjc7ZS55dXNsaXR0bGVpb3RpZmllZGN5cmlsbGljPTExMjk7ZS55dXNtYWxsaGlyYWdhbmE9MTI0MjE7ZS55dXNtYWxsa2F0YWthbmE9MTI1MTc7ZS55dXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODk7ZS55dXlla29yZWFuPTEyNjgzO2UueXV5ZW9rb3JlYW49MTI2ODI7ZS55eWFiZW5nYWxpPTI1Mjc7ZS55eWFkZXZhPTIzOTk7ZS56PTEyMjtlLnphYXJtZW5pYW49MTM4MjtlLnphY3V0ZT0zNzg7ZS56YWRldmE9MjM5NTtlLnphZ3VybXVraGk9MjY1MTtlLnphaGFyYWJpYz0xNTkyO2UuemFoZmluYWxhcmFiaWM9NjUyMjI7ZS56YWhpbml0aWFsYXJhYmljPTY1MjIzO2UuemFoaXJhZ2FuYT0xMjM3NDtlLnphaG1lZGlhbGFyYWJpYz02NTIyNDtlLnphaW5hcmFiaWM9MTU4NjtlLnphaW5maW5hbGFyYWJpYz02NTIwMDtlLnpha2F0YWthbmE9MTI0NzA7ZS56YXFlZmdhZG9saGVicmV3PTE0Mjk7ZS56YXFlZnFhdGFuaGVicmV3PTE0Mjg7ZS56YXJxYWhlYnJldz0xNDMyO2UuemF5aW49MTQ5NDtlLnpheWluZGFnZXNoPTY0MzEwO2UuemF5aW5kYWdlc2hoZWJyZXc9NjQzMTA7ZS56YXlpbmhlYnJldz0xNDk0O2UuemJvcG9tb2ZvPTEyNTY3O2UuemNhcm9uPTM4MjtlLnpjaXJjbGU9OTQ0OTtlLnpjaXJjdW1mbGV4PTc4MjU7ZS56Y3VybD02NTc7ZS56ZG90PTM4MDtlLnpkb3RhY2NlbnQ9MzgwO2UuemRvdGJlbG93PTc4Mjc7ZS56ZWN5cmlsbGljPTEwNzk7ZS56ZWRlc2NlbmRlcmN5cmlsbGljPTExNzc7ZS56ZWRpZXJlc2lzY3lyaWxsaWM9MTI0NztlLnplaGlyYWdhbmE9MTIzODA7ZS56ZWthdGFrYW5hPTEyNDc2O2UuemVybz00ODtlLnplcm9hcmFiaWM9MTYzMjtlLnplcm9iZW5nYWxpPTI1MzQ7ZS56ZXJvZGV2YT0yNDA2O2UuemVyb2d1amFyYXRpPTI3OTA7ZS56ZXJvZ3VybXVraGk9MjY2MjtlLnplcm9oYWNrYXJhYmljPTE2MzI7ZS56ZXJvaW5mZXJpb3I9ODMyMDtlLnplcm9tb25vc3BhY2U9NjUyOTY7ZS56ZXJvb2xkc3R5bGU9NjMyODA7ZS56ZXJvcGVyc2lhbj0xNzc2O2UuemVyb3N1cGVyaW9yPTgzMDQ7ZS56ZXJvdGhhaT0zNjY0O2UuemVyb3dpZHRoam9pbmVyPTY1Mjc5O2UuemVyb3dpZHRobm9uam9pbmVyPTgyMDQ7ZS56ZXJvd2lkdGhzcGFjZT04MjAzO2UuemV0YT05NTA7ZS56aGJvcG9tb2ZvPTEyNTYzO2UuemhlYXJtZW5pYW49MTM4NjtlLnpoZWJyZXZlY3lyaWxsaWM9MTIxODtlLnpoZWN5cmlsbGljPTEwNzg7ZS56aGVkZXNjZW5kZXJjeXJpbGxpYz0xMTc1O2UuemhlZGllcmVzaXNjeXJpbGxpYz0xMjQ1O2UuemloaXJhZ2FuYT0xMjM3NjtlLnppa2F0YWthbmE9MTI0NzI7ZS56aW5vcmhlYnJldz0xNDU0O2UuemxpbmViZWxvdz03ODI5O2Uuem1vbm9zcGFjZT02NTM3MDtlLnpvaGlyYWdhbmE9MTIzODI7ZS56b2thdGFrYW5hPTEyNDc4O2UuenBhcmVuPTkzOTc7ZS56cmV0cm9mbGV4aG9vaz02NTY7ZS56c3Ryb2tlPTQzODtlLnp1aGlyYWdhbmE9MTIzNzg7ZS56dWthdGFrYW5hPTEyNDc0O2VbIi5ub3RkZWYiXT0wO2UuYW5nYnJhY2tldGxlZnRiaWc9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnPTkwMDE7ZS5hbmdicmFja2V0bGVmdGJpZ2c9OTAwMTtlLmFuZ2JyYWNrZXRsZWZ0QmlnZz05MDAxO2UuYW5nYnJhY2tldHJpZ2h0QmlnPTkwMDI7ZS5hbmdicmFja2V0cmlnaHRiaWc9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodEJpZ2c9OTAwMjtlLmFuZ2JyYWNrZXRyaWdodGJpZ2c9OTAwMjtlLmFycm93aG9va2xlZnQ9ODYxODtlLmFycm93aG9va3JpZ2h0PTg2MTc7ZS5hcnJvd2xlZnR0b3BoYWxmPTg2MzY7ZS5hcnJvd2xlZnRib3RoYWxmPTg2Mzc7ZS5hcnJvd25vcnRoZWFzdD04NTk5O2UuYXJyb3dub3J0aHdlc3Q9ODU5ODtlLmFycm93cmlnaHR0b3BoYWxmPTg2NDA7ZS5hcnJvd3JpZ2h0Ym90aGFsZj04NjQxO2UuYXJyb3dzb3V0aGVhc3Q9ODYwMDtlLmFycm93c291dGh3ZXN0PTg2MDE7ZS5iYWNrc2xhc2hiaWc9ODcyNjtlLmJhY2tzbGFzaEJpZz04NzI2O2UuYmFja3NsYXNoQmlnZz04NzI2O2UuYmFja3NsYXNoYmlnZz04NzI2O2UuYmFyZGJsPTgyMTQ7ZS5icmFjZWh0aXBkb3dubGVmdD02NTA3OTtlLmJyYWNlaHRpcGRvd25yaWdodD02NTA3OTtlLmJyYWNlaHRpcHVwbGVmdD02NTA4MDtlLmJyYWNlaHRpcHVwcmlnaHQ9NjUwODA7ZS5icmFjZWxlZnRCaWc9MTIzO2UuYnJhY2VsZWZ0YmlnPTEyMztlLmJyYWNlbGVmdGJpZ2c9MTIzO2UuYnJhY2VsZWZ0QmlnZz0xMjM7ZS5icmFjZXJpZ2h0QmlnPTEyNTtlLmJyYWNlcmlnaHRiaWc9MTI1O2UuYnJhY2VyaWdodGJpZ2c9MTI1O2UuYnJhY2VyaWdodEJpZ2c9MTI1O2UuYnJhY2tldGxlZnRiaWc9OTE7ZS5icmFja2V0bGVmdEJpZz05MTtlLmJyYWNrZXRsZWZ0YmlnZz05MTtlLmJyYWNrZXRsZWZ0QmlnZz05MTtlLmJyYWNrZXRyaWdodEJpZz05MztlLmJyYWNrZXRyaWdodGJpZz05MztlLmJyYWNrZXRyaWdodGJpZ2c9OTM7ZS5icmFja2V0cmlnaHRCaWdnPTkzO2UuY2VpbGluZ2xlZnRiaWc9ODk2ODtlLmNlaWxpbmdsZWZ0QmlnPTg5Njg7ZS5jZWlsaW5nbGVmdEJpZ2c9ODk2ODtlLmNlaWxpbmdsZWZ0YmlnZz04OTY4O2UuY2VpbGluZ3JpZ2h0YmlnPTg5Njk7ZS5jZWlsaW5ncmlnaHRCaWc9ODk2OTtlLmNlaWxpbmdyaWdodGJpZ2c9ODk2OTtlLmNlaWxpbmdyaWdodEJpZ2c9ODk2OTtlLmNpcmNsZWRvdGRpc3BsYXk9ODg1NztlLmNpcmNsZWRvdHRleHQ9ODg1NztlLmNpcmNsZW11bHRpcGx5ZGlzcGxheT04ODU1O2UuY2lyY2xlbXVsdGlwbHl0ZXh0PTg4NTU7ZS5jaXJjbGVwbHVzZGlzcGxheT04ODUzO2UuY2lyY2xlcGx1c3RleHQ9ODg1MztlLmNvbnRpbnRlZ3JhbGRpc3BsYXk9ODc1MDtlLmNvbnRpbnRlZ3JhbHRleHQ9ODc1MDtlLmNvcHJvZHVjdGRpc3BsYXk9ODcyMDtlLmNvcHJvZHVjdHRleHQ9ODcyMDtlLmZsb29ybGVmdEJpZz04OTcwO2UuZmxvb3JsZWZ0YmlnPTg5NzA7ZS5mbG9vcmxlZnRiaWdnPTg5NzA7ZS5mbG9vcmxlZnRCaWdnPTg5NzA7ZS5mbG9vcnJpZ2h0YmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnPTg5NzE7ZS5mbG9vcnJpZ2h0QmlnZz04OTcxO2UuZmxvb3JyaWdodGJpZ2c9ODk3MTtlLmhhdHdpZGU9NzcwO2UuaGF0d2lkZXI9NzcwO2UuaGF0d2lkZXN0PTc3MDtlLmludGVyY2FsPTc0ODg7ZS5pbnRlZ3JhbGRpc3BsYXk9ODc0NztlLmludGVncmFsdGV4dD04NzQ3O2UuaW50ZXJzZWN0aW9uZGlzcGxheT04ODk4O2UuaW50ZXJzZWN0aW9udGV4dD04ODk4O2UubG9naWNhbGFuZGRpc3BsYXk9ODc0MztlLmxvZ2ljYWxhbmR0ZXh0PTg3NDM7ZS5sb2dpY2Fsb3JkaXNwbGF5PTg3NDQ7ZS5sb2dpY2Fsb3J0ZXh0PTg3NDQ7ZS5wYXJlbmxlZnRCaWc9NDA7ZS5wYXJlbmxlZnRiaWc9NDA7ZS5wYXJlbmxlZnRCaWdnPTQwO2UucGFyZW5sZWZ0YmlnZz00MDtlLnBhcmVucmlnaHRCaWc9NDE7ZS5wYXJlbnJpZ2h0YmlnPTQxO2UucGFyZW5yaWdodEJpZ2c9NDE7ZS5wYXJlbnJpZ2h0YmlnZz00MTtlLnByaW1lPTgyNDI7ZS5wcm9kdWN0ZGlzcGxheT04NzE5O2UucHJvZHVjdHRleHQ9ODcxOTtlLnJhZGljYWxiaWc9ODczMDtlLnJhZGljYWxCaWc9ODczMDtlLnJhZGljYWxCaWdnPTg3MzA7ZS5yYWRpY2FsYmlnZz04NzMwO2UucmFkaWNhbGJ0PTg3MzA7ZS5yYWRpY2FsdHA9ODczMDtlLnJhZGljYWx2ZXJ0ZXg9ODczMDtlLnNsYXNoYmlnPTQ3O2Uuc2xhc2hCaWc9NDc7ZS5zbGFzaEJpZ2c9NDc7ZS5zbGFzaGJpZ2c9NDc7ZS5zdW1tYXRpb25kaXNwbGF5PTg3MjE7ZS5zdW1tYXRpb250ZXh0PTg3MjE7ZS50aWxkZXdpZGU9NzMyO2UudGlsZGV3aWRlcj03MzI7ZS50aWxkZXdpZGVzdD03MzI7ZS51bmlvbmRpc3BsYXk9ODg5OTtlLnVuaW9ubXVsdGlkaXNwbGF5PTg4NDY7ZS51bmlvbm11bHRpdGV4dD04ODQ2O2UudW5pb25zcWRpc3BsYXk9ODg1MjtlLnVuaW9uc3F0ZXh0PTg4NTI7ZS51bmlvbnRleHQ9ODg5OTtlLnZleHRlbmRkb3VibGU9ODc0MTtlLnZleHRlbmRzaW5nbGU9ODczOX0pKSxIaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MzI7ZS5hMT05OTg1O2UuYTI9OTk4NjtlLmEyMDI9OTk4NztlLmEzPTk5ODg7ZS5hND05NzQyO2UuYTU9OTk5MDtlLmExMTk9OTk5MTtlLmExMTg9OTk5MjtlLmExMTc9OTk5MztlLmExMT05NzU1O2UuYTEyPTk3NTg7ZS5hMTM9OTk5NjtlLmExND05OTk3O2UuYTE1PTk5OTg7ZS5hMTY9OTk5OTtlLmExMDU9MWU0O2UuYTE3PTEwMDAxO2UuYTE4PTEwMDAyO2UuYTE5PTEwMDAzO2UuYTIwPTEwMDA0O2UuYTIxPTEwMDA1O2UuYTIyPTEwMDA2O2UuYTIzPTEwMDA3O2UuYTI0PTEwMDA4O2UuYTI1PTEwMDA5O2UuYTI2PTEwMDEwO2UuYTI3PTEwMDExO2UuYTI4PTEwMDEyO2UuYTY9MTAwMTM7ZS5hNz0xMDAxNDtlLmE4PTEwMDE1O2UuYTk9MTAwMTY7ZS5hMTA9MTAwMTc7ZS5hMjk9MTAwMTg7ZS5hMzA9MTAwMTk7ZS5hMzE9MTAwMjA7ZS5hMzI9MTAwMjE7ZS5hMzM9MTAwMjI7ZS5hMzQ9MTAwMjM7ZS5hMzU9OTczMztlLmEzNj0xMDAyNTtlLmEzNz0xMDAyNjtlLmEzOD0xMDAyNztlLmEzOT0xMDAyODtlLmE0MD0xMDAyOTtlLmE0MT0xMDAzMDtlLmE0Mj0xMDAzMTtlLmE0Mz0xMDAzMjtlLmE0ND0xMDAzMztlLmE0NT0xMDAzNDtlLmE0Nj0xMDAzNTtlLmE0Nz0xMDAzNjtlLmE0OD0xMDAzNztlLmE0OT0xMDAzODtlLmE1MD0xMDAzOTtlLmE1MT0xMDA0MDtlLmE1Mj0xMDA0MTtlLmE1Mz0xMDA0MjtlLmE1ND0xMDA0MztlLmE1NT0xMDA0NDtlLmE1Nj0xMDA0NTtlLmE1Nz0xMDA0NjtlLmE1OD0xMDA0NztlLmE1OT0xMDA0ODtlLmE2MD0xMDA0OTtlLmE2MT0xMDA1MDtlLmE2Mj0xMDA1MTtlLmE2Mz0xMDA1MjtlLmE2ND0xMDA1MztlLmE2NT0xMDA1NDtlLmE2Nj0xMDA1NTtlLmE2Nz0xMDA1NjtlLmE2OD0xMDA1NztlLmE2OT0xMDA1ODtlLmE3MD0xMDA1OTtlLmE3MT05Njc5O2UuYTcyPTEwMDYxO2UuYTczPTk2MzI7ZS5hNzQ9MTAwNjM7ZS5hMjAzPTEwMDY0O2UuYTc1PTEwMDY1O2UuYTIwND0xMDA2NjtlLmE3Nj05NjUwO2UuYTc3PTk2NjA7ZS5hNzg9OTY3MDtlLmE3OT0xMDA3MDtlLmE4MT05Njg3O2UuYTgyPTEwMDcyO2UuYTgzPTEwMDczO2UuYTg0PTEwMDc0O2UuYTk3PTEwMDc1O2UuYTk4PTEwMDc2O2UuYTk5PTEwMDc3O2UuYTEwMD0xMDA3ODtlLmExMDE9MTAwODE7ZS5hMTAyPTEwMDgyO2UuYTEwMz0xMDA4MztlLmExMDQ9MTAwODQ7ZS5hMTA2PTEwMDg1O2UuYTEwNz0xMDA4NjtlLmExMDg9MTAwODc7ZS5hMTEyPTk4Mjc7ZS5hMTExPTk4MzA7ZS5hMTEwPTk4Mjk7ZS5hMTA5PTk4MjQ7ZS5hMTIwPTkzMTI7ZS5hMTIxPTkzMTM7ZS5hMTIyPTkzMTQ7ZS5hMTIzPTkzMTU7ZS5hMTI0PTkzMTY7ZS5hMTI1PTkzMTc7ZS5hMTI2PTkzMTg7ZS5hMTI3PTkzMTk7ZS5hMTI4PTkzMjA7ZS5hMTI5PTkzMjE7ZS5hMTMwPTEwMTAyO2UuYTEzMT0xMDEwMztlLmExMzI9MTAxMDQ7ZS5hMTMzPTEwMTA1O2UuYTEzND0xMDEwNjtlLmExMzU9MTAxMDc7ZS5hMTM2PTEwMTA4O2UuYTEzNz0xMDEwOTtlLmExMzg9MTAxMTA7ZS5hMTM5PTEwMTExO2UuYTE0MD0xMDExMjtlLmExNDE9MTAxMTM7ZS5hMTQyPTEwMTE0O2UuYTE0Mz0xMDExNTtlLmExNDQ9MTAxMTY7ZS5hMTQ1PTEwMTE3O2UuYTE0Nj0xMDExODtlLmExNDc9MTAxMTk7ZS5hMTQ4PTEwMTIwO2UuYTE0OT0xMDEyMTtlLmExNTA9MTAxMjI7ZS5hMTUxPTEwMTIzO2UuYTE1Mj0xMDEyNDtlLmExNTM9MTAxMjU7ZS5hMTU0PTEwMTI2O2UuYTE1NT0xMDEyNztlLmExNTY9MTAxMjg7ZS5hMTU3PTEwMTI5O2UuYTE1OD0xMDEzMDtlLmExNTk9MTAxMzE7ZS5hMTYwPTEwMTMyO2UuYTE2MT04NTk0O2UuYTE2Mz04NTk2O2UuYTE2ND04NTk3O2UuYTE5Nj0xMDEzNjtlLmExNjU9MTAxMzc7ZS5hMTkyPTEwMTM4O2UuYTE2Nj0xMDEzOTtlLmExNjc9MTAxNDA7ZS5hMTY4PTEwMTQxO2UuYTE2OT0xMDE0MjtlLmExNzA9MTAxNDM7ZS5hMTcxPTEwMTQ0O2UuYTE3Mj0xMDE0NTtlLmExNzM9MTAxNDY7ZS5hMTYyPTEwMTQ3O2UuYTE3ND0xMDE0ODtlLmExNzU9MTAxNDk7ZS5hMTc2PTEwMTUwO2UuYTE3Nz0xMDE1MTtlLmExNzg9MTAxNTI7ZS5hMTc5PTEwMTUzO2UuYTE5Mz0xMDE1NDtlLmExODA9MTAxNTU7ZS5hMTk5PTEwMTU2O2UuYTE4MT0xMDE1NztlLmEyMDA9MTAxNTg7ZS5hMTgyPTEwMTU5O2UuYTIwMT0xMDE2MTtlLmExODM9MTAxNjI7ZS5hMTg0PTEwMTYzO2UuYTE5Nz0xMDE2NDtlLmExODU9MTAxNjU7ZS5hMTk0PTEwMTY2O2UuYTE5OD0xMDE2NztlLmExODY9MTAxNjg7ZS5hMTk1PTEwMTY5O2UuYTE4Nz0xMDE3MDtlLmExODg9MTAxNzE7ZS5hMTg5PTEwMTcyO2UuYTE5MD0xMDE3MztlLmExOTE9MTAxNzQ7ZS5hODk9MTAwODg7ZS5hOTA9MTAwODk7ZS5hOTM9MTAwOTA7ZS5hOTQ9MTAwOTE7ZS5hOTE9MTAwOTI7ZS5hOTI9MTAwOTM7ZS5hMjA1PTEwMDk0O2UuYTg1PTEwMDk1O2UuYTIwNj0xMDA5NjtlLmE4Nj0xMDA5NztlLmE4Nz0xMDA5ODtlLmE4OD0xMDA5OTtlLmE5NT0xMDEwMDtlLmE5Nj0xMDEwMTtlWyIubm90ZGVmIl09MH0pKSxKaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbNjM3MjFdPTE2OTtlWzYzMTkzXT0xNjk7ZVs2MzcyMF09MTc0O2VbNjMxOTRdPTE3NDtlWzYzNzIyXT04NDgyO2VbNjMxOTVdPTg0ODI7ZVs2MzcyOV09OTEyNztlWzYzNzMwXT05MTI4O2VbNjM3MzFdPTkxMjk7ZVs2Mzc0MF09OTEzMTtlWzYzNzQxXT05MTMyO2VbNjM3NDJdPTkxMzM7ZVs2MzcyNl09OTEyMTtlWzYzNzI3XT05MTIyO2VbNjM3MjhdPTkxMjM7ZVs2MzczN109OTEyNDtlWzYzNzM4XT05MTI1O2VbNjM3MzldPTkxMjY7ZVs2MzcyM109OTExNTtlWzYzNzI0XT05MTE2O2VbNjM3MjVdPTkxMTc7ZVs2MzczNF09OTExODtlWzYzNzM1XT05MTE5O2VbNjM3MzZdPTkxMjB9KSk7ZnVuY3Rpb24gZ2V0VW5pY29kZUZvckdseXBoKGUsdCl7bGV0IGk9dFtlXTtpZih2b2lkIDAhPT1pKXJldHVybiBpO2lmKCFlKXJldHVybi0xO2lmKCJ1Ij09PWVbMF0pe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGE7aWYoNz09PXQmJiJuIj09PWVbMV0mJiJpIj09PWVbMl0pYT1lLnN1YnN0cmluZygzKTtlbHNle2lmKCEodD49NSYmdDw9NykpcmV0dXJuLTE7YT1lLnN1YnN0cmluZygxKX1pZihhPT09YS50b1VwcGVyQ2FzZSgpKXtpPXBhcnNlSW50KGEsMTYpO2lmKGk+PTApcmV0dXJuIGl9fXJldHVybi0xfWNvbnN0IFlpPVtbMCwxMjddLFsxMjgsMjU1XSxbMjU2LDM4M10sWzM4NCw1OTFdLFs1OTIsNjg3LDc0MjQsNzU1MSw3NTUyLDc2MTVdLFs2ODgsNzY3LDQyNzUyLDQyNzgzXSxbNzY4LDg3OSw3NjE2LDc2NzldLFs4ODAsMTAyM10sWzExMzkyLDExNTE5XSxbMTAyNCwxMjc5LDEyODAsMTMyNywxMTc0NCwxMTc3NSw0MjU2MCw0MjY1NV0sWzEzMjgsMTQyM10sWzE0MjQsMTUzNV0sWzQyMjQwLDQyNTU5XSxbMTUzNiwxNzkxLDE4NzIsMTkxOV0sWzE5ODQsMjA0N10sWzIzMDQsMjQzMV0sWzI0MzIsMjU1OV0sWzI1NjAsMjY4N10sWzI2ODgsMjgxNV0sWzI4MTYsMjk0M10sWzI5NDQsMzA3MV0sWzMwNzIsMzE5OV0sWzMyMDAsMzMyN10sWzMzMjgsMzQ1NV0sWzM1ODQsMzcxMV0sWzM3MTIsMzgzOV0sWzQyNTYsNDM1MSwxMTUyMCwxMTU2N10sWzY5MTIsNzAzOV0sWzQzNTIsNDYwN10sWzc2ODAsNzkzNSwxMTM2MCwxMTM5MSw0Mjc4NCw0MzAwN10sWzc5MzYsODE5MV0sWzgxOTIsODMwMywxMTc3NiwxMTkwM10sWzgzMDQsODM1MV0sWzgzNTIsODM5OV0sWzg0MDAsODQ0N10sWzg0NDgsODUyN10sWzg1MjgsODU5MV0sWzg1OTIsODcwMywxMDIyNCwxMDIzOSwxMDQ5NiwxMDYyMywxMTAwOCwxMTI2M10sWzg3MDQsODk1OSwxMDc1MiwxMTAwNywxMDE3NiwxMDIyMywxMDYyNCwxMDc1MV0sWzg5NjAsOTIxNV0sWzkyMTYsOTI3OV0sWzkyODAsOTMxMV0sWzkzMTIsOTQ3MV0sWzk0NzIsOTU5OV0sWzk2MDAsOTYzMV0sWzk2MzIsOTcyN10sWzk3MjgsOTk4M10sWzk5ODQsMTAxNzVdLFsxMjI4OCwxMjM1MV0sWzEyMzUyLDEyNDQ3XSxbMTI0NDgsMTI1NDMsMTI3ODQsMTI3OTldLFsxMjU0NCwxMjU5MSwxMjcwNCwxMjczNV0sWzEyNTkyLDEyNjg3XSxbNDMwNzIsNDMxMzVdLFsxMjgwMCwxMzA1NV0sWzEzMDU2LDEzMzExXSxbNDQwMzIsNTUyMTVdLFs1NTI5Niw1NzM0M10sWzY3ODQwLDY3ODcxXSxbMTk5NjgsNDA5NTksMTE5MDQsMTIwMzEsMTIwMzIsMTIyNTUsMTIyNzIsMTIyODcsMTMzMTIsMTk5MDMsMTMxMDcyLDE3Mzc5MSwxMjY4OCwxMjcwM10sWzU3MzQ0LDYzNzQzXSxbMTI3MzYsMTI3ODMsNjM3NDQsNjQyNTUsMTk0NTYwLDE5NTEwM10sWzY0MjU2LDY0MzM1XSxbNjQzMzYsNjUwMjNdLFs2NTA1Niw2NTA3MV0sWzY1MDQwLDY1MDU1XSxbNjUxMDQsNjUxMzVdLFs2NTEzNiw2NTI3OV0sWzY1MjgwLDY1NTE5XSxbNjU1MjAsNjU1MzVdLFszODQwLDQwOTVdLFsxNzkyLDE4NzFdLFsxOTIwLDE5ODNdLFszNDU2LDM1ODNdLFs0MDk2LDQyNTVdLFs0NjA4LDQ5OTEsNDk5Miw1MDIzLDExNjQ4LDExNzQzXSxbNTAyNCw1MTE5XSxbNTEyMCw1NzU5XSxbNTc2MCw1NzkxXSxbNTc5Miw1ODg3XSxbNjAxNiw2MTQzXSxbNjE0NCw2MzE5XSxbMTAyNDAsMTA0OTVdLFs0MDk2MCw0MjEyN10sWzU4ODgsNTkxOSw1OTIwLDU5NTEsNTk1Miw1OTgzLDU5ODQsNjAxNV0sWzY2MzA0LDY2MzUxXSxbNjYzNTIsNjYzODNdLFs2NjU2MCw2NjYzOV0sWzExODc4NCwxMTkwMzksMTE5MDQwLDExOTI5NSwxMTkyOTYsMTE5Mzc1XSxbMTE5ODA4LDEyMDgzMV0sWzEwNDQ0ODAsMTA0ODU3M10sWzY1MDI0LDY1MDM5LDkxNzc2MCw5MTc5OTldLFs5MTc1MDQsOTE3NjMxXSxbNjQwMCw2NDc5XSxbNjQ4MCw2NTI3XSxbNjUyOCw2NjIzXSxbNjY1Niw2Njg3XSxbMTEyNjQsMTEzNTldLFsxMTU2OCwxMTY0N10sWzE5OTA0LDE5OTY3XSxbNDMwMDgsNDMwNTVdLFs2NTUzNiw2NTY2Myw2NTY2NCw2NTc5MSw2NTc5Miw2NTg1NV0sWzY1ODU2LDY1OTM1XSxbNjY0MzIsNjY0NjNdLFs2NjQ2NCw2NjUyN10sWzY2NjQwLDY2Njg3XSxbNjY2ODgsNjY3MzVdLFs2NzU4NCw2NzY0N10sWzY4MDk2LDY4MTkxXSxbMTE5NTUyLDExOTY0N10sWzczNzI4LDc0NzUxLDc0NzUyLDc0ODc5XSxbMTE5NjQ4LDExOTY3OV0sWzcwNDAsNzEwM10sWzcxNjgsNzI0N10sWzcyNDgsNzI5NV0sWzQzMTM2LDQzMjMxXSxbNDMyNjQsNDMzMTFdLFs0MzMxMiw0MzM1OV0sWzQzNTIwLDQzNjE1XSxbNjU5MzYsNjU5OTldLFs2NmUzLDY2MDQ3XSxbNjYyMDgsNjYyNzEsNjYxNzYsNjYyMDcsNjc4NzIsNjc5MDNdLFsxMjcwMjQsMTI3MTM1LDEyNjk3NiwxMjcwMjNdXTtmdW5jdGlvbiBnZXRVbmljb2RlUmFuZ2VGb3IoZSx0PS0xKXtpZigtMSE9PXQpe2NvbnN0IGk9WWlbdF07Zm9yKGxldCBhPTAscz1pLmxlbmd0aDthPHM7YSs9MilpZihlPj1pW2FdJiZlPD1pW2ErMV0pcmV0dXJuIHR9Zm9yKGxldCB0PTAsaT1ZaS5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1ZaVt0XTtmb3IobGV0IGE9MCxzPWkubGVuZ3RoO2E8czthKz0yKWlmKGU+PWlbYV0mJmU8PWlbYSsxXSlyZXR1cm4gdH1yZXR1cm4tMX1jb25zdCB2aT1uZXcgUmVnRXhwKCJeKFxccyl8KFxccHtNbn0pfChcXHB7Q2Z9KSQiLCJ1IiksS2k9bmV3IE1hcDtjb25zdCBUaT0hMCxxaT0xLE9pPTIsUGk9NCxXaT0zMixqaT1bIi5ub3RkZWYiLCIubnVsbCIsIm5vbm1hcmtpbmdyZXR1cm4iLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXNpbmdsZSIsInBhcmVubGVmdCIsInBhcmVucmlnaHQiLCJhc3RlcmlzayIsInBsdXMiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsInNsYXNoIiwiemVybyIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImZpdmUiLCJzaXgiLCJzZXZlbiIsImVpZ2h0IiwibmluZSIsImNvbG9uIiwic2VtaWNvbG9uIiwibGVzcyIsImVxdWFsIiwiZ3JlYXRlciIsInF1ZXN0aW9uIiwiYXQiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsImJyYWNrZXRsZWZ0IiwiYmFja3NsYXNoIiwiYnJhY2tldHJpZ2h0IiwiYXNjaWljaXJjdW0iLCJ1bmRlcnNjb3JlIiwiZ3JhdmUiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiQWRpZXJlc2lzIiwiQXJpbmciLCJDY2VkaWxsYSIsIkVhY3V0ZSIsIk50aWxkZSIsIk9kaWVyZXNpcyIsIlVkaWVyZXNpcyIsImFhY3V0ZSIsImFncmF2ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYXRpbGRlIiwiYXJpbmciLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVncmF2ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWFjdXRlIiwiaWdyYXZlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJudGlsZGUiLCJvYWN1dGUiLCJvZ3JhdmUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm90aWxkZSIsInVhY3V0ZSIsInVncmF2ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwiZGFnZ2VyIiwiZGVncmVlIiwiY2VudCIsInN0ZXJsaW5nIiwic2VjdGlvbiIsImJ1bGxldCIsInBhcmFncmFwaCIsImdlcm1hbmRibHMiLCJyZWdpc3RlcmVkIiwiY29weXJpZ2h0IiwidHJhZGVtYXJrIiwiYWN1dGUiLCJkaWVyZXNpcyIsIm5vdGVxdWFsIiwiQUUiLCJPc2xhc2giLCJpbmZpbml0eSIsInBsdXNtaW51cyIsImxlc3NlcXVhbCIsImdyZWF0ZXJlcXVhbCIsInllbiIsIm11IiwicGFydGlhbGRpZmYiLCJzdW1tYXRpb24iLCJwcm9kdWN0IiwicGkiLCJpbnRlZ3JhbCIsIm9yZGZlbWluaW5lIiwib3JkbWFzY3VsaW5lIiwiT21lZ2EiLCJhZSIsIm9zbGFzaCIsInF1ZXN0aW9uZG93biIsImV4Y2xhbWRvd24iLCJsb2dpY2Fsbm90IiwicmFkaWNhbCIsImZsb3JpbiIsImFwcHJveGVxdWFsIiwiRGVsdGEiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsIm5vbmJyZWFraW5nc3BhY2UiLCJBZ3JhdmUiLCJBdGlsZGUiLCJPdGlsZGUiLCJPRSIsIm9lIiwiZW5kYXNoIiwiZW1kYXNoIiwicXVvdGVkYmxsZWZ0IiwicXVvdGVkYmxyaWdodCIsInF1b3RlbGVmdCIsInF1b3RlcmlnaHQiLCJkaXZpZGUiLCJsb3plbmdlIiwieWRpZXJlc2lzIiwiWWRpZXJlc2lzIiwiZnJhY3Rpb24iLCJjdXJyZW5jeSIsImd1aWxzaW5nbGxlZnQiLCJndWlsc2luZ2xyaWdodCIsImZpIiwiZmwiLCJkYWdnZXJkYmwiLCJwZXJpb2RjZW50ZXJlZCIsInF1b3Rlc2luZ2xiYXNlIiwicXVvdGVkYmxiYXNlIiwicGVydGhvdXNhbmQiLCJBY2lyY3VtZmxleCIsIkVjaXJjdW1mbGV4IiwiQWFjdXRlIiwiRWRpZXJlc2lzIiwiRWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJJZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsImFwcGxlIiwiT2dyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZ3JhdmUiLCJkb3RsZXNzaSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwicmluZyIsImNlZGlsbGEiLCJodW5nYXJ1bWxhdXQiLCJvZ29uZWsiLCJjYXJvbiIsIkxzbGFzaCIsImxzbGFzaCIsIlNjYXJvbiIsInNjYXJvbiIsIlpjYXJvbiIsInpjYXJvbiIsImJyb2tlbmJhciIsIkV0aCIsImV0aCIsIllhY3V0ZSIsInlhY3V0ZSIsIlRob3JuIiwidGhvcm4iLCJtaW51cyIsIm11bHRpcGx5Iiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJvbmVoYWxmIiwib25lcXVhcnRlciIsInRocmVlcXVhcnRlcnMiLCJmcmFuYyIsIkdicmV2ZSIsImdicmV2ZSIsIklkb3RhY2NlbnQiLCJTY2VkaWxsYSIsInNjZWRpbGxhIiwiQ2FjdXRlIiwiY2FjdXRlIiwiQ2Nhcm9uIiwiY2Nhcm9uIiwiZGNyb2F0Il07ZnVuY3Rpb24gcmVjb3ZlckdseXBoTmFtZShlLHQpe2lmKHZvaWQgMCE9PXRbZV0pcmV0dXJuIGU7Y29uc3QgaT1nZXRVbmljb2RlRm9yR2x5cGgoZSx0KTtpZigtMSE9PWkpZm9yKGNvbnN0IGUgaW4gdClpZih0W2VdPT09aSlyZXR1cm4gZTtpbmZvKCJVbmFibGUgdG8gcmVjb3ZlciBhIHN0YW5kYXJkIGdseXBoIG5hbWUgZm9yOiAiK2UpO3JldHVybiBlfWZ1bmN0aW9uIHR5cGUxRm9udEdseXBoTWFwcGluZyhlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBzLHIsbjtjb25zdCBnPSEhKGUuZmxhZ3MmUGkpO2lmKGUuaXNJbnRlcm5hbEZvbnQpe249dDtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXtzPWkuaW5kZXhPZihuW3JdKTthW3JdPXM+PTA/czowfX1lbHNlIGlmKGUuYmFzZUVuY29kaW5nTmFtZSl7bj1nZXRFbmNvZGluZyhlLmJhc2VFbmNvZGluZ05hbWUpO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3M9aS5pbmRleE9mKG5bcl0pO2Fbcl09cz49MD9zOjB9fWVsc2UgaWYoZylmb3IociBpbiB0KWFbcl09dFtyXTtlbHNle249eWk7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7cz1pLmluZGV4T2YobltyXSk7YVtyXT1zPj0wP3M6MH19Y29uc3Qgbz1lLmRpZmZlcmVuY2VzO2xldCBjO2lmKG8pZm9yKHIgaW4gbyl7Y29uc3QgZT1vW3JdO3M9aS5pbmRleE9mKGUpO2lmKC0xPT09cyl7Y3x8KGM9TWkoKSk7Y29uc3QgdD1yZWNvdmVyR2x5cGhOYW1lKGUsYyk7dCE9PWUmJihzPWkuaW5kZXhPZih0KSl9YVtyXT1zPj0wP3M6MH1yZXR1cm4gYX1mdW5jdGlvbiBub3JtYWxpemVGb250TmFtZShlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC9bLF9dL2csIi0iKS5yZXBsYWNlQWxsKC9ccy9nLCIiKX1jb25zdCBYaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGU9PntlWzgyMTFdPTY1MDc0O2VbODIxMl09NjUwNzM7ZVs4MjI5XT02NTA3MjtlWzgyMzBdPTY1MDQ5O2VbMTIyODldPTY1MDQxO2VbMTIyOTBdPTY1MDQyO2VbMTIyOTZdPTY1MDg3O2VbMTIyOTddPTY1MDg4O2VbMTIyOThdPTY1MDg1O2VbMTIyOTldPTY1MDg2O2VbMTIzMDBdPTY1MDg5O2VbMTIzMDFdPTY1MDkwO2VbMTIzMDJdPTY1MDkxO2VbMTIzMDNdPTY1MDkyO2VbMTIzMDRdPTY1MDgzO2VbMTIzMDVdPTY1MDg0O2VbMTIzMDhdPTY1MDgxO2VbMTIzMDldPTY1MDgyO2VbMTIzMTBdPTY1MDQ3O2VbMTIzMTFdPTY1MDQ4O2VbNjUxMDNdPTY1MDc2O2VbNjUyODFdPTY1MDQ1O2VbNjUyODhdPTY1MDc3O2VbNjUyODldPTY1MDc4O2VbNjUyOTJdPTY1MDQwO2VbNjUzMDZdPTY1MDQzO2VbNjUzMDddPTY1MDQ0O2VbNjUzMTFdPTY1MDQ2O2VbNjUzMzldPTY1MDk1O2VbNjUzNDFdPTY1MDk2O2VbNjUzNDNdPTY1MDc1O2VbNjUzNzFdPTY1MDc5O2VbNjUzNzNdPTY1MDgwfSkpLFppPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiVGltZXMtUm9tYW4iXT0iVGltZXMtUm9tYW4iO2UuSGVsdmV0aWNhPSJIZWx2ZXRpY2EiO2UuQ291cmllcj0iQ291cmllciI7ZS5TeW1ib2w9IlN5bWJvbCI7ZVsiVGltZXMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJIZWx2ZXRpY2EtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ291cmllci1Cb2xkIl09IkNvdXJpZXItQm9sZCI7ZS5aYXBmRGluZ2JhdHM9IlphcGZEaW5nYmF0cyI7ZVsiVGltZXMtSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkNvdXJpZXItT2JsaXF1ZSJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIlRpbWVzLUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlLkFyaWFsTmFycm93PSJIZWx2ZXRpY2EiO2VbIkFyaWFsTmFycm93LUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbE5hcnJvdy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWxCbGFjaz0iSGVsdmV0aWNhIjtlWyJBcmlhbEJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsQmxhY2stQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsQmxhY2stSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJBcmlhbC1CbGFjayJdPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJsYWNrLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUJsYWNrLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1CbGFjay1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWw9IkhlbHZldGljYSI7ZVsiQXJpYWwtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbE1UPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVCJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUJvbGRNVCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWwtSXRhbGljTVQiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkFyaWFsLUJvbGRJdGFsaWNNVC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtQm9sZE1ULUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUl0YWxpY01ULUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5BcmlhbFVuaWNvZGVNUz0iSGVsdmV0aWNhIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbFVuaWNvZGVNUy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWxVbmljb2RlTVMtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJDb3VyaWVyLUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllci1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlLkNvdXJpZXJOZXc9IkNvdXJpZXIiO2VbIkNvdXJpZXJOZXctQm9sZCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXctQm9sZEl0YWxpYyJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJDb3VyaWVyTmV3LUl0YWxpYyJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIkNvdXJpZXJOZXdQUy1Cb2xkSXRhbGljTVQiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllck5ld1BTLUJvbGRNVCJdPSJDb3VyaWVyLUJvbGQiO2VbIkNvdXJpZXJOZXdQUy1JdGFsaWNNVCJdPSJDb3VyaWVyLU9ibGlxdWUiO2UuQ291cmllck5ld1BTTVQ9IkNvdXJpZXIiO2VbIkhlbHZldGljYS1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiSGVsdmV0aWNhLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiU3ltYm9sLUJvbGQiXT0iU3ltYm9sIjtlWyJTeW1ib2wtQm9sZEl0YWxpYyJdPSJTeW1ib2wiO2VbIlN5bWJvbC1JdGFsaWMiXT0iU3ltYm9sIjtlLlRpbWVzTmV3Um9tYW49IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuLUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hbi1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW4tSXRhbGljIl09IlRpbWVzLUl0YWxpYyI7ZS5UaW1lc05ld1JvbWFuUFM9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZEl0YWxpY01UIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1Cb2xkTVQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hblBTLUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QUy1JdGFsaWNNVCJdPSJUaW1lcy1JdGFsaWMiO2UuVGltZXNOZXdSb21hblBTTVQ9IlRpbWVzLVJvbWFuIjtlWyJUaW1lc05ld1JvbWFuUFNNVC1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW5QU01ULUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTTVQtSXRhbGljIl09IlRpbWVzLUl0YWxpYyJ9KSksVmk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNvdXJpZXI9IkZveGl0Rml4ZWQucGZiIjtlWyJDb3VyaWVyLUJvbGQiXT0iRm94aXRGaXhlZEJvbGQucGZiIjtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09IkZveGl0Rml4ZWRCb2xkSXRhbGljLnBmYiI7ZVsiQ291cmllci1PYmxpcXVlIl09IkZveGl0Rml4ZWRJdGFsaWMucGZiIjtlLkhlbHZldGljYT0iTGliZXJhdGlvblNhbnMtUmVndWxhci50dGYiO2VbIkhlbHZldGljYS1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT0iTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYy50dGYiO2VbIkhlbHZldGljYS1PYmxpcXVlIl09IkxpYmVyYXRpb25TYW5zLUl0YWxpYy50dGYiO2VbIlRpbWVzLVJvbWFuIl09IkZveGl0U2VyaWYucGZiIjtlWyJUaW1lcy1Cb2xkIl09IkZveGl0U2VyaWZCb2xkLnBmYiI7ZVsiVGltZXMtQm9sZEl0YWxpYyJdPSJGb3hpdFNlcmlmQm9sZEl0YWxpYy5wZmIiO2VbIlRpbWVzLUl0YWxpYyJdPSJGb3hpdFNlcmlmSXRhbGljLnBmYiI7ZS5TeW1ib2w9IkZveGl0U3ltYm9sLnBmYiI7ZS5aYXBmRGluZ2JhdHM9IkZveGl0RGluZ2JhdHMucGZiIjtlWyJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIl09IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1Cb2xkIl09IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIjtlWyJMaWJlcmF0aW9uU2Fucy1JdGFsaWMiXT0iTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiI7ZVsiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiJ9KSksemk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkNhbGlicmk9IkhlbHZldGljYSI7ZVsiQ2FsaWJyaS1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJDYWxpYnJpLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJDYWxpYnJpLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5DZW50dXJ5R290aGljPSJIZWx2ZXRpY2EiO2VbIkNlbnR1cnlHb3RoaWMtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ2VudHVyeUdvdGhpYy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ2VudHVyeUdvdGhpYy1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQ29taWNTYW5zTVM9IkNvbWljIFNhbnMgTVMiO2VbIkNvbWljU2Fuc01TLUJvbGQiXT0iQ29taWMgU2FucyBNUy1Cb2xkIjtlWyJDb21pY1NhbnNNUy1Cb2xkSXRhbGljIl09IkNvbWljIFNhbnMgTVMtQm9sZEl0YWxpYyI7ZVsiQ29taWNTYW5zTVMtSXRhbGljIl09IkNvbWljIFNhbnMgTVMtSXRhbGljIjtlLkltcGFjdD0iSGVsdmV0aWNhIjtlWyJJdGNTeW1ib2wtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiSXRjU3ltYm9sLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJJdGNTeW1ib2wtQm9vayJdPSJIZWx2ZXRpY2EiO2VbIkl0Y1N5bWJvbC1Cb29rSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJJdGNTeW1ib2wtTWVkaXVtIl09IkhlbHZldGljYSI7ZVsiSXRjU3ltYm9sLU1lZGl1bUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZS5MdWNpZGFDb25zb2xlPSJDb3VyaWVyIjtlWyJMdWNpZGFDb25zb2xlLUJvbGQiXT0iQ291cmllci1Cb2xkIjtlWyJMdWNpZGFDb25zb2xlLUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiTHVjaWRhQ29uc29sZS1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlWyJMdWNpZGFTYW5zLURlbWkiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIk1TLUdvdGhpYyJdPSJNUyBHb3RoaWMiO2VbIk1TLUdvdGhpYy1Cb2xkIl09Ik1TIEdvdGhpYy1Cb2xkIjtlWyJNUy1Hb3RoaWMtQm9sZEl0YWxpYyJdPSJNUyBHb3RoaWMtQm9sZEl0YWxpYyI7ZVsiTVMtR290aGljLUl0YWxpYyJdPSJNUyBHb3RoaWMtSXRhbGljIjtlWyJNUy1NaW5jaG8iXT0iTVMgTWluY2hvIjtlWyJNUy1NaW5jaG8tQm9sZCJdPSJNUyBNaW5jaG8tQm9sZCI7ZVsiTVMtTWluY2hvLUJvbGRJdGFsaWMiXT0iTVMgTWluY2hvLUJvbGRJdGFsaWMiO2VbIk1TLU1pbmNoby1JdGFsaWMiXT0iTVMgTWluY2hvLUl0YWxpYyI7ZVsiTVMtUEdvdGhpYyJdPSJNUyBQR290aGljIjtlWyJNUy1QR290aGljLUJvbGQiXT0iTVMgUEdvdGhpYy1Cb2xkIjtlWyJNUy1QR290aGljLUJvbGRJdGFsaWMiXT0iTVMgUEdvdGhpYy1Cb2xkSXRhbGljIjtlWyJNUy1QR290aGljLUl0YWxpYyJdPSJNUyBQR290aGljLUl0YWxpYyI7ZVsiTVMtUE1pbmNobyJdPSJNUyBQTWluY2hvIjtlWyJNUy1QTWluY2hvLUJvbGQiXT0iTVMgUE1pbmNoby1Cb2xkIjtlWyJNUy1QTWluY2hvLUJvbGRJdGFsaWMiXT0iTVMgUE1pbmNoby1Cb2xkSXRhbGljIjtlWyJNUy1QTWluY2hvLUl0YWxpYyJdPSJNUyBQTWluY2hvLUl0YWxpYyI7ZS5OdXB0aWFsU2NyaXB0PSJUaW1lcy1JdGFsaWMiO2UuU2Vnb2VVSVN5bWJvbD0iSGVsdmV0aWNhIn0pKSxfaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbIkFkb2JlIEplbnNvbiJdPSEwO2VbIkFkb2JlIFRleHQiXT0hMDtlLkFsYmVydHVzPSEwO2UuQWxkdXM9ITA7ZS5BbGV4YW5kcmlhPSEwO2UuQWxnZXJpYW49ITA7ZVsiQW1lcmljYW4gVHlwZXdyaXRlciJdPSEwO2UuQW50aXF1YT0hMDtlLkFwZXg9ITA7ZS5Bcm5vPSEwO2UuQXN0ZXI9ITA7ZS5BdXJvcmE9ITA7ZS5CYXNrZXJ2aWxsZT0hMDtlLkJlbGw9ITA7ZS5CZW1ibz0hMDtlWyJCZW1ibyBTY2hvb2xib29rIl09ITA7ZS5CZW5ndWlhdD0hMDtlWyJCZXJrZWxleSBPbGQgU3R5bGUiXT0hMDtlWyJCZXJuaGFyZCBNb2Rlcm4iXT0hMDtlWyJCZXJ0aG9sZCBDaXR5Il09ITA7ZS5Cb2Rvbmk9ITA7ZVsiQmF1ZXIgQm9kb25pIl09ITA7ZVsiQm9vayBBbnRpcXVhIl09ITA7ZS5Cb29rbWFuPSEwO2VbIkJvcmRlYXV4IFJvbWFuIl09ITA7ZVsiQ2FsaWZvcm5pYW4gRkIiXT0hMDtlLkNhbGlzdG89ITA7ZS5DYWx2ZXJ0PSEwO2UuQ2FwaXRhbHM9ITA7ZS5DYW1icmlhPSEwO2UuQ2FydGllcj0hMDtlLkNhc2xvbj0hMDtlLkNhdHVsbD0hMDtlLkNlbnRhdXI9ITA7ZVsiQ2VudHVyeSBPbGQgU3R5bGUiXT0hMDtlWyJDZW50dXJ5IFNjaG9vbGJvb2siXT0hMDtlLkNoYXBhcnJhbD0hMDtlWyJDaGFyaXMgU0lMIl09ITA7ZS5DaGVsdGVuaGFtPSEwO2VbIkNob2xsYSBTbGFiIl09ITA7ZS5DbGFyZW5kb249ITA7ZS5DbGVhcmZhY2U9ITA7ZS5Db2NoaW49ITA7ZS5Db2xvbm5hPSEwO2VbIkNvbXB1dGVyIE1vZGVybiJdPSEwO2VbIkNvbmNyZXRlIFJvbWFuIl09ITA7ZS5Db25zdGFudGlhPSEwO2VbIkNvb3BlciBCbGFjayJdPSEwO2UuQ29yb25hPSEwO2UuRWNvdHlwZT0hMDtlLkVneXB0aWVubmU9ITA7ZS5FbGVwaGFudD0hMDtlLkV4Y2Vsc2lvcj0hMDtlLkZhaXJmaWVsZD0hMDtlWyJGRiBTY2FsYSJdPSEwO2UuRm9sa2FyZD0hMDtlLkZvb3RsaWdodD0hMDtlLkZyZWVTZXJpZj0hMDtlWyJGcml6IFF1YWRyYXRhIl09ITA7ZS5HYXJhbW9uZD0hMDtlLkdlbnRpdW09ITA7ZS5HZW9yZ2lhPSEwO2UuR2xvdWNlc3Rlcj0hMDtlWyJHb3VkeSBPbGQgU3R5bGUiXT0hMDtlWyJHb3VkeSBTY2hvb2xib29rIl09ITA7ZVsiR291ZHkgUHJvIEZvbnQiXT0hMDtlLkdyYW5qb249ITA7ZVsiR3VhcmRpYW4gRWd5cHRpYW4iXT0hMDtlLkhlYXRoZXI9ITA7ZS5IZXJjdWxlcz0hMDtlWyJIaWdoIFRvd2VyIFRleHQiXT0hMDtlLkhpcm9zaGlnZT0hMDtlWyJIb2VmbGVyIFRleHQiXT0hMDtlWyJIdW1hbmEgU2VyaWYiXT0hMDtlLkltcHJpbnQ9ITA7ZVsiSW9uaWMgTm8uIDUiXT0hMDtlLkphbnNvbj0hMDtlLkpvYW5uYT0hMDtlLktvcmlubmE9ITA7ZS5MZXhpY29uPSEwO2UuTGliZXJhdGlvblNlcmlmPSEwO2VbIkxpYmVyYXRpb24gU2VyaWYiXT0hMDtlWyJMaW51eCBMaWJlcnRpbmUiXT0hMDtlLkxpdGVyYXR1cm5heWE9ITA7ZS5MdWNpZGE9ITA7ZVsiTHVjaWRhIEJyaWdodCJdPSEwO2UuTWVsaW9yPSEwO2UuTWVtcGhpcz0hMDtlLk1pbGxlcj0hMDtlLk1pbmlvbj0hMDtlLk1vZGVybj0hMDtlWyJNb25hIExpc2EiXT0hMDtlWyJNcnMgRWF2ZXMiXT0hMDtlWyJNUyBTZXJpZiJdPSEwO2VbIk11c2VvIFNsYWIiXT0hMDtlWyJOZXcgWW9yayJdPSEwO2VbIk5pbWJ1cyBSb21hbiJdPSEwO2VbIk5QUyBSYXdsaW5zb24gUm9hZHdheSJdPSEwO2UuTnVwdGlhbFNjcmlwdD0hMDtlLlBhbGF0aW5vPSEwO2UuUGVycGV0dWE9ITA7ZS5QbGFudGluPSEwO2VbIlBsYW50aW4gU2Nob29sYm9vayJdPSEwO2UuUGxheWJpbGw9ITA7ZVsiUG9vciBSaWNoYXJkIl09ITA7ZVsiUmF3bGluc29uIFJvYWR3YXkiXT0hMDtlLlJlbmF1bHQ9ITA7ZS5SZXF1aWVtPSEwO2UuUm9ja3dlbGw9ITA7ZS5Sb21hbj0hMDtlWyJSb3RpcyBTZXJpZiJdPSEwO2UuU2Fib249ITA7ZS5TY2FsYT0hMDtlLlNlYWd1bGw9ITA7ZS5TaXN0aW5hPSEwO2UuU291dmVuaXI9ITA7ZS5TVElYPSEwO2VbIlN0b25lIEluZm9ybWFsIl09ITA7ZVsiU3RvbmUgU2VyaWYiXT0hMDtlLlN5bGZhZW49ITA7ZS5UaW1lcz0hMDtlLlRyYWphbj0hMDtlWyJUcmluaXTDqSJdPSEwO2VbIlRydW1wIE1lZGlhZXZhbCJdPSEwO2UuVXRvcGlhPSEwO2VbIlZhbGUgVHlwZSJdPSEwO2VbIkJpdHN0cmVhbSBWZXJhIl09ITA7ZVsiVmVyYSBTZXJpZiJdPSEwO2UuVmVyc2FpbGxlcz0hMDtlLldhbnRlZD0hMDtlLldlaXNzPSEwO2VbIldpZGUgTGF0aW4iXT0hMDtlLldpbmRzb3I9ITA7ZS5YSVRTPSEwfSkpLCRpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5EaW5nYmF0cz0hMDtlLlN5bWJvbD0hMDtlLlphcGZEaW5nYmF0cz0hMDtlLldpbmdkaW5ncz0hMDtlWyJXaW5nZGluZ3MtQm9sZCJdPSEwO2VbIldpbmdkaW5ncy1SZWd1bGFyIl09ITB9KSksQWE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzJdPTEwO2VbM109MzI7ZVs0XT0zMztlWzVdPTM0O2VbNl09MzU7ZVs3XT0zNjtlWzhdPTM3O2VbOV09Mzg7ZVsxMF09Mzk7ZVsxMV09NDA7ZVsxMl09NDE7ZVsxM109NDI7ZVsxNF09NDM7ZVsxNV09NDQ7ZVsxNl09NDU7ZVsxN109NDY7ZVsxOF09NDc7ZVsxOV09NDg7ZVsyMF09NDk7ZVsyMV09NTA7ZVsyMl09NTE7ZVsyM109NTI7ZVsyNF09NTM7ZVsyNV09NTQ7ZVsyNl09NTU7ZVsyN109NTY7ZVsyOF09NTc7ZVsyOV09NTg7ZVszMF09ODk0O2VbMzFdPTYwO2VbMzJdPTYxO2VbMzNdPTYyO2VbMzRdPTYzO2VbMzVdPTY0O2VbMzZdPTY1O2VbMzddPTY2O2VbMzhdPTY3O2VbMzldPTY4O2VbNDBdPTY5O2VbNDFdPTcwO2VbNDJdPTcxO2VbNDNdPTcyO2VbNDRdPTczO2VbNDVdPTc0O2VbNDZdPTc1O2VbNDddPTc2O2VbNDhdPTc3O2VbNDldPTc4O2VbNTBdPTc5O2VbNTFdPTgwO2VbNTJdPTgxO2VbNTNdPTgyO2VbNTRdPTgzO2VbNTVdPTg0O2VbNTZdPTg1O2VbNTddPTg2O2VbNThdPTg3O2VbNTldPTg4O2VbNjBdPTg5O2VbNjFdPTkwO2VbNjJdPTkxO2VbNjNdPTkyO2VbNjRdPTkzO2VbNjVdPTk0O2VbNjZdPTk1O2VbNjddPTk2O2VbNjhdPTk3O2VbNjldPTk4O2VbNzBdPTk5O2VbNzFdPTEwMDtlWzcyXT0xMDE7ZVs3M109MTAyO2VbNzRdPTEwMztlWzc1XT0xMDQ7ZVs3Nl09MTA1O2VbNzddPTEwNjtlWzc4XT0xMDc7ZVs3OV09MTA4O2VbODBdPTEwOTtlWzgxXT0xMTA7ZVs4Ml09MTExO2VbODNdPTExMjtlWzg0XT0xMTM7ZVs4NV09MTE0O2VbODZdPTExNTtlWzg3XT0xMTY7ZVs4OF09MTE3O2VbODldPTExODtlWzkwXT0xMTk7ZVs5MV09MTIwO2VbOTJdPTEyMTtlWzkzXT0xMjI7ZVs5NF09MTIzO2VbOTVdPTEyNDtlWzk2XT0xMjU7ZVs5N109MTI2O2VbOThdPTE5NjtlWzk5XT0xOTc7ZVsxMDBdPTE5OTtlWzEwMV09MjAxO2VbMTAyXT0yMDk7ZVsxMDNdPTIxNDtlWzEwNF09MjIwO2VbMTA1XT0yMjU7ZVsxMDZdPTIyNDtlWzEwN109MjI2O2VbMTA4XT0yMjg7ZVsxMDldPTIyNztlWzExMF09MjI5O2VbMTExXT0yMzE7ZVsxMTJdPTIzMztlWzExM109MjMyO2VbMTE0XT0yMzQ7ZVsxMTVdPTIzNTtlWzExNl09MjM3O2VbMTE3XT0yMzY7ZVsxMThdPTIzODtlWzExOV09MjM5O2VbMTIwXT0yNDE7ZVsxMjFdPTI0MztlWzEyMl09MjQyO2VbMTIzXT0yNDQ7ZVsxMjRdPTI0NjtlWzEyNV09MjQ1O2VbMTI2XT0yNTA7ZVsxMjddPTI0OTtlWzEyOF09MjUxO2VbMTI5XT0yNTI7ZVsxMzBdPTgyMjQ7ZVsxMzFdPTE3NjtlWzEzMl09MTYyO2VbMTMzXT0xNjM7ZVsxMzRdPTE2NztlWzEzNV09ODIyNjtlWzEzNl09MTgyO2VbMTM3XT0yMjM7ZVsxMzhdPTE3NDtlWzEzOV09MTY5O2VbMTQwXT04NDgyO2VbMTQxXT0xODA7ZVsxNDJdPTE2ODtlWzE0M109ODgwMDtlWzE0NF09MTk4O2VbMTQ1XT0yMTY7ZVsxNDZdPTg3MzQ7ZVsxNDddPTE3NztlWzE0OF09ODgwNDtlWzE0OV09ODgwNTtlWzE1MF09MTY1O2VbMTUxXT0xODE7ZVsxNTJdPTg3MDY7ZVsxNTNdPTg3MjE7ZVsxNTRdPTg3MTk7ZVsxNTZdPTg3NDc7ZVsxNTddPTE3MDtlWzE1OF09MTg2O2VbMTU5XT04NDg2O2VbMTYwXT0yMzA7ZVsxNjFdPTI0ODtlWzE2Ml09MTkxO2VbMTYzXT0xNjE7ZVsxNjRdPTE3MjtlWzE2NV09ODczMDtlWzE2Nl09NDAyO2VbMTY3XT04Nzc2O2VbMTY4XT04NzEwO2VbMTY5XT0xNzE7ZVsxNzBdPTE4NztlWzE3MV09ODIzMDtlWzE3OV09ODIyMDtlWzE4MF09ODIyMTtlWzE4MV09ODIxNjtlWzE4Ml09ODIxNztlWzIwMF09MTkzO2VbMjAzXT0yMDU7ZVsyMDddPTIxMTtlWzIxMF09MjE4O2VbMjIzXT03MTE7ZVsyMjRdPTMyMTtlWzIyNV09MzIyO2VbMjI2XT0zNTI7ZVsyMjddPTM1MztlWzIyOF09MzgxO2VbMjI5XT0zODI7ZVsyMzNdPTIyMTtlWzIzNF09MjUzO2VbMjUyXT0yNjM7ZVsyNTNdPTI2ODtlWzI1NF09MjY5O2VbMjU4XT0yNTg7ZVsyNjBdPTI2MDtlWzI2MV09MjYxO2VbMjY1XT0yODA7ZVsyNjZdPTI4MTtlWzI2N109MjgyO2VbMjY4XT0yODM7ZVsyNjldPTMxMztlWzI3NV09MzIzO2VbMjc2XT0zMjQ7ZVsyNzhdPTMyODtlWzI4M109MzQ0O2VbMjg0XT0zNDU7ZVsyODVdPTM0NjtlWzI4Nl09MzQ3O2VbMjkyXT0zNjc7ZVsyOTVdPTM3NztlWzI5Nl09Mzc4O2VbMjk4XT0zODA7ZVszMDVdPTk2MztlWzMwNl09OTY0O2VbMzA3XT05NjY7ZVszMDhdPTgyMTU7ZVszMDldPTgyNTI7ZVszMTBdPTgzMTk7ZVszMTFdPTgzNTk7ZVszMTJdPTg1OTI7ZVszMTNdPTg1OTM7ZVszMzddPTk1NTI7ZVs0OTNdPTEwMzk7ZVs0OTRdPTEwNDA7ZVs2NzJdPTE0ODg7ZVs2NzNdPTE0ODk7ZVs2NzRdPTE0OTA7ZVs2NzVdPTE0OTE7ZVs2NzZdPTE0OTI7ZVs2NzddPTE0OTM7ZVs2NzhdPTE0OTQ7ZVs2NzldPTE0OTU7ZVs2ODBdPTE0OTY7ZVs2ODFdPTE0OTc7ZVs2ODJdPTE0OTg7ZVs2ODNdPTE0OTk7ZVs2ODRdPTE1MDA7ZVs2ODVdPTE1MDE7ZVs2ODZdPTE1MDI7ZVs2ODddPTE1MDM7ZVs2ODhdPTE1MDQ7ZVs2ODldPTE1MDU7ZVs2OTBdPTE1MDY7ZVs2OTFdPTE1MDc7ZVs2OTJdPTE1MDg7ZVs2OTNdPTE1MDk7ZVs2OTRdPTE1MTA7ZVs2OTVdPTE1MTE7ZVs2OTZdPTE1MTI7ZVs2OTddPTE1MTM7ZVs2OThdPTE1MTQ7ZVs3MDVdPTE1MjQ7ZVs3MDZdPTgzNjI7ZVs3MTBdPTY0Mjg4O2VbNzExXT02NDI5ODtlWzc1OV09MTYxNztlWzc2MV09MTc3NjtlWzc2M109MTc3ODtlWzc3NV09MTY1MjtlWzc3N109MTc2NDtlWzc3OF09MTc4MDtlWzc3OV09MTc4MTtlWzc4MF09MTc4MjtlWzc4Ml09NzcxO2VbNzgzXT02NDcyNjtlWzc4Nl09ODM2MztlWzc4OF09ODUzMjtlWzc5MF09NzY4O2VbNzkxXT03Njk7ZVs3OTJdPTc2ODtlWzc5NV09ODAzO2VbNzk3XT02NDMzNjtlWzc5OF09NjQzMzc7ZVs3OTldPTY0MzQyO2VbODAwXT02NDM0MztlWzgwMV09NjQzNDQ7ZVs4MDJdPTY0MzQ1O2VbODAzXT02NDM2MjtlWzgwNF09NjQzNjM7ZVs4MDVdPTY0MzY0O2VbMjQyNF09NzgyMTtlWzI0MjVdPTc4MjI7ZVsyNDI2XT03ODIzO2VbMjQyN109NzgyNDtlWzI0MjhdPTc4MjU7ZVsyNDI5XT03ODI2O2VbMjQzMF09NzgyNztlWzI0MzNdPTc2ODI7ZVsyNjc4XT04MDQ1O2VbMjY3OV09ODA0NjtlWzI4MzBdPTE1NTI7ZVsyODM4XT02ODY7ZVsyODQwXT03NTE7ZVsyODQyXT03NTM7ZVsyODQzXT03NTQ7ZVsyODQ0XT03NTU7ZVsyODQ2XT03NTc7ZVsyODU2XT03Njc7ZVsyODU3XT04NDg7ZVsyODU4XT04NDk7ZVsyODYyXT04NTM7ZVsyODYzXT04NTQ7ZVsyODY0XT04NTU7ZVsyODY1XT04NjE7ZVsyODY2XT04NjI7ZVsyOTA2XT03NDYwO2VbMjkwOF09NzQ2MjtlWzI5MDldPTc0NjM7ZVsyOTEwXT03NDY0O2VbMjkxMl09NzQ2NjtlWzI5MTNdPTc0Njc7ZVsyOTE0XT03NDY4O2VbMjkxNl09NzQ3MDtlWzI5MTddPTc0NzE7ZVsyOTE4XT03NDcyO2VbMjkyMF09NzQ3NDtlWzI5MjFdPTc0NzU7ZVsyOTIyXT03NDc2O2VbMjkyNF09NzQ3ODtlWzI5MjVdPTc0Nzk7ZVsyOTI2XT03NDgwO2VbMjkyOF09NzQ4MjtlWzI5MjldPTc0ODM7ZVsyOTMwXT03NDg0O2VbMjkzMl09NzQ4NjtlWzI5MzNdPTc0ODc7ZVsyOTM0XT03NDg4O2VbMjkzNl09NzQ5MDtlWzI5MzddPTc0OTE7ZVsyOTM4XT03NDkyO2VbMjk0MF09NzQ5NDtlWzI5NDFdPTc0OTU7ZVsyOTQyXT03NDk2O2VbMjk0NF09NzQ5ODtlWzI5NDZdPTc1MDA7ZVsyOTQ4XT03NTAyO2VbMjk1MF09NzUwNDtlWzI5NTFdPTc1MDU7ZVsyOTUyXT03NTA2O2VbMjk1NF09NzUwODtlWzI5NTVdPTc1MDk7ZVsyOTU2XT03NTEwO2VbMjk1OF09NzUxMjtlWzI5NTldPTc1MTM7ZVsyOTYwXT03NTE0O2VbMjk2Ml09NzUxNjtlWzI5NjNdPTc1MTc7ZVsyOTY0XT03NTE4O2VbMjk2Nl09NzUyMDtlWzI5NjddPTc1MjE7ZVsyOTY4XT03NTIyO2VbMjk3MF09NzUyNDtlWzI5NzFdPTc1MjU7ZVsyOTcyXT03NTI2O2VbMjk3NF09NzUyODtlWzI5NzVdPTc1Mjk7ZVsyOTc2XT03NTMwO2VbMjk3OF09MTUzNztlWzI5NzldPTE1Mzg7ZVsyOTgwXT0xNTM5O2VbMjk4Ml09MTU0OTtlWzI5ODNdPTE1NTE7ZVsyOTg0XT0xNTUyO2VbMjk4Nl09MTU1NDtlWzI5ODddPTE1NTU7ZVsyOTg4XT0xNTU2O2VbMjk5MF09MTYyMztlWzI5OTFdPTE2MjQ7ZVsyOTk1XT0xNzc1O2VbMjk5OV09MTc5MTtlWzMwMDJdPTY0MjkwO2VbMzAwM109NjQyOTE7ZVszMDA0XT02NDI5MjtlWzMwMDZdPTY0Mjk0O2VbMzAwN109NjQyOTU7ZVszMDA4XT02NDI5NjtlWzMwMTFdPTE5MDA7ZVszMDE0XT04MjIzO2VbMzAxNV09ODI0NDtlWzMwMTddPTc1MzI7ZVszMDE4XT03NTMzO2VbMzAxOV09NzUzNDtlWzMwNzVdPTc1OTA7ZVszMDc2XT03NTkxO2VbMzA3OV09NzU5NDtlWzMwODBdPTc1OTU7ZVszMDgzXT03NTk4O2VbMzA4NF09NzU5OTtlWzMwODddPTc2MDI7ZVszMDg4XT03NjAzO2VbMzA5MV09NzYwNjtlWzMwOTJdPTc2MDc7ZVszMDk1XT03NjEwO2VbMzA5Nl09NzYxMTtlWzMwOTldPTc2MTQ7ZVszMTAwXT03NjE1O2VbMzEwM109NzYxODtlWzMxMDRdPTc2MTk7ZVszMTA3XT04MzM3O2VbMzEwOF09ODMzODtlWzMxMTZdPTE4ODQ7ZVszMTE5XT0xODg1O2VbMzEyMF09MTg4NTtlWzMxMjNdPTE4ODY7ZVszMTI0XT0xODg2O2VbMzEyN109MTg4NztlWzMxMjhdPTE4ODc7ZVszMTMxXT0xODg4O2VbMzEzMl09MTg4ODtlWzMxMzVdPTE4ODk7ZVszMTM2XT0xODg5O2VbMzEzOV09MTg5MDtlWzMxNDBdPTE4OTA7ZVszMTQzXT0xODkxO2VbMzE0NF09MTg5MTtlWzMxNDddPTE4OTI7ZVszMTQ4XT0xODkyO2VbMzE1M109NTgwO2VbMzE1NF09NTgxO2VbMzE1N109NTg0O2VbMzE1OF09NTg1O2VbMzE2MV09NTg4O2VbMzE2Ml09NTg5O2VbMzE2NV09ODkxO2VbMzE2Nl09ODkyO2VbMzE2OV09MTI3NDtlWzMxNzBdPTEyNzU7ZVszMTczXT0xMjc4O2VbMzE3NF09MTI3OTtlWzMxODFdPTc2MjI7ZVszMTgyXT03NjIzO2VbMzI4Ml09MTE3OTk7ZVszMzE2XT01Nzg7ZVszMzc5XT00Mjc4NTtlWzMzOTNdPTExNTk7ZVszNDE2XT04Mzc3fSkpLGVhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsyMjddPTMyMjtlWzI2NF09MjYxO2VbMjkxXT0zNDZ9KSksdGE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzFdPTMyO2VbNF09NjU7ZVs1XT0xOTI7ZVs2XT0xOTM7ZVs5XT0xOTY7ZVsxN109NjY7ZVsxOF09Njc7ZVsyMV09MjY4O2VbMjRdPTY4O2VbMjhdPTY5O2VbMjldPTIwMDtlWzMwXT0yMDE7ZVszMl09MjgyO2VbMzhdPTcwO2VbMzldPTcxO2VbNDRdPTcyO2VbNDddPTczO2VbNDhdPTIwNDtlWzQ5XT0yMDU7ZVs1OF09NzQ7ZVs2MF09NzU7ZVs2Ml09NzY7ZVs2OF09Nzc7ZVs2OV09Nzg7ZVs3NV09Nzk7ZVs3Nl09MjEwO2VbODBdPTIxNDtlWzg3XT04MDtlWzg5XT04MTtlWzkwXT04MjtlWzkyXT0zNDQ7ZVs5NF09ODM7ZVs5N109MzUyO2VbMTAwXT04NDtlWzEwNF09ODU7ZVsxMDldPTIyMDtlWzExNV09ODY7ZVsxMTZdPTg3O2VbMTIxXT04ODtlWzEyMl09ODk7ZVsxMjRdPTIyMTtlWzEyN109OTA7ZVsxMjldPTM4MTtlWzI1OF09OTc7ZVsyNTldPTIyNDtlWzI2MF09MjI1O2VbMjYzXT0yMjg7ZVsyNjhdPTI2MTtlWzI3MV09OTg7ZVsyNzJdPTk5O2VbMjczXT0yNjM7ZVsyNzVdPTI2OTtlWzI4Ml09MTAwO2VbMjg2XT0xMDE7ZVsyODddPTIzMjtlWzI4OF09MjMzO2VbMjkwXT0yODM7ZVsyOTVdPTI4MTtlWzI5Nl09MTAyO2VbMzM2XT0xMDM7ZVszNDZdPTEwNDtlWzM0OV09MTA1O2VbMzUwXT0yMzY7ZVszNTFdPTIzNztlWzM2MV09MTA2O2VbMzY0XT0xMDc7ZVszNjddPTEwODtlWzM3MV09MzIyO2VbMzczXT0xMDk7ZVszNzRdPTExMDtlWzM4MV09MTExO2VbMzgyXT0yNDI7ZVszODNdPTI0MztlWzM4Nl09MjQ2O2VbMzkzXT0xMTI7ZVszOTVdPTExMztlWzM5Nl09MTE0O2VbMzk4XT0zNDU7ZVs0MDBdPTExNTtlWzQwMV09MzQ3O2VbNDAzXT0zNTM7ZVs0MTBdPTExNjtlWzQzN109MTE3O2VbNDQyXT0yNTI7ZVs0NDhdPTExODtlWzQ0OV09MTE5O2VbNDU0XT0xMjA7ZVs0NTVdPTEyMTtlWzQ1N109MjUzO2VbNDYwXT0xMjI7ZVs0NjJdPTM4MjtlWzQ2M109MzgwO2VbODUzXT00NDtlWzg1NV09NTg7ZVs4NTZdPTQ2O2VbODc2XT00NztlWzg3OF09NDU7ZVs4ODJdPTQ1O2VbODk0XT00MDtlWzg5NV09NDE7ZVs4OTZdPTkxO2VbODk3XT05MztlWzkyM109NjQ7ZVsxMDA0XT00ODtlWzEwMDVdPTQ5O2VbMTAwNl09NTA7ZVsxMDA3XT01MTtlWzEwMDhdPTUyO2VbMTAwOV09NTM7ZVsxMDEwXT01NDtlWzEwMTFdPTU1O2VbMTAxMl09NTY7ZVsxMDEzXT01NztlWzEwODFdPTM3O2VbMTA4NV09NDM7ZVsxMDg2XT00NX0pKTtmdW5jdGlvbiBnZXRTdGFuZGFyZEZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIFppKClbdF19ZnVuY3Rpb24gaXNLbm93bkZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuISEoWmkoKVt0XXx8emkoKVt0XXx8X2koKVt0XXx8JGkoKVt0XSl9Y2xhc3MgVG9Vbmljb2RlTWFwe2NvbnN0cnVjdG9yKGU9W10pe3RoaXMuX21hcD1lfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fbWFwLmxlbmd0aH1mb3JFYWNoKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX21hcCllKHQsdGhpcy5fbWFwW3RdLmNoYXJDb2RlQXQoMCkpfWhhcyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fbWFwW2VdfWdldChlKXtyZXR1cm4gdGhpcy5fbWFwW2VdfWNoYXJDb2RlT2YoZSl7Y29uc3QgdD10aGlzLl9tYXA7aWYodC5sZW5ndGg8PTY1NTM2KXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKGNvbnN0IGkgaW4gdClpZih0W2ldPT09ZSlyZXR1cm4gMHxpO3JldHVybi0xfWFtZW5kKGUpe2Zvcihjb25zdCB0IGluIGUpdGhpcy5fbWFwW3RdPWVbdF19fWNsYXNzIElkZW50aXR5VG9Vbmljb2RlTWFwe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5maXJzdENoYXI9ZTt0aGlzLmxhc3RDaGFyPXR9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxhc3RDaGFyKzEtdGhpcy5maXJzdENoYXJ9Zm9yRWFjaChlKXtmb3IobGV0IHQ9dGhpcy5maXJzdENoYXIsaT10aGlzLmxhc3RDaGFyO3Q8PWk7dCsrKWUodCx0KX1oYXMoZSl7cmV0dXJuIHRoaXMuZmlyc3RDaGFyPD1lJiZlPD10aGlzLmxhc3RDaGFyfWdldChlKXtpZih0aGlzLmZpcnN0Q2hhcjw9ZSYmZTw9dGhpcy5sYXN0Q2hhcilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKX1jaGFyQ29kZU9mKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj10aGlzLmZpcnN0Q2hhciYmZTw9dGhpcy5sYXN0Q2hhcj9lOi0xfWFtZW5kKGUpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgYW1lbmQoKSIpfX1jbGFzcyBDRkZGb250e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wcm9wZXJ0aWVzPXQ7Y29uc3QgaT1uZXcgQ0ZGUGFyc2VyKGUsdCxUaSk7dGhpcy5jZmY9aS5wYXJzZSgpO3RoaXMuY2ZmLmR1cGxpY2F0ZUZpcnN0R2x5cGgoKTtjb25zdCBhPW5ldyBDRkZDb21waWxlcih0aGlzLmNmZik7dGhpcy5zZWFjcz10aGlzLmNmZi5zZWFjczt0cnl7dGhpcy5kYXRhPWEuY29tcGlsZSgpfWNhdGNoe3dhcm4oIkZhaWxlZCB0byBjb21waWxlIGZvbnQgIit0LmxvYWRlZE5hbWUpO3RoaXMuZGF0YT1lfXRoaXMuX2NyZWF0ZUJ1aWx0SW5FbmNvZGluZygpfWdldCBudW1HbHlwaHMoKXtyZXR1cm4gdGhpcy5jZmYuY2hhclN0cmluZ3MuY291bnR9Z2V0Q2hhcnNldCgpe3JldHVybiB0aGlzLmNmZi5jaGFyc2V0LmNoYXJzZXR9Z2V0R2x5cGhNYXBwaW5nKCl7Y29uc3QgZT10aGlzLmNmZix0PXRoaXMucHJvcGVydGllcyx7Y2lkVG9HaWRNYXA6aSxjTWFwOmF9PXQscz1lLmNoYXJzZXQuY2hhcnNldDtsZXQgcixuO2lmKHQuY29tcG9zaXRlKXtsZXQgdCxnO2lmKGk/Lmxlbmd0aD4wKXt0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBlPTAsYT1pLmxlbmd0aDtlPGE7ZSsrKXtjb25zdCBhPWlbZV07dm9pZCAwIT09YSYmKHRbYV09ZSl9fXI9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlLmlzQ0lERm9udClmb3Iobj0wO248cy5sZW5ndGg7bisrKXtjb25zdCBlPXNbbl07Zz1hLmNoYXJDb2RlT2YoZSk7dm9pZCAwIT09dD8uW2ddJiYoZz10W2ddKTtyW2ddPW59ZWxzZSBmb3Iobj0wO248ZS5jaGFyU3RyaW5ncy5jb3VudDtuKyspe2c9YS5jaGFyQ29kZU9mKG4pO3JbZ109bn1yZXR1cm4gcn1sZXQgZz1lLmVuY29kaW5nP2UuZW5jb2RpbmcuZW5jb2Rpbmc6bnVsbDt0LmlzSW50ZXJuYWxGb250JiYoZz10LmRlZmF1bHRFbmNvZGluZyk7cj10eXBlMUZvbnRHbHlwaE1hcHBpbmcodCxnLHMpO3JldHVybiByfWhhc0dseXBoSWQoZSl7cmV0dXJuIHRoaXMuY2ZmLmhhc0dseXBoSWQoZSl9X2NyZWF0ZUJ1aWx0SW5FbmNvZGluZygpe2NvbnN0e2NoYXJzZXQ6ZSxlbmNvZGluZzp0fT10aGlzLmNmZjtpZighZXx8IXQpcmV0dXJuO2NvbnN0IGk9ZS5jaGFyc2V0LGE9dC5lbmNvZGluZyxzPVtdO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IHQ9YVtlXTtpZih0Pj0wKXtjb25zdCBhPWlbdF07YSYmKHNbZV09YSl9fXMubGVuZ3RoPjAmJih0aGlzLnByb3BlcnRpZXMuYnVpbHRJbkVuY29kaW5nPXMpfX1mdW5jdGlvbiBnZXRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gZ2V0VWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIGdldEludDE2KGUsdCl7cmV0dXJuKGVbdF08PDI0fGVbdCsxXTw8MTYpPj4xNn1mdW5jdGlvbiBnZXRJbnQ4KGUsdCl7cmV0dXJuIGVbdF08PDI0Pj4yNH1mdW5jdGlvbiBnZXRGbG9hdDIxNChlLHQpe3JldHVybiBnZXRJbnQxNihlLHQpLzE2Mzg0fWZ1bmN0aW9uIGdldFN1YnJvdXRpbmVCaWFzKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGk9MzI3Njg7dDwxMjQwP2k9MTA3OnQ8MzM5MDAmJihpPTExMzEpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlQ21hcChlLHQsaSl7Y29uc3QgYT0xPT09Z2V0VWludDE2KGUsdCsyKT9nZXRVaW50MzIoZSx0KzgpOmdldFVpbnQzMihlLHQrMTYpLHM9Z2V0VWludDE2KGUsdCthKTtsZXQgcixuLGc7aWYoND09PXMpe2dldFVpbnQxNihlLHQrYSsyKTtjb25zdCBpPWdldFVpbnQxNihlLHQrYSs2KT4+MTtuPXQrYSsxNDtyPVtdO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXJbZ109e2VuZDpnZXRVaW50MTYoZSxuKX07bis9Mjtmb3IoZz0wO2c8aTtnKyssbis9MilyW2ddLnN0YXJ0PWdldFVpbnQxNihlLG4pO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXJbZ10uaWREZWx0YT1nZXRVaW50MTYoZSxuKTtmb3IoZz0wO2c8aTtnKyssbis9Mil7bGV0IHQ9Z2V0VWludDE2KGUsbik7aWYoMCE9PXQpe3JbZ10uaWRzPVtdO2ZvcihsZXQgaT0wLGE9cltnXS5lbmQtcltnXS5zdGFydCsxO2k8YTtpKyspe3JbZ10uaWRzW2ldPWdldFVpbnQxNihlLG4rdCk7dCs9Mn19fXJldHVybiByfWlmKDEyPT09cyl7Y29uc3QgaT1nZXRVaW50MzIoZSx0K2ErMTIpO249dCthKzE2O3I9W107Zm9yKGc9MDtnPGk7ZysrKXt0PWdldFVpbnQzMihlLG4pO3IucHVzaCh7c3RhcnQ6dCxlbmQ6Z2V0VWludDMyKGUsbis0KSxpZERlbHRhOmdldFVpbnQzMihlLG4rOCktdH0pO24rPTEyfXJldHVybiByfXRocm93IG5ldyBGb3JtYXRFcnJvcihgdW5zdXBwb3J0ZWQgY21hcDogJHtzfWApfWZ1bmN0aW9uIHBhcnNlQ2ZmKGUsdCxpLGEpe2NvbnN0IHM9bmV3IENGRlBhcnNlcihuZXcgU3RyZWFtKGUsdCxpLXQpLHt9LGEpLnBhcnNlKCk7cmV0dXJue2dseXBoczpzLmNoYXJTdHJpbmdzLm9iamVjdHMsc3VicnM6cy50b3BEaWN0LnByaXZhdGVEaWN0Py5zdWJyc0luZGV4Py5vYmplY3RzLGdzdWJyczpzLmdsb2JhbFN1YnJJbmRleD8ub2JqZWN0cyxpc0NGRkNJREZvbnQ6cy5pc0NJREZvbnQsZmRTZWxlY3Q6cy5mZFNlbGVjdCxmZEFycmF5OnMuZmRBcnJheX19ZnVuY3Rpb24gbG9va3VwQ21hcChlLHQpe2NvbnN0IGk9dC5jb2RlUG9pbnRBdCgwKTtsZXQgYT0wLHM9MCxyPWUubGVuZ3RoLTE7Zm9yKDtzPHI7KXtjb25zdCB0PXMrcisxPj4xO2k8ZVt0XS5zdGFydD9yPXQtMTpzPXR9ZVtzXS5zdGFydDw9aSYmaTw9ZVtzXS5lbmQmJihhPWVbc10uaWREZWx0YSsoZVtzXS5pZHM/ZVtzXS5pZHNbaS1lW3NdLnN0YXJ0XTppKSY2NTUzNSk7cmV0dXJue2NoYXJDb2RlOmksZ2x5cGhJZDphfX1mdW5jdGlvbiBjb21waWxlR2x5ZihlLHQsaSl7ZnVuY3Rpb24gbW92ZVRvKGUsaSl7dC5hZGQobHQsW2UsaV0pfWZ1bmN0aW9uIGxpbmVUbyhlLGkpe3QuYWRkKFF0LFtlLGldKX1mdW5jdGlvbiBxdWFkcmF0aWNDdXJ2ZVRvKGUsaSxhLHMpe3QuYWRkKEV0LFtlLGksYSxzXSl9bGV0IGE9MDtjb25zdCBzPWdldEludDE2KGUsYSk7bGV0IHIsbj0wLGc9MDthKz0xMDtpZihzPDApZG97cj1nZXRVaW50MTYoZSxhKTtjb25zdCBzPWdldFVpbnQxNihlLGErMik7YSs9NDtsZXQgbyxjO2lmKDEmcil7aWYoMiZyKXtvPWdldEludDE2KGUsYSk7Yz1nZXRJbnQxNihlLGErMil9ZWxzZXtvPWdldFVpbnQxNihlLGEpO2M9Z2V0VWludDE2KGUsYSsyKX1hKz00fWVsc2UgaWYoMiZyKXtvPWdldEludDgoZSxhKyspO2M9Z2V0SW50OChlLGErKyl9ZWxzZXtvPWVbYSsrXTtjPWVbYSsrXX1pZigyJnIpe249bztnPWN9ZWxzZXtuPTA7Zz0wfWxldCBDPTEsaD0xLGw9MCxRPTA7aWYoOCZyKXtDPWg9Z2V0RmxvYXQyMTQoZSxhKTthKz0yfWVsc2UgaWYoNjQmcil7Qz1nZXRGbG9hdDIxNChlLGEpO2g9Z2V0RmxvYXQyMTQoZSxhKzIpO2ErPTR9ZWxzZSBpZigxMjgmcil7Qz1nZXRGbG9hdDIxNChlLGEpO2w9Z2V0RmxvYXQyMTQoZSxhKzIpO1E9Z2V0RmxvYXQyMTQoZSxhKzQpO2g9Z2V0RmxvYXQyMTQoZSxhKzYpO2ErPTh9Y29uc3QgRT1pLmdseXBoc1tzXTtpZihFKXt0LmFkZChkdCk7dC5hZGQocHQsW0MsbCxRLGgsbixnXSk7Y29tcGlsZUdseWYoRSx0LGkpO3QuYWRkKHV0KX19d2hpbGUoMzImcik7ZWxzZXtjb25zdCB0PVtdO2xldCBpLG87Zm9yKGk9MDtpPHM7aSsrKXt0LnB1c2goZ2V0VWludDE2KGUsYSkpO2ErPTJ9YSs9MitnZXRVaW50MTYoZSxhKTtjb25zdCBjPXQuYXQoLTEpKzEsQz1bXTtmb3IoO0MubGVuZ3RoPGM7KXtyPWVbYSsrXTtsZXQgdD0xOzgmciYmKHQrPWVbYSsrXSk7Zm9yKDt0LS0gPjA7KUMucHVzaCh7ZmxhZ3M6cn0pfWZvcihpPTA7aTxjO2krKyl7c3dpdGNoKDE4JkNbaV0uZmxhZ3Mpe2Nhc2UgMDpuKz1nZXRJbnQxNihlLGEpO2ErPTI7YnJlYWs7Y2FzZSAyOm4tPWVbYSsrXTticmVhaztjYXNlIDE4Om4rPWVbYSsrXX1DW2ldLng9bn1mb3IoaT0wO2k8YztpKyspe3N3aXRjaCgzNiZDW2ldLmZsYWdzKXtjYXNlIDA6Zys9Z2V0SW50MTYoZSxhKTthKz0yO2JyZWFrO2Nhc2UgNDpnLT1lW2ErK107YnJlYWs7Y2FzZSAzNjpnKz1lW2ErK119Q1tpXS55PWd9bGV0IGg9MDtmb3IoYT0wO2E8czthKyspe2NvbnN0IGU9dFthXSxzPUMuc2xpY2UoaCxlKzEpO2lmKDEmc1swXS5mbGFncylzLnB1c2goc1swXSk7ZWxzZSBpZigxJnMuYXQoLTEpLmZsYWdzKXMudW5zaGlmdChzLmF0KC0xKSk7ZWxzZXtjb25zdCBlPXtmbGFnczoxLHg6KHNbMF0ueCtzLmF0KC0xKS54KS8yLHk6KHNbMF0ueStzLmF0KC0xKS55KS8yfTtzLnVuc2hpZnQoZSk7cy5wdXNoKGUpfW1vdmVUbyhzWzBdLngsc1swXS55KTtmb3IoaT0xLG89cy5sZW5ndGg7aTxvO2krKylpZigxJnNbaV0uZmxhZ3MpbGluZVRvKHNbaV0ueCxzW2ldLnkpO2Vsc2UgaWYoMSZzW2krMV0uZmxhZ3Mpe3F1YWRyYXRpY0N1cnZlVG8oc1tpXS54LHNbaV0ueSxzW2krMV0ueCxzW2krMV0ueSk7aSsrfWVsc2UgcXVhZHJhdGljQ3VydmVUbyhzW2ldLngsc1tpXS55LChzW2ldLngrc1tpKzFdLngpLzIsKHNbaV0ueStzW2krMV0ueSkvMik7aD1lKzF9fX1mdW5jdGlvbiBjb21waWxlQ2hhclN0cmluZyhlLHQsaSxhKXtmdW5jdGlvbiBtb3ZlVG8oZSxpKXt0LmFkZChsdCxbZSxpXSl9ZnVuY3Rpb24gbGluZVRvKGUsaSl7dC5hZGQoUXQsW2UsaV0pfWZ1bmN0aW9uIGJlemllckN1cnZlVG8oZSxpLGEscyxyLG4pe3QuYWRkKEJ0LFtlLGksYSxzLHIsbl0pfWNvbnN0IHM9W107bGV0IHI9MCxuPTAsZz0wOyFmdW5jdGlvbiBwYXJzZShlKXtsZXQgbz0wO2Zvcig7bzxlLmxlbmd0aDspe2xldCBjLEMsaCxsLFEsRSx1LGQsZixwPSExLG09ZVtvKytdO3N3aXRjaChtKXtjYXNlIDE6Y2FzZSAzOmNhc2UgMTg6Y2FzZSAyMzpnKz1zLmxlbmd0aD4+MTtwPSEwO2JyZWFrO2Nhc2UgNDpuKz1zLnBvcCgpO21vdmVUbyhyLG4pO3A9ITA7YnJlYWs7Y2FzZSA1OmZvcig7cy5sZW5ndGg+MDspe3IrPXMuc2hpZnQoKTtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbil9YnJlYWs7Y2FzZSA2OmZvcig7cy5sZW5ndGg+MDspe3IrPXMuc2hpZnQoKTtsaW5lVG8ocixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWJyZWFrO2Nhc2UgNzpmb3IoO3MubGVuZ3RoPjA7KXtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO3IrPXMuc2hpZnQoKTtsaW5lVG8ocixuKX1icmVhaztjYXNlIDg6Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7Y2FzZSAxMDpkPXMucG9wKCk7Zj1udWxsO2lmKGkuaXNDRkZDSURGb250KXtjb25zdCBlPWkuZmRTZWxlY3QuZ2V0RkRJbmRleChhKTtpZihlPj0wJiZlPGkuZmRBcnJheS5sZW5ndGgpe2NvbnN0IHQ9aS5mZEFycmF5W2VdO2xldCBhO3QucHJpdmF0ZURpY3Q/LnN1YnJzSW5kZXgmJihhPXQucHJpdmF0ZURpY3Quc3VicnNJbmRleC5vYmplY3RzKTtpZihhKXtkKz1nZXRTdWJyb3V0aW5lQmlhcyhhKTtmPWFbZF19fWVsc2Ugd2FybigiSW52YWxpZCBmZCBpbmRleCBmb3IgZ2x5cGggaW5kZXguIil9ZWxzZSBmPWkuc3VicnNbZCtpLnN1YnJzQmlhc107ZiYmcGFyc2UoZik7YnJlYWs7Y2FzZSAxMTpyZXR1cm47Y2FzZSAxMjptPWVbbysrXTtzd2l0Y2gobSl7Y2FzZSAzNDpjPXIrcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7UT1uK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxuLEMsUSxyLFEpO2M9citzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxRLEMsbixyLG4pO2JyZWFrO2Nhc2UgMzU6Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7cy5wb3AoKTticmVhaztjYXNlIDM2OmM9citzLnNoaWZ0KCk7UT1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO0U9UStzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsUSxDLEUscixFKTtjPXIrcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7dT1FK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxFLEMsdSxyLG4pO2JyZWFrO2Nhc2UgMzc6Y29uc3QgZT1yLHQ9bjtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QztuPWw7TWF0aC5hYnMoci1lKT5NYXRoLmFicyhuLXQpP3IrPXMuc2hpZnQoKTpuKz1zLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6IDEyICR7bX1gKX1icmVhaztjYXNlIDE0OmlmKHMubGVuZ3RoPj00KXtjb25zdCBlPXMucG9wKCksYT1zLnBvcCgpO249cy5wb3AoKTtyPXMucG9wKCk7dC5hZGQoZHQpO3QuYWRkKG10LFtyLG5dKTtsZXQgZz1sb29rdXBDbWFwKGkuY21hcCxTdHJpbmcuZnJvbUNoYXJDb2RlKGkuZ2x5cGhOYW1lTWFwW3lpW2VdXSkpO2NvbXBpbGVDaGFyU3RyaW5nKGkuZ2x5cGhzW2cuZ2x5cGhJZF0sdCxpLGcuZ2x5cGhJZCk7dC5hZGQodXQpO2c9bG9va3VwQ21hcChpLmNtYXAsU3RyaW5nLmZyb21DaGFyQ29kZShpLmdseXBoTmFtZU1hcFt5aVthXV0pKTtjb21waWxlQ2hhclN0cmluZyhpLmdseXBoc1tnLmdseXBoSWRdLHQsaSxnLmdseXBoSWQpfXJldHVybjtjYXNlIDE5OmNhc2UgMjA6Zys9cy5sZW5ndGg+PjE7bys9Zys3Pj4zO3A9ITA7YnJlYWs7Y2FzZSAyMTpuKz1zLnBvcCgpO3IrPXMucG9wKCk7bW92ZVRvKHIsbik7cD0hMDticmVhaztjYXNlIDIyOnIrPXMucG9wKCk7bW92ZVRvKHIsbik7cD0hMDticmVhaztjYXNlIDI0OmZvcig7cy5sZW5ndGg+Mjspe2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfXIrPXMuc2hpZnQoKTtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbik7YnJlYWs7Y2FzZSAyNTpmb3IoO3MubGVuZ3RoPjY7KXtyKz1zLnNoaWZ0KCk7bis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWM9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2JyZWFrO2Nhc2UgMjY6cy5sZW5ndGglMiYmKHIrPXMuc2hpZnQoKSk7Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QztuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMjc6cy5sZW5ndGglMiYmKG4rPXMuc2hpZnQoKSk7Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yK3Muc2hpZnQoKTtoPW47Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMjg6cy5wdXNoKChlW29dPDwyNHxlW28rMV08PDE2KT4+MTYpO28rPTI7YnJlYWs7Y2FzZSAyOTpkPXMucG9wKCkraS5nc3VicnNCaWFzO2Y9aS5nc3VicnNbZF07ZiYmcGFyc2UoZik7YnJlYWs7Y2FzZSAzMDpmb3IoO3MubGVuZ3RoPjA7KXtjPXI7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrKDE9PT1zLmxlbmd0aD9zLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7aWYoMD09PXMubGVuZ3RoKWJyZWFrO2M9citzLnNoaWZ0KCk7aD1uO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO3I9QysoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztjYXNlIDMxOmZvcig7cy5sZW5ndGg+MDspe2M9citzLnNoaWZ0KCk7aD1uO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO3I9QysoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7Yz1yO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sKygxPT09cy5sZW5ndGg/cy5zaGlmdCgpOjApO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2RlZmF1bHQ6aWYobTwzMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHVua25vd24gb3BlcmF0b3I6ICR7bX1gKTtpZihtPDI0NylzLnB1c2gobS0xMzkpO2Vsc2UgaWYobTwyNTEpcy5wdXNoKDI1NioobS0yNDcpK2VbbysrXSsxMDgpO2Vsc2UgaWYobTwyNTUpcy5wdXNoKDI1NiotKG0tMjUxKS1lW28rK10tMTA4KTtlbHNle3MucHVzaCgoZVtvXTw8MjR8ZVtvKzFdPDwxNnxlW28rMl08PDh8ZVtvKzNdKS82NTUzNik7bys9NH19cCYmKHMubGVuZ3RoPTApfX0oZSl9Y29uc3QgaWE9W107Y2xhc3MgQ29tbWFuZHN7Y21kcz1bXTthZGQoZSx0KXtpZih0KWlmKGlzTnVtYmVyQXJyYXkodCxudWxsKSl0aGlzLmNtZHMucHVzaChlLC4uLnQpO2Vsc2V7d2FybihgQ29tbWFuZHMuYWRkIC0gIiR7ZX0iIGhhcyBhdCBsZWFzdCBvbmUgbm9uLW51bWJlciBhcmc6ICIke3R9Ii5gKTtjb25zdCBpPXQubWFwKChlPT4ibnVtYmVyIj09dHlwZW9mIGU/ZTowKSk7dGhpcy5jbWRzLnB1c2goZSwuLi5pKX1lbHNlIHRoaXMuY21kcy5wdXNoKGUpfX1jbGFzcyBDb21waWxlZEZvbnR7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250TWF0cml4PWU7dGhpcy5jb21waWxlZEdseXBocz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZD1PYmplY3QuY3JlYXRlKG51bGwpfWdldFBhdGhKcyhlKXtjb25zdHtjaGFyQ29kZTp0LGdseXBoSWQ6aX09bG9va3VwQ21hcCh0aGlzLmNtYXAsZSk7bGV0IGEscz10aGlzLmNvbXBpbGVkR2x5cGhzW2ldO2lmKCFzKXt0cnl7cz10aGlzLmNvbXBpbGVHbHlwaCh0aGlzLmdseXBoc1tpXSxpKX1jYXRjaChlKXtzPWlhO2E9ZX10aGlzLmNvbXBpbGVkR2x5cGhzW2ldPXN9dGhpcy5jb21waWxlZENoYXJDb2RlVG9HbHlwaElkW3RdPz89aTtpZihhKXRocm93IGE7cmV0dXJuIHN9Y29tcGlsZUdseXBoKGUsdCl7aWYoIWV8fDA9PT1lLmxlbmd0aHx8MTQ9PT1lWzBdKXJldHVybiBpYTtsZXQgaT10aGlzLmZvbnRNYXRyaXg7aWYodGhpcy5pc0NGRkNJREZvbnQpe2NvbnN0IGU9dGhpcy5mZFNlbGVjdC5nZXRGREluZGV4KHQpO2lmKGU+PTAmJmU8dGhpcy5mZEFycmF5Lmxlbmd0aCl7aT10aGlzLmZkQXJyYXlbZV0uZ2V0QnlOYW1lKCJGb250TWF0cml4Iil8fGF9ZWxzZSB3YXJuKCJJbnZhbGlkIGZkIGluZGV4IGZvciBnbHlwaCBpbmRleC4iKX1jb25zdCBzPW5ldyBDb21tYW5kcztzLmFkZChkdCk7cy5hZGQocHQsaS5zbGljZSgpKTtzLmFkZChmdCk7dGhpcy5jb21waWxlR2x5cGhJbXBsKGUscyx0KTtzLmFkZCh1dCk7cmV0dXJuIHMuY21kc31jb21waWxlR2x5cGhJbXBsKCl7dW5yZWFjaGFibGUoIkNoaWxkcmVuIGNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCB0aGlzLiIpfWhhc0J1aWx0UGF0aChlKXtjb25zdHtjaGFyQ29kZTp0LGdseXBoSWQ6aX09bG9va3VwQ21hcCh0aGlzLmNtYXAsZSk7cmV0dXJuIHZvaWQgMCE9PXRoaXMuY29tcGlsZWRHbHlwaHNbaV0mJnZvaWQgMCE9PXRoaXMuY29tcGlsZWRDaGFyQ29kZVRvR2x5cGhJZFt0XX19Y2xhc3MgVHJ1ZVR5cGVDb21waWxlZCBleHRlbmRzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaXx8WzQ4OGUtNiwwLDAsNDg4ZS02LDAsMF0pO3RoaXMuZ2x5cGhzPWU7dGhpcy5jbWFwPXR9Y29tcGlsZUdseXBoSW1wbChlLHQpe2NvbXBpbGVHbHlmKGUsdCx0aGlzKX19Y2xhc3MgVHlwZTJDb21waWxlZCBleHRlbmRzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihpfHxbLjAwMSwwLDAsLjAwMSwwLDBdKTt0aGlzLmdseXBocz1lLmdseXBoczt0aGlzLmdzdWJycz1lLmdzdWJyc3x8W107dGhpcy5zdWJycz1lLnN1YnJzfHxbXTt0aGlzLmNtYXA9dDt0aGlzLmdseXBoTmFtZU1hcD1hfHxNaSgpO3RoaXMuZ3N1YnJzQmlhcz1nZXRTdWJyb3V0aW5lQmlhcyh0aGlzLmdzdWJycyk7dGhpcy5zdWJyc0JpYXM9Z2V0U3Vicm91dGluZUJpYXModGhpcy5zdWJycyk7dGhpcy5pc0NGRkNJREZvbnQ9ZS5pc0NGRkNJREZvbnQ7dGhpcy5mZFNlbGVjdD1lLmZkU2VsZWN0O3RoaXMuZmRBcnJheT1lLmZkQXJyYXl9Y29tcGlsZUdseXBoSW1wbChlLHQsaSl7Y29tcGlsZUNoYXJTdHJpbmcoZSx0LHRoaXMsaSl9fWNsYXNzIEZvbnRSZW5kZXJlckZhY3Rvcnl7c3RhdGljIGNyZWF0ZShlLHQpe2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkoZS5kYXRhKTtsZXQgYSxzLHIsbixnLG87Y29uc3QgYz1nZXRVaW50MTYoaSw0KTtmb3IobGV0IGU9MCxDPTEyO2U8YztlKyssQys9MTYpe2NvbnN0IGU9Ynl0ZXNUb1N0cmluZyhpLnN1YmFycmF5KEMsQys0KSksYz1nZXRVaW50MzIoaSxDKzgpLGg9Z2V0VWludDMyKGksQysxMik7c3dpdGNoKGUpe2Nhc2UiY21hcCI6YT1wYXJzZUNtYXAoaSxjKTticmVhaztjYXNlImdseWYiOnM9aS5zdWJhcnJheShjLGMraCk7YnJlYWs7Y2FzZSJsb2NhIjpyPWkuc3ViYXJyYXkoYyxjK2gpO2JyZWFrO2Nhc2UiaGVhZCI6bz1nZXRVaW50MTYoaSxjKzE4KTtnPWdldFVpbnQxNihpLGMrNTApO2JyZWFrO2Nhc2UiQ0ZGICI6bj1wYXJzZUNmZihpLGMsYytoLHQpfX1pZihzKXtjb25zdCB0PW8/WzEvbywwLDAsMS9vLDAsMF06ZS5mb250TWF0cml4O3JldHVybiBuZXcgVHJ1ZVR5cGVDb21waWxlZChmdW5jdGlvbiBwYXJzZUdseWZUYWJsZShlLHQsaSl7bGV0IGEscztpZihpKXthPTQ7cz1nZXRVaW50MzJ9ZWxzZXthPTI7cz0oZSx0KT0+MipnZXRVaW50MTYoZSx0KX1jb25zdCByPVtdO2xldCBuPXModCwwKTtmb3IobGV0IGk9YTtpPHQubGVuZ3RoO2krPWEpe2NvbnN0IGE9cyh0LGkpO3IucHVzaChlLnN1YmFycmF5KG4sYSkpO249YX1yZXR1cm4gcn0ocyxyLGcpLGEsdCl9cmV0dXJuIG5ldyBUeXBlMkNvbXBpbGVkKG4sYSxlLmZvbnRNYXRyaXgsZS5nbHlwaE5hbWVNYXApfX1jb25zdCBhYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj02MDA7ZVsiQ291cmllci1Cb2xkIl09NjAwO2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT02MDA7ZVsiQ291cmllci1PYmxpcXVlIl09NjAwO2UuSGVsdmV0aWNhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09Mjc4O2UucXVvdGVkYmw9MzU1O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NjY3O2UucXVvdGVyaWdodD0yMjI7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTU1NjtlLmF0PTEwMTU7ZS5BPTY2NztlLkI9NjY3O2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTUwMDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9Mjc4O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0yNzg7ZS5hc2NpaWNpcmN1bT00Njk7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yMjI7ZS5hPTU1NjtlLmI9NTU2O2UuYz01MDA7ZS5kPTU1NjtlLmU9NTU2O2UuZj0yNzg7ZS5nPTU1NjtlLmg9NTU2O2UuaT0yMjI7ZS5qPTIyMjtlLms9NTAwO2UubD0yMjI7ZS5tPTgzMztlLm49NTU2O2Uubz01NTY7ZS5wPTU1NjtlLnE9NTU2O2Uucj0zMzM7ZS5zPTUwMDtlLnQ9Mjc4O2UudT01NTY7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NTAwO2UuYnJhY2VsZWZ0PTMzNDtlLmJhcj0yNjA7ZS5icmFjZXJpZ2h0PTMzNDtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0xOTE7ZS5xdW90ZWRibGxlZnQ9MzMzO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01Mzc7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MjIyO2UucXVvdGVkYmxiYXNlPTMzMztlLnF1b3RlZGJscmlnaHQ9MzMzO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTIyMjtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTY2NztlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTUwMDtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTUwMDtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9MjIyO2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTUwMDtlLnNjZWRpbGxhPTUwMDtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj02Njc7ZS5yY2Fyb249MzMzO2UuY2NlZGlsbGE9NTAwO2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTY0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTY2NztlLkFicmV2ZT02Njc7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTAwO2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI2MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9MzMzO2Uub21hY3Jvbj01NTY7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTIyMjtlLnRjYXJvbj0zMTc7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTY2NztlLkFkaWVyZXNpcz02Njc7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9MjIyO2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT01NTY7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01MDA7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTU1NjtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT01NTY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01NTY7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01NTY7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj0yOTk7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj01NTY7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01NTY7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NTU2O2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01NTY7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zMzM7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTU1NjtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTY2NztlLkFvZ29uZWs9NjY3O2UuQXJpbmc9NjY3O2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NTU2O2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01NTY7ZS5ldGg9NTU2O2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00NzQ7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD03MjI7ZS5xdW90ZXJpZ2h0PTI3ODtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NjExO2UuYXQ9OTc1O2UuQT03MjI7ZS5CPTcyMjtlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01NTY7ZS5LPTcyMjtlLkw9NjExO2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTg0O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9Mjc4O2UuYT01NTY7ZS5iPTYxMTtlLmM9NTU2O2UuZD02MTE7ZS5lPTU1NjtlLmY9MzMzO2UuZz02MTE7ZS5oPTYxMTtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTU1NjtlLmw9Mjc4O2UubT04ODk7ZS5uPTYxMTtlLm89NjExO2UucD02MTE7ZS5xPTYxMTtlLnI9Mzg5O2Uucz01NTY7ZS50PTMzMztlLnU9NjExO2Uudj01NTY7ZS53PTc3ODtlLng9NTU2O2UueT01NTY7ZS56PTUwMDtlLmJyYWNlbGVmdD0zODk7ZS5iYXI9MjgwO2UuYnJhY2VyaWdodD0zODk7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MjM4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT02MTE7ZS5mbD02MTE7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTU2O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTI3ODtlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTYxMTtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTU1NjtlLnNjb21tYWFjY2VudD01NTY7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz02MTE7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01NTY7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01NTY7ZS5zY2VkaWxsYT01NTY7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTYxMTtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NzIyO2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTU1NjtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj03NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTYxMTtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTYxMTtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTU2O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTU1NjtlLm5hY3V0ZT02MTE7ZS51bWFjcm9uPTYxMTtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yODA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NjExO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249Mzg5O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NjExO2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTU2O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj02MTE7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NjExO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NjExO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NjExO2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249NDAwO2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NjExO2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NjExO2UubnRpbGRlPTYxMTtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTYxMTtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NjExO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT02MTE7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT02MTE7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NjExO2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTYxMTtlLnVkaWVyZXNpcz02MTE7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NjExO2UuZXRoPTYxMTtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NjExO2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQ3NDtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTcyMjtlLnF1b3RlcmlnaHQ9Mjc4O2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj02MTE7ZS5hdD05NzU7ZS5BPTcyMjtlLkI9NzIyO2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTU1NjtlLks9NzIyO2UuTD02MTE7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01ODQ7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yNzg7ZS5hPTU1NjtlLmI9NjExO2UuYz01NTY7ZS5kPTYxMTtlLmU9NTU2O2UuZj0zMzM7ZS5nPTYxMTtlLmg9NjExO2UuaT0yNzg7ZS5qPTI3ODtlLms9NTU2O2UubD0yNzg7ZS5tPTg4OTtlLm49NjExO2Uubz02MTE7ZS5wPTYxMTtlLnE9NjExO2Uucj0zODk7ZS5zPTU1NjtlLnQ9MzMzO2UudT02MTE7ZS52PTU1NjtlLnc9Nzc4O2UueD01NTY7ZS55PTU1NjtlLno9NTAwO2UuYnJhY2VsZWZ0PTM4OTtlLmJhcj0yODA7ZS5icmFjZXJpZ2h0PTM4OTtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0yMzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTYxMTtlLmZsPTYxMTtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01NTY7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9Mjc4O2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NjExO2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTU2O2Uuc2NvbW1hYWNjZW50PTU1NjtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTYxMTtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTU1NjtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTU1NjtlLnNjZWRpbGxhPTU1NjtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NjExO2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NTU2O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTc0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NjExO2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NjExO2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz01NTY7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTU2O2UubmFjdXRlPTYxMTtlLnVtYWNyb249NjExO2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI4MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj02MTE7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zODk7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT02MTE7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01NTY7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTYxMTtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT02MTE7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD02MTE7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD02MTE7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj00MDA7ZS5LY29tbWFhY2NlbnQ9NzIyO2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD02MTE7ZS5udGlsZGU9NjExO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NjExO2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT02MTE7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTYxMTtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTYxMTtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTU1NjtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj02MTE7ZS50Y29tbWFhY2NlbnQ9MzMzO2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NjExO2UudWRpZXJlc2lzPTYxMTtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD02MTE7ZS5ldGg9NjExO2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD02MTE7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1PYmxpcXVlIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0yNzg7ZS5xdW90ZWRibD0zNTU7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD02Njc7ZS5xdW90ZXJpZ2h0PTIyMjtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NTU2O2UuYXQ9MTAxNTtlLkE9NjY3O2UuQj02Njc7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTAwO2UuSz02Njc7ZS5MPTU1NjtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0yNzg7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTI3ODtlLmFzY2lpY2lyY3VtPTQ2OTtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTIyMjtlLmE9NTU2O2UuYj01NTY7ZS5jPTUwMDtlLmQ9NTU2O2UuZT01NTY7ZS5mPTI3ODtlLmc9NTU2O2UuaD01NTY7ZS5pPTIyMjtlLmo9MjIyO2Uuaz01MDA7ZS5sPTIyMjtlLm09ODMzO2Uubj01NTY7ZS5vPTU1NjtlLnA9NTU2O2UucT01NTY7ZS5yPTMzMztlLnM9NTAwO2UudD0yNzg7ZS51PTU1NjtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej01MDA7ZS5icmFjZWxlZnQ9MzM0O2UuYmFyPTI2MDtlLmJyYWNlcmlnaHQ9MzM0O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTE5MTtlLnF1b3RlZGJsbGVmdD0zMzM7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTAwO2UuZmw9NTAwO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTUzNztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yMjI7ZS5xdW90ZWRibGJhc2U9MzMzO2UucXVvdGVkYmxyaWdodD0zMzM7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NTU2O2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9MjIyO2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NjY3O2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9NTAwO2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTAwO2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yMjI7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTAwO2Uuc2NlZGlsbGE9NTAwO2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTY2NztlLnJjYXJvbj0zMzM7ZS5jY2VkaWxsYT01MDA7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NjQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NjY3O2UuQWJyZXZlPTY2NztlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01MDA7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjYwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zMzM7ZS5vbWFjcm9uPTU1NjtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9MjIyO2UudGNhcm9uPTMxNztlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjY3O2UuQWRpZXJlc2lzPTY2NztlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yMjI7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTU1NjtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTUwMDtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTU2O2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTU1NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTU1NjtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTU1NjtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTI5OTtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NTU2O2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTU1NjtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTU1NjtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT01NTY7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTU1NjtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTMzMztlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTU2O2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD01NTY7ZS5BdGlsZGU9NjY3O2UuQW9nb25laz02Njc7ZS5BcmluZz02Njc7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz01NTY7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTU1NjtlLmV0aD01NTY7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZS5TeW1ib2w9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS51bml2ZXJzYWw9NzEzO2UubnVtYmVyc2lnbj01MDA7ZS5leGlzdGVudGlhbD01NDk7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5zdWNodGhhdD00Mzk7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlza21hdGg9NTAwO2UucGx1cz01NDk7ZS5jb21tYT0yNTA7ZS5taW51cz01NDk7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0yNzg7ZS5zZW1pY29sb249Mjc4O2UubGVzcz01NDk7ZS5lcXVhbD01NDk7ZS5ncmVhdGVyPTU0OTtlLnF1ZXN0aW9uPTQ0NDtlLmNvbmdydWVudD01NDk7ZS5BbHBoYT03MjI7ZS5CZXRhPTY2NztlLkNoaT03MjI7ZS5EZWx0YT02MTI7ZS5FcHNpbG9uPTYxMTtlLlBoaT03NjM7ZS5HYW1tYT02MDM7ZS5FdGE9NzIyO2UuSW90YT0zMzM7ZS50aGV0YTE9NjMxO2UuS2FwcGE9NzIyO2UuTGFtYmRhPTY4NjtlLk11PTg4OTtlLk51PTcyMjtlLk9taWNyb249NzIyO2UuUGk9NzY4O2UuVGhldGE9NzQxO2UuUmhvPTU1NjtlLlNpZ21hPTU5MjtlLlRhdT02MTE7ZS5VcHNpbG9uPTY5MDtlLnNpZ21hMT00Mzk7ZS5PbWVnYT03Njg7ZS5YaT02NDU7ZS5Qc2k9Nzk1O2UuWmV0YT02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS50aGVyZWZvcmU9ODYzO2UuYnJhY2tldHJpZ2h0PTMzMztlLnBlcnBlbmRpY3VsYXI9NjU4O2UudW5kZXJzY29yZT01MDA7ZS5yYWRpY2FsZXg9NTAwO2UuYWxwaGE9NjMxO2UuYmV0YT01NDk7ZS5jaGk9NTQ5O2UuZGVsdGE9NDk0O2UuZXBzaWxvbj00Mzk7ZS5waGk9NTIxO2UuZ2FtbWE9NDExO2UuZXRhPTYwMztlLmlvdGE9MzI5O2UucGhpMT02MDM7ZS5rYXBwYT01NDk7ZS5sYW1iZGE9NTQ5O2UubXU9NTc2O2UubnU9NTIxO2Uub21pY3Jvbj01NDk7ZS5waT01NDk7ZS50aGV0YT01MjE7ZS5yaG89NTQ5O2Uuc2lnbWE9NjAzO2UudGF1PTQzOTtlLnVwc2lsb249NTc2O2Uub21lZ2ExPTcxMztlLm9tZWdhPTY4NjtlLnhpPTQ5MztlLnBzaT02ODY7ZS56ZXRhPTQ5NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5zaW1pbGFyPTU0OTtlLkV1cm89NzUwO2UuVXBzaWxvbjE9NjIwO2UubWludXRlPTI0NztlLmxlc3NlcXVhbD01NDk7ZS5mcmFjdGlvbj0xNjc7ZS5pbmZpbml0eT03MTM7ZS5mbG9yaW49NTAwO2UuY2x1Yj03NTM7ZS5kaWFtb25kPTc1MztlLmhlYXJ0PTc1MztlLnNwYWRlPTc1MztlLmFycm93Ym90aD0xMDQyO2UuYXJyb3dsZWZ0PTk4NztlLmFycm93dXA9NjAzO2UuYXJyb3dyaWdodD05ODc7ZS5hcnJvd2Rvd249NjAzO2UuZGVncmVlPTQwMDtlLnBsdXNtaW51cz01NDk7ZS5zZWNvbmQ9NDExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLm11bHRpcGx5PTU0OTtlLnByb3BvcnRpb25hbD03MTM7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS5idWxsZXQ9NDYwO2UuZGl2aWRlPTU0OTtlLm5vdGVxdWFsPTU0OTtlLmVxdWl2YWxlbmNlPTU0OTtlLmFwcHJveGVxdWFsPTU0OTtlLmVsbGlwc2lzPTFlMztlLmFycm93dmVydGV4PTYwMztlLmFycm93aG9yaXpleD0xZTM7ZS5jYXJyaWFnZXJldHVybj02NTg7ZS5hbGVwaD04MjM7ZS5JZnJha3R1cj02ODY7ZS5SZnJha3R1cj03OTU7ZS53ZWllcnN0cmFzcz05ODc7ZS5jaXJjbGVtdWx0aXBseT03Njg7ZS5jaXJjbGVwbHVzPTc2ODtlLmVtcHR5c2V0PTgyMztlLmludGVyc2VjdGlvbj03Njg7ZS51bmlvbj03Njg7ZS5wcm9wZXJzdXBlcnNldD03MTM7ZS5yZWZsZXhzdXBlcnNldD03MTM7ZS5ub3RzdWJzZXQ9NzEzO2UucHJvcGVyc3Vic2V0PTcxMztlLnJlZmxleHN1YnNldD03MTM7ZS5lbGVtZW50PTcxMztlLm5vdGVsZW1lbnQ9NzEzO2UuYW5nbGU9NzY4O2UuZ3JhZGllbnQ9NzEzO2UucmVnaXN0ZXJzZXJpZj03OTA7ZS5jb3B5cmlnaHRzZXJpZj03OTA7ZS50cmFkZW1hcmtzZXJpZj04OTA7ZS5wcm9kdWN0PTgyMztlLnJhZGljYWw9NTQ5O2UuZG90bWF0aD0yNTA7ZS5sb2dpY2Fsbm90PTcxMztlLmxvZ2ljYWxhbmQ9NjAzO2UubG9naWNhbG9yPTYwMztlLmFycm93ZGJsYm90aD0xMDQyO2UuYXJyb3dkYmxsZWZ0PTk4NztlLmFycm93ZGJsdXA9NjAzO2UuYXJyb3dkYmxyaWdodD05ODc7ZS5hcnJvd2RibGRvd249NjAzO2UubG96ZW5nZT00OTQ7ZS5hbmdsZWxlZnQ9MzI5O2UucmVnaXN0ZXJzYW5zPTc5MDtlLmNvcHlyaWdodHNhbnM9NzkwO2UudHJhZGVtYXJrc2Fucz03ODY7ZS5zdW1tYXRpb249NzEzO2UucGFyZW5sZWZ0dHA9Mzg0O2UucGFyZW5sZWZ0ZXg9Mzg0O2UucGFyZW5sZWZ0YnQ9Mzg0O2UuYnJhY2tldGxlZnR0cD0zODQ7ZS5icmFja2V0bGVmdGV4PTM4NDtlLmJyYWNrZXRsZWZ0YnQ9Mzg0O2UuYnJhY2VsZWZ0dHA9NDk0O2UuYnJhY2VsZWZ0bWlkPTQ5NDtlLmJyYWNlbGVmdGJ0PTQ5NDtlLmJyYWNlZXg9NDk0O2UuYW5nbGVyaWdodD0zMjk7ZS5pbnRlZ3JhbD0yNzQ7ZS5pbnRlZ3JhbHRwPTY4NjtlLmludGVncmFsZXg9Njg2O2UuaW50ZWdyYWxidD02ODY7ZS5wYXJlbnJpZ2h0dHA9Mzg0O2UucGFyZW5yaWdodGV4PTM4NDtlLnBhcmVucmlnaHRidD0zODQ7ZS5icmFja2V0cmlnaHR0cD0zODQ7ZS5icmFja2V0cmlnaHRleD0zODQ7ZS5icmFja2V0cmlnaHRidD0zODQ7ZS5icmFjZXJpZ2h0dHA9NDk0O2UuYnJhY2VyaWdodG1pZD00OTQ7ZS5icmFjZXJpZ2h0YnQ9NDk0O2UuYXBwbGU9NzkwfSkpO2VbIlRpbWVzLVJvbWFuIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD00MDg7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTY0O2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU2NDtlLmVxdWFsPTU2NDtlLmdyZWF0ZXI9NTY0O2UucXVlc3Rpb249NDQ0O2UuYXQ9OTIxO2UuQT03MjI7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTYxMTtlLkY9NTU2O2UuRz03MjI7ZS5IPTcyMjtlLkk9MzMzO2UuSj0zODk7ZS5LPTcyMjtlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD01NTY7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj03MjI7ZS5XPTk0NDtlLlg9NzIyO2UuWT03MjI7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NDY5O2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT00NDQ7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTUwMDtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTUwMDtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9MzMzO2Uucz0zODk7ZS50PTI3ODtlLnU9NTAwO2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD00ODA7ZS5iYXI9MjAwO2UuYnJhY2VyaWdodD00ODA7ZS5hc2NpaXRpbGRlPTU0MTtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9MTgwO2UucXVvdGVkYmxsZWZ0PTQ0NDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NDUzO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT00NDQ7ZS5xdW90ZWRibHJpZ2h0PTQ0NDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj00NDQ7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTg4OTtlLm9yZGZlbWluaW5lPTI3NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9ODg5O2Uub3JkbWFzY3VsaW5lPTMxMDtlLmFlPTY2NztlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9MzMzO2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT00NDQ7ZS51aHVuZ2FydW1sYXV0PTUwMDtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU2NDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NDQ0O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz00NDQ7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01MDA7ZS5FZGllcmVzaXM9NjExO2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NjA7ZS5FbWFjcm9uPTYxMTtlLmNjYXJvbj00NDQ7ZS5hcmluZz00NDQ7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT00NDQ7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT00NDQ7ZS5FZG90YWNjZW50PTYxMTtlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTUwMDtlLmFjaXJjdW1mbGV4PTQ0NDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTMzMztlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NTU2O2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj01ODg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTUwMDtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTY0O2UudWFjdXRlPTUwMDtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTYxMTtlLmFkaWVyZXNpcz00NDQ7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01MDA7ZS51bWFjcm9uPTUwMDtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9MzMzO2UucGx1c21pbnVzPTU2NDtlLmJyb2tlbmJhcj0yMDA7ZS5yZWdpc3RlcmVkPTc2MDtlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTMzMztlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjExO2UucmFjdXRlPTMzMztlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzI2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj00NDQ7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTAwO2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02MTE7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzQ0O2UuS2NvbW1hYWNjZW50PTcyMjtlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9OTgwO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9MzMzO2UuSW1hY3Jvbj0zMzM7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTUwMDtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTYxMTtlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01MDA7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9MzMzO2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02MTE7ZS5Jb2dvbmVrPTMzMztlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz01NjQ7ZS5JY2lyY3VtZmxleD0zMzM7ZS5uY2Fyb249NTAwO2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NTY0O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01MDA7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTAwO2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zMzM7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTFlMztlLmFtcGVyc2FuZD04MzM7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9OTMwO2UuQT03MjI7ZS5CPTY2NztlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTc3ODtlLkw9NjY3O2UuTT05NDQ7ZS5OPTcyMjtlLk89Nzc4O2UuUD02MTE7ZS5RPTc3ODtlLlI9NzIyO2UuUz01NTY7ZS5UPTY2NztlLlU9NzIyO2UuVj03MjI7ZS5XPTFlMztlLlg9NzIyO2UuWT03MjI7ZS5aPTY2NztlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTgxO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTU1NjtlLmM9NDQ0O2UuZD01NTY7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0zMzM7ZS5rPTU1NjtlLmw9Mjc4O2UubT04MzM7ZS5uPTU1NjtlLm89NTAwO2UucD01NTY7ZS5xPTU1NjtlLnI9NDQ0O2Uucz0zODk7ZS50PTMzMztlLnU9NTU2O2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTQ0NDtlLmJyYWNlbGVmdD0zOTQ7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zOTQ7ZS5hc2NpaXRpbGRlPTUyMDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTQwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTMwMDtlLkxzbGFzaD02Njc7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTMzMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01NTY7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NzIyO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT03MjI7ZS5BY2lyY3VtZmxleD03MjI7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjY3O2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NzIyO2UucmNhcm9uPTQ0NDtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjY3O2UuVGhvcm49NjExO2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02NzI7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT03MjI7ZS5BYnJldmU9NzIyO2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02Njc7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTQ0NDtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTY2NztlLlpjYXJvbj02Njc7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249NDE2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT03MjI7ZS5BZGllcmVzaXM9NzIyO2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT00NDQ7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01NTY7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NTU2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTU2O2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249Mzk0O2UuS2NvbW1hYWNjZW50PTc3ODtlLkxhY3V0ZT02Njc7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjY3O2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9NDQ0O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTY2NztlLkF0aWxkZT03MjI7ZS5Bb2dvbmVrPTcyMjtlLkFyaW5nPTcyMjtlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTQ0NDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01NTY7ZS5taW51cz01NzA7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTMzMztlLmxvZ2ljYWxub3Q9NTcwO2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj00NDQ7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1Cb2xkSXRhbGljIl09Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI1MDtlLmV4Y2xhbT0zODk7ZS5xdW90ZWRibD01NTU7ZS5udW1iZXJzaWduPTUwMDtlLmRvbGxhcj01MDA7ZS5wZXJjZW50PTgzMztlLmFtcGVyc2FuZD03Nzg7ZS5xdW90ZXJpZ2h0PTMzMztlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTUwMDtlLnBsdXM9NTcwO2UuY29tbWE9MjUwO2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTMzMztlLnNlbWljb2xvbj0zMzM7ZS5sZXNzPTU3MDtlLmVxdWFsPTU3MDtlLmdyZWF0ZXI9NTcwO2UucXVlc3Rpb249NTAwO2UuYXQ9ODMyO2UuQT02Njc7ZS5CPTY2NztlLkM9NjY3O2UuRD03MjI7ZS5FPTY2NztlLkY9NjY3O2UuRz03MjI7ZS5IPTc3ODtlLkk9Mzg5O2UuSj01MDA7ZS5LPTY2NztlLkw9NjExO2UuTT04ODk7ZS5OPTcyMjtlLk89NzIyO2UuUD02MTE7ZS5RPTcyMjtlLlI9NjY3O2UuUz01NTY7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTg4OTtlLlg9NjY3O2UuWT02MTE7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9MzMzO2UuYXNjaWljaXJjdW09NTcwO2UudW5kZXJzY29yZT01MDA7ZS5xdW90ZWxlZnQ9MzMzO2UuYT01MDA7ZS5iPTUwMDtlLmM9NDQ0O2UuZD01MDA7ZS5lPTQ0NDtlLmY9MzMzO2UuZz01MDA7ZS5oPTU1NjtlLmk9Mjc4O2Uuaj0yNzg7ZS5rPTUwMDtlLmw9Mjc4O2UubT03Nzg7ZS5uPTU1NjtlLm89NTAwO2UucD01MDA7ZS5xPTUwMDtlLnI9Mzg5O2Uucz0zODk7ZS50PTI3ODtlLnU9NTU2O2Uudj00NDQ7ZS53PTY2NztlLng9NTAwO2UueT00NDQ7ZS56PTM4OTtlLmJyYWNlbGVmdD0zNDg7ZS5iYXI9MjIwO2UuYnJhY2VyaWdodD0zNDg7ZS5hc2NpaXRpbGRlPTU3MDtlLmV4Y2xhbWRvd249Mzg5O2UuY2VudD01MDA7ZS5zdGVybGluZz01MDA7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTAwO2UuZmxvcmluPTUwMDtlLnNlY3Rpb249NTAwO2UuY3VycmVuY3k9NTAwO2UucXVvdGVzaW5nbGU9Mjc4O2UucXVvdGVkYmxsZWZ0PTUwMDtlLmd1aWxsZW1vdGxlZnQ9NTAwO2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01NTY7ZS5mbD01NTY7ZS5lbmRhc2g9NTAwO2UuZGFnZ2VyPTUwMDtlLmRhZ2dlcmRibD01MDA7ZS5wZXJpb2RjZW50ZXJlZD0yNTA7ZS5wYXJhZ3JhcGg9NTAwO2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTMzMztlLnF1b3RlZGJsYmFzZT01MDA7ZS5xdW90ZWRibHJpZ2h0PTUwMDtlLmd1aWxsZW1vdHJpZ2h0PTUwMDtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj01MDA7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTk0NDtlLm9yZGZlbWluaW5lPTI2NjtlLkxzbGFzaD02MTE7ZS5Pc2xhc2g9NzIyO2UuT0U9OTQ0O2Uub3JkbWFzY3VsaW5lPTMwMDtlLmFlPTcyMjtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yNzg7ZS5vc2xhc2g9NTAwO2Uub2U9NzIyO2UuZ2VybWFuZGJscz01MDA7ZS5JZGllcmVzaXM9Mzg5O2UuZWFjdXRlPTQ0NDtlLmFicmV2ZT01MDA7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj00NDQ7ZS5ZZGllcmVzaXM9NjExO2UuZGl2aWRlPTU3MDtlLllhY3V0ZT02MTE7ZS5BY2lyY3VtZmxleD02Njc7ZS5hYWN1dGU9NTAwO2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTQ0NDtlLnNjb21tYWFjY2VudD0zODk7ZS5lY2lyY3VtZmxleD00NDQ7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01MDA7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03NDc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj00NDQ7ZS5hcmluZz01MDA7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTI3ODtlLmFncmF2ZT01MDA7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTY2NztlLmF0aWxkZT01MDA7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj0zODk7ZS5zY2VkaWxsYT0zODk7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00OTQ7ZS5SY2Fyb249NjY3O2UuR2NvbW1hYWNjZW50PTcyMjtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTUwMDtlLkFtYWNyb249NjY3O2UucmNhcm9uPTM4OTtlLmNjZWRpbGxhPTQ0NDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjExO2UuT21hY3Jvbj03MjI7ZS5SYWN1dGU9NjY3O2UuU2FjdXRlPTU1NjtlLmRjYXJvbj02MDg7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzAwO2UuT2dyYXZlPTcyMjtlLkFncmF2ZT02Njc7ZS5BYnJldmU9NjY3O2UubXVsdGlwbHk9NTcwO2UudWFjdXRlPTU1NjtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00OTQ7ZS55ZGllcmVzaXM9NDQ0O2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01MDA7ZS5lZGllcmVzaXM9NDQ0O2UuY2FjdXRlPTQ0NDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mzg5O2UucGx1c21pbnVzPTU3MDtlLmJyb2tlbmJhcj0yMjA7ZS5yZWdpc3RlcmVkPTc0NztlLkdicmV2ZT03MjI7ZS5JZG90YWNjZW50PTM4OTtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTM4OTtlLm9tYWNyb249NTAwO2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTY2NztlLmxjb21tYWFjY2VudD0yNzg7ZS50Y2Fyb249MzY2O2UuZW9nb25laz00NDQ7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02Njc7ZS5BZGllcmVzaXM9NjY3O2UuZWdyYXZlPTQ0NDtlLnphY3V0ZT0zODk7ZS5pb2dvbmVrPTI3ODtlLk9hY3V0ZT03MjI7ZS5vYWN1dGU9NTAwO2UuYW1hY3Jvbj01MDA7ZS5zYWN1dGU9Mzg5O2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTcyMjtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01MDA7ZS50d29zdXBlcmlvcj0zMDA7ZS5PZGllcmVzaXM9NzIyO2UubXU9NTc2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTAwO2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTAwO2UudGhyZWVxdWFydGVycz03NTA7ZS5TY2VkaWxsYT01NTY7ZS5sY2Fyb249MzgyO2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT02MTE7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD00NDQ7ZS5JZ3JhdmU9Mzg5O2UuSW1hY3Jvbj0zODk7ZS5MY2Fyb249NjExO2Uub25laGFsZj03NTA7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTAwO2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NDQ0O2UuZ2JyZXZlPTUwMDtlLm9uZXF1YXJ0ZXI9NzUwO2UuU2Nhcm9uPTU1NjtlLlNjb21tYWFjY2VudD01NTY7ZS5PaHVuZ2FydW1sYXV0PTcyMjtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTAwO2UuQ2Nhcm9uPTY2NztlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTU0OTtlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9Mzg5O2UuTnRpbGRlPTcyMjtlLm90aWxkZT01MDA7ZS5SY29tbWFhY2NlbnQ9NjY3O2UuTGNvbW1hYWNjZW50PTYxMTtlLkF0aWxkZT02Njc7ZS5Bb2dvbmVrPTY2NztlLkFyaW5nPTY2NztlLk90aWxkZT03MjI7ZS56ZG90YWNjZW50PTM4OTtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTM4OTtlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz02MDY7ZS5JY2lyY3VtZmxleD0zODk7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NjA2O2Uub2RpZXJlc2lzPTUwMDtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTAwO2UuZXRoPTUwMDtlLnpjYXJvbj0zODk7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzAwO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTUwMH0pKTtlWyJUaW1lcy1JdGFsaWMiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQyMDtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz02NzU7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9Njc1O2UuZXF1YWw9Njc1O2UuZ3JlYXRlcj02NzU7ZS5xdWVzdGlvbj01MDA7ZS5hdD05MjA7ZS5BPTYxMTtlLkI9NjExO2UuQz02Njc7ZS5EPTcyMjtlLkU9NjExO2UuRj02MTE7ZS5HPTcyMjtlLkg9NzIyO2UuST0zMzM7ZS5KPTQ0NDtlLks9NjY3O2UuTD01NTY7ZS5NPTgzMztlLk49NjY3O2UuTz03MjI7ZS5QPTYxMTtlLlE9NzIyO2UuUj02MTE7ZS5TPTUwMDtlLlQ9NTU2O2UuVT03MjI7ZS5WPTYxMTtlLlc9ODMzO2UuWD02MTE7ZS5ZPTU1NjtlLlo9NTU2O2UuYnJhY2tldGxlZnQ9Mzg5O2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zODk7ZS5hc2NpaWNpcmN1bT00MjI7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTUwMDtlLmI9NTAwO2UuYz00NDQ7ZS5kPTUwMDtlLmU9NDQ0O2UuZj0yNzg7ZS5nPTUwMDtlLmg9NTAwO2UuaT0yNzg7ZS5qPTI3ODtlLms9NDQ0O2UubD0yNzg7ZS5tPTcyMjtlLm49NTAwO2Uubz01MDA7ZS5wPTUwMDtlLnE9NTAwO2Uucj0zODk7ZS5zPTM4OTtlLnQ9Mjc4O2UudT01MDA7ZS52PTQ0NDtlLnc9NjY3O2UueD00NDQ7ZS55PTQ0NDtlLno9Mzg5O2UuYnJhY2VsZWZ0PTQwMDtlLmJhcj0yNzU7ZS5icmFjZXJpZ2h0PTQwMDtlLmFzY2lpdGlsZGU9NTQxO2UuZXhjbGFtZG93bj0zODk7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0yMTQ7ZS5xdW90ZWRibGxlZnQ9NTU2O2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTUwMDtlLmZsPTUwMDtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD01MjM7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTU1NjtlLnF1b3RlZGJscmlnaHQ9NTU2O2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9ODg5O2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTUwMDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9ODg5O2UuQUU9ODg5O2Uub3JkZmVtaW5pbmU9Mjc2O2UuTHNsYXNoPTU1NjtlLk9zbGFzaD03MjI7ZS5PRT05NDQ7ZS5vcmRtYXNjdWxpbmU9MzEwO2UuYWU9NjY3O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT02Njc7ZS5nZXJtYW5kYmxzPTUwMDtlLklkaWVyZXNpcz0zMzM7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTUwMDtlLnVodW5nYXJ1bWxhdXQ9NTAwO2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz01NTY7ZS5kaXZpZGU9Njc1O2UuWWFjdXRlPTU1NjtlLkFjaXJjdW1mbGV4PTYxMTtlLmFhY3V0ZT01MDA7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NDQ0O2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTUwMDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTUwMDtlLkVkaWVyZXNpcz02MTE7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc2MDtlLkVtYWNyb249NjExO2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTUwMDtlLk5jb21tYWFjY2VudD02Njc7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTUwMDtlLlRjb21tYWFjY2VudD01NTY7ZS5DYWN1dGU9NjY3O2UuYXRpbGRlPTUwMDtlLkVkb3RhY2NlbnQ9NjExO2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj02MTE7ZS5HY29tbWFhY2NlbnQ9NzIyO2UudWNpcmN1bWZsZXg9NTAwO2UuYWNpcmN1bWZsZXg9NTAwO2UuQW1hY3Jvbj02MTE7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD01NTY7ZS5UaG9ybj02MTE7ZS5PbWFjcm9uPTcyMjtlLlJhY3V0ZT02MTE7ZS5TYWN1dGU9NTAwO2UuZGNhcm9uPTU0NDtlLlVtYWNyb249NzIyO2UudXJpbmc9NTAwO2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9NzIyO2UuQWdyYXZlPTYxMTtlLkFicmV2ZT02MTE7ZS5tdWx0aXBseT02NzU7ZS51YWN1dGU9NTAwO2UuVGNhcm9uPTU1NjtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz00NDQ7ZS5OYWN1dGU9NjY3O2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjExO2UuYWRpZXJlc2lzPTUwMDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTUwMDtlLnVtYWNyb249NTAwO2UuTmNhcm9uPTY2NztlLklhY3V0ZT0zMzM7ZS5wbHVzbWludXM9Njc1O2UuYnJva2VuYmFyPTI3NTtlLnJlZ2lzdGVyZWQ9NzYwO2UuR2JyZXZlPTcyMjtlLklkb3RhY2NlbnQ9MzMzO2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02MTE7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NTU2O2UuWmNhcm9uPTU1NjtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NjY3O2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zMDA7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTYxMTtlLkFkaWVyZXNpcz02MTE7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTM4OTtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTcyMjtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTUwMDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9NzIyO2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTUwMDtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03MjI7ZS5tdT01MDA7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTYxMTtlLmRjcm9hdD01MDA7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTUwMDtlLmxjYXJvbj0zMDA7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTU1NjtlLnRyYWRlbWFyaz05ODA7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zMzM7ZS5JbWFjcm9uPTMzMztlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTAwO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjExO2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTAwO2UuU2NvbW1hYWNjZW50PTUwMDtlLk9odW5nYXJ1bWxhdXQ9NzIyO2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NjY3O2UudWdyYXZlPTUwMDtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NjY3O2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD02MTE7ZS5MY29tbWFhY2NlbnQ9NTU2O2UuQXRpbGRlPTYxMTtlLkFvZ29uZWs9NjExO2UuQXJpbmc9NjExO2UuT3RpbGRlPTcyMjtlLnpkb3RhY2NlbnQ9Mzg5O2UuRWNhcm9uPTYxMTtlLklvZ29uZWs9MzMzO2Uua2NvbW1hYWNjZW50PTQ0NDtlLm1pbnVzPTY3NTtlLkljaXJjdW1mbGV4PTMzMztlLm5jYXJvbj01MDA7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD02NzU7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTUwMDtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTM4OTtlLm5jb21tYWFjY2VudD01MDA7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2UuWmFwZkRpbmdiYXRzPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5hMT05NzQ7ZS5hMj05NjE7ZS5hMjAyPTk3NDtlLmEzPTk4MDtlLmE0PTcxOTtlLmE1PTc4OTtlLmExMTk9NzkwO2UuYTExOD03OTE7ZS5hMTE3PTY5MDtlLmExMT05NjA7ZS5hMTI9OTM5O2UuYTEzPTU0OTtlLmExND04NTU7ZS5hMTU9OTExO2UuYTE2PTkzMztlLmExMDU9OTExO2UuYTE3PTk0NTtlLmExOD05NzQ7ZS5hMTk9NzU1O2UuYTIwPTg0NjtlLmEyMT03NjI7ZS5hMjI9NzYxO2UuYTIzPTU3MTtlLmEyND02Nzc7ZS5hMjU9NzYzO2UuYTI2PTc2MDtlLmEyNz03NTk7ZS5hMjg9NzU0O2UuYTY9NDk0O2UuYTc9NTUyO2UuYTg9NTM3O2UuYTk9NTc3O2UuYTEwPTY5MjtlLmEyOT03ODY7ZS5hMzA9Nzg4O2UuYTMxPTc4ODtlLmEzMj03OTA7ZS5hMzM9NzkzO2UuYTM0PTc5NDtlLmEzNT04MTY7ZS5hMzY9ODIzO2UuYTM3PTc4OTtlLmEzOD04NDE7ZS5hMzk9ODIzO2UuYTQwPTgzMztlLmE0MT04MTY7ZS5hNDI9ODMxO2UuYTQzPTkyMztlLmE0ND03NDQ7ZS5hNDU9NzIzO2UuYTQ2PTc0OTtlLmE0Nz03OTA7ZS5hNDg9NzkyO2UuYTQ5PTY5NTtlLmE1MD03NzY7ZS5hNTE9NzY4O2UuYTUyPTc5MjtlLmE1Mz03NTk7ZS5hNTQ9NzA3O2UuYTU1PTcwODtlLmE1Nj02ODI7ZS5hNTc9NzAxO2UuYTU4PTgyNjtlLmE1OT04MTU7ZS5hNjA9Nzg5O2UuYTYxPTc4OTtlLmE2Mj03MDc7ZS5hNjM9Njg3O2UuYTY0PTY5NjtlLmE2NT02ODk7ZS5hNjY9Nzg2O2UuYTY3PTc4NztlLmE2OD03MTM7ZS5hNjk9NzkxO2UuYTcwPTc4NTtlLmE3MT03OTE7ZS5hNzI9ODczO2UuYTczPTc2MTtlLmE3ND03NjI7ZS5hMjAzPTc2MjtlLmE3NT03NTk7ZS5hMjA0PTc1OTtlLmE3Nj04OTI7ZS5hNzc9ODkyO2UuYTc4PTc4ODtlLmE3OT03ODQ7ZS5hODE9NDM4O2UuYTgyPTEzODtlLmE4Mz0yNzc7ZS5hODQ9NDE1O2UuYTk3PTM5MjtlLmE5OD0zOTI7ZS5hOTk9NjY4O2UuYTEwMD02Njg7ZS5hODk9MzkwO2UuYTkwPTM5MDtlLmE5Mz0zMTc7ZS5hOTQ9MzE3O2UuYTkxPTI3NjtlLmE5Mj0yNzY7ZS5hMjA1PTUwOTtlLmE4NT01MDk7ZS5hMjA2PTQxMDtlLmE4Nj00MTA7ZS5hODc9MjM0O2UuYTg4PTIzNDtlLmE5NT0zMzQ7ZS5hOTY9MzM0O2UuYTEwMT03MzI7ZS5hMTAyPTU0NDtlLmExMDM9NTQ0O2UuYTEwND05MTA7ZS5hMTA2PTY2NztlLmExMDc9NzYwO2UuYTEwOD03NjA7ZS5hMTEyPTc3NjtlLmExMTE9NTk1O2UuYTExMD02OTQ7ZS5hMTA5PTYyNjtlLmExMjA9Nzg4O2UuYTEyMT03ODg7ZS5hMTIyPTc4ODtlLmExMjM9Nzg4O2UuYTEyND03ODg7ZS5hMTI1PTc4ODtlLmExMjY9Nzg4O2UuYTEyNz03ODg7ZS5hMTI4PTc4ODtlLmExMjk9Nzg4O2UuYTEzMD03ODg7ZS5hMTMxPTc4ODtlLmExMzI9Nzg4O2UuYTEzMz03ODg7ZS5hMTM0PTc4ODtlLmExMzU9Nzg4O2UuYTEzNj03ODg7ZS5hMTM3PTc4ODtlLmExMzg9Nzg4O2UuYTEzOT03ODg7ZS5hMTQwPTc4ODtlLmExNDE9Nzg4O2UuYTE0Mj03ODg7ZS5hMTQzPTc4ODtlLmExNDQ9Nzg4O2UuYTE0NT03ODg7ZS5hMTQ2PTc4ODtlLmExNDc9Nzg4O2UuYTE0OD03ODg7ZS5hMTQ5PTc4ODtlLmExNTA9Nzg4O2UuYTE1MT03ODg7ZS5hMTUyPTc4ODtlLmExNTM9Nzg4O2UuYTE1ND03ODg7ZS5hMTU1PTc4ODtlLmExNTY9Nzg4O2UuYTE1Nz03ODg7ZS5hMTU4PTc4ODtlLmExNTk9Nzg4O2UuYTE2MD04OTQ7ZS5hMTYxPTgzODtlLmExNjM9MTAxNjtlLmExNjQ9NDU4O2UuYTE5Nj03NDg7ZS5hMTY1PTkyNDtlLmExOTI9NzQ4O2UuYTE2Nj05MTg7ZS5hMTY3PTkyNztlLmExNjg9OTI4O2UuYTE2OT05Mjg7ZS5hMTcwPTgzNDtlLmExNzE9ODczO2UuYTE3Mj04Mjg7ZS5hMTczPTkyNDtlLmExNjI9OTI0O2UuYTE3ND05MTc7ZS5hMTc1PTkzMDtlLmExNzY9OTMxO2UuYTE3Nz00NjM7ZS5hMTc4PTg4MztlLmExNzk9ODM2O2UuYTE5Mz04MzY7ZS5hMTgwPTg2NztlLmExOTk9ODY3O2UuYTE4MT02OTY7ZS5hMjAwPTY5NjtlLmExODI9ODc0O2UuYTIwMT04NzQ7ZS5hMTgzPTc2MDtlLmExODQ9OTQ2O2UuYTE5Nz03NzE7ZS5hMTg1PTg2NTtlLmExOTQ9NzcxO2UuYTE5OD04ODg7ZS5hMTg2PTk2NztlLmExOTU9ODg4O2UuYTE4Nz04MzE7ZS5hMTg4PTg3MztlLmExODk9OTI3O2UuYTE5MD05NzA7ZS5hMTkxPTkxOH0pKX0pKSxzYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2UuQ291cmllcj17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0Oi00MjZ9O2VbIkNvdXJpZXItQm9sZCJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDM5fTtlWyJDb3VyaWVyLU9ibGlxdWUiXT17YXNjZW50OjYyOSxkZXNjZW50Oi0xNTcsY2FwSGVpZ2h0OjU2Mix4SGVpZ2h0OjQyNn07ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDI2fTtlLkhlbHZldGljYT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGQiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUzMn07ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUyM307ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09e2FzY2VudDo3MTgsZGVzY2VudDotMjA3LGNhcEhlaWdodDo3MTgseEhlaWdodDo1MzJ9O2VbIlRpbWVzLVJvbWFuIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NjIseEhlaWdodDo0NTB9O2VbIlRpbWVzLUJvbGQiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY3Nix4SGVpZ2h0OjQ2MX07ZVsiVGltZXMtSXRhbGljIl09e2FzY2VudDo2ODMsZGVzY2VudDotMjE3LGNhcEhlaWdodDo2NTMseEhlaWdodDo0NDF9O2VbIlRpbWVzLUJvbGRJdGFsaWMiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY2OSx4SGVpZ2h0OjQ2Mn07ZS5TeW1ib2w9e2FzY2VudDpNYXRoLk5hTixkZXNjZW50Ok1hdGguTmFOLGNhcEhlaWdodDpNYXRoLk5hTix4SGVpZ2h0Ok1hdGguTmFOfTtlLlphcGZEaW5nYmF0cz17YXNjZW50Ok1hdGguTmFOLGRlc2NlbnQ6TWF0aC5OYU4sY2FwSGVpZ2h0Ok1hdGguTmFOLHhIZWlnaHQ6TWF0aC5OYU59fSkpO2NsYXNzIEdseWZUYWJsZXtjb25zdHJ1Y3Rvcih7Z2x5ZlRhYmxlOmUsaXNHbHlwaExvY2F0aW9uc0xvbmc6dCxsb2NhVGFibGU6aSxudW1HbHlwaHM6YX0pe3RoaXMuZ2x5cGhzPVtdO2NvbnN0IHM9bmV3IERhdGFWaWV3KGkuYnVmZmVyLGkuYnl0ZU9mZnNldCxpLmJ5dGVMZW5ndGgpLHI9bmV3IERhdGFWaWV3KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpLG49dD80OjI7bGV0IGc9dD9zLmdldFVpbnQzMigwKToyKnMuZ2V0VWludDE2KDApLG89MDtmb3IobGV0IGU9MDtlPGE7ZSsrKXtvKz1uO2NvbnN0IGU9dD9zLmdldFVpbnQzMihvKToyKnMuZ2V0VWludDE2KG8pO2lmKGU9PT1nKXt0aGlzLmdseXBocy5wdXNoKG5ldyBHbHlwaCh7fSkpO2NvbnRpbnVlfWNvbnN0IGk9R2x5cGgucGFyc2UoZyxyKTt0aGlzLmdseXBocy5wdXNoKGkpO2c9ZX19Z2V0U2l6ZSgpe3JldHVybiB0aGlzLmdseXBocy5yZWR1Y2UoKChlLHQpPT5lKyh0LmdldFNpemUoKSszJi00KSksMCl9d3JpdGUoKXtjb25zdCBlPXRoaXMuZ2V0U2l6ZSgpLHQ9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcihlKSksaT1lPjEzMTA3MCxhPWk/NDoyLHM9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigodGhpcy5nbHlwaHMubGVuZ3RoKzEpKmEpKTtpP3Muc2V0VWludDMyKDAsMCk6cy5zZXRVaW50MTYoMCwwKTtsZXQgcj0wLG49MDtmb3IoY29uc3QgZSBvZiB0aGlzLmdseXBocyl7cis9ZS53cml0ZShyLHQpO3I9ciszJi00O24rPWE7aT9zLnNldFVpbnQzMihuLHIpOnMuc2V0VWludDE2KG4scj4+MSl9cmV0dXJue2lzTG9jYXRpb25Mb25nOmksbG9jYTpuZXcgVWludDhBcnJheShzLmJ1ZmZlciksZ2x5ZjpuZXcgVWludDhBcnJheSh0LmJ1ZmZlcil9fXNjYWxlKGUpe2ZvcihsZXQgdD0wLGk9dGhpcy5nbHlwaHMubGVuZ3RoO3Q8aTt0KyspdGhpcy5nbHlwaHNbdF0uc2NhbGUoZVt0XSl9fWNsYXNzIEdseXBoe2NvbnN0cnVjdG9yKHtoZWFkZXI6ZT1udWxsLHNpbXBsZTp0PW51bGwsY29tcG9zaXRlczppPW51bGx9KXt0aGlzLmhlYWRlcj1lO3RoaXMuc2ltcGxlPXQ7dGhpcy5jb21wb3NpdGVzPWl9c3RhdGljIHBhcnNlKGUsdCl7Y29uc3RbaSxhXT1HbHlwaEhlYWRlci5wYXJzZShlLHQpO2UrPWk7aWYoYS5udW1iZXJPZkNvbnRvdXJzPDApe2NvbnN0IGk9W107Zm9yKDs7KXtjb25zdFthLHNdPUNvbXBvc2l0ZUdseXBoLnBhcnNlKGUsdCk7ZSs9YTtpLnB1c2gocyk7aWYoISgzMiZzLmZsYWdzKSlicmVha31yZXR1cm4gbmV3IEdseXBoKHtoZWFkZXI6YSxjb21wb3NpdGVzOml9KX1jb25zdCBzPVNpbXBsZUdseXBoLnBhcnNlKGUsdCxhLm51bWJlck9mQ29udG91cnMpO3JldHVybiBuZXcgR2x5cGgoe2hlYWRlcjphLHNpbXBsZTpzfSl9Z2V0U2l6ZSgpe2lmKCF0aGlzLmhlYWRlcilyZXR1cm4gMDtjb25zdCBlPXRoaXMuc2ltcGxlP3RoaXMuc2ltcGxlLmdldFNpemUoKTp0aGlzLmNvbXBvc2l0ZXMucmVkdWNlKCgoZSx0KT0+ZSt0LmdldFNpemUoKSksMCk7cmV0dXJuIHRoaXMuaGVhZGVyLmdldFNpemUoKStlfXdyaXRlKGUsdCl7aWYoIXRoaXMuaGVhZGVyKXJldHVybiAwO2NvbnN0IGk9ZTtlKz10aGlzLmhlYWRlci53cml0ZShlLHQpO2lmKHRoaXMuc2ltcGxlKWUrPXRoaXMuc2ltcGxlLndyaXRlKGUsdCk7ZWxzZSBmb3IoY29uc3QgaSBvZiB0aGlzLmNvbXBvc2l0ZXMpZSs9aS53cml0ZShlLHQpO3JldHVybiBlLWl9c2NhbGUoZSl7aWYoIXRoaXMuaGVhZGVyKXJldHVybjtjb25zdCB0PSh0aGlzLmhlYWRlci54TWluK3RoaXMuaGVhZGVyLnhNYXgpLzI7dGhpcy5oZWFkZXIuc2NhbGUodCxlKTtpZih0aGlzLnNpbXBsZSl0aGlzLnNpbXBsZS5zY2FsZSh0LGUpO2Vsc2UgZm9yKGNvbnN0IGkgb2YgdGhpcy5jb21wb3NpdGVzKWkuc2NhbGUodCxlKX19Y2xhc3MgR2x5cGhIZWFkZXJ7Y29uc3RydWN0b3Ioe251bWJlck9mQ29udG91cnM6ZSx4TWluOnQseU1pbjppLHhNYXg6YSx5TWF4OnN9KXt0aGlzLm51bWJlck9mQ29udG91cnM9ZTt0aGlzLnhNaW49dDt0aGlzLnlNaW49aTt0aGlzLnhNYXg9YTt0aGlzLnlNYXg9c31zdGF0aWMgcGFyc2UoZSx0KXtyZXR1cm5bMTAsbmV3IEdseXBoSGVhZGVyKHtudW1iZXJPZkNvbnRvdXJzOnQuZ2V0SW50MTYoZSkseE1pbjp0LmdldEludDE2KGUrMikseU1pbjp0LmdldEludDE2KGUrNCkseE1heDp0LmdldEludDE2KGUrNikseU1heDp0LmdldEludDE2KGUrOCl9KV19Z2V0U2l6ZSgpe3JldHVybiAxMH13cml0ZShlLHQpe3Quc2V0SW50MTYoZSx0aGlzLm51bWJlck9mQ29udG91cnMpO3Quc2V0SW50MTYoZSsyLHRoaXMueE1pbik7dC5zZXRJbnQxNihlKzQsdGhpcy55TWluKTt0LnNldEludDE2KGUrNix0aGlzLnhNYXgpO3Quc2V0SW50MTYoZSs4LHRoaXMueU1heCk7cmV0dXJuIDEwfXNjYWxlKGUsdCl7dGhpcy54TWluPU1hdGgucm91bmQoZSsodGhpcy54TWluLWUpKnQpO3RoaXMueE1heD1NYXRoLnJvdW5kKGUrKHRoaXMueE1heC1lKSp0KX19Y2xhc3MgQ29udG91cntjb25zdHJ1Y3Rvcih7ZmxhZ3M6ZSx4Q29vcmRpbmF0ZXM6dCx5Q29vcmRpbmF0ZXM6aX0pe3RoaXMueENvb3JkaW5hdGVzPXQ7dGhpcy55Q29vcmRpbmF0ZXM9aTt0aGlzLmZsYWdzPWV9fWNsYXNzIFNpbXBsZUdseXBoe2NvbnN0cnVjdG9yKHtjb250b3VyczplLGluc3RydWN0aW9uczp0fSl7dGhpcy5jb250b3Vycz1lO3RoaXMuaW5zdHJ1Y3Rpb25zPXR9c3RhdGljIHBhcnNlKGUsdCxpKXtjb25zdCBhPVtdO2ZvcihsZXQgcz0wO3M8aTtzKyspe2NvbnN0IGk9dC5nZXRVaW50MTYoZSk7ZSs9MjthLnB1c2goaSl9Y29uc3Qgcz1hW2ktMV0rMSxyPXQuZ2V0VWludDE2KGUpO2UrPTI7Y29uc3Qgbj1uZXcgVWludDhBcnJheSh0KS5zbGljZShlLGUrcik7ZSs9cjtjb25zdCBnPVtdO2ZvcihsZXQgaT0wO2k8cztlKyssaSsrKXtsZXQgYT10LmdldFVpbnQ4KGUpO2cucHVzaChhKTtpZig4JmEpe2NvbnN0IHM9dC5nZXRVaW50OCgrK2UpO2FePTg7Zm9yKGxldCBlPTA7ZTxzO2UrKylnLnB1c2goYSk7aSs9c319Y29uc3Qgbz1bXTtsZXQgYz1bXSxDPVtdLGg9W107Y29uc3QgbD1bXTtsZXQgUT0wLEU9MDtmb3IobGV0IGk9MDtpPHM7aSsrKXtjb25zdCBzPWdbaV07aWYoMiZzKXtjb25zdCBpPXQuZ2V0VWludDgoZSsrKTtFKz0xNiZzP2k6LWk7Yy5wdXNoKEUpfWVsc2UgaWYoMTYmcyljLnB1c2goRSk7ZWxzZXtFKz10LmdldEludDE2KGUpO2UrPTI7Yy5wdXNoKEUpfWlmKGFbUV09PT1pKXtRKys7by5wdXNoKGMpO2M9W119fUU9MDtRPTA7Zm9yKGxldCBpPTA7aTxzO2krKyl7Y29uc3Qgcz1nW2ldO2lmKDQmcyl7Y29uc3QgaT10LmdldFVpbnQ4KGUrKyk7RSs9MzImcz9pOi1pO0MucHVzaChFKX1lbHNlIGlmKDMyJnMpQy5wdXNoKEUpO2Vsc2V7RSs9dC5nZXRJbnQxNihlKTtlKz0yO0MucHVzaChFKX1oLnB1c2goMSZzfDY0JnMpO2lmKGFbUV09PT1pKXtjPW9bUV07USsrO2wucHVzaChuZXcgQ29udG91cih7ZmxhZ3M6aCx4Q29vcmRpbmF0ZXM6Yyx5Q29vcmRpbmF0ZXM6Q30pKTtDPVtdO2g9W119fXJldHVybiBuZXcgU2ltcGxlR2x5cGgoe2NvbnRvdXJzOmwsaW5zdHJ1Y3Rpb25zOm59KX1nZXRTaXplKCl7bGV0IGU9Mip0aGlzLmNvbnRvdXJzLmxlbmd0aCsyK3RoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCx0PTAsaT0wO2Zvcihjb25zdCBhIG9mIHRoaXMuY29udG91cnMpe2UrPWEuZmxhZ3MubGVuZ3RoO2ZvcihsZXQgcz0wLHI9YS54Q29vcmRpbmF0ZXMubGVuZ3RoO3M8cjtzKyspe2NvbnN0IHI9YS54Q29vcmRpbmF0ZXNbc10sbj1hLnlDb29yZGluYXRlc1tzXTtsZXQgZz1NYXRoLmFicyhyLXQpO2c+MjU1P2UrPTI6Zz4wJiYoZSs9MSk7dD1yO2c9TWF0aC5hYnMobi1pKTtnPjI1NT9lKz0yOmc+MCYmKGUrPTEpO2k9bn19cmV0dXJuIGV9d3JpdGUoZSx0KXtjb25zdCBpPWUsYT1bXSxzPVtdLHI9W107bGV0IG49MCxnPTA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5jb250b3Vycyl7Zm9yKGxldCBlPTAsdD1pLnhDb29yZGluYXRlcy5sZW5ndGg7ZTx0O2UrKyl7bGV0IHQ9aS5mbGFnc1tlXTtjb25zdCBvPWkueENvb3JkaW5hdGVzW2VdO2xldCBjPW8tbjtpZigwPT09Yyl7dHw9MTY7YS5wdXNoKDApfWVsc2V7Y29uc3QgZT1NYXRoLmFicyhjKTtpZihlPD0yNTUpe3R8PWM+PTA/MTg6MjthLnB1c2goZSl9ZWxzZSBhLnB1c2goYyl9bj1vO2NvbnN0IEM9aS55Q29vcmRpbmF0ZXNbZV07Yz1DLWc7aWYoMD09PWMpe3R8PTMyO3MucHVzaCgwKX1lbHNle2NvbnN0IGU9TWF0aC5hYnMoYyk7aWYoZTw9MjU1KXt0fD1jPj0wPzM2OjQ7cy5wdXNoKGUpfWVsc2Ugcy5wdXNoKGMpfWc9QztyLnB1c2godCl9dC5zZXRVaW50MTYoZSxhLmxlbmd0aC0xKTtlKz0yfXQuc2V0VWludDE2KGUsdGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKTtlKz0yO2lmKHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCl7bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsMCx0LmJ1ZmZlci5ieXRlTGVuZ3RoKS5zZXQodGhpcy5pbnN0cnVjdGlvbnMsZSk7ZSs9dGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RofWZvcihjb25zdCBpIG9mIHIpdC5zZXRVaW50OChlKyssaSk7Zm9yKGxldCBpPTAscz1hLmxlbmd0aDtpPHM7aSsrKXtjb25zdCBzPWFbaV0sbj1yW2ldO2lmKDImbil0LnNldFVpbnQ4KGUrKyxzKTtlbHNlIGlmKCEoMTYmbikpe3Quc2V0SW50MTYoZSxzKTtlKz0yfX1mb3IobGV0IGk9MCxhPXMubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9c1tpXSxuPXJbaV07aWYoNCZuKXQuc2V0VWludDgoZSsrLGEpO2Vsc2UgaWYoISgzMiZuKSl7dC5zZXRJbnQxNihlLGEpO2UrPTJ9fXJldHVybiBlLWl9c2NhbGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzLmNvbnRvdXJzKWlmKDAhPT1pLnhDb29yZGluYXRlcy5sZW5ndGgpZm9yKGxldCBhPTAscz1pLnhDb29yZGluYXRlcy5sZW5ndGg7YTxzO2ErKylpLnhDb29yZGluYXRlc1thXT1NYXRoLnJvdW5kKGUrKGkueENvb3JkaW5hdGVzW2FdLWUpKnQpfX1jbGFzcyBDb21wb3NpdGVHbHlwaHtjb25zdHJ1Y3Rvcih7ZmxhZ3M6ZSxnbHlwaEluZGV4OnQsYXJndW1lbnQxOmksYXJndW1lbnQyOmEsdHJhbnNmOnMsaW5zdHJ1Y3Rpb25zOnJ9KXt0aGlzLmZsYWdzPWU7dGhpcy5nbHlwaEluZGV4PXQ7dGhpcy5hcmd1bWVudDE9aTt0aGlzLmFyZ3VtZW50Mj1hO3RoaXMudHJhbnNmPXM7dGhpcy5pbnN0cnVjdGlvbnM9cn1zdGF0aWMgcGFyc2UoZSx0KXtjb25zdCBpPWUsYT1bXTtsZXQgcz10LmdldFVpbnQxNihlKTtjb25zdCByPXQuZ2V0VWludDE2KGUrMik7ZSs9NDtsZXQgbixnO2lmKDEmcyl7aWYoMiZzKXtuPXQuZ2V0SW50MTYoZSk7Zz10LmdldEludDE2KGUrMil9ZWxzZXtuPXQuZ2V0VWludDE2KGUpO2c9dC5nZXRVaW50MTYoZSsyKX1lKz00O3NePTF9ZWxzZXtpZigyJnMpe249dC5nZXRJbnQ4KGUpO2c9dC5nZXRJbnQ4KGUrMSl9ZWxzZXtuPXQuZ2V0VWludDgoZSk7Zz10LmdldFVpbnQ4KGUrMSl9ZSs9Mn1pZig4JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSk7ZSs9Mn1lbHNlIGlmKDY0JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSx0LmdldFVpbnQxNihlKzIpKTtlKz00fWVsc2UgaWYoMTI4JnMpe2EucHVzaCh0LmdldFVpbnQxNihlKSx0LmdldFVpbnQxNihlKzIpLHQuZ2V0VWludDE2KGUrNCksdC5nZXRVaW50MTYoZSs2KSk7ZSs9OH1sZXQgbz1udWxsO2lmKDI1NiZzKXtjb25zdCBpPXQuZ2V0VWludDE2KGUpO2UrPTI7bz1uZXcgVWludDhBcnJheSh0KS5zbGljZShlLGUraSk7ZSs9aX1yZXR1cm5bZS1pLG5ldyBDb21wb3NpdGVHbHlwaCh7ZmxhZ3M6cyxnbHlwaEluZGV4OnIsYXJndW1lbnQxOm4sYXJndW1lbnQyOmcsdHJhbnNmOmEsaW5zdHJ1Y3Rpb25zOm99KV19Z2V0U2l6ZSgpe2xldCBlPTQrMip0aGlzLnRyYW5zZi5sZW5ndGg7MjU2JnRoaXMuZmxhZ3MmJihlKz0yK3RoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjsyJnRoaXMuZmxhZ3M/dGhpcy5hcmd1bWVudDE+PS0xMjgmJnRoaXMuYXJndW1lbnQxPD0xMjcmJnRoaXMuYXJndW1lbnQyPj0tMTI4JiZ0aGlzLmFyZ3VtZW50Mjw9MTI3fHwoZSs9Mik6dGhpcy5hcmd1bWVudDE+PTAmJnRoaXMuYXJndW1lbnQxPD0yNTUmJnRoaXMuYXJndW1lbnQyPj0wJiZ0aGlzLmFyZ3VtZW50Mjw9MjU1fHwoZSs9Mik7cmV0dXJuIGV9d3JpdGUoZSx0KXtjb25zdCBpPWU7MiZ0aGlzLmZsYWdzP3RoaXMuYXJndW1lbnQxPj0tMTI4JiZ0aGlzLmFyZ3VtZW50MTw9MTI3JiZ0aGlzLmFyZ3VtZW50Mj49LTEyOCYmdGhpcy5hcmd1bWVudDI8PTEyN3x8KHRoaXMuZmxhZ3N8PTEpOnRoaXMuYXJndW1lbnQxPj0wJiZ0aGlzLmFyZ3VtZW50MTw9MjU1JiZ0aGlzLmFyZ3VtZW50Mj49MCYmdGhpcy5hcmd1bWVudDI8PTI1NXx8KHRoaXMuZmxhZ3N8PTEpO3Quc2V0VWludDE2KGUsdGhpcy5mbGFncyk7dC5zZXRVaW50MTYoZSsyLHRoaXMuZ2x5cGhJbmRleCk7ZSs9NDtpZigxJnRoaXMuZmxhZ3Mpe2lmKDImdGhpcy5mbGFncyl7dC5zZXRJbnQxNihlLHRoaXMuYXJndW1lbnQxKTt0LnNldEludDE2KGUrMix0aGlzLmFyZ3VtZW50Mil9ZWxzZXt0LnNldFVpbnQxNihlLHRoaXMuYXJndW1lbnQxKTt0LnNldFVpbnQxNihlKzIsdGhpcy5hcmd1bWVudDIpfWUrPTR9ZWxzZXt0LnNldFVpbnQ4KGUsdGhpcy5hcmd1bWVudDEpO3Quc2V0VWludDgoZSsxLHRoaXMuYXJndW1lbnQyKTtlKz0yfWlmKDI1NiZ0aGlzLmZsYWdzKXt0LnNldFVpbnQxNihlLHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCk7ZSs9MjtpZih0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpe25ldyBVaW50OEFycmF5KHQuYnVmZmVyLDAsdC5idWZmZXIuYnl0ZUxlbmd0aCkuc2V0KHRoaXMuaW5zdHJ1Y3Rpb25zLGUpO2UrPXRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aH19cmV0dXJuIGUtaX1zY2FsZShlLHQpe319ZnVuY3Rpb24gd3JpdGVJbnQxNihlLHQsaSl7ZVt0XT1pPj44JjI1NTtlW3QrMV09MjU1Jml9ZnVuY3Rpb24gd3JpdGVJbnQzMihlLHQsaSl7ZVt0XT1pPj4yNCYyNTU7ZVt0KzFdPWk+PjE2JjI1NTtlW3QrMl09aT4+OCYyNTU7ZVt0KzNdPTI1NSZpfWZ1bmN0aW9uIHdyaXRlRGF0YShlLHQsaSl7aWYoaSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpZS5zZXQoaSx0KTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgaSlmb3IobGV0IGE9MCxzPWkubGVuZ3RoO2E8czthKyspZVt0KytdPTI1NSZpLmNoYXJDb2RlQXQoYSk7ZWxzZSBmb3IoY29uc3QgYSBvZiBpKWVbdCsrXT0yNTUmYX1jbGFzcyBPcGVuVHlwZUZpbGVCdWlsZGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuc2ZudD1lO3RoaXMudGFibGVzPU9iamVjdC5jcmVhdGUobnVsbCl9c3RhdGljIGdldFNlYXJjaFBhcmFtcyhlLHQpe2xldCBpPTEsYT0wO2Zvcig7KGleZSk+aTspe2k8PD0xO2ErK31jb25zdCBzPWkqdDtyZXR1cm57cmFuZ2U6cyxlbnRyeTphLHJhbmdlU2hpZnQ6dCplLXN9fXRvQXJyYXkoKXtsZXQgZT10aGlzLnNmbnQ7Y29uc3QgdD10aGlzLnRhYmxlcyxpPU9iamVjdC5rZXlzKHQpO2kuc29ydCgpO2NvbnN0IGE9aS5sZW5ndGg7bGV0IHMscixuLGcsbyxjPTEyKzE2KmE7Y29uc3QgQz1bY107Zm9yKHM9MDtzPGE7cysrKXtnPXRbaVtzXV07Yys9KGcubGVuZ3RoKzMmLTQpPj4+MDtDLnB1c2goYyl9Y29uc3QgaD1uZXcgVWludDhBcnJheShjKTtmb3Iocz0wO3M8YTtzKyspe2c9dFtpW3NdXTt3cml0ZURhdGEoaCxDW3NdLGcpfSJ0cnVlIj09PWUmJihlPXN0cmluZzMyKDY1NTM2KSk7aFswXT0yNTUmZS5jaGFyQ29kZUF0KDApO2hbMV09MjU1JmUuY2hhckNvZGVBdCgxKTtoWzJdPTI1NSZlLmNoYXJDb2RlQXQoMik7aFszXT0yNTUmZS5jaGFyQ29kZUF0KDMpO3dyaXRlSW50MTYoaCw0LGEpO2NvbnN0IGw9T3BlblR5cGVGaWxlQnVpbGRlci5nZXRTZWFyY2hQYXJhbXMoYSwxNik7d3JpdGVJbnQxNihoLDYsbC5yYW5nZSk7d3JpdGVJbnQxNihoLDgsbC5lbnRyeSk7d3JpdGVJbnQxNihoLDEwLGwucmFuZ2VTaGlmdCk7Yz0xMjtmb3Iocz0wO3M8YTtzKyspe289aVtzXTtoW2NdPTI1NSZvLmNoYXJDb2RlQXQoMCk7aFtjKzFdPTI1NSZvLmNoYXJDb2RlQXQoMSk7aFtjKzJdPTI1NSZvLmNoYXJDb2RlQXQoMik7aFtjKzNdPTI1NSZvLmNoYXJDb2RlQXQoMyk7bGV0IGU9MDtmb3Iocj1DW3NdLG49Q1tzKzFdO3I8bjtyKz00KXtlPWUrcmVhZFVpbnQzMihoLHIpPj4+MH13cml0ZUludDMyKGgsYys0LGUpO3dyaXRlSW50MzIoaCxjKzgsQ1tzXSk7d3JpdGVJbnQzMihoLGMrMTIsdFtvXS5sZW5ndGgpO2MrPTE2fXJldHVybiBofWFkZFRhYmxlKGUsdCl7aWYoZSBpbiB0aGlzLnRhYmxlcyl0aHJvdyBuZXcgRXJyb3IoIlRhYmxlICIrZSsiIGFscmVhZHkgZXhpc3RzIik7dGhpcy50YWJsZXNbZV09dH19Y29uc3QgcmE9WzRdLG5hPVs1XSxnYT1bNl0sb2E9WzddLElhPVs4XSxjYT1bMTIsMzVdLENhPVsxNF0saGE9WzIxXSxCYT1bMjJdLGxhPVszMF0sUWE9WzMxXTtjbGFzcyBUeXBlMUNoYXJTdHJpbmd7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTA7dGhpcy5sc2I9MDt0aGlzLmZsZXhpbmc9ITE7dGhpcy5vdXRwdXQ9W107dGhpcy5zdGFjaz1bXX1jb252ZXJ0KGUsdCxpKXtjb25zdCBhPWUubGVuZ3RoO2xldCBzLHIsbixnPSExO2ZvcihsZXQgbz0wO288YTtvKyspe2xldCBhPWVbb107aWYoYTwzMil7MTI9PT1hJiYoYT0oYTw8OCkrZVsrK29dKTtzd2l0Y2goYSl7Y2FzZSAxOmNhc2UgMzpjYXNlIDk6Y2FzZSAzMDcyOmNhc2UgMzA3MzpjYXNlIDMwNzQ6Y2FzZSAzMTA1OnRoaXMuc3RhY2s9W107YnJlYWs7Y2FzZSA0OmlmKHRoaXMuZmxleGluZyl7aWYodGhpcy5zdGFjay5sZW5ndGg8MSl7Zz0hMDticmVha31jb25zdCBlPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5zdGFjay5wdXNoKDAsZSk7YnJlYWt9Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEscmEpO2JyZWFrO2Nhc2UgNTpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixuYSk7YnJlYWs7Y2FzZSA2Omc9dGhpcy5leGVjdXRlQ29tbWFuZCgxLGdhKTticmVhaztjYXNlIDc6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsb2EpO2JyZWFrO2Nhc2UgODpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNixJYSk7YnJlYWs7Y2FzZSAxMDppZih0aGlzLnN0YWNrLmxlbmd0aDwxKXtnPSEwO2JyZWFrfW49dGhpcy5zdGFjay5wb3AoKTtpZighdFtuXSl7Zz0hMDticmVha31nPXRoaXMuY29udmVydCh0W25dLHQsaSk7YnJlYWs7Y2FzZSAxMTpyZXR1cm4gZztjYXNlIDEzOmlmKHRoaXMuc3RhY2subGVuZ3RoPDIpe2c9ITA7YnJlYWt9cz10aGlzLnN0YWNrLnBvcCgpO3I9dGhpcy5zdGFjay5wb3AoKTt0aGlzLmxzYj1yO3RoaXMud2lkdGg9czt0aGlzLnN0YWNrLnB1c2gocyxyKTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixCYSk7YnJlYWs7Y2FzZSAxNDp0aGlzLm91dHB1dC5wdXNoKENhWzBdKTticmVhaztjYXNlIDIxOmlmKHRoaXMuZmxleGluZylicmVhaztnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMixoYSk7YnJlYWs7Y2FzZSAyMjppZih0aGlzLmZsZXhpbmcpe3RoaXMuc3RhY2sucHVzaCgwKTticmVha31nPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSxCYSk7YnJlYWs7Y2FzZSAzMDpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxsYSk7YnJlYWs7Y2FzZSAzMTpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxRYSk7YnJlYWs7Y2FzZSAzMDc4OmlmKGkpe2NvbnN0IGU9dGhpcy5zdGFjay5hdCgtNSk7dGhpcy5zZWFjPXRoaXMuc3RhY2suc3BsaWNlKC00LDQpO3RoaXMuc2VhY1swXSs9dGhpcy5sc2ItZTtnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMCxDYSl9ZWxzZSBnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoNCxDYSk7YnJlYWs7Y2FzZSAzMDc5OmlmKHRoaXMuc3RhY2subGVuZ3RoPDQpe2c9ITA7YnJlYWt9dGhpcy5zdGFjay5wb3AoKTtzPXRoaXMuc3RhY2sucG9wKCk7Y29uc3QgZT10aGlzLnN0YWNrLnBvcCgpO3I9dGhpcy5zdGFjay5wb3AoKTt0aGlzLmxzYj1yO3RoaXMud2lkdGg9czt0aGlzLnN0YWNrLnB1c2gocyxyLGUpO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgzLGhhKTticmVhaztjYXNlIDMwODQ6aWYodGhpcy5zdGFjay5sZW5ndGg8Mil7Zz0hMDticmVha31jb25zdCBvPXRoaXMuc3RhY2sucG9wKCksYz10aGlzLnN0YWNrLnBvcCgpO3RoaXMuc3RhY2sucHVzaChjL28pO2JyZWFrO2Nhc2UgMzA4ODppZih0aGlzLnN0YWNrLmxlbmd0aDwyKXtnPSEwO2JyZWFrfW49dGhpcy5zdGFjay5wb3AoKTtjb25zdCBDPXRoaXMuc3RhY2sucG9wKCk7aWYoMD09PW4mJjM9PT1DKXtjb25zdCBlPXRoaXMuc3RhY2suc3BsaWNlKC0xNywxNyk7dGhpcy5zdGFjay5wdXNoKGVbMl0rZVswXSxlWzNdK2VbMV0sZVs0XSxlWzVdLGVbNl0sZVs3XSxlWzhdLGVbOV0sZVsxMF0sZVsxMV0sZVsxMl0sZVsxM10sZVsxNF0pO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgxMyxjYSwhMCk7dGhpcy5mbGV4aW5nPSExO3RoaXMuc3RhY2sucHVzaChlWzE1XSxlWzE2XSl9ZWxzZSAxPT09biYmMD09PUMmJih0aGlzLmZsZXhpbmc9ITApO2JyZWFrO2Nhc2UgMzA4OTpicmVhaztkZWZhdWx0Ondhcm4oJ1Vua25vd24gdHlwZSAxIGNoYXJzdHJpbmcgY29tbWFuZCBvZiAiJythKyciJyl9aWYoZylicmVha31lbHNle2E8PTI0Nj9hLT0xMzk6YT1hPD0yNTA/MjU2KihhLTI0NykrZVsrK29dKzEwODphPD0yNTQ/LTI1NiooYS0yNTEpLWVbKytvXS0xMDg6KDI1NSZlWysrb10pPDwyNHwoMjU1JmVbKytvXSk8PDE2fCgyNTUmZVsrK29dKTw8OHwoMjU1JmVbKytvXSk8PDA7dGhpcy5zdGFjay5wdXNoKGEpfX1yZXR1cm4gZ31leGVjdXRlQ29tbWFuZChlLHQsaSl7Y29uc3QgYT10aGlzLnN0YWNrLmxlbmd0aDtpZihlPmEpcmV0dXJuITA7Y29uc3Qgcz1hLWU7Zm9yKGxldCBlPXM7ZTxhO2UrKyl7bGV0IHQ9dGhpcy5zdGFja1tlXTtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXRoaXMub3V0cHV0LnB1c2goMjgsdD4+OCYyNTUsMjU1JnQpO2Vsc2V7dD02NTUzNip0fDA7dGhpcy5vdXRwdXQucHVzaCgyNTUsdD4+MjQmMjU1LHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCl9fXRoaXMub3V0cHV0LnB1c2goLi4udCk7aT90aGlzLnN0YWNrLnNwbGljZShzLGUpOnRoaXMuc3RhY2subGVuZ3RoPTA7cmV0dXJuITF9fWZ1bmN0aW9uIGlzSGV4RGlnaXQoZSl7cmV0dXJuIGU+PTQ4JiZlPD01N3x8ZT49NjUmJmU8PTcwfHxlPj05NyYmZTw9MTAyfWZ1bmN0aW9uIGRlY3J5cHQoZSx0LGkpe2lmKGk+PWUubGVuZ3RoKXJldHVybiBuZXcgVWludDhBcnJheSgwKTtsZXQgYSxzLHI9MHx0O2ZvcihhPTA7YTxpO2ErKylyPTUyODQ1KihlW2FdK3IpKzIyNzE5JjY1NTM1O2NvbnN0IG49ZS5sZW5ndGgtaSxnPW5ldyBVaW50OEFycmF5KG4pO2ZvcihhPWkscz0wO3M8bjthKysscysrKXtjb25zdCB0PWVbYV07Z1tzXT10XnI+Pjg7cj01Mjg0NSoodCtyKSsyMjcxOSY2NTUzNX1yZXR1cm4gZ31mdW5jdGlvbiBpc1NwZWNpYWwoZSl7cmV0dXJuIDQ3PT09ZXx8OTE9PT1lfHw5Mz09PWV8fDEyMz09PWV8fDEyNT09PWV8fDQwPT09ZXx8NDE9PT1lfWNsYXNzIFR5cGUxUGFyc2Vye2NvbnN0cnVjdG9yKGUsdCxpKXtpZih0KXtjb25zdCB0PWUuZ2V0Qnl0ZXMoKSxpPSEoKGlzSGV4RGlnaXQodFswXSl8fGlzV2hpdGVTcGFjZSh0WzBdKSkmJmlzSGV4RGlnaXQodFsxXSkmJmlzSGV4RGlnaXQodFsyXSkmJmlzSGV4RGlnaXQodFszXSkmJmlzSGV4RGlnaXQodFs0XSkmJmlzSGV4RGlnaXQodFs1XSkmJmlzSGV4RGlnaXQodFs2XSkmJmlzSGV4RGlnaXQodFs3XSkpO2U9bmV3IFN0cmVhbShpP2RlY3J5cHQodCw1NTY2NSw0KTpmdW5jdGlvbiBkZWNyeXB0QXNjaWkoZSx0LGkpe2xldCBhPTB8dDtjb25zdCBzPWUubGVuZ3RoLHI9bmV3IFVpbnQ4QXJyYXkocz4+PjEpO2xldCBuLGc7Zm9yKG49MCxnPTA7bjxzO24rKyl7Y29uc3QgdD1lW25dO2lmKCFpc0hleERpZ2l0KHQpKWNvbnRpbnVlO24rKztsZXQgaTtmb3IoO248cyYmIWlzSGV4RGlnaXQoaT1lW25dKTspbisrO2lmKG48cyl7Y29uc3QgZT1wYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKHQsaSksMTYpO3JbZysrXT1lXmE+Pjg7YT01Mjg0NSooZSthKSsyMjcxOSY2NTUzNX19cmV0dXJuIHIuc2xpY2UoaSxnKX0odCw1NTY2NSw0KSl9dGhpcy5zZWFjQW5hbHlzaXNFbmFibGVkPSEhaTt0aGlzLnN0cmVhbT1lO3RoaXMubmV4dENoYXIoKX1yZWFkTnVtYmVyQXJyYXkoKXt0aGlzLmdldFRva2VuKCk7Y29uc3QgZT1bXTtmb3IoOzspe2NvbnN0IHQ9dGhpcy5nZXRUb2tlbigpO2lmKG51bGw9PT10fHwiXSI9PT10fHwifSI9PT10KWJyZWFrO2UucHVzaChwYXJzZUZsb2F0KHR8fDApKX1yZXR1cm4gZX1yZWFkTnVtYmVyKCl7Y29uc3QgZT10aGlzLmdldFRva2VuKCk7cmV0dXJuIHBhcnNlRmxvYXQoZXx8MCl9cmVhZEludCgpe2NvbnN0IGU9dGhpcy5nZXRUb2tlbigpO3JldHVybiAwfHBhcnNlSW50KGV8fDAsMTApfXJlYWRCb29sZWFuKCl7cmV0dXJuInRydWUiPT09dGhpcy5nZXRUb2tlbigpPzE6MH1uZXh0Q2hhcigpe3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1wcmV2Q2hhcigpe3RoaXMuc3RyZWFtLnNraXAoLTIpO3JldHVybiB0aGlzLmN1cnJlbnRDaGFyPXRoaXMuc3RyZWFtLmdldEJ5dGUoKX1nZXRUb2tlbigpe2xldCBlPSExLHQ9dGhpcy5jdXJyZW50Q2hhcjtmb3IoOzspe2lmKC0xPT09dClyZXR1cm4gbnVsbDtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKCFpc1doaXRlU3BhY2UodCkpYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9aWYoaXNTcGVjaWFsKHQpKXt0aGlzLm5leHRDaGFyKCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodCl9bGV0IGk9IiI7ZG97aSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTt0PXRoaXMubmV4dENoYXIoKX13aGlsZSh0Pj0wJiYhaXNXaGl0ZVNwYWNlKHQpJiYhaXNTcGVjaWFsKHQpKTtyZXR1cm4gaX1yZWFkQ2hhclN0cmluZ3MoZSx0KXtyZXR1cm4tMT09PXQ/ZTpkZWNyeXB0KGUsNDMzMCx0KX1leHRyYWN0Rm9udFByb2dyYW0oZSl7Y29uc3QgdD10aGlzLnN0cmVhbSxpPVtdLGE9W10scz1PYmplY3QuY3JlYXRlKG51bGwpO3MubGVuSVY9NDtjb25zdCByPXtzdWJyczpbXSxjaGFyc3RyaW5nczpbXSxwcm9wZXJ0aWVzOntwcml2YXRlRGF0YTpzfX07bGV0IG4sZyxvLGM7Zm9yKDtudWxsIT09KG49dGhpcy5nZXRUb2tlbigpKTspaWYoIi8iPT09bil7bj10aGlzLmdldFRva2VuKCk7c3dpdGNoKG4pe2Nhc2UiQ2hhclN0cmluZ3MiOnRoaXMuZ2V0VG9rZW4oKTt0aGlzLmdldFRva2VuKCk7dGhpcy5nZXRUb2tlbigpO3RoaXMuZ2V0VG9rZW4oKTtmb3IoOzspe249dGhpcy5nZXRUb2tlbigpO2lmKG51bGw9PT1ufHwiZW5kIj09PW4pYnJlYWs7aWYoIi8iIT09biljb250aW51ZTtjb25zdCBlPXRoaXMuZ2V0VG9rZW4oKTtnPXRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtvPWc+MD90LmdldEJ5dGVzKGcpOm5ldyBVaW50OEFycmF5KDApO2M9ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhLmxlbklWO2NvbnN0IGk9dGhpcy5yZWFkQ2hhclN0cmluZ3MobyxjKTt0aGlzLm5leHRDaGFyKCk7bj10aGlzLmdldFRva2VuKCk7Im5vYWNjZXNzIj09PW4/dGhpcy5nZXRUb2tlbigpOiIvIj09PW4mJnRoaXMucHJldkNoYXIoKTthLnB1c2goe2dseXBoOmUsZW5jb2RlZDppfSl9YnJlYWs7Y2FzZSJTdWJycyI6dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO2Zvcig7ImR1cCI9PT10aGlzLmdldFRva2VuKCk7KXtjb25zdCBlPXRoaXMucmVhZEludCgpO2c9dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO289Zz4wP3QuZ2V0Qnl0ZXMoZyk6bmV3IFVpbnQ4QXJyYXkoMCk7Yz1yLnByb3BlcnRpZXMucHJpdmF0ZURhdGEubGVuSVY7Y29uc3QgYT10aGlzLnJlYWRDaGFyU3RyaW5ncyhvLGMpO3RoaXMubmV4dENoYXIoKTtuPXRoaXMuZ2V0VG9rZW4oKTsibm9hY2Nlc3MiPT09biYmdGhpcy5nZXRUb2tlbigpO2lbZV09YX1icmVhaztjYXNlIkJsdWVWYWx1ZXMiOmNhc2UiT3RoZXJCbHVlcyI6Y2FzZSJGYW1pbHlCbHVlcyI6Y2FzZSJGYW1pbHlPdGhlckJsdWVzIjpjb25zdCBlPXRoaXMucmVhZE51bWJlckFycmF5KCk7ZS5sZW5ndGg+MCYmZS5sZW5ndGgsMDticmVhaztjYXNlIlN0ZW1TbmFwSCI6Y2FzZSJTdGVtU25hcFYiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXJBcnJheSgpO2JyZWFrO2Nhc2UiU3RkSFciOmNhc2UiU3RkVlciOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXJBcnJheSgpWzBdO2JyZWFrO2Nhc2UiQmx1ZVNoaWZ0IjpjYXNlImxlbklWIjpjYXNlIkJsdWVGdXp6IjpjYXNlIkJsdWVTY2FsZSI6Y2FzZSJMYW5ndWFnZUdyb3VwIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkTnVtYmVyKCk7YnJlYWs7Y2FzZSJFeHBhbnNpb25GYWN0b3IiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXIoKXx8LjA2O2JyZWFrO2Nhc2UiRm9yY2VCb2xkIjpyLnByb3BlcnRpZXMucHJpdmF0ZURhdGFbbl09dGhpcy5yZWFkQm9vbGVhbigpfX1mb3IoY29uc3R7ZW5jb2RlZDp0LGdseXBoOnN9b2YgYSl7Y29uc3QgYT1uZXcgVHlwZTFDaGFyU3RyaW5nLG49YS5jb252ZXJ0KHQsaSx0aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQpO2xldCBnPWEub3V0cHV0O24mJihnPVsxNF0pO2NvbnN0IG89e2dseXBoTmFtZTpzLGNoYXJzdHJpbmc6Zyx3aWR0aDphLndpZHRoLGxzYjphLmxzYixzZWFjOmEuc2VhY307Ii5ub3RkZWYiPT09cz9yLmNoYXJzdHJpbmdzLnVuc2hpZnQobyk6ci5jaGFyc3RyaW5ncy5wdXNoKG8pO2lmKGUuYnVpbHRJbkVuY29kaW5nKXtjb25zdCB0PWUuYnVpbHRJbkVuY29kaW5nLmluZGV4T2Yocyk7dD4tMSYmdm9pZCAwPT09ZS53aWR0aHNbdF0mJnQ+PWUuZmlyc3RDaGFyJiZ0PD1lLmxhc3RDaGFyJiYoZS53aWR0aHNbdF09YS53aWR0aCl9fXJldHVybiByfWV4dHJhY3RGb250SGVhZGVyKGUpe2xldCB0O2Zvcig7bnVsbCE9PSh0PXRoaXMuZ2V0VG9rZW4oKSk7KWlmKCIvIj09PXQpe3Q9dGhpcy5nZXRUb2tlbigpO3N3aXRjaCh0KXtjYXNlIkZvbnRNYXRyaXgiOmNvbnN0IGk9dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmZvbnRNYXRyaXg9aTticmVhaztjYXNlIkVuY29kaW5nIjpjb25zdCBhPXRoaXMuZ2V0VG9rZW4oKTtsZXQgcztpZigvXlxkKyQvLnRlc3QoYSkpe3M9W107Y29uc3QgZT0wfHBhcnNlSW50KGEsMTApO3RoaXMuZ2V0VG9rZW4oKTtmb3IobGV0IGk9MDtpPGU7aSsrKXt0PXRoaXMuZ2V0VG9rZW4oKTtmb3IoOyJkdXAiIT09dCYmImRlZiIhPT10Oyl7dD10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PXQpcmV0dXJufWlmKCJkZWYiPT09dClicmVhaztjb25zdCBlPXRoaXMucmVhZEludCgpO3RoaXMuZ2V0VG9rZW4oKTtjb25zdCBpPXRoaXMuZ2V0VG9rZW4oKTtzW2VdPWk7dGhpcy5nZXRUb2tlbigpfX1lbHNlIHM9Z2V0RW5jb2RpbmcoYSk7ZS5idWlsdEluRW5jb2Rpbmc9czticmVhaztjYXNlIkZvbnRCQm94Ijpjb25zdCByPXRoaXMucmVhZE51bWJlckFycmF5KCk7ZS5hc2NlbnQ9TWF0aC5tYXgoclszXSxyWzFdKTtlLmRlc2NlbnQ9TWF0aC5taW4oclsxXSxyWzNdKTtlLmFzY2VudFNjYWxlZD0hMH19fX1mdW5jdGlvbiBmaW5kQmxvY2soZSx0LGkpe2NvbnN0IGE9ZS5sZW5ndGgscz10Lmxlbmd0aCxyPWEtcztsZXQgbj1pLGc9ITE7Zm9yKDtuPHI7KXtsZXQgaT0wO2Zvcig7aTxzJiZlW24raV09PT10W2ldOylpKys7aWYoaT49cyl7bis9aTtmb3IoO248YSYmaXNXaGl0ZVNwYWNlKGVbbl0pOyluKys7Zz0hMDticmVha31uKyt9cmV0dXJue2ZvdW5kOmcsbGVuZ3RoOm59fWNsYXNzIFR5cGUxRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7bGV0IGE9aS5sZW5ndGgxLHM9aS5sZW5ndGgyLHI9dC5wZWVrQnl0ZXMoNik7Y29uc3Qgbj0xMjg9PT1yWzBdJiYxPT09clsxXTtpZihuKXt0LnNraXAoNik7YT1yWzVdPDwyNHxyWzRdPDwxNnxyWzNdPDw4fHJbMl19Y29uc3QgZz1mdW5jdGlvbiBnZXRIZWFkZXJCbG9jayhlLHQpe2NvbnN0IGk9WzEwMSwxMDEsMTIwLDEwMSw5OV0sYT1lLnBvcztsZXQgcyxyLG4sZzt0cnl7cz1lLmdldEJ5dGVzKHQpO3I9cy5sZW5ndGh9Y2F0Y2h7fWlmKHI9PT10KXtuPWZpbmRCbG9jayhzLGksdC0yKmkubGVuZ3RoKTtpZihuLmZvdW5kJiZuLmxlbmd0aD09PXQpcmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKHMpLGxlbmd0aDp0fX13YXJuKCdJbnZhbGlkICJMZW5ndGgxIiBwcm9wZXJ0eSBpbiBUeXBlMSBmb250IC0tIHRyeWluZyB0byByZWNvdmVyLicpO2UucG9zPWE7Zm9yKDs7KXtuPWZpbmRCbG9jayhlLnBlZWtCeXRlcygyMDQ4KSxpLDApO2lmKDA9PT1uLmxlbmd0aClicmVhaztlLnBvcys9bi5sZW5ndGg7aWYobi5mb3VuZCl7Zz1lLnBvcy1hO2JyZWFrfX1lLnBvcz1hO2lmKGcpcmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKGUuZ2V0Qnl0ZXMoZykpLGxlbmd0aDpnfTt3YXJuKCdVbmFibGUgdG8gcmVjb3ZlciAiTGVuZ3RoMSIgcHJvcGVydHkgaW4gVHlwZTEgZm9udCAtLSB1c2luZyBhcyBpcy4nKTtyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oZS5nZXRCeXRlcyh0KSksbGVuZ3RoOnR9fSh0LGEpO25ldyBUeXBlMVBhcnNlcihnLnN0cmVhbSwhMSxUaSkuZXh0cmFjdEZvbnRIZWFkZXIoaSk7aWYobil7cj10LmdldEJ5dGVzKDYpO3M9cls1XTw8MjR8cls0XTw8MTZ8clszXTw8OHxyWzJdfWNvbnN0IG89ZnVuY3Rpb24gZ2V0RWV4ZWNCbG9jayhlLHQpe2NvbnN0IGk9ZS5nZXRCeXRlcygpO2lmKDA9PT1pLmxlbmd0aCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImdldEVleGVjQmxvY2sgLSBubyBmb250IHByb2dyYW0gZm91bmQuIik7cmV0dXJue3N0cmVhbTpuZXcgU3RyZWFtKGkpLGxlbmd0aDppLmxlbmd0aH19KHQpLGM9bmV3IFR5cGUxUGFyc2VyKG8uc3RyZWFtLCEwLFRpKS5leHRyYWN0Rm9udFByb2dyYW0oaSk7Zm9yKGNvbnN0IGUgaW4gYy5wcm9wZXJ0aWVzKWlbZV09Yy5wcm9wZXJ0aWVzW2VdO2NvbnN0IEM9Yy5jaGFyc3RyaW5ncyxoPXRoaXMuZ2V0VHlwZTJDaGFyc3RyaW5ncyhDKSxsPXRoaXMuZ2V0VHlwZTJTdWJycyhjLnN1YnJzKTt0aGlzLmNoYXJzdHJpbmdzPUM7dGhpcy5kYXRhPXRoaXMud3JhcChlLGgsdGhpcy5jaGFyc3RyaW5ncyxsLGkpO3RoaXMuc2VhY3M9dGhpcy5nZXRTZWFjcyhjLmNoYXJzdHJpbmdzKX1nZXQgbnVtR2x5cGhzKCl7cmV0dXJuIHRoaXMuY2hhcnN0cmluZ3MubGVuZ3RoKzF9Z2V0Q2hhcnNldCgpe2NvbnN0IGU9WyIubm90ZGVmIl07Zm9yKGNvbnN0e2dseXBoTmFtZTp0fW9mIHRoaXMuY2hhcnN0cmluZ3MpZS5wdXNoKHQpO3JldHVybiBlfWdldEdseXBoTWFwcGluZyhlKXtjb25zdCB0PXRoaXMuY2hhcnN0cmluZ3M7aWYoZS5jb21wb3NpdGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGE9MCxzPXQubGVuZ3RoO2E8czthKyspe2lbZS5jTWFwLmNoYXJDb2RlT2YoYSldPWErMX1yZXR1cm4gaX1jb25zdCBpPVsiLm5vdGRlZiJdO2xldCBhLHM7Zm9yKHM9MDtzPHQubGVuZ3RoO3MrKylpLnB1c2godFtzXS5nbHlwaE5hbWUpO2NvbnN0IHI9ZS5idWlsdEluRW5jb2Rpbmc7aWYocil7YT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBlIGluIHIpe3M9aS5pbmRleE9mKHJbZV0pO3M+PTAmJihhW2VdPXMpfX1yZXR1cm4gdHlwZTFGb250R2x5cGhNYXBwaW5nKGUsYSxpKX1oYXNHbHlwaElkKGUpe2lmKGU8MHx8ZT49dGhpcy5udW1HbHlwaHMpcmV0dXJuITE7aWYoMD09PWUpcmV0dXJuITA7cmV0dXJuIHRoaXMuY2hhcnN0cmluZ3NbZS0xXS5jaGFyc3RyaW5nLmxlbmd0aD4wfWdldFNlYWNzKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWVbaV07YS5zZWFjJiYodFtpKzFdPWEuc2VhYyl9cmV0dXJuIHR9Z2V0VHlwZTJDaGFyc3RyaW5ncyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpdC5wdXNoKGkuY2hhcnN0cmluZyk7cmV0dXJuIHR9Z2V0VHlwZTJTdWJycyhlKXtsZXQgdD0wO2NvbnN0IGk9ZS5sZW5ndGg7dD1pPDExMzM/MTA3Omk8MzM3Njk/MTEzMTozMjc2ODtjb25zdCBhPVtdO2xldCBzO2ZvcihzPTA7czx0O3MrKylhLnB1c2goWzExXSk7Zm9yKHM9MDtzPGk7cysrKWEucHVzaChlW3NdKTtyZXR1cm4gYX13cmFwKGUsdCxpLGEscyl7Y29uc3Qgcj1uZXcgQ0ZGO3IuaGVhZGVyPW5ldyBDRkZIZWFkZXIoMSwwLDQsNCk7ci5uYW1lcz1bZV07Y29uc3Qgbj1uZXcgQ0ZGVG9wRGljdDtuLnNldEJ5TmFtZSgidmVyc2lvbiIsMzkxKTtuLnNldEJ5TmFtZSgiTm90aWNlIiwzOTIpO24uc2V0QnlOYW1lKCJGdWxsTmFtZSIsMzkzKTtuLnNldEJ5TmFtZSgiRmFtaWx5TmFtZSIsMzk0KTtuLnNldEJ5TmFtZSgiV2VpZ2h0IiwzOTUpO24uc2V0QnlOYW1lKCJFbmNvZGluZyIsbnVsbCk7bi5zZXRCeU5hbWUoIkZvbnRNYXRyaXgiLHMuZm9udE1hdHJpeCk7bi5zZXRCeU5hbWUoIkZvbnRCQm94IixzLmJib3gpO24uc2V0QnlOYW1lKCJjaGFyc2V0IixudWxsKTtuLnNldEJ5TmFtZSgiQ2hhclN0cmluZ3MiLG51bGwpO24uc2V0QnlOYW1lKCJQcml2YXRlIixudWxsKTtyLnRvcERpY3Q9bjtjb25zdCBnPW5ldyBDRkZTdHJpbmdzO2cuYWRkKCJWZXJzaW9uIDAuMTEiKTtnLmFkZCgiU2VlIG9yaWdpbmFsIG5vdGljZSIpO2cuYWRkKGUpO2cuYWRkKGUpO2cuYWRkKCJNZWRpdW0iKTtyLnN0cmluZ3M9ZztyLmdsb2JhbFN1YnJJbmRleD1uZXcgQ0ZGSW5kZXg7Y29uc3Qgbz10Lmxlbmd0aCxjPVsiLm5vdGRlZiJdO2xldCBDLGg7Zm9yKEM9MDtDPG87QysrKXtjb25zdCBlPWlbQ10uZ2x5cGhOYW1lOy0xPT09RmkuaW5kZXhPZihlKSYmZy5hZGQoZSk7Yy5wdXNoKGUpfXIuY2hhcnNldD1uZXcgQ0ZGQ2hhcnNldCghMSwwLGMpO2NvbnN0IGw9bmV3IENGRkluZGV4O2wuYWRkKFsxMzksMTRdKTtmb3IoQz0wO0M8bztDKyspbC5hZGQodFtDXSk7ci5jaGFyU3RyaW5ncz1sO2NvbnN0IFE9bmV3IENGRlByaXZhdGVEaWN0O1Euc2V0QnlOYW1lKCJTdWJycyIsbnVsbCk7Y29uc3QgRT1bIkJsdWVWYWx1ZXMiLCJPdGhlckJsdWVzIiwiRmFtaWx5Qmx1ZXMiLCJGYW1pbHlPdGhlckJsdWVzIiwiU3RlbVNuYXBIIiwiU3RlbVNuYXBWIiwiQmx1ZVNoaWZ0IiwiQmx1ZUZ1enoiLCJCbHVlU2NhbGUiLCJMYW5ndWFnZUdyb3VwIiwiRXhwYW5zaW9uRmFjdG9yIiwiRm9yY2VCb2xkIiwiU3RkSFciLCJTdGRWVyJdO2ZvcihDPTAsaD1FLmxlbmd0aDtDPGg7QysrKXtjb25zdCBlPUVbQ107aWYoIShlIGluIHMucHJpdmF0ZURhdGEpKWNvbnRpbnVlO2NvbnN0IHQ9cy5wcml2YXRlRGF0YVtlXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT10Lmxlbmd0aC0xO2U+MDtlLS0pdFtlXS09dFtlLTFdO1Euc2V0QnlOYW1lKGUsdCl9ci50b3BEaWN0LnByaXZhdGVEaWN0PVE7Y29uc3QgdT1uZXcgQ0ZGSW5kZXg7Zm9yKEM9MCxoPWEubGVuZ3RoO0M8aDtDKyspdS5hZGQoYVtDXSk7US5zdWJyc0luZGV4PXU7cmV0dXJuIG5ldyBDRkZDb21waWxlcihyKS5jb21waWxlKCl9fWNvbnN0IEVhPVtbNTczNDQsNjM3NDNdLFsxMDQ4NTc2LDExMTQxMDldXSx1YT0xZTMsZGE9WyJhc2NlbnQiLCJiYm94IiwiYmxhY2siLCJib2xkIiwiY2hhclByb2NPcGVyYXRvckxpc3QiLCJjb21wb3NpdGUiLCJjc3NGb250SW5mbyIsImRhdGEiLCJkZWZhdWx0Vk1ldHJpY3MiLCJkZWZhdWx0V2lkdGgiLCJkZXNjZW50IiwiZmFsbGJhY2tOYW1lIiwiZm9udE1hdHJpeCIsImlzSW52YWxpZFBERmpzRm9udCIsImlzVHlwZTNGb250IiwiaXRhbGljIiwibG9hZGVkTmFtZSIsIm1pbWV0eXBlIiwibWlzc2luZ0ZpbGUiLCJuYW1lIiwicmVtZWFzdXJlIiwic3VidHlwZSIsInN5c3RlbUZvbnRJbmZvIiwidHlwZSIsInZlcnRpY2FsIl0sZmE9WyJjTWFwIiwiZGVmYXVsdEVuY29kaW5nIiwiZGlmZmVyZW5jZXMiLCJpc01vbm9zcGFjZSIsImlzU2VyaWZGb250IiwiaXNTeW1ib2xpY0ZvbnQiLCJzZWFjTWFwIiwidG9Gb250Q2hhciIsInRvVW5pY29kZSIsInZtZXRyaWNzIiwid2lkdGhzIl07ZnVuY3Rpb24gYWRqdXN0V2lkdGhzKGUpe2lmKCFlLmZvbnRNYXRyaXgpcmV0dXJuO2lmKGUuZm9udE1hdHJpeFswXT09PWFbMF0pcmV0dXJuO2NvbnN0IHQ9LjAwMS9lLmZvbnRNYXRyaXhbMF0saT1lLndpZHRocztmb3IoY29uc3QgZSBpbiBpKWlbZV0qPXQ7ZS5kZWZhdWx0V2lkdGgqPXR9ZnVuY3Rpb24gYW1lbmRGYWxsYmFja1RvVW5pY29kZShlKXtpZighZS5mYWxsYmFja1RvVW5pY29kZSlyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBpbiBlLmZhbGxiYWNrVG9Vbmljb2RlKWUudG9Vbmljb2RlLmhhcyhpKXx8KHRbaV09ZS5mYWxsYmFja1RvVW5pY29kZVtpXSk7dC5sZW5ndGg+MCYmZS50b1VuaWNvZGUuYW1lbmQodCl9Y2xhc3MgZm9udHNfR2x5cGh7Y29uc3RydWN0b3IoZSx0LGksYSxzLHIsbixnLG8pe3RoaXMub3JpZ2luYWxDaGFyQ29kZT1lO3RoaXMuZm9udENoYXI9dDt0aGlzLnVuaWNvZGU9aTt0aGlzLmFjY2VudD1hO3RoaXMud2lkdGg9czt0aGlzLnZtZXRyaWM9cjt0aGlzLm9wZXJhdG9yTGlzdElkPW47dGhpcy5pc1NwYWNlPWc7dGhpcy5pc0luRm9udD1vfWdldCBjYXRlZ29yeSgpe3JldHVybiBzaGFkb3codGhpcywiY2F0ZWdvcnkiLGZ1bmN0aW9uIGdldENoYXJVbmljb2RlQ2F0ZWdvcnkoZSl7Y29uc3QgdD1LaS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPWUubWF0Y2godmkpLGE9e2lzV2hpdGVzcGFjZTohIWk/LlsxXSxpc1plcm9XaWR0aERpYWNyaXRpYzohIWk/LlsyXSxpc0ludmlzaWJsZUZvcm1hdE1hcms6ISFpPy5bM119O0tpLnNldChlLGEpO3JldHVybiBhfSh0aGlzLnVuaWNvZGUpLCEwKX19ZnVuY3Rpb24gaW50MTYoZSx0KXtyZXR1cm4oZTw8OCkrdH1mdW5jdGlvbiB3cml0ZVNpZ25lZEludDE2KGUsdCxpKXtlW3QrMV09aTtlW3RdPWk+Pj44fWZ1bmN0aW9uIHNpZ25lZEludDE2KGUsdCl7Y29uc3QgaT0oZTw8OCkrdDtyZXR1cm4gMzI3NjgmaT9pLTY1NTM2Oml9ZnVuY3Rpb24gc3RyaW5nMTYoZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIHNhZmVTdHJpbmcxNihlKXtlPjMyNzY3P2U9MzI3Njc6ZTwtMzI3NjgmJihlPS0zMjc2OCk7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIGlzVHJ1ZVR5cGVDb2xsZWN0aW9uRmlsZShlKXtyZXR1cm4idHRjZiI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX1mdW5jdGlvbiBnZXRGb250RmlsZVR5cGUoZSx7dHlwZTp0LHN1YnR5cGU6aSxjb21wb3NpdGU6YX0pe2xldCBzLHI7aWYoZnVuY3Rpb24gaXNUcnVlVHlwZUZpbGUoZSl7Y29uc3QgdD1lLnBlZWtCeXRlcyg0KTtyZXR1cm4gNjU1MzY9PT1yZWFkVWludDMyKHQsMCl8fCJ0cnVlIj09PWJ5dGVzVG9TdHJpbmcodCl9KGUpfHxpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUoZSkpcz1hPyJDSURGb250VHlwZTIiOiJUcnVlVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc09wZW5UeXBlRmlsZShlKXtyZXR1cm4iT1RUTyI9PT1ieXRlc1RvU3RyaW5nKGUucGVla0J5dGVzKDQpKX0oZSkpcz1hPyJDSURGb250VHlwZTIiOiJPcGVuVHlwZSI7ZWxzZSBpZihmdW5jdGlvbiBpc1R5cGUxRmlsZShlKXtjb25zdCB0PWUucGVla0J5dGVzKDIpO3JldHVybiAzNz09PXRbMF0mJjMzPT09dFsxXXx8MTI4PT09dFswXSYmMT09PXRbMV19KGUpKXM9YT8iQ0lERm9udFR5cGUwIjoiTU1UeXBlMSI9PT10PyJNTVR5cGUxIjoiVHlwZTEiO2Vsc2UgaWYoZnVuY3Rpb24gaXNDRkZGaWxlKGUpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoNCk7cmV0dXJuIHRbMF0+PTEmJnRbM10+PTEmJnRbM108PTR9KGUpKWlmKGEpe3M9IkNJREZvbnRUeXBlMCI7cj0iQ0lERm9udFR5cGUwQyJ9ZWxzZXtzPSJNTVR5cGUxIj09PXQ/Ik1NVHlwZTEiOiJUeXBlMSI7cj0iVHlwZTFDIn1lbHNle3dhcm4oImdldEZvbnRGaWxlVHlwZTogVW5hYmxlIHRvIGRldGVjdCBjb3JyZWN0IGZvbnQgZmlsZSBUeXBlL1N1YnR5cGUuIik7cz10O3I9aX1yZXR1cm5bcyxyXX1mdW5jdGlvbiBhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGUsdCl7Zm9yKGNvbnN0IGkgaW4gdCllWytpXT10W2ldfWZ1bmN0aW9uIGJ1aWxkVG9Gb250Q2hhcihlLHQsaSl7Y29uc3QgYT1bXTtsZXQgcztmb3IobGV0IGk9MCxyPWUubGVuZ3RoO2k8cjtpKyspe3M9Z2V0VW5pY29kZUZvckdseXBoKGVbaV0sdCk7LTEhPT1zJiYoYVtpXT1zKX1mb3IoY29uc3QgZSBpbiBpKXtzPWdldFVuaWNvZGVGb3JHbHlwaChpW2VdLHQpOy0xIT09cyYmKGFbK2VdPXMpfXJldHVybiBhfWZ1bmN0aW9uIGlzTWFjTmFtZVJlY29yZChlKXtyZXR1cm4gMT09PWUucGxhdGZvcm0mJjA9PT1lLmVuY29kaW5nJiYwPT09ZS5sYW5ndWFnZX1mdW5jdGlvbiBpc1dpbk5hbWVSZWNvcmQoZSl7cmV0dXJuIDM9PT1lLnBsYXRmb3JtJiYxPT09ZS5lbmNvZGluZyYmMTAzMz09PWUubGFuZ3VhZ2V9ZnVuY3Rpb24gY29udmVydENpZFN0cmluZyhlLHQsaT0hMSl7c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTtjYXNlIDI6cmV0dXJuIHQuY2hhckNvZGVBdCgwKTw8OHx0LmNoYXJDb2RlQXQoMSl9Y29uc3QgYT1gVW5zdXBwb3J0ZWQgQ0lEIHN0cmluZyAoY2hhckNvZGUgJHtlfSk6ICIke3R9Ii5gO2lmKGkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGEpO3dhcm4oYSk7cmV0dXJuIHR9ZnVuY3Rpb24gYWRqdXN0TWFwcGluZyhlLHQsaSxhKXtjb25zdCBzPU9iamVjdC5jcmVhdGUobnVsbCkscj1uZXcgTWFwLG49W10sZz1uZXcgU2V0O2xldCBvPTA7bGV0IGM9RWFbb11bMF0sQz1FYVtvXVsxXTtmb3IoY29uc3QgbCBpbiBlKXtsZXQgUT1lW2xdO2lmKCF0KFEpKWNvbnRpbnVlO2lmKGM+Qyl7bysrO2lmKG8+PUVhLmxlbmd0aCl7d2FybigiUmFuIG91dCBvZiBzcGFjZSBpbiBmb250IHByaXZhdGUgdXNlIGFyZWEuIik7YnJlYWt9Yz1FYVtvXVswXTtDPUVhW29dWzFdfWNvbnN0IEU9YysrOzA9PT1RJiYoUT1pKTtsZXQgdT1hLmdldChsKTsic3RyaW5nIj09dHlwZW9mIHUmJih1PXUuY29kZVBvaW50QXQoMCkpO2lmKHUmJiEoaD11LEVhWzBdWzBdPD1oJiZoPD1FYVswXVsxXXx8RWFbMV1bMF08PWgmJmg8PUVhWzFdWzFdKSYmIWcuaGFzKFEpKXtyLnNldCh1LFEpO2cuYWRkKFEpfXNbRV09UTtuW2xdPUV9dmFyIGg7cmV0dXJue3RvRm9udENoYXI6bixjaGFyQ29kZVRvR2x5cGhJZDpzLHRvVW5pY29kZUV4dHJhTWFwOnIsbmV4dEF2YWlsYWJsZUZvbnRDaGFyQ29kZTpjfX1mdW5jdGlvbiBjcmVhdGVDbWFwVGFibGUoZSx0LGkpe2NvbnN0IGE9ZnVuY3Rpb24gZ2V0UmFuZ2VzKGUsdCxpKXtjb25zdCBhPVtdO2Zvcihjb25zdCB0IGluIGUpZVt0XT49aXx8YS5wdXNoKHtmb250Q2hhckNvZGU6MHx0LGdseXBoSWQ6ZVt0XX0pO2lmKHQpZm9yKGNvbnN0W2Usc11vZiB0KXM+PWl8fGEucHVzaCh7Zm9udENoYXJDb2RlOmUsZ2x5cGhJZDpzfSk7MD09PWEubGVuZ3RoJiZhLnB1c2goe2ZvbnRDaGFyQ29kZTowLGdseXBoSWQ6MH0pO2Euc29ydCgoZnVuY3Rpb24gZm9udEdldFJhbmdlc1NvcnQoZSx0KXtyZXR1cm4gZS5mb250Q2hhckNvZGUtdC5mb250Q2hhckNvZGV9KSk7Y29uc3Qgcz1bXSxyPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cjspe2NvbnN0IHQ9YVtlXS5mb250Q2hhckNvZGUsaT1bYVtlXS5nbHlwaElkXTsrK2U7bGV0IG49dDtmb3IoO2U8ciYmbisxPT09YVtlXS5mb250Q2hhckNvZGU7KXtpLnB1c2goYVtlXS5nbHlwaElkKTsrK247KytlO2lmKDY1NTM1PT09bilicmVha31zLnB1c2goW3QsbixpXSl9cmV0dXJuIHN9KGUsdCxpKSxzPWEuYXQoLTEpWzFdPjY1NTM1PzI6MTtsZXQgcixuLGcsbyxjPSJcMFwwIitzdHJpbmcxNihzKSsiXDADXDABIitzdHJpbmczMig0Kzgqcyk7Zm9yKHI9YS5sZW5ndGgtMTtyPj0wJiYhKGFbcl1bMF08PTY1NTM1KTstLXIpO2NvbnN0IEM9cisxO2Fbcl1bMF08NjU1MzUmJjY1NTM1PT09YVtyXVsxXSYmKGFbcl1bMV09NjU1MzQpO2NvbnN0IGg9YVtyXVsxXTw2NTUzNT8xOjAsbD1DK2gsUT1PcGVuVHlwZUZpbGVCdWlsZGVyLmdldFNlYXJjaFBhcmFtcyhsLDIpO2xldCBFLHUsZCxmLHA9IiIsbT0iIix5PSIiLHc9IiIsRD0iIixiPTA7Zm9yKHI9MCxuPUM7cjxuO3IrKyl7RT1hW3JdO3U9RVswXTtkPUVbMV07cCs9c3RyaW5nMTYodSk7bSs9c3RyaW5nMTYoZCk7Zj1FWzJdO2xldCBlPSEwO2ZvcihnPTEsbz1mLmxlbmd0aDtnPG87KytnKWlmKGZbZ10hPT1mW2ctMV0rMSl7ZT0hMTticmVha31pZihlKXt5Kz1zdHJpbmcxNihmWzBdLXUmNjU1MzUpO3crPXN0cmluZzE2KDApfWVsc2V7Y29uc3QgZT0yKihsLXIpKzIqYjtiKz1kLXUrMTt5Kz1zdHJpbmcxNigwKTt3Kz1zdHJpbmcxNihlKTtmb3IoZz0wLG89Zi5sZW5ndGg7ZzxvOysrZylEKz1zdHJpbmcxNihmW2ddKX19aWYoaD4wKXttKz0iw7/DvyI7cCs9IsO/w78iO3krPSJcMAEiO3crPSJcMFwwIn1jb25zdCBGPSJcMFwwIitzdHJpbmcxNigyKmwpK3N0cmluZzE2KFEucmFuZ2UpK3N0cmluZzE2KFEuZW50cnkpK3N0cmluZzE2KFEucmFuZ2VTaGlmdCkrbSsiXDBcMCIrcCt5K3crRDtsZXQgUz0iIixrPSIiO2lmKHM+MSl7Yys9IlwwA1wwXG4iK3N0cmluZzMyKDQrOCpzKzQrRi5sZW5ndGgpO1M9IiI7Zm9yKHI9MCxuPWEubGVuZ3RoO3I8bjtyKyspe0U9YVtyXTt1PUVbMF07Zj1FWzJdO2xldCBlPWZbMF07Zm9yKGc9MSxvPWYubGVuZ3RoO2c8bzsrK2cpaWYoZltnXSE9PWZbZy0xXSsxKXtkPUVbMF0rZy0xO1MrPXN0cmluZzMyKHUpK3N0cmluZzMyKGQpK3N0cmluZzMyKGUpO3U9ZCsxO2U9ZltnXX1TKz1zdHJpbmczMih1KStzdHJpbmczMihFWzFdKStzdHJpbmczMihlKX1rPSJcMFxmXDBcMCIrc3RyaW5nMzIoUy5sZW5ndGgrMTYpKyJcMFwwXDBcMCIrc3RyaW5nMzIoUy5sZW5ndGgvMTIpfXJldHVybiBjKyJcMAQiK3N0cmluZzE2KEYubGVuZ3RoKzQpK0YraytTfWZ1bmN0aW9uIGNyZWF0ZU9TMlRhYmxlKGUsdCxpKXtpfHw9e3VuaXRzUGVyRW06MCx5TWF4OjAseU1pbjowLGFzY2VudDowLGRlc2NlbnQ6MH07bGV0IGE9MCxzPTAscj0wLG49MCxnPW51bGwsbz0wLGM9LTE7aWYodCl7Zm9yKGxldCBlIGluIHQpe2V8PTA7KGc+ZXx8IWcpJiYoZz1lKTtvPGUmJihvPWUpO2M9Z2V0VW5pY29kZVJhbmdlRm9yKGUsYyk7aWYoYzwzMilhfD0xPDxjO2Vsc2UgaWYoYzw2NClzfD0xPDxjLTMyO2Vsc2UgaWYoYzw5NilyfD0xPDxjLTY0O2Vsc2V7aWYoIShjPDEyMykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmljb2RlIHJhbmdlcyBCaXRzID4gMTIzIGFyZSByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNhZ2UiKTtufD0xPDxjLTk2fX1vPjY1NTM1JiYobz02NTUzNSl9ZWxzZXtnPTA7bz0yNTV9Y29uc3QgQz1lLmJib3h8fFswLDAsMCwwXSxoPWkudW5pdHNQZXJFbXx8KGUuZm9udE1hdHJpeD8xL01hdGgubWF4KC4uLmUuZm9udE1hdHJpeC5zbGljZSgwLDQpLm1hcChNYXRoLmFicykpOjFlMyksbD1lLmFzY2VudFNjYWxlZD8xOmgvdWEsUT1pLmFzY2VudHx8TWF0aC5yb3VuZChsKihlLmFzY2VudHx8Q1szXSkpO2xldCBFPWkuZGVzY2VudHx8TWF0aC5yb3VuZChsKihlLmRlc2NlbnR8fENbMV0pKTtFPjAmJmUuZGVzY2VudD4wJiZDWzFdPDAmJihFPS1FKTtjb25zdCB1PWkueU1heHx8USxkPS1pLnlNaW58fC1FO3JldHVybiJcMAMCJAHDtFwwBVwwXDACwooCwrtcMFwwXDDCjALCigLCu1wwXDABw59ceDAwMQECXDBcMFwwXDAGIitTdHJpbmcuZnJvbUNoYXJDb2RlKGUuZml4ZWRQaXRjaD85OjApKyJcMFwwXDBcMFwwXDAiK3N0cmluZzMyKGEpK3N0cmluZzMyKHMpK3N0cmluZzMyKHIpK3N0cmluZzMyKG4pKyIqMjEqIitzdHJpbmcxNihlLml0YWxpY0FuZ2xlPzE6MCkrc3RyaW5nMTYoZ3x8ZS5maXJzdENoYXIpK3N0cmluZzE2KG98fGUubGFzdENoYXIpK3N0cmluZzE2KFEpK3N0cmluZzE2KEUpKyJcMGQiK3N0cmluZzE2KHUpK3N0cmluZzE2KGQpKyJcMFwwXDBcMFwwXDBcMFwwIitzdHJpbmcxNihlLnhIZWlnaHQpK3N0cmluZzE2KGUuY2FwSGVpZ2h0KStzdHJpbmcxNigwKStzdHJpbmcxNihnfHxlLmZpcnN0Q2hhcikrIlwwAyJ9ZnVuY3Rpb24gY3JlYXRlUG9zdFRhYmxlKGUpe3JldHVybiJcMANcMFwwIitzdHJpbmczMihNYXRoLmZsb29yKDY1NTM2KmUuaXRhbGljQW5nbGUpKSsiXDBcMFwwXDAiK3N0cmluZzMyKGUuZml4ZWRQaXRjaD8xOjApKyJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9ZnVuY3Rpb24gY3JlYXRlUG9zdHNjcmlwdE5hbWUoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvW15ceDIxLVx4N0VdfFtbXF0oKXt9PD4vJV0vZywiIikuc2xpY2UoMCw2Myl9ZnVuY3Rpb24gY3JlYXRlTmFtZVRhYmxlKGUsdCl7dHx8KHQ9W1tdLFtdXSk7Y29uc3QgaT1bdFswXVswXXx8Ik9yaWdpbmFsIGxpY2VuY2UiLHRbMF1bMV18fGUsdFswXVsyXXx8IlVua25vd24iLHRbMF1bM118fCJ1bmlxdWVJRCIsdFswXVs0XXx8ZSx0WzBdWzVdfHwiVmVyc2lvbiAwLjExIix0WzBdWzZdfHxjcmVhdGVQb3N0c2NyaXB0TmFtZShlKSx0WzBdWzddfHwiVW5rbm93biIsdFswXVs4XXx8IlVua25vd24iLHRbMF1bOV18fCJVbmtub3duIl0sYT1bXTtsZXQgcyxyLG4sZyxvO2ZvcihzPTAscj1pLmxlbmd0aDtzPHI7cysrKXtvPXRbMV1bc118fGlbc107Y29uc3QgZT1bXTtmb3Iobj0wLGc9by5sZW5ndGg7bjxnO24rKyllLnB1c2goc3RyaW5nMTYoby5jaGFyQ29kZUF0KG4pKSk7YS5wdXNoKGUuam9pbigiIikpfWNvbnN0IGM9W2ksYV0sQz1bIlwwASIsIlwwAyJdLGg9WyJcMFwwIiwiXDABIl0sbD1bIlwwXDAiLCIEXHQiXSxRPWkubGVuZ3RoKkMubGVuZ3RoO2xldCBFPSJcMFwwIitzdHJpbmcxNihRKStzdHJpbmcxNigxMipRKzYpLHU9MDtmb3Iocz0wLHI9Qy5sZW5ndGg7czxyO3MrKyl7Y29uc3QgZT1jW3NdO2ZvcihuPTAsZz1lLmxlbmd0aDtuPGc7bisrKXtvPWVbbl07RSs9Q1tzXStoW3NdK2xbc10rc3RyaW5nMTYobikrc3RyaW5nMTYoby5sZW5ndGgpK3N0cmluZzE2KHUpO3UrPW8ubGVuZ3RofX1FKz1pLmpvaW4oIiIpK2Euam9pbigiIik7cmV0dXJuIEV9Y2xhc3MgRm9udHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5uYW1lPWU7dGhpcy5wc05hbWU9bnVsbDt0aGlzLm1pbWV0eXBlPW51bGw7dGhpcy5kaXNhYmxlRm9udEZhY2U9ITE7dGhpcy5sb2FkZWROYW1lPWkubG9hZGVkTmFtZTt0aGlzLmlzVHlwZTNGb250PWkuaXNUeXBlM0ZvbnQ7dGhpcy5taXNzaW5nRmlsZT0hMTt0aGlzLmNzc0ZvbnRJbmZvPWkuY3NzRm9udEluZm87dGhpcy5fY2hhcnNDYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuX2dseXBoQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgYT0hIShpLmZsYWdzJk9pKTtpZighYSYmIWkuaXNTaW11bGF0ZWRGbGFncyl7Y29uc3QgdD1lLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpLnNwbGl0KCItIiwxKVswXSxpPV9pKCk7Zm9yKGNvbnN0IGUgb2YgdC5zcGxpdCgiKyIpKWlmKGlbZV0pe2E9ITA7YnJlYWt9fXRoaXMuaXNTZXJpZkZvbnQ9YTt0aGlzLmlzU3ltYm9saWNGb250PSEhKGkuZmxhZ3MmUGkpO3RoaXMuaXNNb25vc3BhY2U9ISEoaS5mbGFncyZxaSk7bGV0e3R5cGU6cyxzdWJ0eXBlOnJ9PWk7dGhpcy50eXBlPXM7dGhpcy5zdWJ0eXBlPXI7dGhpcy5zeXN0ZW1Gb250SW5mbz1pLnN5c3RlbUZvbnRJbmZvO2NvbnN0IG49ZS5tYXRjaCgvXkludmFsaWRQREZqc0ZvbnRfKC4qKV9cZCskLyk7dGhpcy5pc0ludmFsaWRQREZqc0ZvbnQ9ISFuO3RoaXMuaXNJbnZhbGlkUERGanNGb250P3RoaXMuZmFsbGJhY2tOYW1lPW5bMV06dGhpcy5pc01vbm9zcGFjZT90aGlzLmZhbGxiYWNrTmFtZT0ibW9ub3NwYWNlIjp0aGlzLmlzU2VyaWZGb250P3RoaXMuZmFsbGJhY2tOYW1lPSJzZXJpZiI6dGhpcy5mYWxsYmFja05hbWU9InNhbnMtc2VyaWYiO2lmKHRoaXMuc3lzdGVtRm9udEluZm8/Lmd1ZXNzRmFsbGJhY2spe3RoaXMuc3lzdGVtRm9udEluZm8uZ3Vlc3NGYWxsYmFjaz0hMTt0aGlzLnN5c3RlbUZvbnRJbmZvLmNzcys9YCwke3RoaXMuZmFsbGJhY2tOYW1lfWB9dGhpcy5kaWZmZXJlbmNlcz1pLmRpZmZlcmVuY2VzO3RoaXMud2lkdGhzPWkud2lkdGhzO3RoaXMuZGVmYXVsdFdpZHRoPWkuZGVmYXVsdFdpZHRoO3RoaXMuY29tcG9zaXRlPWkuY29tcG9zaXRlO3RoaXMuY01hcD1pLmNNYXA7dGhpcy5jYXBIZWlnaHQ9aS5jYXBIZWlnaHQvdWE7dGhpcy5hc2NlbnQ9aS5hc2NlbnQvdWE7dGhpcy5kZXNjZW50PWkuZGVzY2VudC91YTt0aGlzLmxpbmVIZWlnaHQ9dGhpcy5hc2NlbnQtdGhpcy5kZXNjZW50O3RoaXMuZm9udE1hdHJpeD1pLmZvbnRNYXRyaXg7dGhpcy5iYm94PWkuYmJveDt0aGlzLmRlZmF1bHRFbmNvZGluZz1pLmRlZmF1bHRFbmNvZGluZzt0aGlzLnRvVW5pY29kZT1pLnRvVW5pY29kZTt0aGlzLnRvRm9udENoYXI9W107aWYoIlR5cGUzIj09PWkudHlwZSl7Zm9yKGxldCBlPTA7ZTwyNTY7ZSsrKXRoaXMudG9Gb250Q2hhcltlXT10aGlzLmRpZmZlcmVuY2VzW2VdfHxpLmRlZmF1bHRFbmNvZGluZ1tlXTtyZXR1cm59dGhpcy5jaWRFbmNvZGluZz1pLmNpZEVuY29kaW5nfHwiIjt0aGlzLnZlcnRpY2FsPSEhaS52ZXJ0aWNhbDtpZih0aGlzLnZlcnRpY2FsKXt0aGlzLnZtZXRyaWNzPWkudm1ldHJpY3M7dGhpcy5kZWZhdWx0Vk1ldHJpY3M9aS5kZWZhdWx0Vk1ldHJpY3N9aWYoIXR8fHQuaXNFbXB0eSl7dCYmd2FybignRm9udCBmaWxlIGlzIGVtcHR5IGluICInK2UrJyIgKCcrdGhpcy5sb2FkZWROYW1lKyIpIik7dGhpcy5mYWxsYmFja1RvU3lzdGVtRm9udChpKTtyZXR1cm59W3Mscl09Z2V0Rm9udEZpbGVUeXBlKHQsaSk7cz09PXRoaXMudHlwZSYmcj09PXRoaXMuc3VidHlwZXx8aW5mbyhgSW5jb25zaXN0ZW50IGZvbnQgZmlsZSBUeXBlL1N1YlR5cGUsIGV4cGVjdGVkOiAke3RoaXMudHlwZX0vJHt0aGlzLnN1YnR5cGV9IGJ1dCBmb3VuZDogJHtzfS8ke3J9LmApO2xldCBnO3RyeXtzd2l0Y2gocyl7Y2FzZSJNTVR5cGUxIjppbmZvKCJNTVR5cGUxIGZvbnQgKCIrZSsiKSwgZmFsbGluZyBiYWNrIHRvIFR5cGUxLiIpO2Nhc2UiVHlwZTEiOmNhc2UiQ0lERm9udFR5cGUwIjp0aGlzLm1pbWV0eXBlPSJmb250L29wZW50eXBlIjtjb25zdCBhPSJUeXBlMUMiPT09cnx8IkNJREZvbnRUeXBlMEMiPT09cj9uZXcgQ0ZGRm9udCh0LGkpOm5ldyBUeXBlMUZvbnQoZSx0LGkpO2FkanVzdFdpZHRocyhpKTtnPXRoaXMuY29udmVydChlLGEsaSk7YnJlYWs7Y2FzZSJPcGVuVHlwZSI6Y2FzZSJUcnVlVHlwZSI6Y2FzZSJDSURGb250VHlwZTIiOnRoaXMubWltZXR5cGU9ImZvbnQvb3BlbnR5cGUiO2c9dGhpcy5jaGVja0FuZFJlcGFpcihlLHQsaSk7aWYodGhpcy5pc09wZW5UeXBlKXthZGp1c3RXaWR0aHMoaSk7cz0iT3BlblR5cGUifWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBGb250ICR7c30gaXMgbm90IHN1cHBvcnRlZGApfX1jYXRjaChlKXt3YXJuKGUpO3RoaXMuZmFsbGJhY2tUb1N5c3RlbUZvbnQoaSk7cmV0dXJufWFtZW5kRmFsbGJhY2tUb1VuaWNvZGUoaSk7dGhpcy5kYXRhPWc7dGhpcy50eXBlPXM7dGhpcy5zdWJ0eXBlPXI7dGhpcy5mb250TWF0cml4PWkuZm9udE1hdHJpeDt0aGlzLndpZHRocz1pLndpZHRoczt0aGlzLmRlZmF1bHRXaWR0aD1pLmRlZmF1bHRXaWR0aDt0aGlzLnRvVW5pY29kZT1pLnRvVW5pY29kZTt0aGlzLnNlYWNNYXA9aS5zZWFjTWFwfWdldCByZW5kZXJlcigpe3JldHVybiBzaGFkb3codGhpcywicmVuZGVyZXIiLEZvbnRSZW5kZXJlckZhY3RvcnkuY3JlYXRlKHRoaXMsVGkpKX1leHBvcnREYXRhKGU9ITEpe2NvbnN0IHQ9ZT9bLi4uZGEsLi4uZmFdOmRhLGk9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgYSxzO2ZvcihhIG9mIHQpe3M9dGhpc1thXTt2b2lkIDAhPT1zJiYoaVthXT1zKX1yZXR1cm4gaX1mYWxsYmFja1RvU3lzdGVtRm9udChlKXt0aGlzLm1pc3NpbmdGaWxlPSEwO2NvbnN0e25hbWU6dCx0eXBlOml9PXRoaXM7bGV0IGE9bm9ybWFsaXplRm9udE5hbWUodCk7Y29uc3Qgcz1aaSgpLHI9emkoKSxuPSEhc1thXSxnPSEoIXJbYV18fCFzW3JbYV1dKTthPXNbYV18fHJbYV18fGE7Y29uc3Qgbz1zYSgpW2FdO2lmKG8pe2lzTmFOKHRoaXMuYXNjZW50KSYmKHRoaXMuYXNjZW50PW8uYXNjZW50L3VhKTtpc05hTih0aGlzLmRlc2NlbnQpJiYodGhpcy5kZXNjZW50PW8uZGVzY2VudC91YSk7aXNOYU4odGhpcy5jYXBIZWlnaHQpJiYodGhpcy5jYXBIZWlnaHQ9by5jYXBIZWlnaHQvdWEpfXRoaXMuYm9sZD0vYm9sZC9naS50ZXN0KGEpO3RoaXMuaXRhbGljPS9vYmxpcXVlfGl0YWxpYy9naS50ZXN0KGEpO3RoaXMuYmxhY2s9L0JsYWNrL2cudGVzdCh0KTtjb25zdCBjPS9OYXJyb3cvZy50ZXN0KHQpO3RoaXMucmVtZWFzdXJlPSghbnx8YykmJk9iamVjdC5rZXlzKHRoaXMud2lkdGhzKS5sZW5ndGg+MDtpZigobnx8ZykmJiJDSURGb250VHlwZTIiPT09aSYmdGhpcy5jaWRFbmNvZGluZy5zdGFydHNXaXRoKCJJZGVudGl0eS0iKSl7Y29uc3QgaT1lLmNpZFRvR2lkTWFwLGE9W107YXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChhLEFhKCkpOy9BcmlhbC0/QmxhY2svaS50ZXN0KHQpP2FwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoYSxlYSgpKTovQ2FsaWJyaS9pLnRlc3QodCkmJmFwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoYSx0YSgpKTtpZihpKXtmb3IoY29uc3QgZSBpbiBhKXtjb25zdCB0PWFbZV07dm9pZCAwIT09aVt0XSYmKGFbK2VdPWlbdF0pfWkubGVuZ3RoIT09dGhpcy50b1VuaWNvZGUubGVuZ3RoJiZlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiZ0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2NvbnN0IHM9YVtlXTt2b2lkIDA9PT1pW3NdJiYoYVsrZV09dCl9KSl9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcHx8dGhpcy50b1VuaWNvZGUuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXthWytlXT10fSkpO3RoaXMudG9Gb250Q2hhcj1hO3RoaXMudG9Vbmljb2RlPW5ldyBUb1VuaWNvZGVNYXAoYSl9ZWxzZSBpZigvU3ltYm9sL2kudGVzdChhKSl0aGlzLnRvRm9udENoYXI9YnVpbGRUb0ZvbnRDaGFyKERpLE1pKCksdGhpcy5kaWZmZXJlbmNlcyk7ZWxzZSBpZigvRGluZ2JhdHMvaS50ZXN0KGEpKXRoaXMudG9Gb250Q2hhcj1idWlsZFRvRm9udENoYXIoYmksSGkoKSx0aGlzLmRpZmZlcmVuY2VzKTtlbHNlIGlmKG58fGcpe2NvbnN0IGU9YnVpbGRUb0ZvbnRDaGFyKHRoaXMuZGVmYXVsdEVuY29kaW5nLE1pKCksdGhpcy5kaWZmZXJlbmNlcyk7IkNJREZvbnRUeXBlMiIhPT1pfHx0aGlzLmNpZEVuY29kaW5nLnN0YXJ0c1dpdGgoIklkZW50aXR5LSIpfHx0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwfHx0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2VbK3RdPWl9KSk7dGhpcy50b0ZvbnRDaGFyPWV9ZWxzZXtjb25zdCBlPU1pKCksaT1bXTt0aGlzLnRvVW5pY29kZS5mb3JFYWNoKCgodCxhKT0+e2lmKCF0aGlzLmNvbXBvc2l0ZSl7Y29uc3QgaT1nZXRVbmljb2RlRm9yR2x5cGgodGhpcy5kaWZmZXJlbmNlc1t0XXx8dGhpcy5kZWZhdWx0RW5jb2RpbmdbdF0sZSk7LTEhPT1pJiYoYT1pKX1pWyt0XT1hfSkpO3RoaXMuY29tcG9zaXRlJiZ0aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwJiYvVGFob21hfFZlcmRhbmEvaS50ZXN0KHQpJiZhcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGksQWEoKSk7dGhpcy50b0ZvbnRDaGFyPWl9YW1lbmRGYWxsYmFja1RvVW5pY29kZShlKTt0aGlzLmxvYWRlZE5hbWU9YS5zcGxpdCgiLSIsMSlbMF19Y2hlY2tBbmRSZXBhaXIoZSx0LGkpe2NvbnN0IGE9WyJPUy8yIiwiY21hcCIsImhlYWQiLCJoaGVhIiwiaG10eCIsIm1heHAiLCJuYW1lIiwicG9zdCIsImxvY2EiLCJnbHlmIiwiZnBnbSIsInByZXAiLCJjdnQgIiwiQ0ZGICJdO2Z1bmN0aW9uIHJlYWRUYWJsZXMoZSx0KXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCk7aVsiT1MvMiJdPW51bGw7aS5jbWFwPW51bGw7aS5oZWFkPW51bGw7aS5oaGVhPW51bGw7aS5obXR4PW51bGw7aS5tYXhwPW51bGw7aS5uYW1lPW51bGw7aS5wb3N0PW51bGw7Zm9yKGxldCBzPTA7czx0O3MrKyl7Y29uc3QgdD1yZWFkVGFibGVFbnRyeShlKTthLmluY2x1ZGVzKHQudGFnKSYmKDAhPT10Lmxlbmd0aCYmKGlbdC50YWddPXQpKX1yZXR1cm4gaX1mdW5jdGlvbiByZWFkVGFibGVFbnRyeShlKXtjb25zdCB0PWUuZ2V0U3RyaW5nKDQpLGk9ZS5nZXRJbnQzMigpPj4+MCxhPWUuZ2V0SW50MzIoKT4+PjAscz1lLmdldEludDMyKCk+Pj4wLHI9ZS5wb3M7ZS5wb3M9ZS5zdGFydHx8MDtlLnNraXAoYSk7Y29uc3Qgbj1lLmdldEJ5dGVzKHMpO2UucG9zPXI7aWYoImhlYWQiPT09dCl7bls4XT1uWzldPW5bMTBdPW5bMTFdPTA7blsxN118PTMyfXJldHVybnt0YWc6dCxjaGVja3N1bTppLGxlbmd0aDpzLG9mZnNldDphLGRhdGE6bn19ZnVuY3Rpb24gcmVhZE9wZW5UeXBlSGVhZGVyKGUpe3JldHVybnt2ZXJzaW9uOmUuZ2V0U3RyaW5nKDQpLG51bVRhYmxlczplLmdldFVpbnQxNigpLHNlYXJjaFJhbmdlOmUuZ2V0VWludDE2KCksZW50cnlTZWxlY3RvcjplLmdldFVpbnQxNigpLHJhbmdlU2hpZnQ6ZS5nZXRVaW50MTYoKX19ZnVuY3Rpb24gc2FuaXRpemVHbHlwaChlLHQsaSxhLHMscil7Y29uc3Qgbj17bGVuZ3RoOjAsc2l6ZU9mSW5zdHJ1Y3Rpb25zOjB9O2lmKHQ8MHx8dD49ZS5sZW5ndGh8fGk+ZS5sZW5ndGh8fGktdDw9MTIpcmV0dXJuIG47Y29uc3QgZz1lLnN1YmFycmF5KHQsaSksbz1zaWduZWRJbnQxNihnWzJdLGdbM10pLGM9c2lnbmVkSW50MTYoZ1s0XSxnWzVdKSxDPXNpZ25lZEludDE2KGdbNl0sZ1s3XSksaD1zaWduZWRJbnQxNihnWzhdLGdbOV0pO2lmKG8+Qyl7d3JpdGVTaWduZWRJbnQxNihnLDIsQyk7d3JpdGVTaWduZWRJbnQxNihnLDYsbyl9aWYoYz5oKXt3cml0ZVNpZ25lZEludDE2KGcsNCxoKTt3cml0ZVNpZ25lZEludDE2KGcsOCxjKX1jb25zdCBsPXNpZ25lZEludDE2KGdbMF0sZ1sxXSk7aWYobDwwKXtpZihsPC0xKXJldHVybiBuO2Euc2V0KGcscyk7bi5sZW5ndGg9Zy5sZW5ndGg7cmV0dXJuIG59bGV0IFEsRT0xMCx1PTA7Zm9yKFE9MDtRPGw7USsrKXt1PShnW0VdPDw4fGdbRSsxXSkrMTtFKz0yfWNvbnN0IGQ9RSxmPWdbRV08PDh8Z1tFKzFdO24uc2l6ZU9mSW5zdHJ1Y3Rpb25zPWY7RSs9MitmO2NvbnN0IHA9RTtsZXQgbT0wO2ZvcihRPTA7UTx1O1ErKyl7Y29uc3QgZT1nW0UrK107MTkyJmUmJihnW0UtMV09NjMmZSk7bGV0IHQ9MjsyJmU/dD0xOjE2JmUmJih0PTApO2xldCBpPTI7NCZlP2k9MTozMiZlJiYoaT0wKTtjb25zdCBhPXQraTttKz1hO2lmKDgmZSl7Y29uc3QgZT1nW0UrK107MD09PWUmJihnW0UtMV1ePTgpO1ErPWU7bSs9ZSphfX1pZigwPT09bSlyZXR1cm4gbjtsZXQgeT1FK207aWYoeT5nLmxlbmd0aClyZXR1cm4gbjtpZighciYmZj4wKXthLnNldChnLnN1YmFycmF5KDAsZCkscyk7YS5zZXQoWzAsMF0scytkKTthLnNldChnLnN1YmFycmF5KHAseSkscytkKzIpO3ktPWY7Zy5sZW5ndGgteT4zJiYoeT15KzMmLTQpO24ubGVuZ3RoPXk7cmV0dXJuIG59aWYoZy5sZW5ndGgteT4zKXt5PXkrMyYtNDthLnNldChnLnN1YmFycmF5KDAseSkscyk7bi5sZW5ndGg9eTtyZXR1cm4gbn1hLnNldChnLHMpO24ubGVuZ3RoPWcubGVuZ3RoO3JldHVybiBufWZ1bmN0aW9uIHJlYWROYW1lVGFibGUoZSl7Y29uc3QgaT0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9aTtjb25zdCBhPVtbXSxbXV0scz1bXSxyPWUubGVuZ3RoLG49aStyO2lmKDAhPT10LmdldFVpbnQxNigpfHxyPDYpcmV0dXJuW2Esc107Y29uc3QgZz10LmdldFVpbnQxNigpLG89dC5nZXRVaW50MTYoKTtsZXQgYyxDO2ZvcihjPTA7YzxnJiZ0LnBvcysxMjw9bjtjKyspe2NvbnN0IGU9e3BsYXRmb3JtOnQuZ2V0VWludDE2KCksZW5jb2Rpbmc6dC5nZXRVaW50MTYoKSxsYW5ndWFnZTp0LmdldFVpbnQxNigpLG5hbWU6dC5nZXRVaW50MTYoKSxsZW5ndGg6dC5nZXRVaW50MTYoKSxvZmZzZXQ6dC5nZXRVaW50MTYoKX07KGlzTWFjTmFtZVJlY29yZChlKXx8aXNXaW5OYW1lUmVjb3JkKGUpKSYmcy5wdXNoKGUpfWZvcihjPTAsQz1zLmxlbmd0aDtjPEM7YysrKXtjb25zdCBlPXNbY107aWYoZS5sZW5ndGg8PTApY29udGludWU7Y29uc3Qgcj1pK28rZS5vZmZzZXQ7aWYocitlLmxlbmd0aD5uKWNvbnRpbnVlO3QucG9zPXI7Y29uc3QgZz1lLm5hbWU7aWYoZS5lbmNvZGluZyl7bGV0IGk9IiI7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSs9MilpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0VWludDE2KCkpO2FbMV1bZ109aX1lbHNlIGFbMF1bZ109dC5nZXRTdHJpbmcoZS5sZW5ndGgpfXJldHVyblthLHNdfWNvbnN0IHM9WzAsMCwwLDAsMCwwLDAsMCwtMiwtMiwtMiwtMiwwLDAsLTIsLTUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsLTEsLTEsMSwtMSwtOTk5LDAsMSwwLC0xLC0yLDAsLTEsLTIsLTEsLTEsMCwtMSwtMSwwLDAsLTk5OSwtOTk5LC0xLC0xLC0xLC0xLC0yLC05OTksLTIsLTIsLTk5OSwwLC0yLC0yLDAsMCwtMiwwLC0yLDAsMCwwLC0yLC0xLC0xLDEsMSwwLDAsLTEsLTEsLTEsLTEsLTEsLTEsLTEsMCwwLC0xLDAsLTEsLTEsMCwtOTk5LC0xLC0xLC0xLC0xLC0xLC0xLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLC0yLC05OTksLTk5OSwtOTk5LC05OTksLTk5OSwtMSwtMSwtMiwtMiwwLDAsMCwwLC0xLC0xLC05OTksLTIsLTIsMCwwLC0xLC0yLC0yLDAsMCwwLC0xLC0xLC0xLC0yXTtmdW5jdGlvbiBzYW5pdGl6ZVRUUHJvZ3JhbShlLHQpe2xldCBpLGEscixuLGcsbz1lLmRhdGEsYz0wLEM9MCxoPTA7Y29uc3QgbD1bXSxRPVtdLEU9W107bGV0IHU9dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnMsZD0hMSxmPTAscD0wO2ZvcihsZXQgZT1vLmxlbmd0aDtjPGU7KXtjb25zdCBlPW9bYysrXTtpZig2ND09PWUpe2E9b1tjKytdO2lmKGR8fHApYys9YTtlbHNlIGZvcihpPTA7aTxhO2krKylsLnB1c2gob1tjKytdKX1lbHNlIGlmKDY1PT09ZSl7YT1vW2MrK107aWYoZHx8cCljKz0yKmE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspe3I9b1tjKytdO2wucHVzaChyPDw4fG9bYysrXSl9fWVsc2UgaWYoMTc2PT0oMjQ4JmUpKXthPWUtMTc2KzE7aWYoZHx8cCljKz1hO2Vsc2UgZm9yKGk9MDtpPGE7aSsrKWwucHVzaChvW2MrK10pfWVsc2UgaWYoMTg0PT0oMjQ4JmUpKXthPWUtMTg0KzE7aWYoZHx8cCljKz0yKmE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspe3I9b1tjKytdO2wucHVzaChyPDw4fG9bYysrXSl9fWVsc2UgaWYoNDMhPT1lfHx1KWlmKDQ0IT09ZXx8dSl7aWYoNDU9PT1lKWlmKGQpe2Q9ITE7Qz1jfWVsc2V7Zz1RLnBvcCgpO2lmKCFnKXt3YXJuKCJUVDogRU5ERiBiYWQgc3RhY2siKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufW49RS5wb3AoKTtvPWcuZGF0YTtjPWcuaTt0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW25dPWwubGVuZ3RoLWcuc3RhY2tUb3B9ZWxzZSBpZigxMzc9PT1lKXtpZihkfHxwKXt3YXJuKCJUVDogbmVzdGVkIElERUZzIG5vdCBhbGxvd2VkIik7dT0hMH1kPSEwO2g9Y31lbHNlIGlmKDg4PT09ZSkrK2Y7ZWxzZSBpZigyNz09PWUpcD1mO2Vsc2UgaWYoODk9PT1lKXtwPT09ZiYmKHA9MCk7LS1mfWVsc2UgaWYoMjg9PT1lJiYhZCYmIXApe2NvbnN0IGU9bC5hdCgtMSk7ZT4wJiYoYys9ZS0xKX19ZWxzZXtpZihkfHxwKXt3YXJuKCJUVDogbmVzdGVkIEZERUZzIG5vdCBhbGxvd2VkIik7dT0hMH1kPSEwO2g9YztuPWwucG9wKCk7dC5mdW5jdGlvbnNEZWZpbmVkW25dPXtkYXRhOm8saTpjfX1lbHNlIGlmKCFkJiYhcCl7bj1sLmF0KC0xKTtpZihpc05hTihuKSlpbmZvKCJUVDogQ0FMTCBlbXB0eSBzdGFjayAob3IgaW52YWxpZCBlbnRyeSkuIik7ZWxzZXt0LmZ1bmN0aW9uc1VzZWRbbl09ITA7aWYobiBpbiB0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzKXtjb25zdCBlPWwubGVuZ3RoK3QuZnVuY3Rpb25zU3RhY2tEZWx0YXNbbl07aWYoZTwwKXt3YXJuKCJUVDogQ0FMTCBpbnZhbGlkIGZ1bmN0aW9ucyBzdGFjayBkZWx0YS4iKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufWwubGVuZ3RoPWV9ZWxzZSBpZihuIGluIHQuZnVuY3Rpb25zRGVmaW5lZCYmIUUuaW5jbHVkZXMobikpe1EucHVzaCh7ZGF0YTpvLGk6YyxzdGFja1RvcDpsLmxlbmd0aC0xfSk7RS5wdXNoKG4pO2c9dC5mdW5jdGlvbnNEZWZpbmVkW25dO2lmKCFnKXt3YXJuKCJUVDogQ0FMTCBub24tZXhpc3RlbnQgZnVuY3Rpb24iKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufW89Zy5kYXRhO2M9Zy5pfX19aWYoIWQmJiFwKXtsZXQgdD0wO2U8PTE0Mj90PXNbZV06ZT49MTkyJiZlPD0yMjM/dD0tMTplPj0yMjQmJih0PS0yKTtpZihlPj0xMTMmJmU8PTExNyl7YT1sLnBvcCgpO2lzTmFOKGEpfHwodD0yKi1hKX1mb3IoO3Q8MCYmbC5sZW5ndGg+MDspe2wucG9wKCk7dCsrfWZvcig7dD4wOyl7bC5wdXNoKE5hTik7dC0tfX19dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM9dTtjb25zdCBtPVtvXTtjPm8ubGVuZ3RoJiZtLnB1c2gobmV3IFVpbnQ4QXJyYXkoYy1vLmxlbmd0aCkpO2lmKGg+Qyl7d2FybigiVFQ6IGNvbXBsZW1lbnRpbmcgYSBtaXNzaW5nIGZ1bmN0aW9uIHRhaWwiKTttLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzM0LDQ1XSkpfSFmdW5jdGlvbiBmb2xkVFRUYWJsZShlLHQpe2lmKHQubGVuZ3RoPjEpe2xldCBpLGEscz0wO2ZvcihpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXMrPXRbaV0ubGVuZ3RoO3M9cyszJi00O2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkocyk7bGV0IG49MDtmb3IoaT0wLGE9dC5sZW5ndGg7aTxhO2krKyl7ci5zZXQodFtpXSxuKTtuKz10W2ldLmxlbmd0aH1lLmRhdGE9cjtlLmxlbmd0aD1zfX0oZSxtKX1sZXQgcixuLGcsbztpZihpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUodD1uZXcgU3RyZWFtKG5ldyBVaW50OEFycmF5KHQuZ2V0Qnl0ZXMoKSkpKSl7Y29uc3QgZT1mdW5jdGlvbiByZWFkVHJ1ZVR5cGVDb2xsZWN0aW9uRGF0YShlLHQpe2NvbnN0e251bUZvbnRzOmksb2Zmc2V0VGFibGU6YX09ZnVuY3Rpb24gcmVhZFRydWVUeXBlQ29sbGVjdGlvbkhlYWRlcihlKXtjb25zdCB0PWUuZ2V0U3RyaW5nKDQpO2Fzc2VydCgidHRjZiI9PT10LCJNdXN0IGJlIGEgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBmb250LiIpO2NvbnN0IGk9ZS5nZXRVaW50MTYoKSxhPWUuZ2V0VWludDE2KCkscz1lLmdldEludDMyKCk+Pj4wLHI9W107Zm9yKGxldCB0PTA7dDxzO3QrKylyLnB1c2goZS5nZXRJbnQzMigpPj4+MCk7Y29uc3Qgbj17dHRjVGFnOnQsbWFqb3JWZXJzaW9uOmksbWlub3JWZXJzaW9uOmEsbnVtRm9udHM6cyxvZmZzZXRUYWJsZTpyfTtzd2l0Y2goaSl7Y2FzZSAxOnJldHVybiBuO2Nhc2UgMjpuLmRzaWdUYWc9ZS5nZXRJbnQzMigpPj4+MDtuLmRzaWdMZW5ndGg9ZS5nZXRJbnQzMigpPj4+MDtuLmRzaWdPZmZzZXQ9ZS5nZXRJbnQzMigpPj4+MDtyZXR1cm4gbn10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBtYWpvclZlcnNpb246ICR7aX0uYCl9KGUpLHM9dC5zcGxpdCgiKyIpO2xldCByO2ZvcihsZXQgbj0wO248aTtuKyspe2UucG9zPShlLnN0YXJ0fHwwKSthW25dO2NvbnN0IGk9cmVhZE9wZW5UeXBlSGVhZGVyKGUpLGc9cmVhZFRhYmxlcyhlLGkubnVtVGFibGVzKTtpZighZy5uYW1lKXRocm93IG5ldyBGb3JtYXRFcnJvcignVHJ1ZVR5cGUgQ29sbGVjdGlvbiBmb250IG11c3QgY29udGFpbiBhICJuYW1lIiB0YWJsZS4nKTtjb25zdFtvXT1yZWFkTmFtZVRhYmxlKGcubmFtZSk7Zm9yKGxldCBlPTAsYT1vLmxlbmd0aDtlPGE7ZSsrKWZvcihsZXQgYT0wLG49b1tlXS5sZW5ndGg7YTxuO2ErKyl7Y29uc3Qgbj1vW2VdW2FdPy5yZXBsYWNlQWxsKC9ccy9nLCIiKTtpZihuKXtpZihuPT09dClyZXR1cm57aGVhZGVyOmksdGFibGVzOmd9O2lmKCEocy5sZW5ndGg8MikpZm9yKGNvbnN0IGUgb2YgcyluPT09ZSYmKHI9e25hbWU6ZSxoZWFkZXI6aSx0YWJsZXM6Z30pfX19aWYocil7d2FybihgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBkb2VzIG5vdCBjb250YWluICIke3R9IiBmb250LCBmYWxsaW5nIGJhY2sgdG8gIiR7ci5uYW1lfSIgZm9udCBpbnN0ZWFkLmApO3JldHVybntoZWFkZXI6ci5oZWFkZXIsdGFibGVzOnIudGFibGVzfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFRydWVUeXBlIENvbGxlY3Rpb24gZG9lcyBub3QgY29udGFpbiAiJHt0fSIgZm9udC5gKX0odCx0aGlzLm5hbWUpO3I9ZS5oZWFkZXI7bj1lLnRhYmxlc31lbHNle3I9cmVhZE9wZW5UeXBlSGVhZGVyKHQpO249cmVhZFRhYmxlcyh0LHIubnVtVGFibGVzKX1jb25zdCBjPSFuWyJDRkYgIl07aWYoYyl7aWYoIW4ubG9jYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJsb2NhIiB0YWJsZSBpcyBub3QgZm91bmQnKTtpZighbi5nbHlmKXt3YXJuKCdSZXF1aXJlZCAiZ2x5ZiIgdGFibGUgaXMgbm90IGZvdW5kIC0tIHRyeWluZyB0byByZWNvdmVyLicpO24uZ2x5Zj17dGFnOiJnbHlmIixkYXRhOm5ldyBVaW50OEFycmF5KDApfX10aGlzLmlzT3BlblR5cGU9ITF9ZWxzZXtjb25zdCB0PWkuY29tcG9zaXRlJiYoaS5jaWRUb0dpZE1hcD8ubGVuZ3RoPjB8fCEoaS5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSk7aWYoIk9UVE8iPT09ci52ZXJzaW9uJiYhdHx8IW4uaGVhZHx8IW4uaGhlYXx8IW4ubWF4cHx8IW4ucG9zdCl7bz1uZXcgU3RyZWFtKG5bIkNGRiAiXS5kYXRhKTtnPW5ldyBDRkZGb250KG8saSk7YWRqdXN0V2lkdGhzKGkpO3JldHVybiB0aGlzLmNvbnZlcnQoZSxnLGkpfWRlbGV0ZSBuLmdseWY7ZGVsZXRlIG4ubG9jYTtkZWxldGUgbi5mcGdtO2RlbGV0ZSBuLnByZXA7ZGVsZXRlIG5bImN2dCAiXTt0aGlzLmlzT3BlblR5cGU9ITB9aWYoIW4ubWF4cCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJtYXhwIiB0YWJsZSBpcyBub3QgZm91bmQnKTt0LnBvcz0odC5zdGFydHx8MCkrbi5tYXhwLm9mZnNldDtsZXQgQz10LmdldEludDMyKCk7Y29uc3QgaD10LmdldFVpbnQxNigpO2lmKDY1NTM2IT09QyYmMjA0ODAhPT1DKXtpZig2PT09bi5tYXhwLmxlbmd0aClDPTIwNDgwO2Vsc2V7aWYoIShuLm1heHAubGVuZ3RoPj0zMikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCcibWF4cCIgdGFibGUgaGFzIGEgd3JvbmcgdmVyc2lvbiBudW1iZXInKTtDPTY1NTM2fSFmdW5jdGlvbiB3cml0ZVVpbnQzMihlLHQsaSl7ZVt0KzNdPTI1NSZpO2VbdCsyXT1pPj4+ODtlW3QrMV09aT4+PjE2O2VbdF09aT4+PjI0fShuLm1heHAuZGF0YSwwLEMpfWlmKGkuc2NhbGVGYWN0b3JzPy5sZW5ndGg9PT1oJiZjKXtjb25zdHtzY2FsZUZhY3RvcnM6ZX09aSx0PWludDE2KG4uaGVhZC5kYXRhWzUwXSxuLmhlYWQuZGF0YVs1MV0pLGE9bmV3IEdseWZUYWJsZSh7Z2x5ZlRhYmxlOm4uZ2x5Zi5kYXRhLGlzR2x5cGhMb2NhdGlvbnNMb25nOnQsbG9jYVRhYmxlOm4ubG9jYS5kYXRhLG51bUdseXBoczpofSk7YS5zY2FsZShlKTtjb25zdHtnbHlmOnMsbG9jYTpyLGlzTG9jYXRpb25Mb25nOmd9PWEud3JpdGUoKTtuLmdseWYuZGF0YT1zO24ubG9jYS5kYXRhPXI7aWYoZyE9PSEhdCl7bi5oZWFkLmRhdGFbNTBdPTA7bi5oZWFkLmRhdGFbNTFdPWc/MTowfWNvbnN0IG89bi5obXR4LmRhdGE7Zm9yKGxldCB0PTA7dDxoO3QrKyl7Y29uc3QgaT00KnQsYT1NYXRoLnJvdW5kKGVbdF0qaW50MTYob1tpXSxvW2krMV0pKTtvW2ldPWE+PjgmMjU1O29baSsxXT0yNTUmYTt3cml0ZVNpZ25lZEludDE2KG8saSsyLE1hdGgucm91bmQoZVt0XSpzaWduZWRJbnQxNihvW2krMl0sb1tpKzNdKSkpfX1sZXQgbD1oKzEsUT0hMDtpZihsPjY1NTM1KXtRPSExO2w9aDt3YXJuKCJOb3QgZW5vdWdoIHNwYWNlIGluIGdseWZzIHRvIGR1cGxpY2F0ZSBmaXJzdCBnbHlwaC4iKX1sZXQgRT0wLHU9MDtpZihDPj02NTUzNiYmbi5tYXhwLmxlbmd0aD49MzIpe3QucG9zKz04O2lmKHQuZ2V0VWludDE2KCk+Mil7bi5tYXhwLmRhdGFbMTRdPTA7bi5tYXhwLmRhdGFbMTVdPTJ9dC5wb3MrPTQ7RT10LmdldFVpbnQxNigpO3QucG9zKz00O3U9dC5nZXRVaW50MTYoKX1uLm1heHAuZGF0YVs0XT1sPj44O24ubWF4cC5kYXRhWzVdPTI1NSZsO2NvbnN0IGQ9ZnVuY3Rpb24gc2FuaXRpemVUVFByb2dyYW1zKGUsdCxpLGEpe2NvbnN0IHM9e2Z1bmN0aW9uc0RlZmluZWQ6W10sZnVuY3Rpb25zVXNlZDpbXSxmdW5jdGlvbnNTdGFja0RlbHRhczpbXSx0b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM6ITEsaGludHNWYWxpZDohMH07ZSYmc2FuaXRpemVUVFByb2dyYW0oZSxzKTt0JiZzYW5pdGl6ZVRUUHJvZ3JhbSh0LHMpO2UmJmZ1bmN0aW9uIGNoZWNrSW52YWxpZEZ1bmN0aW9ucyhlLHQpe2lmKCFlLnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucylpZihlLmZ1bmN0aW9uc0RlZmluZWQubGVuZ3RoPnQpe3dhcm4oIlRUOiBtb3JlIGZ1bmN0aW9ucyBkZWZpbmVkIHRoYW4gZXhwZWN0ZWQiKTtlLmhpbnRzVmFsaWQ9ITF9ZWxzZSBmb3IobGV0IGk9MCxhPWUuZnVuY3Rpb25zVXNlZC5sZW5ndGg7aTxhO2krKyl7aWYoaT50KXt3YXJuKCJUVDogaW52YWxpZCBmdW5jdGlvbiBpZDogIitpKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufWlmKGUuZnVuY3Rpb25zVXNlZFtpXSYmIWUuZnVuY3Rpb25zRGVmaW5lZFtpXSl7d2FybigiVFQ6IHVuZGVmaW5lZCBmdW5jdGlvbjogIitpKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufX19KHMsYSk7aWYoaSYmMSZpLmxlbmd0aCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShpLmxlbmd0aCsxKTtlLnNldChpLmRhdGEpO2kuZGF0YT1lfXJldHVybiBzLmhpbnRzVmFsaWR9KG4uZnBnbSxuLnByZXAsblsiY3Z0ICJdLEUpO2lmKCFkKXtkZWxldGUgbi5mcGdtO2RlbGV0ZSBuLnByZXA7ZGVsZXRlIG5bImN2dCAiXX0hZnVuY3Rpb24gc2FuaXRpemVNZXRyaWNzKGUsdCxpLGEscyxyKXtpZighdCl7aSYmKGkuZGF0YT1udWxsKTtyZXR1cm59ZS5wb3M9KGUuc3RhcnR8fDApK3Qub2Zmc2V0O2UucG9zKz00O2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2NvbnN0IG49ZS5nZXRVaW50MTYoKTtlLnBvcys9ODtlLnBvcys9MjtsZXQgZz1lLmdldFVpbnQxNigpO2lmKDAhPT1uKXtpZighKDImaW50MTYoYS5kYXRhWzQ0XSxhLmRhdGFbNDVdKSkpe3QuZGF0YVsyMl09MDt0LmRhdGFbMjNdPTB9fWlmKGc+cyl7aW5mbyhgVGhlIG51bU9mTWV0cmljcyAoJHtnfSkgc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gdGhlIG51bUdseXBocyAoJHtzfSkuYCk7Zz1zO3QuZGF0YVszNF09KDY1MjgwJmcpPj44O3QuZGF0YVszNV09MjU1Jmd9Y29uc3Qgbz1zLWctKGkubGVuZ3RoLTQqZz4+MSk7aWYobz4wKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGkubGVuZ3RoKzIqbyk7ZS5zZXQoaS5kYXRhKTtpZihyKXtlW2kubGVuZ3RoXT1pLmRhdGFbMl07ZVtpLmxlbmd0aCsxXT1pLmRhdGFbM119aS5kYXRhPWV9fSh0LG4uaGhlYSxuLmhtdHgsbi5oZWFkLGwsUSk7aWYoIW4uaGVhZCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJoZWFkIiB0YWJsZSBpcyBub3QgZm91bmQnKTshZnVuY3Rpb24gc2FuaXRpemVIZWFkKGUsdCxpKXtjb25zdCBhPWUuZGF0YSxzPWZ1bmN0aW9uIGludDMyKGUsdCxpLGEpe3JldHVybihlPDwyNCkrKHQ8PDE2KSsoaTw8OCkrYX0oYVswXSxhWzFdLGFbMl0sYVszXSk7aWYocz4+MTYhPTEpe2luZm8oIkF0dGVtcHRpbmcgdG8gZml4IGludmFsaWQgdmVyc2lvbiBpbiBoZWFkIHRhYmxlOiAiK3MpO2FbMF09MDthWzFdPTE7YVsyXT0wO2FbM109MH1jb25zdCByPWludDE2KGFbNTBdLGFbNTFdKTtpZihyPDB8fHI+MSl7aW5mbygiQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCBpbmRleFRvTG9jRm9ybWF0IGluIGhlYWQgdGFibGU6ICIrcik7Y29uc3QgZT10KzE7aWYoaT09PWU8PDEpe2FbNTBdPTA7YVs1MV09MH1lbHNle2lmKGkhPT1lPDwyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQ291bGQgbm90IGZpeCBpbmRleFRvTG9jRm9ybWF0OiAiK3IpO2FbNTBdPTA7YVs1MV09MX19fShuLmhlYWQsaCxjP24ubG9jYS5sZW5ndGg6MCk7bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihjKXtjb25zdCBlPWludDE2KG4uaGVhZC5kYXRhWzUwXSxuLmhlYWQuZGF0YVs1MV0pLHQ9ZnVuY3Rpb24gc2FuaXRpemVHbHlwaExvY2F0aW9ucyhlLHQsaSxhLHMscixuKXtsZXQgZyxvLGM7aWYoYSl7Zz00O289ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGVMb25nKGUsdCl7cmV0dXJuIGVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fGVbdCszXX07Yz1mdW5jdGlvbiBmb250SXRlbUVuY29kZUxvbmcoZSx0LGkpe2VbdF09aT4+PjI0JjI1NTtlW3QrMV09aT4+MTYmMjU1O2VbdCsyXT1pPj44JjI1NTtlW3QrM109MjU1Jml9fWVsc2V7Zz0yO289ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGUoZSx0KXtyZXR1cm4gZVt0XTw8OXxlW3QrMV08PDF9O2M9ZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGUoZSx0LGkpe2VbdF09aT4+OSYyNTU7ZVt0KzFdPWk+PjEmMjU1fX1jb25zdCBDPXI/aSsxOmksaD1nKigxK0MpLGw9bmV3IFVpbnQ4QXJyYXkoaCk7bC5zZXQoZS5kYXRhLnN1YmFycmF5KDAsaCkpO2UuZGF0YT1sO2NvbnN0IFE9dC5kYXRhLEU9US5sZW5ndGgsdT1uZXcgVWludDhBcnJheShFKTtsZXQgZCxmO2NvbnN0IHA9W107Zm9yKGQ9MCxmPTA7ZDxpKzE7ZCsrLGYrPWcpe2xldCBlPW8obCxmKTtlPkUmJihlPUUpO3AucHVzaCh7aW5kZXg6ZCxvZmZzZXQ6ZSxlbmRPZmZzZXQ6MH0pfXAuc29ydCgoKGUsdCk9PmUub2Zmc2V0LXQub2Zmc2V0KSk7Zm9yKGQ9MDtkPGk7ZCsrKXBbZF0uZW5kT2Zmc2V0PXBbZCsxXS5vZmZzZXQ7cC5zb3J0KCgoZSx0KT0+ZS5pbmRleC10LmluZGV4KSk7Zm9yKGQ9MDtkPGk7ZCsrKXtjb25zdHtvZmZzZXQ6ZSxlbmRPZmZzZXQ6dH09cFtkXTtpZigwIT09ZXx8MCE9PXQpYnJlYWs7Y29uc3QgaT1wW2QrMV0ub2Zmc2V0O2lmKDAhPT1pKXtwW2RdLmVuZE9mZnNldD1pO2JyZWFrfX1jb25zdCBtPXAuYXQoLTIpOzAhPT1tLm9mZnNldCYmMD09PW0uZW5kT2Zmc2V0JiYobS5lbmRPZmZzZXQ9RSk7Y29uc3QgeT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCB3PTA7YyhsLDAsdyk7Zm9yKGQ9MCxmPWc7ZDxpO2QrKyxmKz1nKXtjb25zdCBlPXNhbml0aXplR2x5cGgoUSxwW2RdLm9mZnNldCxwW2RdLmVuZE9mZnNldCx1LHcscyksdD1lLmxlbmd0aDswPT09dCYmKHlbZF09ITApO2Uuc2l6ZU9mSW5zdHJ1Y3Rpb25zPm4mJihuPWUuc2l6ZU9mSW5zdHJ1Y3Rpb25zKTt3Kz10O2MobCxmLHcpfWlmKDA9PT13KXtjb25zdCBlPW5ldyBVaW50OEFycmF5KFswLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDksMF0pO2ZvcihkPTAsZj1nO2Q8QztkKyssZis9ZyljKGwsZixlLmxlbmd0aCk7dC5kYXRhPWV9ZWxzZSBpZihyKXtjb25zdCBpPW8obCxnKTtpZih1Lmxlbmd0aD5pK3cpdC5kYXRhPXUuc3ViYXJyYXkoMCxpK3cpO2Vsc2V7dC5kYXRhPW5ldyBVaW50OEFycmF5KGkrdyk7dC5kYXRhLnNldCh1LnN1YmFycmF5KDAsdykpfXQuZGF0YS5zZXQodS5zdWJhcnJheSgwLGkpLHcpO2MoZS5kYXRhLGwubGVuZ3RoLWcsdytpKX1lbHNlIHQuZGF0YT11LnN1YmFycmF5KDAsdyk7cmV0dXJue21pc3NpbmdHbHlwaHM6eSxtYXhTaXplT2ZJbnN0cnVjdGlvbnM6bn19KG4ubG9jYSxuLmdseWYsaCxlLGQsUSx1KTtmPXQubWlzc2luZ0dseXBocztpZihDPj02NTUzNiYmbi5tYXhwLmxlbmd0aD49MzIpe24ubWF4cC5kYXRhWzI2XT10Lm1heFNpemVPZkluc3RydWN0aW9ucz4+ODtuLm1heHAuZGF0YVsyN109MjU1JnQubWF4U2l6ZU9mSW5zdHJ1Y3Rpb25zfX1pZighbi5oaGVhKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgImhoZWEiIHRhYmxlIGlzIG5vdCBmb3VuZCcpO2lmKDA9PT1uLmhoZWEuZGF0YVsxMF0mJjA9PT1uLmhoZWEuZGF0YVsxMV0pe24uaGhlYS5kYXRhWzEwXT0yNTU7bi5oaGVhLmRhdGFbMTFdPTI1NX1jb25zdCBwPXt1bml0c1BlckVtOmludDE2KG4uaGVhZC5kYXRhWzE4XSxuLmhlYWQuZGF0YVsxOV0pLHlNYXg6c2lnbmVkSW50MTYobi5oZWFkLmRhdGFbNDJdLG4uaGVhZC5kYXRhWzQzXSkseU1pbjpzaWduZWRJbnQxNihuLmhlYWQuZGF0YVszOF0sbi5oZWFkLmRhdGFbMzldKSxhc2NlbnQ6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbNF0sbi5oaGVhLmRhdGFbNV0pLGRlc2NlbnQ6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbNl0sbi5oaGVhLmRhdGFbN10pLGxpbmVHYXA6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbOF0sbi5oaGVhLmRhdGFbOV0pfTt0aGlzLmFzY2VudD1wLmFzY2VudC9wLnVuaXRzUGVyRW07dGhpcy5kZXNjZW50PXAuZGVzY2VudC9wLnVuaXRzUGVyRW07dGhpcy5saW5lR2FwPXAubGluZUdhcC9wLnVuaXRzUGVyRW07aWYodGhpcy5jc3NGb250SW5mbz8ubGluZUhlaWdodCl7dGhpcy5saW5lSGVpZ2h0PXRoaXMuY3NzRm9udEluZm8ubWV0cmljcy5saW5lSGVpZ2h0O3RoaXMubGluZUdhcD10aGlzLmNzc0ZvbnRJbmZvLm1ldHJpY3MubGluZUdhcH1lbHNlIHRoaXMubGluZUhlaWdodD10aGlzLmFzY2VudC10aGlzLmRlc2NlbnQrdGhpcy5saW5lR2FwO24ucG9zdCYmZnVuY3Rpb24gcmVhZFBvc3RTY3JpcHRUYWJsZShlLGksYSl7Y29uc3Qgcz0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9cztjb25zdCByPXMrZS5sZW5ndGgsbj10LmdldEludDMyKCk7dC5za2lwKDI4KTtsZXQgZyxvLGM9ITA7c3dpdGNoKG4pe2Nhc2UgNjU1MzY6Zz1qaTticmVhaztjYXNlIDEzMTA3Mjpjb25zdCBlPXQuZ2V0VWludDE2KCk7aWYoZSE9PWEpe2M9ITE7YnJlYWt9Y29uc3Qgcz1bXTtmb3Iobz0wO288ZTsrK28pe2NvbnN0IGU9dC5nZXRVaW50MTYoKTtpZihlPj0zMjc2OCl7Yz0hMTticmVha31zLnB1c2goZSl9aWYoIWMpYnJlYWs7Y29uc3QgQz1bXSxoPVtdO2Zvcig7dC5wb3M8cjspe2NvbnN0IGU9dC5nZXRCeXRlKCk7aC5sZW5ndGg9ZTtmb3Iobz0wO288ZTsrK28paFtvXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0Qnl0ZSgpKTtDLnB1c2goaC5qb2luKCIiKSl9Zz1bXTtmb3Iobz0wO288ZTsrK28pe2NvbnN0IGU9c1tvXTtlPDI1OD9nLnB1c2goamlbZV0pOmcucHVzaChDW2UtMjU4XSl9YnJlYWs7Y2FzZSAxOTY2MDg6YnJlYWs7ZGVmYXVsdDp3YXJuKCJVbmtub3duL3Vuc3VwcG9ydGVkIHBvc3QgdGFibGUgdmVyc2lvbiAiK24pO2M9ITE7aS5kZWZhdWx0RW5jb2RpbmcmJihnPWkuZGVmYXVsdEVuY29kaW5nKX1pLmdseXBoTmFtZXM9ZztyZXR1cm4gY30obi5wb3N0LGksaCk7bi5wb3N0PXt0YWc6InBvc3QiLGRhdGE6Y3JlYXRlUG9zdFRhYmxlKGkpfTtjb25zdCBtPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gaGFzR2x5cGgoZSl7cmV0dXJuIWZbZV19aWYoaS5jb21wb3NpdGUpe2NvbnN0IGU9aS5jaWRUb0dpZE1hcHx8W10sdD0wPT09ZS5sZW5ndGg7aS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGksYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT1jb252ZXJ0Q2lkU3RyaW5nKGksYSwhMCkpO2lmKGE+NjU1MzUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYXggc2l6ZSBvZiBDSUQgaXMgNjUsNTM1Iik7bGV0IHM9LTE7dD9zPWE6dm9pZCAwIT09ZVthXSYmKHM9ZVthXSk7cz49MCYmczxoJiZoYXNHbHlwaChzKSYmKG1baV09cyl9KSl9ZWxzZXtjb25zdCBlPWZ1bmN0aW9uIHJlYWRDbWFwVGFibGUoZSx0LGksYSl7aWYoIWUpe3dhcm4oIk5vIGNtYXAgdGFibGUgYXZhaWxhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1sZXQgcyxyPSh0LnN0YXJ0fHwwKStlLm9mZnNldDt0LnBvcz1yO3Quc2tpcCgyKTtjb25zdCBuPXQuZ2V0VWludDE2KCk7bGV0IGcsbz0hMTtmb3IobGV0IGU9MDtlPG47ZSsrKXtjb25zdCBzPXQuZ2V0VWludDE2KCkscj10LmdldFVpbnQxNigpLGM9dC5nZXRJbnQzMigpPj4+MDtsZXQgQz0hMTtpZihnPy5wbGF0Zm9ybUlkIT09c3x8Zz8uZW5jb2RpbmdJZCE9PXIpe2lmKDAhPT1zfHwwIT09ciYmMSE9PXImJjMhPT1yKWlmKDE9PT1zJiYwPT09cilDPSEwO2Vsc2UgaWYoMyE9PXN8fDEhPT1yfHwhYSYmZyl7aWYoaSYmMz09PXMmJjA9PT1yKXtDPSEwO2xldCBpPSEwO2lmKGU8bi0xKXtjb25zdCBlPXQucGVla0J5dGVzKDIpO2ludDE2KGVbMF0sZVsxXSk8cyYmKGk9ITEpfWkmJihvPSEwKX19ZWxzZXtDPSEwO2l8fChvPSEwKX1lbHNlIEM9ITA7QyYmKGc9e3BsYXRmb3JtSWQ6cyxlbmNvZGluZ0lkOnIsb2Zmc2V0OmN9KTtpZihvKWJyZWFrfX1nJiYodC5wb3M9citnLm9mZnNldCk7aWYoIWd8fC0xPT09dC5wZWVrQnl0ZSgpKXt3YXJuKCJDb3VsZCBub3QgZmluZCBhIHByZWZlcnJlZCBjbWFwIHRhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1jb25zdCBjPXQuZ2V0VWludDE2KCk7bGV0IEM9ITE7Y29uc3QgaD1bXTtsZXQgbCxRO2lmKDA9PT1jKXt0LnNraXAoNCk7Zm9yKGw9MDtsPDI1NjtsKyspe2NvbnN0IGU9dC5nZXRCeXRlKCk7ZSYmaC5wdXNoKHtjaGFyQ29kZTpsLGdseXBoSWQ6ZX0pfUM9ITB9ZWxzZSBpZigyPT09Yyl7dC5za2lwKDQpO2NvbnN0IGU9W107bGV0IGk9MDtmb3IobGV0IGE9MDthPDI1NjthKyspe2NvbnN0IGE9dC5nZXRVaW50MTYoKT4+MztlLnB1c2goYSk7aT1NYXRoLm1heChhLGkpfWNvbnN0IGE9W107Zm9yKGxldCBlPTA7ZTw9aTtlKyspYS5wdXNoKHtmaXJzdENvZGU6dC5nZXRVaW50MTYoKSxlbnRyeUNvdW50OnQuZ2V0VWludDE2KCksaWREZWx0YTpzaWduZWRJbnQxNih0LmdldEJ5dGUoKSx0LmdldEJ5dGUoKSksaWRSYW5nZVBvczp0LnBvcyt0LmdldFVpbnQxNigpfSk7Zm9yKGxldCBpPTA7aTwyNTY7aSsrKWlmKDA9PT1lW2ldKXt0LnBvcz1hWzBdLmlkUmFuZ2VQb3MrMippO1E9dC5nZXRVaW50MTYoKTtoLnB1c2goe2NoYXJDb2RlOmksZ2x5cGhJZDpRfSl9ZWxzZXtjb25zdCBzPWFbZVtpXV07Zm9yKGw9MDtsPHMuZW50cnlDb3VudDtsKyspe2NvbnN0IGU9KGk8PDgpK2wrcy5maXJzdENvZGU7dC5wb3M9cy5pZFJhbmdlUG9zKzIqbDtRPXQuZ2V0VWludDE2KCk7MCE9PVEmJihRPShRK3MuaWREZWx0YSklNjU1MzYpO2gucHVzaCh7Y2hhckNvZGU6ZSxnbHlwaElkOlF9KX19fWVsc2UgaWYoND09PWMpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCk+PjE7dC5za2lwKDYpO2NvbnN0IGk9W107bGV0IGE7Zm9yKGE9MDthPGU7YSsrKWkucHVzaCh7ZW5kOnQuZ2V0VWludDE2KCl9KTt0LnNraXAoMik7Zm9yKGE9MDthPGU7YSsrKWlbYV0uc3RhcnQ9dC5nZXRVaW50MTYoKTtmb3IoYT0wO2E8ZTthKyspaVthXS5kZWx0YT10LmdldFVpbnQxNigpO2xldCBuLGc9MDtmb3IoYT0wO2E8ZTthKyspe3M9aVthXTtjb25zdCByPXQuZ2V0VWludDE2KCk7aWYocil7bj0ocj4+MSktKGUtYSk7cy5vZmZzZXRJbmRleD1uO2c9TWF0aC5tYXgoZyxuK3MuZW5kLXMuc3RhcnQrMSl9ZWxzZSBzLm9mZnNldEluZGV4PS0xfWNvbnN0IG89W107Zm9yKGw9MDtsPGc7bCsrKW8ucHVzaCh0LmdldFVpbnQxNigpKTtmb3IoYT0wO2E8ZTthKyspe3M9aVthXTtyPXMuc3RhcnQ7Y29uc3QgZT1zLmVuZCx0PXMuZGVsdGE7bj1zLm9mZnNldEluZGV4O2ZvcihsPXI7bDw9ZTtsKyspaWYoNjU1MzUhPT1sKXtRPW48MD9sOm9bbitsLXJdO1E9USt0JjY1NTM1O2gucHVzaCh7Y2hhckNvZGU6bCxnbHlwaElkOlF9KX19fWVsc2UgaWYoNj09PWMpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCksaT10LmdldFVpbnQxNigpO2ZvcihsPTA7bDxpO2wrKyl7UT10LmdldFVpbnQxNigpO2NvbnN0IGk9ZStsO2gucHVzaCh7Y2hhckNvZGU6aSxnbHlwaElkOlF9KX19ZWxzZXtpZigxMiE9PWMpe3dhcm4oImNtYXAgdGFibGUgaGFzIHVuc3VwcG9ydGVkIGZvcm1hdDogIitjKTtyZXR1cm57cGxhdGZvcm1JZDotMSxlbmNvZGluZ0lkOi0xLG1hcHBpbmdzOltdLGhhc1Nob3J0Q21hcDohMX19e3Quc2tpcCgxMCk7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wO2ZvcihsPTA7bDxlO2wrKyl7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wLGk9dC5nZXRJbnQzMigpPj4+MDtsZXQgYT10LmdldEludDMyKCk+Pj4wO2ZvcihsZXQgdD1lO3Q8PWk7dCsrKWgucHVzaCh7Y2hhckNvZGU6dCxnbHlwaElkOmErK30pfX19aC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLmNoYXJDb2RlLXQuY2hhckNvZGV9KSk7Zm9yKGxldCBlPTE7ZTxoLmxlbmd0aDtlKyspaWYoaFtlLTFdLmNoYXJDb2RlPT09aFtlXS5jaGFyQ29kZSl7aC5zcGxpY2UoZSwxKTtlLS19cmV0dXJue3BsYXRmb3JtSWQ6Zy5wbGF0Zm9ybUlkLGVuY29kaW5nSWQ6Zy5lbmNvZGluZ0lkLG1hcHBpbmdzOmgsaGFzU2hvcnRDbWFwOkN9fShuLmNtYXAsdCx0aGlzLmlzU3ltYm9saWNGb250LGkuaGFzRW5jb2RpbmcpLGE9ZS5wbGF0Zm9ybUlkLHM9ZS5lbmNvZGluZ0lkLHI9ZS5tYXBwaW5ncztsZXQgZz1bXSxvPSExOyFpLmhhc0VuY29kaW5nfHwiTWFjUm9tYW5FbmNvZGluZyIhPT1pLmJhc2VFbmNvZGluZ05hbWUmJiJXaW5BbnNpRW5jb2RpbmciIT09aS5iYXNlRW5jb2RpbmdOYW1lfHwoZz1nZXRFbmNvZGluZyhpLmJhc2VFbmNvZGluZ05hbWUpKTtpZihpLmhhc0VuY29kaW5nJiYhdGhpcy5pc1N5bWJvbGljRm9udCYmKDM9PT1hJiYxPT09c3x8MT09PWEmJjA9PT1zKSl7Y29uc3QgZT1NaSgpO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyl7bGV0IG47bj12b2lkIDAhPT10aGlzLmRpZmZlcmVuY2VzW3RdP3RoaXMuZGlmZmVyZW5jZXNbdF06Zy5sZW5ndGgmJiIiIT09Z1t0XT9nW3RdOnlpW3RdO2lmKCFuKWNvbnRpbnVlO2NvbnN0IG89cmVjb3ZlckdseXBoTmFtZShuLGUpO2xldCBjOzM9PT1hJiYxPT09cz9jPWVbb106MT09PWEmJjA9PT1zJiYoYz1taS5pbmRleE9mKG8pKTtpZih2b2lkIDA9PT1jKXtpZighaS5nbHlwaE5hbWVzJiZpLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiYhKHRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApKXtjb25zdCBlPXRoaXMudG9Vbmljb2RlLmdldCh0KTtlJiYoYz1lLmNvZGVQb2ludEF0KDApKX1pZih2b2lkIDA9PT1jKWNvbnRpbnVlfWZvcihjb25zdCBlIG9mIHIpaWYoZS5jaGFyQ29kZT09PWMpe21bdF09ZS5nbHlwaElkO2JyZWFrfX19ZWxzZSBpZigwPT09YSl7Zm9yKGNvbnN0IGUgb2YgciltW2UuY2hhckNvZGVdPWUuZ2x5cGhJZDtvPSEwfWVsc2UgaWYoMz09PWEmJjA9PT1zKWZvcihjb25zdCBlIG9mIHIpe2xldCB0PWUuY2hhckNvZGU7dD49NjE0NDAmJnQ8PTYxNjk1JiYodCY9MjU1KTttW3RdPWUuZ2x5cGhJZH1lbHNlIGZvcihjb25zdCBlIG9mIHIpbVtlLmNoYXJDb2RlXT1lLmdseXBoSWQ7aWYoaS5nbHlwaE5hbWVzJiYoZy5sZW5ndGh8fHRoaXMuZGlmZmVyZW5jZXMubGVuZ3RoKSlmb3IobGV0IGU9MDtlPDI1NjsrK2Upe2lmKCFvJiZ2b2lkIDAhPT1tW2VdKWNvbnRpbnVlO2NvbnN0IHQ9dGhpcy5kaWZmZXJlbmNlc1tlXXx8Z1tlXTtpZighdCljb250aW51ZTtjb25zdCBhPWkuZ2x5cGhOYW1lcy5pbmRleE9mKHQpO2E+MCYmaGFzR2x5cGgoYSkmJihtW2VdPWEpfX0wPT09bS5sZW5ndGgmJihtWzBdPTApO2xldCB5PWwtMTtRfHwoeT0wKTtpZighaS5jc3NGb250SW5mbyl7Y29uc3QgZT1hZGp1c3RNYXBwaW5nKG0saGFzR2x5cGgseSx0aGlzLnRvVW5pY29kZSk7dGhpcy50b0ZvbnRDaGFyPWUudG9Gb250Q2hhcjtuLmNtYXA9e3RhZzoiY21hcCIsZGF0YTpjcmVhdGVDbWFwVGFibGUoZS5jaGFyQ29kZVRvR2x5cGhJZCxlLnRvVW5pY29kZUV4dHJhTWFwLGwpfTtuWyJPUy8yIl0mJmZ1bmN0aW9uIHZhbGlkYXRlT1MyVGFibGUoZSx0KXt0LnBvcz0odC5zdGFydHx8MCkrZS5vZmZzZXQ7Y29uc3QgaT10LmdldFVpbnQxNigpO3Quc2tpcCg2MCk7Y29uc3QgYT10LmdldFVpbnQxNigpO2lmKGk8NCYmNzY4JmEpcmV0dXJuITE7aWYodC5nZXRVaW50MTYoKT50LmdldFVpbnQxNigpKXJldHVybiExO3Quc2tpcCg2KTtpZigwPT09dC5nZXRVaW50MTYoKSlyZXR1cm4hMTtlLmRhdGFbOF09ZS5kYXRhWzldPTA7cmV0dXJuITB9KG5bIk9TLzIiXSx0KXx8KG5bIk9TLzIiXT17dGFnOiJPUy8yIixkYXRhOmNyZWF0ZU9TMlRhYmxlKGksZS5jaGFyQ29kZVRvR2x5cGhJZCxwKX0pfWlmKCFjKXRyeXtvPW5ldyBTdHJlYW0oblsiQ0ZGICJdLmRhdGEpO2c9bmV3IENGRlBhcnNlcihvLGksVGkpLnBhcnNlKCk7Zy5kdXBsaWNhdGVGaXJzdEdseXBoKCk7Y29uc3QgZT1uZXcgQ0ZGQ29tcGlsZXIoZyk7blsiQ0ZGICJdLmRhdGE9ZS5jb21waWxlKCl9Y2F0Y2h7d2FybigiRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAiK2kubG9hZGVkTmFtZSl9aWYobi5uYW1lKXtjb25zdFt0LGFdPXJlYWROYW1lVGFibGUobi5uYW1lKTtuLm5hbWUuZGF0YT1jcmVhdGVOYW1lVGFibGUoZSx0KTt0aGlzLnBzTmFtZT10WzBdWzZdfHxudWxsO2kuY29tcG9zaXRlfHxmdW5jdGlvbiBhZGp1c3RUcnVlVHlwZVRvVW5pY29kZShlLHQsaSl7aWYoZS5pc0ludGVybmFsRm9udClyZXR1cm47aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcClyZXR1cm47aWYoZS5oYXNFbmNvZGluZylyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47aWYoIXQpcmV0dXJuO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47aWYoZS5kZWZhdWx0RW5jb2Rpbmc9PT13aSlyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZighaXNXaW5OYW1lUmVjb3JkKGUpKXJldHVybjtjb25zdCBhPXdpLHM9W10scj1NaSgpO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IHQ9YVtlXTtpZigiIj09PXQpY29udGludWU7Y29uc3QgaT1yW3RdO3ZvaWQgMCE9PWkmJihzW2VdPVN0cmluZy5mcm9tQ2hhckNvZGUoaSkpfXMubGVuZ3RoPjAmJmUudG9Vbmljb2RlLmFtZW5kKHMpfShpLHRoaXMuaXNTeW1ib2xpY0ZvbnQsYSl9ZWxzZSBuLm5hbWU9e3RhZzoibmFtZSIsZGF0YTpjcmVhdGVOYW1lVGFibGUodGhpcy5uYW1lKX07Y29uc3Qgdz1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcihyLnZlcnNpb24pO2Zvcihjb25zdCBlIGluIG4pdy5hZGRUYWJsZShlLG5bZV0uZGF0YSk7cmV0dXJuIHcudG9BcnJheSgpfWNvbnZlcnQoZSx0LGkpe2kuZml4ZWRQaXRjaD0hMTtpLmJ1aWx0SW5FbmNvZGluZyYmZnVuY3Rpb24gYWRqdXN0VHlwZTFUb1VuaWNvZGUoZSx0KXtpZihlLmlzSW50ZXJuYWxGb250KXJldHVybjtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXJldHVybjtpZih0PT09ZS5kZWZhdWx0RW5jb2RpbmcpcmV0dXJuO2lmKGUudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApcmV0dXJuO2NvbnN0IGk9W10sYT1NaSgpO2Zvcihjb25zdCBzIGluIHQpe2lmKGUuaGFzRW5jb2RpbmcmJihlLmJhc2VFbmNvZGluZ05hbWV8fHZvaWQgMCE9PWUuZGlmZmVyZW5jZXNbc10pKWNvbnRpbnVlO2NvbnN0IHI9Z2V0VW5pY29kZUZvckdseXBoKHRbc10sYSk7LTEhPT1yJiYoaVtzXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpKX1pLmxlbmd0aD4wJiZlLnRvVW5pY29kZS5hbWVuZChpKX0oaSxpLmJ1aWx0SW5FbmNvZGluZyk7bGV0IHM9MTt0IGluc3RhbmNlb2YgQ0ZGRm9udCYmKHM9dC5udW1HbHlwaHMtMSk7Y29uc3Qgcj10LmdldEdseXBoTWFwcGluZyhpKTtsZXQgbj1udWxsLGc9cixvPW51bGw7aWYoIWkuY3NzRm9udEluZm8pe249YWRqdXN0TWFwcGluZyhyLHQuaGFzR2x5cGhJZC5iaW5kKHQpLHMsdGhpcy50b1VuaWNvZGUpO3RoaXMudG9Gb250Q2hhcj1uLnRvRm9udENoYXI7Zz1uLmNoYXJDb2RlVG9HbHlwaElkO289bi50b1VuaWNvZGVFeHRyYU1hcH1jb25zdCBjPXQubnVtR2x5cGhzO2Z1bmN0aW9uIGdldENoYXJDb2RlcyhlLHQpe2xldCBpPW51bGw7Zm9yKGNvbnN0IGEgaW4gZSl0PT09ZVthXSYmKGl8fD1bXSkucHVzaCgwfGEpO3JldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZUNoYXJDb2RlKGUsdCl7Zm9yKGNvbnN0IGkgaW4gZSlpZih0PT09ZVtpXSlyZXR1cm4gMHxpO24uY2hhckNvZGVUb0dseXBoSWRbbi5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlXT10O3JldHVybiBuLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGUrK31jb25zdCBDPXQuc2VhY3M7aWYobiYmQz8ubGVuZ3RoKXtjb25zdCBlPWkuZm9udE1hdHJpeHx8YSxzPXQuZ2V0Q2hhcnNldCgpLGc9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gQyl7dHw9MDtjb25zdCBpPUNbdF0sYT15aVtpWzJdXSxvPXlpW2lbM11dLGM9cy5pbmRleE9mKGEpLGg9cy5pbmRleE9mKG8pO2lmKGM8MHx8aDwwKWNvbnRpbnVlO2NvbnN0IGw9e3g6aVswXSplWzBdK2lbMV0qZVsyXStlWzRdLHk6aVswXSplWzFdK2lbMV0qZVszXStlWzVdfSxRPWdldENoYXJDb2RlcyhyLHQpO2lmKFEpZm9yKGNvbnN0IGUgb2YgUSl7Y29uc3QgdD1uLmNoYXJDb2RlVG9HbHlwaElkLGk9Y3JlYXRlQ2hhckNvZGUodCxjKSxhPWNyZWF0ZUNoYXJDb2RlKHQsaCk7Z1tlXT17YmFzZUZvbnRDaGFyQ29kZTppLGFjY2VudEZvbnRDaGFyQ29kZTphLGFjY2VudE9mZnNldDpsfX19aS5zZWFjTWFwPWd9Y29uc3QgaD1pLmZvbnRNYXRyaXg/MS9NYXRoLm1heCguLi5pLmZvbnRNYXRyaXguc2xpY2UoMCw0KS5tYXAoTWF0aC5hYnMpKToxZTMsbD1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcigiT1RUTyIpO2wuYWRkVGFibGUoIkNGRiAiLHQuZGF0YSk7bC5hZGRUYWJsZSgiT1MvMiIsY3JlYXRlT1MyVGFibGUoaSxnKSk7bC5hZGRUYWJsZSgiY21hcCIsY3JlYXRlQ21hcFRhYmxlKGcsbyxjKSk7bC5hZGRUYWJsZSgiaGVhZCIsIlwwAVwwXDBcMFwwEFwwXDBcMFwwXDBfDzzDtVwwXDAiK3NhZmVTdHJpbmcxNihoKSsiXDBcMFwwXDDCnlx2fidcMFwwXDBcMMKeXHZ+J1wwXDAiK3NhZmVTdHJpbmcxNihpLmRlc2NlbnQpKyIPw78iK3NhZmVTdHJpbmcxNihpLmFzY2VudCkrc3RyaW5nMTYoaS5pdGFsaWNBbmdsZT8yOjApKyJcMBFcMFwwXDBcMFwwXDAiKTtsLmFkZFRhYmxlKCJoaGVhIiwiXDABXDBcMCIrc2FmZVN0cmluZzE2KGkuYXNjZW50KStzYWZlU3RyaW5nMTYoaS5kZXNjZW50KSsiXDBcMMO/w79cMFwwXDBcMFwwXDAiK3NhZmVTdHJpbmcxNihpLmNhcEhlaWdodCkrc2FmZVN0cmluZzE2KE1hdGgudGFuKGkuaXRhbGljQW5nbGUpKmkueEhlaWdodCkrIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIrc3RyaW5nMTYoYykpO2wuYWRkVGFibGUoImhtdHgiLGZ1bmN0aW9uIGZvbnRGaWVsZHNIbXR4KCl7Y29uc3QgZT10LmNoYXJzdHJpbmdzLGk9dC5jZmY/dC5jZmYud2lkdGhzOm51bGw7bGV0IGE9IlwwXDBcMFwwIjtmb3IobGV0IHQ9MSxzPWM7dDxzO3QrKyl7bGV0IHM9MDtpZihlKXtjb25zdCBpPWVbdC0xXTtzPSJ3aWR0aCJpbiBpP2kud2lkdGg6MH1lbHNlIGkmJihzPU1hdGguY2VpbChpW3RdfHwwKSk7YSs9c3RyaW5nMTYocykrc3RyaW5nMTYoMCl9cmV0dXJuIGF9KCkpO2wuYWRkVGFibGUoIm1heHAiLCJcMFwwUFwwIitzdHJpbmcxNihjKSk7bC5hZGRUYWJsZSgibmFtZSIsY3JlYXRlTmFtZVRhYmxlKGUpKTtsLmFkZFRhYmxlKCJwb3N0IixjcmVhdGVQb3N0VGFibGUoaSkpO3JldHVybiBsLnRvQXJyYXkoKX1nZXQgX3NwYWNlV2lkdGgoKXtjb25zdCBlPVsic3BhY2UiLCJtaW51cyIsIm9uZSIsImkiLCJJIl07bGV0IHQ7Zm9yKGNvbnN0IGkgb2YgZSl7aWYoaSBpbiB0aGlzLndpZHRocyl7dD10aGlzLndpZHRoc1tpXTticmVha31jb25zdCBlPU1pKClbaV07bGV0IGE9MDtpZih0aGlzLmNvbXBvc2l0ZSYmdGhpcy5jTWFwLmNvbnRhaW5zKGUpKXthPXRoaXMuY01hcC5sb29rdXAoZSk7InN0cmluZyI9PXR5cGVvZiBhJiYoYT1jb252ZXJ0Q2lkU3RyaW5nKGUsYSkpfSFhJiZ0aGlzLnRvVW5pY29kZSYmKGE9dGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihlKSk7YTw9MCYmKGE9ZSk7dD10aGlzLndpZHRoc1thXTtpZih0KWJyZWFrfXJldHVybiBzaGFkb3codGhpcywiX3NwYWNlV2lkdGgiLHR8fHRoaXMuZGVmYXVsdFdpZHRoKX1fY2hhclRvR2x5cGgoZSx0PSExKXtsZXQgaSxhLHMscj10aGlzLl9nbHlwaENhY2hlW2VdO2lmKHI/LmlzU3BhY2U9PT10KXJldHVybiByO2xldCBuPWU7aWYodGhpcy5jTWFwPy5jb250YWlucyhlKSl7bj10aGlzLmNNYXAubG9va3VwKGUpOyJzdHJpbmciPT10eXBlb2YgbiYmKG49Y29udmVydENpZFN0cmluZyhlLG4pKX1hPXRoaXMud2lkdGhzW25dOyJudW1iZXIiIT10eXBlb2YgYSYmKGE9dGhpcy5kZWZhdWx0V2lkdGgpO2NvbnN0IGc9dGhpcy52bWV0cmljcz8uW25dO2xldCBvPXRoaXMudG9Vbmljb2RlLmdldChlKXx8ZTsibnVtYmVyIj09dHlwZW9mIG8mJihvPVN0cmluZy5mcm9tQ2hhckNvZGUobykpO2xldCBjPXZvaWQgMCE9PXRoaXMudG9Gb250Q2hhcltlXTtpPXRoaXMudG9Gb250Q2hhcltlXXx8ZTtpZih0aGlzLm1pc3NpbmdGaWxlKXtjb25zdCB0PXRoaXMuZGlmZmVyZW5jZXNbZV18fHRoaXMuZGVmYXVsdEVuY29kaW5nW2VdO2lmKCgiLm5vdGRlZiI9PT10fHwiIj09PXQpJiYiVHlwZTEiPT09dGhpcy50eXBlKXtpPTMyO2lmKCIiPT09dCl7YXx8PXRoaXMuX3NwYWNlV2lkdGg7bz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfX1pPWZ1bmN0aW9uIG1hcFNwZWNpYWxVbmljb2RlVmFsdWVzKGUpe3JldHVybiBlPj02NTUyMCYmZTw9NjU1MzU/MDplPj02Mjk3NiYmZTw9NjM3NDM/SmkoKVtlXXx8ZToxNzM9PT1lPzQ1OmV9KGkpfXRoaXMuaXNUeXBlM0ZvbnQmJihzPWkpO2xldCBDPW51bGw7aWYodGhpcy5zZWFjTWFwPy5bZV0pe2M9ITA7Y29uc3QgdD10aGlzLnNlYWNNYXBbZV07aT10LmJhc2VGb250Q2hhckNvZGU7Qz17Zm9udENoYXI6U3RyaW5nLmZyb21Db2RlUG9pbnQodC5hY2NlbnRGb250Q2hhckNvZGUpLG9mZnNldDp0LmFjY2VudE9mZnNldH19bGV0IGg9IiI7Im51bWJlciI9PXR5cGVvZiBpJiYoaTw9MTExNDExMT9oPVN0cmluZy5mcm9tQ29kZVBvaW50KGkpOndhcm4oYGNoYXJUb0dseXBoIC0gaW52YWxpZCBmb250Q2hhckNvZGU6ICR7aX1gKSk7aWYodGhpcy5taXNzaW5nRmlsZSYmdGhpcy52ZXJ0aWNhbCYmMT09PWgubGVuZ3RoKXtjb25zdCBlPVhpKClbaC5jaGFyQ29kZUF0KDApXTtlJiYoaD1vPVN0cmluZy5mcm9tQ2hhckNvZGUoZSkpfXI9bmV3IGZvbnRzX0dseXBoKGUsaCxvLEMsYSxnLHMsdCxjKTtyZXR1cm4gdGhpcy5fZ2x5cGhDYWNoZVtlXT1yfWNoYXJzVG9HbHlwaHMoZSl7bGV0IHQ9dGhpcy5fY2hhcnNDYWNoZVtlXTtpZih0KXJldHVybiB0O3Q9W107aWYodGhpcy5jTWFwKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT1lLmxlbmd0aDtsZXQgcz0wO2Zvcig7czxhOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLHMsaSk7Y29uc3R7Y2hhcmNvZGU6YSxsZW5ndGg6cn09aTtzKz1yO2NvbnN0IG49dGhpcy5fY2hhclRvR2x5cGgoYSwxPT09ciYmMzI9PT1lLmNoYXJDb2RlQXQocy0xKSk7dC5wdXNoKG4pfX1lbHNlIGZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhOysraSl7Y29uc3QgYT1lLmNoYXJDb2RlQXQoaSkscz10aGlzLl9jaGFyVG9HbHlwaChhLDMyPT09YSk7dC5wdXNoKHMpfXJldHVybiB0aGlzLl9jaGFyc0NhY2hlW2VdPXR9Z2V0Q2hhclBvc2l0aW9ucyhlKXtjb25zdCB0PVtdO2lmKHRoaXMuY01hcCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBhPTA7Zm9yKDthPGUubGVuZ3RoOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLGEsaSk7Y29uc3Qgcz1pLmxlbmd0aDt0LnB1c2goW2EsYStzXSk7YSs9c319ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTsrK2kpdC5wdXNoKFtpLGkrMV0pO3JldHVybiB0fWdldCBnbHlwaENhY2hlVmFsdWVzKCl7cmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZ2x5cGhDYWNoZSl9ZW5jb2RlU3RyaW5nKGUpe2NvbnN0IHQ9W10saT1bXSxoYXNDdXJyZW50QnVmRXJyb3JzPSgpPT50Lmxlbmd0aCUyPT0xLGE9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcD9lPT50aGlzLnRvVW5pY29kZS5jaGFyQ29kZU9mKGUpOmU9PnRoaXMudG9Vbmljb2RlLmNoYXJDb2RlT2YoU3RyaW5nLmZyb21Db2RlUG9pbnQoZSkpO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj1lLmNvZGVQb2ludEF0KHMpO3I+NTUyOTUmJihyPDU3MzQ0fHxyPjY1NTMzKSYmcysrO2lmKHRoaXMudG9Vbmljb2RlKXtjb25zdCBlPWEocik7aWYoLTEhPT1lKXtpZihoYXNDdXJyZW50QnVmRXJyb3JzKCkpe3QucHVzaChpLmpvaW4oIiIpKTtpLmxlbmd0aD0wfWZvcihsZXQgdD0odGhpcy5jTWFwP3RoaXMuY01hcC5nZXRDaGFyQ29kZUxlbmd0aChlKToxKS0xO3Q+PTA7dC0tKWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjgqdCYyNTUpKTtjb250aW51ZX19aWYoIWhhc0N1cnJlbnRCdWZFcnJvcnMoKSl7dC5wdXNoKGkuam9pbigiIikpO2kubGVuZ3RoPTB9aS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KHIpKX10LnB1c2goaS5qb2luKCIiKSk7cmV0dXJuIHR9fWNsYXNzIEVycm9yRm9udHtjb25zdHJ1Y3RvcihlKXt0aGlzLmVycm9yPWU7dGhpcy5sb2FkZWROYW1lPSJnX2ZvbnRfZXJyb3IiO3RoaXMubWlzc2luZ0ZpbGU9ITB9Y2hhcnNUb0dseXBocygpe3JldHVybltdfWVuY29kZVN0cmluZyhlKXtyZXR1cm5bZV19ZXhwb3J0RGF0YShlPSExKXtyZXR1cm57ZXJyb3I6dGhpcy5lcnJvcn19fWNvbnN0IHBhPTIsbWE9Myx5YT00LHdhPTUsRGE9NixiYT03O2NsYXNzIFBhdHRlcm57Y29uc3RydWN0b3IoKXt1bnJlYWNoYWJsZSgiQ2Fubm90IGluaXRpYWxpemUgUGF0dGVybi4iKX1zdGF0aWMgcGFyc2VTaGFkaW5nKGUsdCxpLGEscyl7Y29uc3Qgcj1lIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9lLmRpY3Q6ZSxuPXIuZ2V0KCJTaGFkaW5nVHlwZSIpO3RyeXtzd2l0Y2gobil7Y2FzZSBwYTpjYXNlIG1hOnJldHVybiBuZXcgUmFkaWFsQXhpYWxTaGFkaW5nKHIsdCxpLGEscyk7Y2FzZSB5YTpjYXNlIHdhOmNhc2UgRGE6Y2FzZSBiYTpyZXR1cm4gbmV3IE1lc2hTaGFkaW5nKGUsdCxpLGEscyk7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVuc3VwcG9ydGVkIFNoYWRpbmdUeXBlOiAiK24pfX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGUpO3JldHVybiBuZXcgRHVtbXlTaGFkaW5nfX19Y2xhc3MgQmFzZVNoYWRpbmd7c3RhdGljIFNNQUxMX05VTUJFUj0xZS02O2dldElSKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0SVJgIGNhbGxlZC4iKX19Y2xhc3MgUmFkaWFsQXhpYWxTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7Y29uc3RydWN0b3IoZSx0LGksYSxzKXtzdXBlcigpO3RoaXMuc2hhZGluZ1R5cGU9ZS5nZXQoIlNoYWRpbmdUeXBlIik7bGV0IHI9MDt0aGlzLnNoYWRpbmdUeXBlPT09cGE/cj00OnRoaXMuc2hhZGluZ1R5cGU9PT1tYSYmKHI9Nik7dGhpcy5jb29yZHNBcnI9ZS5nZXRBcnJheSgiQ29vcmRzIik7aWYoIWlzTnVtYmVyQXJyYXkodGhpcy5jb29yZHNBcnIscikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJSYWRpYWxBeGlhbFNoYWRpbmc6IEludmFsaWQgL0Nvb3JkcyBhcnJheS4iKTtjb25zdCBuPUNvbG9yU3BhY2UucGFyc2Uoe2NzOmUuZ2V0UmF3KCJDUyIpfHxlLmdldFJhdygiQ29sb3JTcGFjZSIpLHhyZWY6dCxyZXNvdXJjZXM6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6YSxsb2NhbENvbG9yU3BhY2VDYWNoZTpzfSk7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBnPTAsbz0xO2NvbnN0IGM9ZS5nZXRBcnJheSgiRG9tYWluIik7aXNOdW1iZXJBcnJheShjLDIpJiYoW2csb109Yyk7bGV0IEM9ITEsaD0hMTtjb25zdCBsPWUuZ2V0QXJyYXkoIkV4dGVuZCIpOyhmdW5jdGlvbiBpc0Jvb2xlYW5BcnJheShlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYobnVsbD09PXR8fGUubGVuZ3RoPT09dCkmJmUuZXZlcnkoKGU9PiJib29sZWFuIj09dHlwZW9mIGUpKX0pKGwsMikmJihbQyxoXT1sKTtpZighKHRoaXMuc2hhZGluZ1R5cGUhPT1tYXx8QyYmaCkpe2NvbnN0W2UsdCxpLGEscyxyXT10aGlzLmNvb3Jkc0FycixuPU1hdGguaHlwb3QoZS1hLHQtcyk7aTw9cituJiZyPD1pK24mJndhcm4oIlVuc3VwcG9ydGVkIHJhZGlhbCBncmFkaWVudC4iKX10aGlzLmV4dGVuZFN0YXJ0PUM7dGhpcy5leHRlbmRFbmQ9aDtjb25zdCBRPWUuZ2V0UmF3KCJGdW5jdGlvbiIpLEU9YS5jcmVhdGVGcm9tQXJyYXkoUSksdT0oby1nKS84NDAsZD10aGlzLmNvbG9yU3RvcHM9W107aWYoZz49b3x8dTw9MCl7aW5mbygiQmFkIHNoYWRpbmcgZG9tYWluLiIpO3JldHVybn1jb25zdCBmPW5ldyBGbG9hdDMyQXJyYXkobi5udW1Db21wcykscD1uZXcgRmxvYXQzMkFycmF5KDEpO2xldCBtLHk9MDtwWzBdPWc7RShwLDAsZiwwKTtsZXQgdz1uLmdldFJnYihmLDApO2NvbnN0IEQ9VXRpbC5tYWtlSGV4Q29sb3Iod1swXSx3WzFdLHdbMl0pO2QucHVzaChbMCxEXSk7bGV0IGI9MTtwWzBdPWcrdTtFKHAsMCxmLDApO2xldCBGPW4uZ2V0UmdiKGYsMCksUz1GWzBdLXdbMF0rMSxrPUZbMV0td1sxXSsxLFI9RlsyXS13WzJdKzEsTj1GWzBdLXdbMF0tMSxHPUZbMV0td1sxXS0xLHg9RlsyXS13WzJdLTE7Zm9yKGxldCBlPTI7ZTw4NDA7ZSsrKXtwWzBdPWcrZSp1O0UocCwwLGYsMCk7bT1uLmdldFJnYihmLDApO2NvbnN0IHQ9ZS15O1M9TWF0aC5taW4oUywobVswXS13WzBdKzEpL3QpO2s9TWF0aC5taW4oaywobVsxXS13WzFdKzEpL3QpO1I9TWF0aC5taW4oUiwobVsyXS13WzJdKzEpL3QpO049TWF0aC5tYXgoTiwobVswXS13WzBdLTEpL3QpO0c9TWF0aC5tYXgoRywobVsxXS13WzFdLTEpL3QpO3g9TWF0aC5tYXgoeCwobVsyXS13WzJdLTEpL3QpO2lmKCEoTjw9UyYmRzw9ayYmeDw9Uikpe2NvbnN0IGU9VXRpbC5tYWtlSGV4Q29sb3IoRlswXSxGWzFdLEZbMl0pO2QucHVzaChbYi84NDAsZV0pO1M9bVswXS1GWzBdKzE7az1tWzFdLUZbMV0rMTtSPW1bMl0tRlsyXSsxO049bVswXS1GWzBdLTE7Rz1tWzFdLUZbMV0tMTt4PW1bMl0tRlsyXS0xO3k9Yjt3PUZ9Yj1lO0Y9bX1jb25zdCBVPVV0aWwubWFrZUhleENvbG9yKEZbMF0sRlsxXSxGWzJdKTtkLnB1c2goWzEsVV0pO2xldCBNPSJ0cmFuc3BhcmVudCI7aWYoZS5oYXMoIkJhY2tncm91bmQiKSl7bT1uLmdldFJnYihlLmdldCgiQmFja2dyb3VuZCIpLDApO009VXRpbC5tYWtlSGV4Q29sb3IobVswXSxtWzFdLG1bMl0pfWlmKCFDKXtkLnVuc2hpZnQoWzAsTV0pO2RbMV1bMF0rPUJhc2VTaGFkaW5nLlNNQUxMX05VTUJFUn1pZighaCl7ZC5hdCgtMSlbMF0tPUJhc2VTaGFkaW5nLlNNQUxMX05VTUJFUjtkLnB1c2goWzEsTV0pfXRoaXMuY29sb3JTdG9wcz1kfWdldElSKCl7Y29uc3R7Y29vcmRzQXJyOmUsc2hhZGluZ1R5cGU6dH09dGhpcztsZXQgaSxhLHMscixuO2lmKHQ9PT1wYSl7YT1bZVswXSxlWzFdXTtzPVtlWzJdLGVbM11dO3I9bnVsbDtuPW51bGw7aT0iYXhpYWwifWVsc2UgaWYodD09PW1hKXthPVtlWzBdLGVbMV1dO3M9W2VbM10sZVs0XV07cj1lWzJdO249ZVs1XTtpPSJyYWRpYWwifWVsc2UgdW5yZWFjaGFibGUoYGdldFBhdHRlcm4gdHlwZSB1bmtub3duOiAke3R9YCk7cmV0dXJuWyJSYWRpYWxBeGlhbCIsaSx0aGlzLmJib3gsdGhpcy5jb2xvclN0b3BzLGEscyxyLG5dfX1jbGFzcyBNZXNoU3RyZWFtUmVhZGVye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdHJlYW09ZTt0aGlzLmNvbnRleHQ9dDt0aGlzLmJ1ZmZlcj0wO3RoaXMuYnVmZmVyTGVuZ3RoPTA7Y29uc3QgaT10Lm51bUNvbXBzO3RoaXMudG1wQ29tcHNCdWY9bmV3IEZsb2F0MzJBcnJheShpKTtjb25zdCBhPXQuY29sb3JTcGFjZS5udW1Db21wczt0aGlzLnRtcENzQ29tcHNCdWY9dC5jb2xvckZuP25ldyBGbG9hdDMyQXJyYXkoYSk6dGhpcy50bXBDb21wc0J1Zn1nZXQgaGFzRGF0YSgpe2lmKHRoaXMuc3RyZWFtLmVuZClyZXR1cm4gdGhpcy5zdHJlYW0ucG9zPHRoaXMuc3RyZWFtLmVuZDtpZih0aGlzLmJ1ZmZlckxlbmd0aD4wKXJldHVybiEwO2NvbnN0IGU9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2lmKGU8MClyZXR1cm4hMTt0aGlzLmJ1ZmZlcj1lO3RoaXMuYnVmZmVyTGVuZ3RoPTg7cmV0dXJuITB9cmVhZEJpdHMoZSl7bGV0IHQ9dGhpcy5idWZmZXIsaT10aGlzLmJ1ZmZlckxlbmd0aDtpZigzMj09PWUpe2lmKDA9PT1pKXJldHVybih0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDI0fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8MTZ8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDw4fHRoaXMuc3RyZWFtLmdldEJ5dGUoKSk+Pj4wO3Q9dDw8MjR8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDwxNnx0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDh8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2NvbnN0IGU9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO3RoaXMuYnVmZmVyPWUmKDE8PGkpLTE7cmV0dXJuKHQ8PDgtaXwoMjU1JmUpPj5pKT4+PjB9aWYoOD09PWUmJjA9PT1pKXJldHVybiB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7Zm9yKDtpPGU7KXt0PXQ8PDh8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2krPTh9aS09ZTt0aGlzLmJ1ZmZlckxlbmd0aD1pO3RoaXMuYnVmZmVyPXQmKDE8PGkpLTE7cmV0dXJuIHQ+Pml9YWxpZ24oKXt0aGlzLmJ1ZmZlcj0wO3RoaXMuYnVmZmVyTGVuZ3RoPTB9cmVhZEZsYWcoKXtyZXR1cm4gdGhpcy5yZWFkQml0cyh0aGlzLmNvbnRleHQuYml0c1BlckZsYWcpfXJlYWRDb29yZGluYXRlKCl7Y29uc3QgZT10aGlzLmNvbnRleHQuYml0c1BlckNvb3JkaW5hdGUsdD10aGlzLnJlYWRCaXRzKGUpLGk9dGhpcy5yZWFkQml0cyhlKSxhPXRoaXMuY29udGV4dC5kZWNvZGUscz1lPDMyPzEvKCgxPDxlKS0xKToyLjMyODMwNjQzNjUzODY5NjNlLTEwO3JldHVyblt0KnMqKGFbMV0tYVswXSkrYVswXSxpKnMqKGFbM10tYVsyXSkrYVsyXV19cmVhZENvbXBvbmVudHMoKXtjb25zdCBlPXRoaXMuY29udGV4dC5udW1Db21wcyx0PXRoaXMuY29udGV4dC5iaXRzUGVyQ29tcG9uZW50LGk9dDwzMj8xLygoMTw8dCktMSk6Mi4zMjgzMDY0MzY1Mzg2OTYzZS0xMCxhPXRoaXMuY29udGV4dC5kZWNvZGUscz10aGlzLnRtcENvbXBzQnVmO2ZvcihsZXQgcj0wLG49NDtyPGU7cisrLG4rPTIpe2NvbnN0IGU9dGhpcy5yZWFkQml0cyh0KTtzW3JdPWUqaSooYVtuKzFdLWFbbl0pK2Fbbl19Y29uc3Qgcj10aGlzLnRtcENzQ29tcHNCdWY7dGhpcy5jb250ZXh0LmNvbG9yRm4mJnRoaXMuY29udGV4dC5jb2xvckZuKHMsMCxyLDApO3JldHVybiB0aGlzLmNvbnRleHQuY29sb3JTcGFjZS5nZXRSZ2IociwwKX19bGV0IEZhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gZ2V0QihlKXtyZXR1cm4gRmFbZV18fD1mdW5jdGlvbiBidWlsZEIoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGk9MDtpPD1lO2krKyl7Y29uc3QgYT1pL2Uscz0xLWE7dC5wdXNoKG5ldyBGbG9hdDMyQXJyYXkoW3MqKjMsMyphKnMqKjIsMyphKioyKnMsYSoqM10pKX1yZXR1cm4gdH0oZSl9Y2xhc3MgTWVzaFNoYWRpbmcgZXh0ZW5kcyBCYXNlU2hhZGluZ3tzdGF0aWMgTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQ9MztzdGF0aWMgTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQ9MjA7c3RhdGljIFRSSUFOR0xFX0RFTlNJVFk9MjA7Y29uc3RydWN0b3IoZSx0LGksYSxzKXtzdXBlcigpO2lmKCEoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWVzaCBkYXRhIGlzIG5vdCBhIHN0cmVhbSIpO2NvbnN0IHI9ZS5kaWN0O3RoaXMuc2hhZGluZ1R5cGU9ci5nZXQoIlNoYWRpbmdUeXBlIik7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3Qoci5nZXRBcnJheSgiQkJveCIpLG51bGwpO2NvbnN0IG49Q29sb3JTcGFjZS5wYXJzZSh7Y3M6ci5nZXRSYXcoIkNTIil8fHIuZ2V0UmF3KCJDb2xvclNwYWNlIikseHJlZjp0LHJlc291cmNlczppLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KTt0aGlzLmJhY2tncm91bmQ9ci5oYXMoIkJhY2tncm91bmQiKT9uLmdldFJnYihyLmdldCgiQmFja2dyb3VuZCIpLDApOm51bGw7Y29uc3QgZz1yLmdldFJhdygiRnVuY3Rpb24iKSxvPWc/YS5jcmVhdGVGcm9tQXJyYXkoZyk6bnVsbDt0aGlzLmNvb3Jkcz1bXTt0aGlzLmNvbG9ycz1bXTt0aGlzLmZpZ3VyZXM9W107Y29uc3QgYz17Yml0c1BlckNvb3JkaW5hdGU6ci5nZXQoIkJpdHNQZXJDb29yZGluYXRlIiksYml0c1BlckNvbXBvbmVudDpyLmdldCgiQml0c1BlckNvbXBvbmVudCIpLGJpdHNQZXJGbGFnOnIuZ2V0KCJCaXRzUGVyRmxhZyIpLGRlY29kZTpyLmdldEFycmF5KCJEZWNvZGUiKSxjb2xvckZuOm8sY29sb3JTcGFjZTpuLG51bUNvbXBzOm8/MTpuLm51bUNvbXBzfSxDPW5ldyBNZXNoU3RyZWFtUmVhZGVyKGUsYyk7bGV0IGg9ITE7c3dpdGNoKHRoaXMuc2hhZGluZ1R5cGUpe2Nhc2UgeWE6dGhpcy5fZGVjb2RlVHlwZTRTaGFkaW5nKEMpO2JyZWFrO2Nhc2Ugd2E6Y29uc3QgZT0wfHIuZ2V0KCJWZXJ0aWNlc1BlclJvdyIpO2lmKGU8Mil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgVmVydGljZXNQZXJSb3ciKTt0aGlzLl9kZWNvZGVUeXBlNVNoYWRpbmcoQyxlKTticmVhaztjYXNlIERhOnRoaXMuX2RlY29kZVR5cGU2U2hhZGluZyhDKTtoPSEwO2JyZWFrO2Nhc2UgYmE6dGhpcy5fZGVjb2RlVHlwZTdTaGFkaW5nKEMpO2g9ITA7YnJlYWs7ZGVmYXVsdDp1bnJlYWNoYWJsZSgiVW5zdXBwb3J0ZWQgbWVzaCB0eXBlLiIpfWlmKGgpe3RoaXMuX3VwZGF0ZUJvdW5kcygpO2ZvcihsZXQgZT0wLHQ9dGhpcy5maWd1cmVzLmxlbmd0aDtlPHQ7ZSsrKXRoaXMuX2J1aWxkRmlndXJlRnJvbVBhdGNoKGUpfXRoaXMuX3VwZGF0ZUJvdW5kcygpO3RoaXMuX3BhY2tEYXRhKCl9X2RlY29kZVR5cGU0U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGk9dGhpcy5jb2xvcnMsYT1bXSxzPVtdO2xldCByPTA7Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCBuPWUucmVhZEZsYWcoKSxnPWUucmVhZENvb3JkaW5hdGUoKSxvPWUucmVhZENvbXBvbmVudHMoKTtpZigwPT09cil7aWYoISgwPD1uJiZuPD0yKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZTQgZmxhZyIpO3N3aXRjaChuKXtjYXNlIDA6cj0zO2JyZWFrO2Nhc2UgMTpzLnB1c2gocy5hdCgtMikscy5hdCgtMSkpO3I9MTticmVhaztjYXNlIDI6cy5wdXNoKHMuYXQoLTMpLHMuYXQoLTEpKTtyPTF9YS5wdXNoKG4pfXMucHVzaCh0Lmxlbmd0aCk7dC5wdXNoKGcpO2kucHVzaChvKTtyLS07ZS5hbGlnbigpfXRoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJ0cmlhbmdsZXMiLGNvb3JkczpuZXcgSW50MzJBcnJheShzKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyl9KX1fZGVjb2RlVHlwZTVTaGFkaW5nKGUsdCl7Y29uc3QgaT10aGlzLmNvb3JkcyxhPXRoaXMuY29sb3JzLHM9W107Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCB0PWUucmVhZENvb3JkaW5hdGUoKSxyPWUucmVhZENvbXBvbmVudHMoKTtzLnB1c2goaS5sZW5ndGgpO2kucHVzaCh0KTthLnB1c2gocil9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6ImxhdHRpY2UiLGNvb3JkczpuZXcgSW50MzJBcnJheShzKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyksdmVydGljZXNQZXJSb3c6dH0pfV9kZWNvZGVUeXBlNlNoYWRpbmcoZSl7Y29uc3QgdD10aGlzLmNvb3JkcyxpPXRoaXMuY29sb3JzLGE9bmV3IEludDMyQXJyYXkoMTYpLHM9bmV3IEludDMyQXJyYXkoNCk7Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCByPWUucmVhZEZsYWcoKTtpZighKDA8PXImJnI8PTMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlNiBmbGFnIik7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IGk9MCxhPTAhPT1yPzg6MTI7aTxhO2krKyl0LnB1c2goZS5yZWFkQ29vcmRpbmF0ZSgpKTtjb25zdCBnPWkubGVuZ3RoO2ZvcihsZXQgdD0wLGE9MCE9PXI/Mjo0O3Q8YTt0KyspaS5wdXNoKGUucmVhZENvbXBvbmVudHMoKSk7bGV0IG8sYyxDLGg7c3dpdGNoKHIpe2Nhc2UgMDphWzEyXT1uKzM7YVsxM109bis0O2FbMTRdPW4rNTthWzE1XT1uKzY7YVs4XT1uKzI7YVsxMV09bis3O2FbNF09bisxO2FbN109bis4O2FbMF09bjthWzFdPW4rMTE7YVsyXT1uKzEwO2FbM109bis5O3NbMl09ZysxO3NbM109ZysyO3NbMF09ZztzWzFdPWcrMzticmVhaztjYXNlIDE6bz1hWzEyXTtjPWFbMTNdO0M9YVsxNF07aD1hWzE1XTthWzEyXT1oO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09QzthWzExXT1uKzM7YVs0XT1jO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbMl07Yz1zWzNdO3NbMl09YztzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMjpvPWFbMTVdO2M9YVsxMV07YVsxMl09YVszXTthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPWFbN107YVsxMV09biszO2FbNF09YzthWzddPW4rNDthWzBdPW87YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7bz1zWzNdO3NbMl09c1sxXTtzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMzphWzEyXT1hWzBdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVsxXTthWzExXT1uKzM7YVs0XT1hWzJdO2FbN109bis0O2FbMF09YVszXTthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtzWzJdPXNbMF07c1szXT1nO3NbMF09c1sxXTtzWzFdPWcrMX1hWzVdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVswXV1bMF0tdFthWzE1XV1bMF0rNioodFthWzRdXVswXSt0W2FbMV1dWzBdKS0yKih0W2FbMTJdXVswXSt0W2FbM11dWzBdKSszKih0W2FbMTNdXVswXSt0W2FbN11dWzBdKSkvOSwoLTQqdFthWzBdXVsxXS10W2FbMTVdXVsxXSs2Kih0W2FbNF1dWzFdK3RbYVsxXV1bMV0pLTIqKHRbYVsxMl1dWzFdK3RbYVszXV1bMV0pKzMqKHRbYVsxM11dWzFdK3RbYVs3XV1bMV0pKS85XSk7YVs2XT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W2FbM11dWzBdLXRbYVsxMl1dWzBdKzYqKHRbYVsyXV1bMF0rdFthWzddXVswXSktMioodFthWzBdXVswXSt0W2FbMTVdXVswXSkrMyoodFthWzRdXVswXSt0W2FbMTRdXVswXSkpLzksKC00KnRbYVszXV1bMV0tdFthWzEyXV1bMV0rNioodFthWzJdXVsxXSt0W2FbN11dWzFdKS0yKih0W2FbMF1dWzFdK3RbYVsxNV1dWzFdKSszKih0W2FbNF1dWzFdK3RbYVsxNF1dWzFdKSkvOV0pO2FbOV09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFthWzEyXV1bMF0tdFthWzNdXVswXSs2Kih0W2FbOF1dWzBdK3RbYVsxM11dWzBdKS0yKih0W2FbMF1dWzBdK3RbYVsxNV1dWzBdKSszKih0W2FbMTFdXVswXSt0W2FbMV1dWzBdKSkvOSwoLTQqdFthWzEyXV1bMV0tdFthWzNdXVsxXSs2Kih0W2FbOF1dWzFdK3RbYVsxM11dWzFdKS0yKih0W2FbMF1dWzFdK3RbYVsxNV1dWzFdKSszKih0W2FbMTFdXVsxXSt0W2FbMV1dWzFdKSkvOV0pO2FbMTBdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVsxNV1dWzBdLXRbYVswXV1bMF0rNioodFthWzExXV1bMF0rdFthWzE0XV1bMF0pLTIqKHRbYVsxMl1dWzBdK3RbYVszXV1bMF0pKzMqKHRbYVsyXV1bMF0rdFthWzhdXVswXSkpLzksKC00KnRbYVsxNV1dWzFdLXRbYVswXV1bMV0rNioodFthWzExXV1bMV0rdFthWzE0XV1bMV0pLTIqKHRbYVsxMl1dWzFdK3RbYVszXV1bMV0pKzMqKHRbYVsyXV1bMV0rdFthWzhdXVsxXSkpLzldKTt0aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToicGF0Y2giLGNvb3JkczpuZXcgSW50MzJBcnJheShhKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyl9KX19X2RlY29kZVR5cGU3U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGk9dGhpcy5jb2xvcnMsYT1uZXcgSW50MzJBcnJheSgxNikscz1uZXcgSW50MzJBcnJheSg0KTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHI9ZS5yZWFkRmxhZygpO2lmKCEoMDw9ciYmcjw9MykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGU3IGZsYWciKTtjb25zdCBuPXQubGVuZ3RoO2ZvcihsZXQgaT0wLGE9MCE9PXI/MTI6MTY7aTxhO2krKyl0LnB1c2goZS5yZWFkQ29vcmRpbmF0ZSgpKTtjb25zdCBnPWkubGVuZ3RoO2ZvcihsZXQgdD0wLGE9MCE9PXI/Mjo0O3Q8YTt0KyspaS5wdXNoKGUucmVhZENvbXBvbmVudHMoKSk7bGV0IG8sYyxDLGg7c3dpdGNoKHIpe2Nhc2UgMDphWzEyXT1uKzM7YVsxM109bis0O2FbMTRdPW4rNTthWzE1XT1uKzY7YVs4XT1uKzI7YVs5XT1uKzEzO2FbMTBdPW4rMTQ7YVsxMV09bis3O2FbNF09bisxO2FbNV09bisxMjthWzZdPW4rMTU7YVs3XT1uKzg7YVswXT1uO2FbMV09bisxMTthWzJdPW4rMTA7YVszXT1uKzk7c1syXT1nKzE7c1szXT1nKzI7c1swXT1nO3NbMV09ZyszO2JyZWFrO2Nhc2UgMTpvPWFbMTJdO2M9YVsxM107Qz1hWzE0XTtoPWFbMTVdO2FbMTJdPWg7YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1DO2FbOV09bis5O2FbMTBdPW4rMTA7YVsxMV09biszO2FbNF09YzthWzVdPW4rODthWzZdPW4rMTE7YVs3XT1uKzQ7YVswXT1vO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O289c1syXTtjPXNbM107c1syXT1jO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAyOm89YVsxNV07Yz1hWzExXTthWzEyXT1hWzNdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVs3XTthWzldPW4rOTthWzEwXT1uKzEwO2FbMTFdPW4rMzthWzRdPWM7YVs1XT1uKzg7YVs2XT1uKzExO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbM107c1syXT1zWzFdO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAzOmFbMTJdPWFbMF07YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1hWzFdO2FbOV09bis5O2FbMTBdPW4rMTA7YVsxMV09biszO2FbNF09YVsyXTthWzVdPW4rODthWzZdPW4rMTE7YVs3XT1uKzQ7YVswXT1hWzNdO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O3NbMl09c1swXTtzWzNdPWc7c1swXT1zWzFdO3NbMV09ZysxfXRoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJwYXRjaCIsY29vcmRzOm5ldyBJbnQzMkFycmF5KGEpLGNvbG9yczpuZXcgSW50MzJBcnJheShzKX0pfX1fYnVpbGRGaWd1cmVGcm9tUGF0Y2goZSl7Y29uc3QgdD10aGlzLmZpZ3VyZXNbZV07YXNzZXJ0KCJwYXRjaCI9PT10LnR5cGUsIlVuZXhwZWN0ZWQgcGF0Y2ggbWVzaCBmaWd1cmUiKTtjb25zdCBpPXRoaXMuY29vcmRzLGE9dGhpcy5jb2xvcnMscz10LmNvb3JkcyxyPXQuY29sb3JzLG49TWF0aC5taW4oaVtzWzBdXVswXSxpW3NbM11dWzBdLGlbc1sxMl1dWzBdLGlbc1sxNV1dWzBdKSxnPU1hdGgubWluKGlbc1swXV1bMV0saVtzWzNdXVsxXSxpW3NbMTJdXVsxXSxpW3NbMTVdXVsxXSksbz1NYXRoLm1heChpW3NbMF1dWzBdLGlbc1szXV1bMF0saVtzWzEyXV1bMF0saVtzWzE1XV1bMF0pLGM9TWF0aC5tYXgoaVtzWzBdXVsxXSxpW3NbM11dWzFdLGlbc1sxMl1dWzFdLGlbc1sxNV1dWzFdKTtsZXQgQz1NYXRoLmNlaWwoKG8tbikqTWVzaFNoYWRpbmcuVFJJQU5HTEVfREVOU0lUWS8odGhpcy5ib3VuZHNbMl0tdGhpcy5ib3VuZHNbMF0pKTtDPU1hdGgubWF4KE1lc2hTaGFkaW5nLk1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULE1hdGgubWluKE1lc2hTaGFkaW5nLk1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULEMpKTtsZXQgaD1NYXRoLmNlaWwoKGMtZykqTWVzaFNoYWRpbmcuVFJJQU5HTEVfREVOU0lUWS8odGhpcy5ib3VuZHNbM10tdGhpcy5ib3VuZHNbMV0pKTtoPU1hdGgubWF4KE1lc2hTaGFkaW5nLk1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULE1hdGgubWluKE1lc2hTaGFkaW5nLk1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULGgpKTtjb25zdCBsPUMrMSxRPW5ldyBJbnQzMkFycmF5KChoKzEpKmwpLEU9bmV3IEludDMyQXJyYXkoKGgrMSkqbCk7bGV0IHU9MDtjb25zdCBkPW5ldyBVaW50OEFycmF5KDMpLGY9bmV3IFVpbnQ4QXJyYXkoMykscD1hW3JbMF1dLG09YVtyWzFdXSx5PWFbclsyXV0sdz1hW3JbM11dLEQ9Z2V0QihoKSxiPWdldEIoQyk7Zm9yKGxldCBlPTA7ZTw9aDtlKyspe2RbMF09KHBbMF0qKGgtZSkreVswXSplKS9ofDA7ZFsxXT0ocFsxXSooaC1lKSt5WzFdKmUpL2h8MDtkWzJdPShwWzJdKihoLWUpK3lbMl0qZSkvaHwwO2ZbMF09KG1bMF0qKGgtZSkrd1swXSplKS9ofDA7ZlsxXT0obVsxXSooaC1lKSt3WzFdKmUpL2h8MDtmWzJdPShtWzJdKihoLWUpK3dbMl0qZSkvaHwwO2ZvcihsZXQgdD0wO3Q8PUM7dCsrLHUrKyl7aWYoISgwIT09ZSYmZSE9PWh8fDAhPT10JiZ0IT09QykpY29udGludWU7bGV0IHI9MCxuPTAsZz0wO2ZvcihsZXQgYT0wO2E8PTM7YSsrKWZvcihsZXQgbz0wO288PTM7bysrLGcrKyl7Y29uc3QgYz1EW2VdW2FdKmJbdF1bb107cis9aVtzW2ddXVswXSpjO24rPWlbc1tnXV1bMV0qY31RW3VdPWkubGVuZ3RoO2kucHVzaChbcixuXSk7RVt1XT1hLmxlbmd0aDtjb25zdCBvPW5ldyBVaW50OEFycmF5KDMpO29bMF09KGRbMF0qKEMtdCkrZlswXSp0KS9DfDA7b1sxXT0oZFsxXSooQy10KStmWzFdKnQpL0N8MDtvWzJdPShkWzJdKihDLXQpK2ZbMl0qdCkvQ3wwO2EucHVzaChvKX19UVswXT1zWzBdO0VbMF09clswXTtRW0NdPXNbM107RVtDXT1yWzFdO1FbbCpoXT1zWzEyXTtFW2wqaF09clsyXTtRW2wqaCtDXT1zWzE1XTtFW2wqaCtDXT1yWzNdO3RoaXMuZmlndXJlc1tlXT17dHlwZToibGF0dGljZSIsY29vcmRzOlEsY29sb3JzOkUsdmVydGljZXNQZXJSb3c6bH19X3VwZGF0ZUJvdW5kcygpe2xldCBlPXRoaXMuY29vcmRzWzBdWzBdLHQ9dGhpcy5jb29yZHNbMF1bMV0saT1lLGE9dDtmb3IobGV0IHM9MSxyPXRoaXMuY29vcmRzLmxlbmd0aDtzPHI7cysrKXtjb25zdCByPXRoaXMuY29vcmRzW3NdWzBdLG49dGhpcy5jb29yZHNbc11bMV07ZT1lPnI/cjplO3Q9dD5uP246dDtpPWk8cj9yOmk7YT1hPG4/bjphfXRoaXMuYm91bmRzPVtlLHQsaSxhXX1fcGFja0RhdGEoKXtsZXQgZSx0LGksYTtjb25zdCBzPXRoaXMuY29vcmRzLHI9bmV3IEZsb2F0MzJBcnJheSgyKnMubGVuZ3RoKTtmb3IoZT0wLGk9MCx0PXMubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9c1tlXTtyW2krK109dFswXTtyW2krK109dFsxXX10aGlzLmNvb3Jkcz1yO2NvbnN0IG49dGhpcy5jb2xvcnMsZz1uZXcgVWludDhBcnJheSgzKm4ubGVuZ3RoKTtmb3IoZT0wLGk9MCx0PW4ubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9bltlXTtnW2krK109dFswXTtnW2krK109dFsxXTtnW2krK109dFsyXX10aGlzLmNvbG9ycz1nO2NvbnN0IG89dGhpcy5maWd1cmVzO2ZvcihlPTAsdD1vLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PW9bZV0scz10LmNvb3JkcyxyPXQuY29sb3JzO2ZvcihpPTAsYT1zLmxlbmd0aDtpPGE7aSsrKXtzW2ldKj0yO3JbaV0qPTN9fX1nZXRJUigpe2NvbnN0e2JvdW5kczplfT10aGlzO2lmKGVbMl0tZVswXT09MHx8ZVszXS1lWzFdPT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBNZXNoU2hhZGluZyBib3VuZHM6IFske2V9XS5gKTtyZXR1cm5bIk1lc2giLHRoaXMuc2hhZGluZ1R5cGUsdGhpcy5jb29yZHMsdGhpcy5jb2xvcnMsdGhpcy5maWd1cmVzLGUsdGhpcy5iYm94LHRoaXMuYmFja2dyb3VuZF19fWNsYXNzIER1bW15U2hhZGluZyBleHRlbmRzIEJhc2VTaGFkaW5ne2dldElSKCl7cmV0dXJuWyJEdW1teSJdfX1mdW5jdGlvbiBnZXRUaWxpbmdQYXR0ZXJuSVIoZSx0LGEpe2NvbnN0IHM9bG9va3VwTWF0cml4KHQuZ2V0QXJyYXkoIk1hdHJpeCIpLGkpLHI9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoIXJ8fHJbMl0tclswXT09MHx8clszXS1yWzFdPT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL0JCb3ggYXJyYXkuIik7Y29uc3Qgbj10LmdldCgiWFN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWFN0ZXAgdmFsdWUuIik7Y29uc3QgZz10LmdldCgiWVN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIGcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWVN0ZXAgdmFsdWUuIik7Y29uc3Qgbz10LmdldCgiUGFpbnRUeXBlIik7aWYoIU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvUGFpbnRUeXBlIHZhbHVlLiIpO2NvbnN0IGM9dC5nZXQoIlRpbGluZ1R5cGUiKTtpZighTnVtYmVyLmlzSW50ZWdlcihjKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9UaWxpbmdUeXBlIHZhbHVlLiIpO3JldHVyblsiVGlsaW5nUGF0dGVybiIsYSxlLHMscixuLGcsbyxjXX1jb25zdCBTYT1bMS4zODc3LDEsMSwxLC45NzgwMSwuOTI0ODIsLjg5NTUyLC45MTEzMywuODE5ODgsLjk3NTY2LC45ODE1MiwuOTM1NDgsLjkzNTQ4LDEuMjc5OCwuODUyODQsLjkyNzk0LDEsLjk2MTM0LDEuNTQ2NTcsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC44Mjg0NSwuODI4NDUsLjg1Mjg0LC44NTI4NCwuODUyODQsLjc1ODU5LC45MjEzOCwuODM5MDgsLjc3NjIsLjczMjkzLC44NzI4OSwuNzMxMzMsLjc1MTQsLjgxOTIxLC44NzM1NiwuOTU5NTgsLjU5NTI2LC43NTcyNywuNjkyMjUsMS4wNDkyNCwuOTEyMSwuODY5NDMsLjc5Nzk1LC44ODE5OCwuNzc5NTgsLjcwODY0LC44MTA1NSwuOTAzOTksLjg4NjUzLC45NjAxNywuODI1NzcsLjc3ODkyLC43ODI1NywuOTc1MDcsMS41NDY1NywuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjg4NzYyLC44Nzg1LC43NTI0MSwuODc4NSwuOTA1MTgsLjk1MDE1LC43NzYxOCwuODc4NSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkxNDg4LC44Nzg1LC44ODAxLC44Nzg1LC44Nzg1LC45MTM0MywuNzE3MywxLjA0MTA2LC44Nzg1LC44NTA3NSwuOTU3OTQsLjgyNjE2LC44NTE2MiwuNzk0OTIsLjg4MzMxLDEuNjk4MDgsLjg4MzMxLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuNzgwMSwuODk1NTIsMS4yNDQ4NywxLjEzMjU0LDEuMTI0MDEsLjk2ODM5LC44NTI4NCwuNjg3ODcsLjcwNjQ1LC44NTU5MiwuOTA3NDcsMS4wMTQ2NiwxLjAwODgsLjkwMzIzLDEsMS4wNzQ2MywxLC45MTA1NiwuNzU4MDYsMS4xOTExOCwuOTY4MzksLjc4ODY0LC44Mjg0NSwuODQxMzMsLjc1ODU5LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC43NzUzOSwuNzMyOTMsLjczMTMzLC43MzEzMywuNzMxMzMsLjczMTMzLC45NTk1OCwuOTU5NTgsLjk1OTU4LC45NTk1OCwuODg1MDYsLjkxMjEsLjg2OTQzLC44Njk0MywuODY5NDMsLjg2OTQzLC44Njk0MywuODUyODQsLjg3NTA4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuODg3NjIsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg4NzYyLC44ODc2MiwuODcxNSwuNzUyNDEsLjkwNTE4LC45MDUxOCwuOTA1MTgsLjkwNTE4LC44ODQwMSwuODg0MDEsLjg4NDAxLC44ODQwMSwuODc4NSwuODc4NSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuOTA3NDcsLjg5MDQ5LC44Nzg1LC44Nzg1LC44Nzg1LC44Nzg1LC44NTE2MiwuODc4NSwuODUxNjIsLjgzOTA4LC44ODc2MiwuODM5MDgsLjg4NzYyLC44MzkwOCwuODg3NjIsLjczMjkzLC43NTI0MSwuNzMyOTMsLjc1MjQxLC43MzI5MywuNzUyNDEsLjczMjkzLC43NTI0MSwuODcyODksLjgzMDE2LC44ODUwNiwuOTMxMjUsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC44MTkyMSwuNzc2MTgsLjgxOTIxLC43NzYxOCwuODE5MjEsLjc3NjE4LDEsMSwuODczNTYsLjg3ODUsLjkxMDc1LC44OTYwOCwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2MjI5LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43OTQ2OCwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkxMjEsLjg3ODUsMSwxLC45MTIxLC44Nzg1LC44NzgwMiwuODg2NTYsLjg3ODUsLjg2OTQzLC44ODAxLC44Njk0MywuODgwMSwuODY5NDMsLjg4MDEsLjg3NDAyLC44OTI5MSwuNzc5NTgsLjkxMzQzLDEsMSwuNzc5NTgsLjkxMzQzLC43MDg2NCwuNzE3MywuNzA4NjQsLjcxNzMsLjcwODY0LC43MTczLC43MDg2NCwuNzE3MywxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTYwMTcsLjk1Nzk0LC43Nzg5MiwuODUxNjIsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjg4NzYyLC43NzUzOSwuODcxNSwuODc1MDgsLjg5MDQ5LDEsMSwuODEwNTUsMS4wNDEwNiwxLjIwNTI4LDEuMjA1MjgsMSwxLjE1NTQzLC43MDY3NCwuOTgzODcsLjk0NzIxLDEuMzM0MzEsMS40NTg5NCwuOTUxNjEsMS4wNjMwMywuODM5MDgsLjgwMzUyLC41NzE4NCwuNjk2NSwuNTYyODksLjgyMDAxLC41NjAyOSwuODEyMzUsMS4wMjk4OCwuODM5MDgsLjc3NjIsLjY4MTU2LC44MDM2NywuNzMxMzMsLjc4MjU3LC44NzM1NiwuODY5NDMsLjk1OTU4LC43NTcyNywuODkwMTksMS4wNDkyNCwuOTEyMSwuNzY0OCwuODY5NDMsLjg3MzU2LC43OTc5NSwuNzgyNzUsLjgxMDU1LC43Nzg5MiwuOTc2MiwuODI1NzcsLjk5ODE5LC44NDg5NiwuOTU5NTgsLjc3ODkyLC45NjEwOCwxLjAxNDA3LC44OTA0OSwxLjAyOTg4LC45NDIxMSwuOTYxMDgsLjg5MzYsLjg0MDIxLC44Nzg0MiwuOTYzOTksLjc5MTA5LC44OTA0OSwxLjAwODEzLDEuMDI5ODgsLjg2MDc3LC44NzQ0NSwuOTIwOTksLjg0NzIzLC44NjUxMywuODgwMSwuNzU2MzgsLjg1NzE0LC43ODIxNiwuNzk1ODYsLjg3OTY1LC45NDIxMSwuOTc3NDcsLjc4Mjg3LC45NzkyNiwuODQ5NzEsMS4wMjk4OCwuOTQyMTEsLjg4MDEsLjk0MjExLC44NDk3MSwuNzMxMzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwMjY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDUxOCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA1NDgsMSwxLDEsMSwxLDEsLjk2MDE3LC45NTc5NCwuOTYwMTcsLjk1Nzk0LC45NjAxNywuOTU3OTQsLjc3ODkyLC44NTE2MiwxLDEsLjg5NTUyLC45MDUyNywxLC45MDM2MywuOTI3OTQsLjkyNzk0LC45Mjc5NCwuOTI3OTQsLjg3MDEyLC44NzAxMiwuODcwMTIsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC43MTE0MywxLjA2MTUyLDEsMSwxLjAzMzcyLDEuMDMzNzIsLjk3MTcxLDEuNDk1NiwyLjI4MDcsLjkzODM1LC44MzQwNiwuOTExMzMsLjg0MTA3LC45MTEzMywxLDEsMSwuNzIwMjEsMSwxLjIzMTA4LC44MzQ4OSwuODg1MjUsLjg4NTI1LC44MTQ5OSwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjMxMDA2LDEuNTM3MTEsLjk0NDM0LDEuMDg2OTYsMSwuOTUwMTgsLjc3MTkyLC44NTI4NCwuOTA3NDcsMS4xNzUzNCwuNjk4MjUsLjk3MTYsMS4zNzA3NywuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDgwMDQsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA3MjcsLjkwNzI3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxrYT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sUmE9WzEuMzg3NywxLDEsMSwuOTc4MDEsLjkyNDgyLC44OTU1MiwuOTExMzMsLjgxOTg4LC45NzU2NiwuOTgxNTIsLjkzNTQ4LC45MzU0OCwxLjI3OTgsLjg1Mjg0LC45Mjc5NCwxLC45NjEzNCwxLjU2MjM5LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuODI4NDUsLjgyODQ1LC44NTI4NCwuODUyODQsLjg1Mjg0LC43NTg1OSwuOTIxMzgsLjgzOTA4LC43NzYyLC43MTgwNSwuODcyODksLjczMTMzLC43NTE0LC44MTkyMSwuODczNTYsLjk1OTU4LC41OTUyNiwuNzU3MjcsLjY5MjI1LDEuMDQ5MjQsLjkwODcyLC44NTkzOCwuNzk3OTUsLjg3MDY4LC43Nzk1OCwuNjk3NjYsLjgxMDU1LC45MDM5OSwuODg2NTMsLjk2MDY4LC44MjU3NywuNzc4OTIsLjc4MjU3LC45NzUwNywxLjUyOSwuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjk0OTA4LC44NjQxMSwuNzQwMTIsLjg2NDExLC44ODMyMywuOTUwMTUsLjg2NDExLC44NjMzMSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkwMzksLjg2MzMxLC44NjMzMSwuODY0MTEsLjg2NDExLC45MDQ2NCwuNzA4NTIsMS4wNDEwNiwuODYzMzEsLjg0MzcyLC45NTc5NCwuODI2MTYsLjg0NTQ4LC43OTQ5MiwuODgzMzEsMS42OTgwOCwuODgzMzEsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS43ODAxLC44OTU1MiwxLjI0NDg3LDEuMTMyNTQsMS4xOTEyOSwuOTY4MzksLjg1Mjg0LC42ODc4NywuNzA2NDUsLjg1NTkyLC45MDc0NywxLjAxNDY2LDEuMDA4OCwuOTAzMjMsMSwxLjA3NDYzLDEsLjkxMDU2LC43NTgwNiwxLjE5MTE4LC45NjgzOSwuNzg4NjQsLjgyODQ1LC44NDEzMywuNzU4NTksLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjc3NTM5LC43MTgwNSwuNzMxMzMsLjczMTMzLC43MzEzMywuNzMxMzMsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjk1OTU4LC44ODUwNiwuOTA4NzIsLjg1OTM4LC44NTkzOCwuODU5MzgsLjg1OTM4LC44NTkzOCwuODUyODQsLjg3MDY4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuOTQ5MDgsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC45NDkwOCwuODU4ODcsLjc0MDEyLC44ODMyMywuODgzMjMsLjg4MzIzLC44ODMyMywuODg0MDEsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg3ODUsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjkwNzQ3LC44OTA0OSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg0NTQ4LC44NjQxMSwuODQ1NDgsLjgzOTA4LC45NDkwOCwuODM5MDgsLjk0OTA4LC44MzkwOCwuOTQ5MDgsLjcxODA1LC43NDAxMiwuNzE4MDUsLjc0MDEyLC43MTgwNSwuNzQwMTIsLjcxODA1LC43NDAxMiwuODcyODksLjc5NTM4LC44ODUwNiwuOTI3MjYsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC44MTkyMSwuODY0MTEsLjgxOTIxLC44NjQxMSwuODE5MjEsLjg2NDExLDEsMSwuODczNTYsLjg2MzMxLC45MTA3NSwuODc3NywuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2NDY3LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43NzMxMiwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkwODcyLC44NjMzMSwxLDEsLjkwODcyLC44NjMzMSwuODY5MDYsLjg4MTE2LC44NjMzMSwuODU5MzgsLjg2MzMxLC44NTkzOCwuODYzMzEsLjg1OTM4LC44NjMzMSwuODc0MDIsLjg2NTQ5LC43Nzk1OCwuOTA0NjQsMSwxLC43Nzk1OCwuOTA0NjQsLjY5NzY2LC43MDg1MiwuNjk3NjYsLjcwODUyLC42OTc2NiwuNzA4NTIsLjY5NzY2LC43MDg1MiwxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTYwNjgsLjk1Nzk0LC43Nzg5MiwuODQ1NDgsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjk0OTA4LC43NzUzOSwuODU4ODcsLjg3MDY4LC44OTA0OSwxLDEsLjgxMDU1LDEuMDQxMDYsMS4yMDUyOCwxLjIwNTI4LDEsMS4xNTU0MywuNzAwODgsLjk4Mzg3LC45NDcyMSwxLjMzNDMxLDEuNDU4OTQsLjk1MTYxLDEuNDgzODcsLjgzOTA4LC44MDM1MiwuNTcxMTgsLjY5NjUsLjU2MzQ3LC43OTE3OSwuNTU4NTMsLjgwMzQ2LDEuMDI5ODgsLjgzOTA4LC43NzYyLC42NzE3NCwuODYwMzYsLjczMTMzLC43ODI1NywuODczNTYsLjg2NDQxLC45NTk1OCwuNzU3MjcsLjg5MDE5LDEuMDQ5MjQsLjkwODcyLC43NDg4OSwuODU5MzgsLjg3ODkxLC43OTc5NSwuNzk1NywuODEwNTUsLjc3ODkyLC45NzQ0NywuODI1NzcsLjk3NDY2LC44NzE3OSwuOTU5NTgsLjc3ODkyLC45NDI1MiwuOTU2MTIsLjg3NTMsMS4wMjk4OCwuOTI3MzMsLjk0MjUyLC44NzQxMSwuODQwMjEsLjg3MjgsLjk1NjEyLC43NDA4MSwuODc1MywxLjAyMTg5LDEuMDI5ODgsLjg0ODE0LC44NzQ0NSwuOTE4MjIsLjg0NzIzLC44NTY2OCwuODYzMzEsLjgxMzQ0LC44NzU4MSwuNzY0MjIsLjgyMDQ2LC45NjA1NywuOTI3MzMsLjk5Mzc1LC43ODAyMiwuOTU0NTIsLjg2MDE1LDEuMDI5ODgsLjkyNzMzLC44NjMzMSwuOTI3MzMsLjg2MDE1LC43MzEzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA2MzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg4MzIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NTE3NCwxLDEsMSwxLDEsMSwuOTYwNjgsLjk1Nzk0LC45NjA2OCwuOTU3OTQsLjk2MDY4LC45NTc5NCwuNzc4OTIsLjg0NTQ4LDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMzYzLC45Mjc5NCwuOTI3OTQsLjkyNzk0LC44OTgwNywuODcwMTIsLjg3MDEyLC44NzAxMiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjcxMDk0LDEuMDYxNTIsMSwxLDEuMDMzNzIsMS4wMzM3MiwuOTcxNzEsMS40OTU2LDIuMjgwNywuOTI5NzIsLjgzNDA2LC45MTEzMywuODMzMjYsLjkxMTMzLDEsMSwxLC43MjAyMSwxLDEuMjMxMDgsLjgzNDg5LC44ODUyNSwuODg1MjUsLjgxNDk5LC45MDYxNiwxLjgxMDU1LC45MDUyNywxLjgxMDU1LDEuMzEwNywxLjUzNzExLC45NDQzNCwxLjA4Njk2LDEsLjk1MDE4LC43NzE5MiwuODUyODQsLjkwNzQ3LDEuMTc1MzQsLjY5ODI1LC45NzE2LDEuMzcwNzcsLjkwNzQ3LC45MDc0NywuODUzNTYsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjA4MDA0LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNzI3LC45MDcyNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sTmE9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LEdhPVsxLjM4NzcsMSwxLDEsMS4xNzIyMywxLjEyOTMsLjg5NTUyLC45MTEzMywuODAzOTUsMS4wMjI2OSwxLjE1NjAxLC45MTA1NiwuOTEwNTYsMS4yNzk4LC44NTI4NCwuODk4MDcsMSwuOTA4NjEsMS4zOTU0MywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjk2MzA5LC45NjMwOSwuODUyODQsLjg1Mjg0LC44NTI4NCwuODMzMTksLjg4MDcxLC44Njc1LC44MTU1MiwuNzIzNDYsLjg1MTkzLC43MzIwNiwuNzUyMiwuODExMDUsLjg2Mjc1LC45MDY4NSwuNjM3NywuNzc4OTIsLjc1NTkzLDEuMDI2MzgsLjg5MjQ5LC44NDExOCwuNzc0NTIsLjg1Mzc0LC43NTE4NiwuNjc3ODksLjc5Nzc2LC44ODg0NCwuODUwNjYsLjk0MzA5LC43NzgxOCwuNzMwNiwuNzY2NTksMS4xMDM2OSwxLjM4MzEzLDEuMTAzNjksMS4wNjEzOSwuODk1NTIsLjg3MzksLjkyNDUsLjkyNDUsLjgzMjAzLC45MjQ1LC44NTg2NSwxLjA5ODQyLC45MjQ1LC45MjQ1LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTQ5NTksLjkyNDUsLjkyMjc0LC45MjQ1LC45MjQ1LDEuMDI5MzMsLjc3ODMyLDEuMjA1NjIsLjkyNDUsLjg5MTYsLjk4OTg2LC44NjYyMSwuODk0NTMsLjc5MDA0LC45NDE1MiwxLjc3MjU2LC45NDE1MiwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjkxNzI5LC44OTU1MiwxLjE3ODg5LDEuMTMyNTQsMS4xNjM1OSwuOTIwOTgsLjg1Mjg0LC42ODc4NywuNzEzNTMsLjg0NzM3LC45MDc0NywxLjAwODgsMS4wMDQ0LC44NzY4MywxLDEuMDkwOTEsMSwuOTIyMjksLjczOSwxLjE1NjQyLC45MjA5OCwuNzYyODgsLjgwNTA0LC44MDk3MiwuNzU4NTksLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjc2MzE4LC43MjM0NiwuNzMyMDYsLjczMjA2LC43MzIwNiwuNzMyMDYsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjkwNjg1LC44NjQ3NywuODkyNDksLjg0MTE4LC44NDExOCwuODQxMTgsLjg0MTE4LC44NDExOCwuODUyODQsLjg0NTU3LC44ODg0NCwuODg4NDQsLjg4ODQ0LC44ODg0NCwuNzMwNiwuNzc0NTIsLjg2MzMxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44NDg0MywuODMyMDMsLjg1ODY1LC44NTg2NSwuODU4NjUsLjg1ODY1LC44MjYwMSwuODI2MDEsLjgyNjAxLC44MjYwMSwuOTQ0NjksLjkyNDUsLjkyMjc0LC45MjI3NCwuOTIyNzQsLjkyMjc0LC45MjI3NCwuOTA3NDcsLjg2NjUxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44OTQ1MywuOTI0NSwuODk0NTMsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjcyMzQ2LC44MzIwMywuNzIzNDYsLjgzMjAzLC43MjM0NiwuODMyMDMsLjcyMzQ2LC44MzIwMywuODUxOTMsLjg4NzUsLjg2NDc3LC45OTAzNCwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjgxMTA1LC45MjQ1LC44MTEwNSwuOTI0NSwuODExMDUsLjkyNDUsMSwxLC44NjI3NSwuOTI0NSwuOTA4NzIsLjkzNTkxLC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3ODk2LDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkzNzUsLjk4MTU2LC45MzQwNywuNzcyNjEsMS4xMTQyOSwuODkyNDksLjkyNDUsMSwxLC44OTI0OSwuOTI0NSwuOTI1MzQsLjg2Njk4LC45MjQ1LC44NDExOCwuOTIyNzQsLjg0MTE4LC45MjI3NCwuODQxMTgsLjkyMjc0LC44NjY3LC44NjI5MSwuNzUxODYsMS4wMjkzMywxLDEsLjc1MTg2LDEuMDI5MzMsLjY3Nzg5LC43NzgzMiwuNjc3ODksLjc3ODMyLC42Nzc4OSwuNzc4MzIsLjY3Nzg5LC43NzgzMiwxLDEsLjc5Nzc2LC45NzY1NSwuNzk3NzYsMS4yMzAyMywuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywuNzMwNiwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwxLjA5MjMxLC41NDg3MywuODY3NSwuOTI0NSwuNzYzMTgsLjg0ODQzLC44NDU1NywuODY2NTEsMSwxLC43OTc3NiwxLjIwNTYyLDEuMTg2MjIsMS4xODYyMiwxLDEuMTQzNywuNjcwMDksLjk2MzM0LC45MzY5NSwxLjM1MTkxLDEuNDA5MDksLjk1MTYxLDEuNDgzODcsLjg2NzUsLjkwODYxLC42MTkyLC43MzYzLC42NDgyNCwuODI0MTEsLjU2MzIxLC44NTY5NiwxLjIzNTE2LC44Njc1LC44MTU1MiwuNzI4NiwuODQxMzQsLjczMjA2LC43NjY1OSwuODYyNzUsLjg0MzY5LC45MDY4NSwuNzc4OTIsLjg1ODcxLDEuMDI2MzgsLjg5MjQ5LC43NTgyOCwuODQxMTgsLjg1OTg0LC43NzQ1MiwuNzY0NjYsLjc5Nzc2LC43MzA2LC45MDc4MiwuNzc4MTgsLjkwMywuODcyOTEsLjkwNjg1LC43MzA2LC45OTA1OCwxLjAzNjY3LC45NDYzNSwxLjIzNTE2LC45ODQ5LC45OTA1OCwuOTIzOTMsLjg5MTYsLjk0MiwxLjAzNjY3LC43NTAyNiwuOTQ2MzUsMS4wMjk3LDEuMjM1MTYsLjkwOTE4LC45NDA0OCwuOTgyMTcsLjg5NzQ2LC44NDE1MywuOTIyNzQsLjgyNTA3LC44ODgzMiwuODQ0MzgsLjg4MTc4LDEuMDM1MjUsLjk4NDksMS4wMDIyNSwuNzgwODYsLjk3MjQ4LC44OTQwNCwxLjIzNTE2LC45ODQ5LC45MjI3NCwuOTg0OSwuODk0MDQsLjczMjA2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44OTY5MywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODU4NjUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwOTMzLDEsMSwxLDEsMSwxLC45NDMwOSwuOTg5ODYsLjk0MzA5LC45ODk4NiwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywxLDEsLjg5NTUyLC45MDUyNywxLC45MDE4NiwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMjU2NiwxLjI1NjYsMS4yNTY2LC44OTU1MiwuODk1NTIsMS40MjI1OSwuNjg5OTQsMS4wMzgwOSwxLDEsMS4wMTc2LDEuMDE3NiwxLjExNTIzLDEuNDk1NiwyLjAxNDYyLC45Nzg1OCwuODI2MTYsLjkxMTMzLC44MzQzNywuOTExMzMsMSwxLDEsLjcwNTA4LDEsMS4yMzEwOCwuNzk4MDEsLjg0NDI2LC44NDQyNiwuNzc0LC45MDU3MiwxLjgxMDU1LC45MDc0OSwxLjgxMDU1LDEuMjg4MDksMS41NTQ2OSwuOTQ0MzQsMS4wNzgwNiwxLC45NzA5NCwuNzU4OSwuODUyODQsLjkwNzQ3LDEuMTk2NTgsLjY5ODI1LC45NzYyMiwxLjMzNTEyLC45MDc0NywuOTA3NDcsLjg1Mjg0LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wMzM2LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTg1OSwxLjA1ODU5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSx4YT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sVWE9WzEuMzg3NywxLDEsMSwxLjE3MjIzLDEuMTI5MywuODk1NTIsLjkxMTMzLC44MDM5NSwxLjAyMjY5LDEuMTU2MDEsLjkxMDU2LC45MTA1NiwxLjI3OTgsLjg1Mjg0LC44OTgwNywxLC45MDg2MSwxLjM5MDE2LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTYzMDksLjk2MzA5LC44NTI4NCwuODUyODQsLjg1Mjg0LC44MzMxOSwuODgwNzEsLjg2NzUsLjgxNTUyLC43MzgzNCwuODUxOTMsLjczMjA2LC43NTIyLC44MTEwNSwuODYyNzUsLjkwNjg1LC42Mzc3LC43Nzg5MiwuNzU1OTMsMS4wMjYzOCwuODkzODUsLjg1MTIyLC43NzQ1MiwuODY1MDMsLjc1MTg2LC42ODg4NywuNzk3NzYsLjg4ODQ0LC44NTA2NiwuOTQyNTgsLjc3ODE4LC43MzA2LC43NjY1OSwxLjEwMzY5LDEuMzkwMTYsMS4xMDM2OSwxLjA2MTM5LC44OTU1MiwuODczOSwuODYxMjgsLjk0NDY5LC44NDU3LC45NDQ2OSwuODk0NjQsMS4wOTg0MiwuODQ2MzYsLjk0NDY5LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTU4OTcsLjk0NDY5LC45NDgyLC45NDQ2OSwuOTQ0NjksMS4wNDY5MiwuNzgyMjMsMS4yMDU2MiwuOTQ0NjksLjkwMzMyLC45ODk4NiwuODY2MjEsLjkwNTI3LC43OTAwNCwuOTQxNTIsMS43NzI1NiwuOTQxNTIsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS45MTcyOSwuODk1NTIsMS4xNzg4OSwxLjEzMjU0LDEuMDg3MDcsLjkyMDk4LC44NTI4NCwuNjg3ODcsLjcxMzUzLC44NDczNywuOTA3NDcsMS4wMDg4LDEuMDA0NCwuODc2ODMsMSwxLjA5MDkxLDEsLjkyMjI5LC43MzksMS4xNTY0MiwuOTIwOTgsLjc2Mjg4LC44MDUwNCwuODA5NzIsLjc1ODU5LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC43NjMxOCwuNzM4MzQsLjczMjA2LC43MzIwNiwuNzMyMDYsLjczMjA2LC45MDY4NSwuOTA2ODUsLjkwNjg1LC45MDY4NSwuODY0NzcsLjg5Mzg1LC44NTEyMiwuODUxMjIsLjg1MTIyLC44NTEyMiwuODUxMjIsLjg1Mjg0LC44NTMxMSwuODg4NDQsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjczMDYsLjc3NDUyLC44NjMzMSwuODYxMjgsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjEyOCwuODY5MywuODQ1NywuODk0NjQsLjg5NDY0LC44OTQ2NCwuODk0NjQsLjgyNjAxLC44MjYwMSwuODI2MDEsLjgyNjAxLC45NDQ2OSwuOTQ0NjksLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjkwNzQ3LC44NjY1MSwuOTQ0NjksLjk0NDY5LC45NDQ2OSwuOTQ0NjksLjkwNTI3LC45NDQ2OSwuOTA1MjcsLjg2NzUsLjg2MTI4LC44Njc1LC44NjEyOCwuODY3NSwuODYxMjgsLjczODM0LC44NDU3LC43MzgzNCwuODQ1NywuNzM4MzQsLjg0NTcsLjczODM0LC44NDU3LC44NTE5MywuOTI0NTQsLjg2NDc3LC45OTIxLC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuODExMDUsLjg0NjM2LC44MTEwNSwuODQ2MzYsLjgxMTA1LC44NDYzNiwxLDEsLjg2Mjc1LC45NDQ2OSwuOTA4NzIsLjk1Nzg2LC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3NzQxLDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkwNDUyLC45ODE1NiwxLjExODQyLC43NzI2MSwxLjExNDI5LC44OTM4NSwuOTQ0NjksMSwxLC44OTM4NSwuOTQ0NjksLjk1ODc3LC44NjkwMSwuOTQ0NjksLjg1MTIyLC45NDgyLC44NTEyMiwuOTQ4MiwuODUxMjIsLjk0ODIsLjg2NjcsLjkwMDE2LC43NTE4NiwxLjA0NjkyLDEsMSwuNzUxODYsMS4wNDY5MiwuNjg4ODcsLjc4MjIzLC42ODg4NywuNzgyMjMsLjY4ODg3LC43ODIyMywuNjg4ODcsLjc4MjIzLDEsMSwuNzk3NzYsLjkyMTg4LC43OTc3NiwxLjIzMDIzLC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC45NDI1OCwuOTg5ODYsLjczMDYsLjkwNTI3LC43MzA2LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LDEuMDkyMzEsLjU0ODczLC44Njc1LC44NjEyOCwuNzYzMTgsLjg2OTMsLjg1MzExLC44NjY1MSwxLDEsLjc5Nzc2LDEuMjA1NjIsMS4xODYyMiwxLjE4NjIyLDEsMS4xNDM3LC42Nzc0MiwuOTYzMzQsLjkzNjk1LDEuMzUxOTEsMS40MDkwOSwuOTUxNjEsMS40ODM4NywuODY2ODYsLjkwODYxLC42MjI2NywuNzQzNTksLjY1NjQ5LC44NTQ5OCwuNTY5NjMsLjg4MjU0LDEuMjM1MTYsLjg2NzUsLjgxNTUyLC43NTQ0MywuODQ1MDMsLjczMjA2LC43NjY1OSwuODYyNzUsLjg1MTIyLC45MDY4NSwuNzc4OTIsLjg1NzQ2LDEuMDI2MzgsLjg5Mzg1LC43NTY1NywuODUxMjIsLjg2Mjc1LC43NzQ1MiwuNzQxNzEsLjc5Nzc2LC43MzA2LC45NTE2NSwuNzc4MTgsLjg5NzcyLC44ODgzMSwuOTA2ODUsLjczMDYsLjk4MTQyLDEuMDIxOTEsLjk2NTc2LDEuMjM1MTYsLjk5MDE4LC45ODE0MiwuOTIzNiwuODkyNTgsLjk0MDM1LDEuMDIxOTEsLjc4ODQ4LC45NjU3NiwuOTU2MSwxLjIzNTE2LC45MDkxOCwuOTI1NzgsLjk1NDI0LC44OTc0NiwuODM5NjksLjk0ODIsLjgwMTEzLC44OTQ0MiwuODUyMDgsLjg2MTU1LC45ODAyMiwuOTkwMTgsMS4wMDQ1MiwuODEyMDksLjk5MjQ3LC44OTE4MSwxLjIzNTE2LC45OTAxOCwuOTQ4MiwuOTkwMTgsLjg5MTgxLC43MzIwNiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODg4NDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg5NDY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45Njc2NiwxLDEsMSwxLDEsMSwuOTQyNTgsLjk4OTg2LC45NDI1OCwuOTg5ODYsLjk0MjU4LC45ODk4NiwuNzMwNiwuOTA1MjcsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAxODYsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjI1NjYsMS4yNTY2LDEuMjU2NiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjY5MDQzLDEuMDM4MDksMSwxLDEuMDE3NiwxLjAxNzYsMS4xMTUyMywxLjQ5NTYsMi4wMTQ2MiwuOTkzMzEsLjgyNjE2LC45MTEzMywuODQyODYsLjkxMTMzLDEsMSwxLC43MDUwOCwxLDEuMjMxMDgsLjc5ODAxLC44NDQyNiwuODQ0MjYsLjc3NCwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjI4ODA5LDEuNTU0NjksLjk0NDM0LDEuMDc4MDYsMSwuOTcwOTQsLjc1ODksLjg1Mjg0LC45MDc0NywxLjE5NjU4LC42OTgyNSwuOTc2MjIsMS4zMzUxMiwuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDMzNiwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDU4NTksMS4wNTg1OSwxLDEsMSwxLjA3MTg1LC45OTQxMywuOTYzMzQsMS4wODA2NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLE1hPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSxMYT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDMzNzQsLjk5OTc3LDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDQyLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTczLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMzgyOCwxLjAwMDI2LC45OTk5OSwxLjAwMDI2LDEuMDAwNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5MywuOTk5OCwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEsMS4wMDAxNiwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwxLjAwMDI2LC44MTIxLDEuMDAwMjYsLjk5OTk4LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwNiwuOTk5NzMsLjk5OTc3LC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEuMDAwMzQsLjk5OTc3LDEsLjk5OTk3LDEuMDAwMjYsMS4wMDA3OCwxLjAwMDM2LC45OTk3MywxLjAwMDEzLDEuMDAwNiwuOTk5NzcsLjk5OTc3LC45OTk4OCwuODUxNDgsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwuOTk5NzcsMS4wMDAwMSwuOTk5OTksLjk5OTc3LDEuMDAwNjksMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwuOTk5ODQsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMjQsMS4wMDAwMSwuOTk5OSwxLDEuMDAwNiwxLjAwMDAxLDEuMDAwNDEsLjk5OTYyLDEuMDAwMjYsMS4wMDA2LC45OTk5NSwxLjAwMDQxLC45OTk0MiwuOTk5NzMsLjk5OTI3LDEuMDAwODIsLjk5OTAyLDEuMDAwMjYsMS4wMDA4NywxLjAwMDYsMS4wMDA2OSwuOTk5NzMsLjk5ODY3LC45OTk3MywuOTk5MywxLjAwMDI2LDEuMDAwNDksMS4wMDA1NiwxLC45OTk4OCwuOTk5MzUsLjk5OTk1LC45OTk1NCwxLjAwMDU1LC45OTk0NSwxLjAwMDMyLDEuMDAwNiwuOTk5OTUsMS4wMDAyNiwuOTk5OTUsMS4wMDAzMiwxLjAwMDAxLDEuMDAwMDgsLjk5OTcxLDEuMDAwMTksLjk5OTQsMS4wMDAwMSwxLjAwMDYsMS4wMDA0NCwuOTk5NzMsMS4wMDAyMywxLjAwMDQ3LDEsLjk5OTQyLC45OTU2MSwuOTk5ODksMS4wMDAzNSwuOTk5NzcsMS4wMDAzNSwuOTk5NzcsMS4wMDAxOSwuOTk5NDQsMS4wMDAwMSwxLjAwMDIxLC45OTkyNiwxLjAwMDM1LDEuMDAwMzUsLjk5OTQyLDEuMDAwNDgsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMzUsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5ODksMS4wMDA1NywxLjAwMDAxLC45OTkzNiwxLjAwMDUyLDEuMDAwMTIsLjk5OTk2LDEuMDAwNDMsMSwxLjAwMDM1LC45OTk0LC45OTk3NiwxLjAwMDM1LC45OTk3MywxLjAwMDUyLDEuMDAwNDEsMS4wMDExOSwxLjAwMDM3LC45OTk3MywxLjAwMDAyLC45OTk4NiwxLjAwMDQxLDEuMDAwNDEsLjk5OTAyLC45OTk2LDEuMDAwMzQsLjk5OTk5LDEuMDAwMjYsLjk5OTk5LDEuMDAwMjYsLjk5OTczLDEuMDAwNTIsLjk5OTczLDEsLjk5OTczLDEuMDAwNDEsMS4wMDA3NSwuOTk5NCwxLjAwMDMsLjk5OTk5LDEsMS4wMDA0MSwuOTk5NTUsMSwuOTk5MTUsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAxMTksLjk5OTU1LC45OTk3MywxLjAwMDYsLjk5OTExLDEuMDAwNiwxLjAwMDI2LC45OTk3MiwxLjAwMDI2LC45OTkwMiwxLjAwMDQxLC45OTk3MywuOTk5OTksMSwxLDEuMDAwMzgsMS4wMDA1LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMSwxLDEsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAxMDYsLjk5OTk5LC45OTk5OCwuOTk5OTgsLjk5OTk5LC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywuOTk5NzEsMS4wMDA0NywxLjAwMDIzLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEsMSwxLDEsMSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEhhPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxKYT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDA0NCwuOTk5NzcsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MSwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDEwMTEsMS4wMDAyNiwuOTk5OTksMS4wMDAyNiwxLjAwMDYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTMsLjk5OTgsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLDEuMDAwMTYsLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsMS4wMDAyNiwuODEyMSwxLjAwMDI2LC45OTk5OCwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDYsLjk5OTczLC45OTk3NywuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTc3LDEsMSwxLjAwMDI2LC45OTk2OSwuOTk5NzIsLjk5OTgxLC45OTk4LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsLjkxMTU1LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsLjk5OTc3LDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5NjYsMS4wMDAyMiwxLjAwMDMyLDEuMDAwMDEsLjk5OTQ0LDEuMDAwMjYsMS4wMDAwMSwuOTk5NjgsMS4wMDAwMSwxLjAwMDQ3LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTgxLDEuMDAxMDEsMS4wMDAyNiwxLjAwMDYsLjk5OTQ4LC45OTk4MSwxLjAwMDY0LC45OTk3MywuOTk5NDIsMS4wMDEwMSwxLjAwMDYxLDEuMDAwMjYsMS4wMDA2OSwxLjAwMDYsMS4wMDAxNCwuOTk5NzMsMS4wMTMyMiwuOTk5NzMsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMTIsLjk5OTIzLDEsMS4wMDA2NCwxLjAwMDc2LC45OTk0OCwxLjAwMDU1LDEuMDAwNjMsMS4wMDAwNywuOTk5NDMsMS4wMDA2LC45OTk0OCwxLjAwMDI2LC45OTk0OCwuOTk5NDMsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjksMS4wMDAzOCwxLjAwMDM1LDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTc4LDEuMDAwMDEsMS4wMDA1NywuOTk5ODksLjk5OTY3LC45OTk2NCwuOTk5NjcsLjk5OTc3LC45OTk5OSwuOTk5NzcsMS4wMDAzOCwuOTk5NzcsMS4wMDAwMSwuOTk5NzMsMS4wMDA2NiwuOTk5NjcsLjk5OTY3LDEuMDAwNDEsLjk5OTk4LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwuOTk5NjcsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5NjQsMS4wMDAzMSwxLjAwMDAxLC45OTk5OSwuOTk5OTksMSwxLjAwMDIzLDEsMSwuOTk5OTksMS4wMDAzNSwxLjAwMDAxLC45OTk5OSwuOTk5NzMsLjk5OTc3LC45OTk5OSwxLjAwMDU4LC45OTk3MywuOTk5NzMsLjk5OTU1LC45OTk1LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDMyLC45OTk4OSwxLjAwMDM0LC45OTk5OSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzMsLjQ1OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDAxLC45OTk5OSwuOTk5ODIsLjk5OTk0LC45OTk5NiwxLDEuMDAwNDIsMS4wMDA0NCwxLjAwMDI5LDEuMDAwMjMsLjk5OTczLC45OTk3MywxLjAwMDI2LC45OTk0OSwxLjAwMDAyLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzUsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMzIsLjk4Njg1LC45OTk3MywxLjAwMDI2LDEsMSwuOTk5NjYsMS4wMDA0NCwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLDEsLjk5OTczLDEsMSwuOTk5NTUsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEsMSwxLC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMTA2LC45OTk5OSwuOTk5OTgsLjk5OTk4LC45OTk5OSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMSwuOTk5NzMsLjk5OTcxLC45OTk3OCwxLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwOTgsMSwxLDEsMS4wMDA0OSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFlhPXtsaW5lSGVpZ2h0OjEuMzUsbGluZUdhcDouMn0sdmE9Wy43NjExNiwxLDEsMS4wMDA2LDEuMDAwNiwxLjAwMDA2LC45OTk3MywuOTk5NzMsLjk5OTgyLDEuMDAwMDEsMS4wMDA0MywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsLjk5OTczLC45OTk4NywxLjAwMDAxLDEuMDAwMDEsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LDEsMS4wMDAwMSwuOTk5NzMsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTQ5LC45OTk3MywuOTk5OTgsLjk5OTczLC45OTk3MywxLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTI0LC45OTkyNCwxLC45OTkyNCwuOTk5OTksLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwNiwuOTk5NzMsMSwuOTk5NzcsMSwxLDEsMS4wMDAwNSwxLjAwMDksMS4wMDAwNSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA5LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5OCwxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLDEsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wNjQwOSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLC45OTk3MywxLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLjAyODgsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LC45OTk0NiwxLjAwMDM0LDEsLjk5OTI0LDEuMDAwMDEsMSwxLC45OTk3MywuOTk5MjQsLjk5OTczLC45OTkyNCwuOTk5NzMsMS4wNjMxMSwuOTk5NzMsMS4wMDAyNCwuOTk5NzMsLjk5OTI0LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwNDEsLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODk1NDcsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMS4wMDAwMSwxLDEuMDAwNTQsLjk5OTc3LDEuMDAwODQsMS4wMDAwNywuOTk5NzMsMS4wMDAxMywuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLC45OTk0NSwuOTEyMjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5MzMsMS4wMDAyMiwxLjAwMDU0LDEuMDAwMDEsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMDEsMS4wMDAxLDEuMDAwMDEsMS4wMDA1MiwxLDEuMDAwNiwxLjAwMDAxLC45OTk0NSwuOTk4OTcsLjk5OTY4LC45OTkyNCwxLjAwMDM2LC45OTk0NSwuOTk5NDksMSwxLjAwMDYsLjk5ODk3LC45OTkxOCwuOTk5NjgsLjk5OTExLC45OTkyNCwxLC45OTk2MiwxLjAxNDg3LDEsMS4wMDA1LC45OTk3MywxLjAwMDEyLDEuMDAwNDMsMSwuOTk5OTUsLjk5OTk0LDEuMDAwMzYsLjk5OTQ3LDEuMDAwMTksMS4wMDA2MywxLjAwMDI1LC45OTkyNCwxLjAwMDM2LC45OTk3MywxLjAwMDM2LDEuMDAwMjUsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjcsMS4wMDAxLDEuMDAwNjgsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsMS4wMDAwOCwuOTk5NTcsLjk5OTcyLC45OTk0LC45OTk1NCwuOTk5NzUsMS4wMDA1MSwxLjAwMDAxLDEuMDAwMTksMS4wMDAwMSwxLjAwMDEsLjk5OTg2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDM4LC45OTk1NCwuOTk5NTQsLjk5OTQsMS4wMDA2NiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDA1NCwxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk3NSwxLjAwMDEsMS4wMDAwMSwuOTk5OTMsLjk5OTUsLjk5OTU1LDEuMDAwMTYsLjk5OTc4LC45OTk3NCwxLjAwMDE5LDEuMDAwMjIsLjk5OTU1LDEuMDAwNTMsLjk5OTczLDEuMDAwODksMS4wMDAwNSwuOTk5NjcsMS4wMDA0OCwuOTk5NzMsMS4wMDAwMiwxLjAwMDM0LC45OTk3MywuOTk5NzMsLjk5OTY0LDEuMDAwMDYsMS4wMDA2NiwuOTk5NDcsLjk5OTczLC45ODg5NCwuOTk5NzMsMSwuNDQ4OTgsMSwuOTk5NDYsMSwxLjAwMDM5LDEuMDAwODIsLjk5OTkxLC45OTk5MSwuOTk5ODUsMS4wMDAyMiwxLjAwMDIzLDEuMDAwNjEsMS4wMDAwNiwuOTk5NjYsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDAxOSwxLjAwMDgsMSwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5ODMsMS4wMDA0NCwuOTk5NzMsLjk5OTY0LC45ODMzMiwxLC45OTk3MywxLDEsLjk5OTYyLC45OTg5NSwxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMSwxLC45OTk3MywxLDEsLjk5OTU1LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDI2NywuOTk5OTksLjk5OTk4LC45OTk5OCwxLC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywxLjAwNDIzLC45OTkyNSwuOTk5OTksMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDA0OSwxLDEuMDAyNDUsMSwxLDEsMSwuOTYzMjksMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywuODI1NCwxLjAwMDE1LDEsMS4wMDAzNSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwxLjAwMDAzLDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk1MzE3LC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sS2E9e2xpbmVIZWlnaHQ6MS4zNSxsaW5lR2FwOi4yfSxUYT1bLjc2MTE2LDEsMSwxLjAwMDYsMS4wMDA2LDEuMDAwMDYsLjk5OTczLC45OTk3MywuOTk5ODIsMS4wMDAwMSwxLjAwMDQzLC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywuOTk5NzMsLjk5OTg3LDEuMDAwMDEsMS4wMDAwMSwuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsMSwxLjAwMDAxLC45OTk3MywuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NDksLjk5OTczLC45OTk5OCwuOTk5NzMsLjk5OTczLDEsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5MjQsLjk5OTI0LDEsLjk5OTI0LC45OTk5OSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDA2LC45OTk3MywxLC45OTk3NywxLDEsMSwxLjAwMDA1LDEuMDAwOSwxLjAwMDA1LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDksLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk4LDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsMSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjA2NDA5LDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEsLjk5OTczLDEsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEuMDQ1OTYsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LDEuMDAwMTksMS4wMDAzNCwxLC45OTkyNCwxLjAwMDAxLDEsMSwuOTk5NzMsLjk5OTI0LC45OTk3MywuOTk5MjQsLjk5OTczLDEuMDI1NzIsLjk5OTczLDEuMDAwMDUsLjk5OTczLC45OTkyNCwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5OTksLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODQ1MzMsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTI4LDEsLjk5OTc3LDEuMDAwMTMsMS4wMDA1NSwuOTk5NDcsLjk5OTQ1LC45OTk0MSwuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNCwuOTE2MjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDUsLjk5OTk5LC45OTk3NywxLjAwMDE1LDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDE5LDEuMDAwMDEsLjk5OTQ2LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTc4LDEuMDAwNDUsLjk5OTczLC45OTkyNCwxLjAwMDIzLC45OTk3OCwuOTk5NjYsMSwxLjAwMDY1LDEuMDAwNDUsMS4wMDAxOSwuOTk5NzMsLjk5OTczLC45OTkyNCwxLDEsLjk2NDk5LDEsMS4wMDA1NSwuOTk5NzMsMS4wMDAwOCwxLjAwMDI3LDEsLjk5OTcsLjk5OTk1LDEuMDAwMjMsLjk5OTMzLDEuMDAwMTksMS4wMDAxNSwxLjAwMDMxLC45OTkyNCwxLjAwMDIzLC45OTk3MywxLjAwMDIzLDEuMDAwMzEsMS4wMDAwMSwuOTk5MjgsMS4wMDAyOSwxLjAwMDkyLDEuMDAwMzUsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsLjk5OTg4LC45OTk3NSwxLDEuMDAwODIsLjk5NTYxLC45OTk2LDEuMDAwMzUsMS4wMDAwMSwuOTk5NjIsMS4wMDAwMSwxLjAwMDkyLC45OTk2NCwxLjAwMDAxLC45OTk2MywuOTk5OTksMS4wMDAzNSwxLjAwMDM1LDEuMDAwODIsLjk5OTYyLC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDM1LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTYsLjk5OTY3LDEuMDAwMDEsMS4wMDAzNCwxLjAwMDc0LDEuMDAwNTQsMS4wMDA1MywxLjAwMDYzLC45OTk3MSwuOTk5NjIsMS4wMDAzNSwuOTk5NzUsLjk5OTc3LC45OTk3MywxLjAwMDQzLC45OTk1MywxLjAwMDcsLjk5OTE1LC45OTk3MywxLjAwMDA4LC45OTg5MiwxLjAwMDczLDEuMDAwNzMsMS4wMDExNCwuOTk5MTUsMS4wMDA3MywuOTk5NTUsLjk5OTczLDEuMDAwOTIsLjk5OTczLDEsLjk5OTk4LDEsMS4wMDAzLDEsMS4wMDA0MywxLjAwMDAxLC45OTk2OSwxLjAwMDMsMSwxLjAwMDM1LDEuMDAwMDEsLjk5OTUsMSwxLjAwMDkyLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNywuOTk5NSwxLC45OTkyNCwxLjAwMDYsLjk5OTI0LC45OTk3MiwxLjAwMDYyLC45OTk3MywxLjAwMTE0LDEuMDAwNzMsMSwuOTk5NTUsMSwxLDEuMDAwNDcsLjk5OTY4LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLDEsLjk5OTczLDEsMSwuOTk5NTUsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMjY3LC45OTk5OSwuOTk5OTgsLjk5OTk4LDEsLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEuMDAwMjMsLjk5OTczLC45OTk3MSwuOTk5MjUsMS4wMDAyMywxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLDEsMSwxLDEsMSwxLC45NjMyOSwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLC44MjU0LDEuMDAwMTUsMSwxLjAwMDM1LDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45NTMxNywuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxxYT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sT2E9WzM2NSwwLDMzMywyNzgsMzMzLDQ3NCw1NTYsNTU2LDg4OSw3MjIsMjM4LDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDMzMywzMzMsNTg0LDU4NCw1ODQsNjExLDk3NSw3MjIsNzIyLDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1NTYsNzIyLDYxMSw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDMzMywyNzgsMzMzLDU4NCw1NTYsMzMzLDU1Niw2MTEsNTU2LDYxMSw1NTYsMzMzLDYxMSw2MTEsMjc4LDI3OCw1NTYsMjc4LDg4OSw2MTEsNjExLDYxMSw2MTEsMzg5LDU1NiwzMzMsNjExLDU1Niw3NzgsNTU2LDU1Niw1MDAsMzg5LDI4MCwzODksNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjgwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTU2LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDcyMiw3MjIsNzIyLDcyMiw3MjIsNzIyLDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw1NDksNjExLDYxMSw2MTEsNjExLDYxMSw1NTYsNjExLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw3MTksNzIyLDYxMSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3MjIsNjExLDcyMiw2MTEsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDc4NSw1NTYsNTU2LDI3OCw3MjIsNTU2LDU1Niw2MTEsMjc4LDYxMSwyNzgsNjExLDM4NSw2MTEsNDc5LDYxMSwyNzgsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzA4LDcyMyw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsMWUzLDk0NCw3MjIsMzg5LDcyMiwzODksNzIyLDM4OSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDYxMSwzMzMsNjExLDQ3OSw2MTEsMzMzLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDk0NCw3NzgsNjY3LDU1Niw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjc4LDU1Niw3MjIsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTU2LDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDQ2NSw3MjIsMzMzLDg1Myw5MDYsNDc0LDgyNSw5MjcsODM4LDI3OCw3MjIsNzIyLDYwMSw3MTksNjY3LDYxMSw3MjIsNzc4LDI3OCw3MjIsNjY3LDgzMyw3MjIsNjQ0LDc3OCw3MjIsNjY3LDYwMCw2MTEsNjY3LDgyMSw2NjcsODA5LDgwMiwyNzgsNjY3LDYxNSw0NTEsNjExLDI3OCw1ODIsNjE1LDYxMCw1NTYsNjA2LDQ3NSw0NjAsNjExLDU0MSwyNzgsNTU4LDU1Niw2MTIsNTU2LDQ0NSw2MTEsNzY2LDYxOSw1MjAsNjg0LDQ0Niw1ODIsNzE1LDU3Niw3NTMsODQ1LDI3OCw1ODIsNjExLDU4Miw4NDUsNjY3LDY2OSw4ODUsNTY3LDcxMSw2NjcsMjc4LDI3Niw1NTYsMTA5NCwxMDYyLDg3NSw2MTAsNzIyLDYyMiw3MTksNzIyLDcxOSw3MjIsNTY3LDcxMiw2NjcsOTA0LDYyNiw3MTksNzE5LDYxMCw3MDIsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYyMiw4NTQsNjY3LDczMCw3MDMsMTAwNSwxMDE5LDg3MCw5NzksNzE5LDcxMSwxMDMxLDcxOSw1NTYsNjE4LDYxNSw0MTcsNjM1LDU1Niw3MDksNDk3LDYxNSw2MTUsNTAwLDYzNSw3NDAsNjA0LDYxMSw2MDQsNjExLDU1Niw0OTAsNTU2LDg3NSw1NTYsNjE1LDU4MSw4MzMsODQ0LDcyOSw4NTQsNjE1LDU1Miw4NTQsNTgzLDU1Niw1NTYsNjExLDQxNyw1NTIsNTU2LDI3OCwyODEsMjc4LDk2OSw5MDYsNjExLDUwMCw2MTUsNTU2LDYwNCw3NzgsNjExLDQ4Nyw0NDcsOTQ0LDc3OCw5NDQsNzc4LDk0NCw3NzgsNjY3LDU1NiwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyNzgsMjc4LDI3OCwyNzgsNTAwLDUwMCw1MDAsNTU2LDU1NiwzNTAsMWUzLDFlMywyNDAsNDc5LDMzMywzMzMsNjA0LDMzMywxNjcsMzk2LDU1Niw1NTYsMTA5NCw1NTYsODg1LDQ4OSwxMTE1LDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCwxZTMsNTAwLDFlMyw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MjIsMjc0LDU0OSw1NDksNTgzLDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNjExLDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzM10sUGE9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLFdhPVszNjUsMCwzMzMsMjc4LDMzMyw0NzQsNTU2LDU1Niw4ODksNzIyLDIzOCwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwzMzMsMzMzLDU4NCw1ODQsNTg0LDYxMSw5NzUsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTU2LDcyMiw2MTEsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwzMzMsMjc4LDMzMyw1ODQsNTU2LDMzMyw1NTYsNjExLDU1Niw2MTEsNTU2LDMzMyw2MTEsNjExLDI3OCwyNzgsNTU2LDI3OCw4ODksNjExLDYxMSw2MTEsNjExLDM4OSw1NTYsMzMzLDYxMSw1NTYsNzc4LDU1Niw1NTYsNTAwLDM4OSwyODAsMzg5LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI4MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDU1NiwyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw3MjIsNzIyLDcyMiw3MjIsNzIyLDcyMiwxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNTQ5LDYxMSw2MTEsNjExLDYxMSw2MTEsNTU2LDYxMSw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNzQwLDcyMiw2MTEsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzIyLDYxMSw3MjIsNjExLDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCw3ODIsNTU2LDU1NiwyNzgsNzIyLDU1Niw1NTYsNjExLDI3OCw2MTEsMjc4LDYxMSwzOTYsNjExLDQ3OSw2MTEsMjc4LDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcwOCw3MjMsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDFlMyw5NDQsNzIyLDM4OSw3MjIsMzg5LDcyMiwzODksNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2MTEsMzMzLDYxMSw0NzksNjExLDMzMyw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw5NDQsNzc4LDY2Nyw1NTYsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDI3OCw1NTYsNzIyLDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDU1Niw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNzIyLDMzMyw4NTQsOTA2LDQ3Myw4NDQsOTMwLDg0NywyNzgsNzIyLDcyMiw2MTAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNzIyLDY2Nyw4MzMsNzIyLDY1Nyw3NzgsNzE4LDY2Nyw1OTAsNjExLDY2Nyw4MjIsNjY3LDgyOSw3ODEsMjc4LDY2Nyw2MjAsNDc5LDYxMSwyNzgsNTkxLDYyMCw2MjEsNTU2LDYxMCw0NzksNDkyLDYxMSw1NTgsMjc4LDU2Niw1NTYsNjAzLDU1Niw0NTAsNjExLDcxMiw2MDUsNTMyLDY2NCw0MDksNTkxLDcwNCw1NzgsNzczLDgzNCwyNzgsNTkxLDYxMSw1OTEsODM0LDY2Nyw2NjcsODg2LDYxNCw3MTksNjY3LDI3OCwyNzgsNTU2LDEwOTQsMTA0Miw4NTQsNjIyLDcxOSw2NzcsNzE5LDcyMiw3MDgsNzIyLDYxNCw3MjIsNjY3LDkyNyw2NDMsNzE5LDcxOSw2MTUsNjg3LDgzMyw3MjIsNzc4LDcxOSw2NjcsNzIyLDYxMSw2NzcsNzgxLDY2Nyw3MjksNzA4LDk3OSw5ODksODU0LDFlMyw3MDgsNzE5LDEwNDIsNzI5LDU1Niw2MTksNjA0LDUzNCw2MTgsNTU2LDczNiw1MTAsNjExLDYxMSw1MDcsNjIyLDc0MCw2MDQsNjExLDYxMSw2MTEsNTU2LDg4OSw1NTYsODg1LDU1Niw2NDYsNTgzLDg4OSw5MzUsNzA3LDg1NCw1OTQsNTUyLDg2NSw1ODksNTU2LDU1Niw2MTEsNDY5LDU2Myw1NTYsMjc4LDI3OCwyNzgsOTY5LDkwNiw2MTEsNTA3LDYxOSw1NTYsNjExLDc3OCw2MTEsNTc1LDQ2Nyw5NDQsNzc4LDk0NCw3NzgsOTQ0LDc3OCw2NjcsNTU2LDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDI3OCwyNzgsMjc4LDI3OCw1MDAsNTAwLDUwMCw1NTYsNTU2LDM1MCwxZTMsMWUzLDI0MCw0NzksMzMzLDMzMyw2MDQsMzMzLDE2NywzOTYsNTU2LDU1NiwxMTA0LDU1Niw4ODUsNTE2LDExNDYsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDk5OSw1MDAsMWUzLDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcyMiwyNzQsNTQ5LDU0OSw1ODMsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw2MTEsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzXSxqYT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0sWGE9WzM2NSwwLDMzMywyNzgsMjc4LDM1NSw1NTYsNTU2LDg4OSw2NjcsMTkxLDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsNTg0LDU4NCw1ODQsNTU2LDEwMTUsNjY3LDY2Nyw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTAwLDY2Nyw1NTYsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwyNzgsMjc4LDI3OCw0NjksNTU2LDMzMyw1NTYsNTU2LDUwMCw1NTYsNTU2LDI3OCw1NTYsNTU2LDIyMiwyMjIsNTAwLDIyMiw4MzMsNTU2LDU1Niw1NTYsNTU2LDMzMyw1MDAsMjc4LDU1Niw1MDAsNzIyLDUwMCw1MDAsNTAwLDMzNCwyNjAsMzM0LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI2MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDUzNywyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw2NjcsNjY3LDY2Nyw2NjcsNjY3LDY2NywxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1MDAsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTQ5LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTAwLDU1Niw1MDAsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNjI1LDcyMiw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzIyLDU1Niw3MjIsNTU2LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyMjIsMjc4LDI3OCw3MzMsNDQ0LDUwMCwyMjIsNjY3LDUwMCw1MDAsNTU2LDIyMiw1NTYsMjIyLDU1NiwyODEsNTU2LDQwMCw1NTYsMjIyLDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDYxNSw3MjMsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDFlMyw5NDQsNzIyLDMzMyw3MjIsMzMzLDcyMiwzMzMsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2MTEsMjc4LDYxMSwzNTQsNjExLDI3OCw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw5NDQsNzIyLDY2Nyw1MDAsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDIyMiw1NTYsNjY3LDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDUwMCw2MTEsMjc4LDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNjY3LDI3OCw3ODksODQ2LDM4OSw3OTQsODY1LDc3NSwyMjIsNjY3LDY2Nyw1NzAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNjY3LDY2Nyw4MzMsNzIyLDY0OCw3NzgsNzI1LDY2Nyw2MDAsNjExLDY2Nyw4MzcsNjY3LDgzMSw3NjEsMjc4LDY2Nyw1NzAsNDM5LDU1NSwyMjIsNTUwLDU3MCw1NzEsNTAwLDU1Niw0MzksNDYzLDU1NSw1NDIsMjIyLDUwMCw0OTIsNTQ4LDUwMCw0NDcsNTU2LDY3MCw1NzMsNDg2LDYwMywzNzQsNTUwLDY1Miw1NDYsNzI4LDc3OSwyMjIsNTUwLDU1Niw1NTAsNzc5LDY2Nyw2NjcsODQzLDU0NCw3MDgsNjY3LDI3OCwyNzgsNTAwLDEwNjYsOTgyLDg0NCw1ODksNzE1LDYzOSw3MjQsNjY3LDY1MSw2NjcsNTQ0LDcwNCw2NjcsOTE3LDYxNCw3MTUsNzE1LDU4OSw2ODYsODMzLDcyMiw3NzgsNzI1LDY2Nyw3MjIsNjExLDYzOSw3OTUsNjY3LDcyNyw2NzMsOTIwLDkyMyw4MDUsODg2LDY1MSw2OTQsMTAyMiw2ODIsNTU2LDU2Miw1MjIsNDkzLDU1Myw1NTYsNjg4LDQ2NSw1NTYsNTU2LDQ3Miw1NjQsNjg2LDU1MCw1NTYsNTU2LDU1Niw1MDAsODMzLDUwMCw4MzUsNTAwLDU3Miw1MTgsODMwLDg1MSw2MjEsNzM2LDUyNiw0OTIsNzUyLDUzNCw1NTYsNTU2LDU1NiwzNzgsNDk2LDUwMCwyMjIsMjIyLDIyMiw5MTAsODI4LDU1Niw0NzIsNTY1LDUwMCw1NTYsNzc4LDU1Niw0OTIsMzM5LDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA4MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCw5OTgsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4NCw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLFphPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxWYT1bMzY1LDAsMzMzLDI3OCwyNzgsMzU1LDU1Niw1NTYsODg5LDY2NywxOTEsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCw1ODQsNTg0LDU4NCw1NTYsMTAxNSw2NjcsNjY3LDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1MDAsNjY3LDU1Niw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDI3OCwyNzgsMjc4LDQ2OSw1NTYsMzMzLDU1Niw1NTYsNTAwLDU1Niw1NTYsMjc4LDU1Niw1NTYsMjIyLDIyMiw1MDAsMjIyLDgzMyw1NTYsNTU2LDU1Niw1NTYsMzMzLDUwMCwyNzgsNTU2LDUwMCw3MjIsNTAwLDUwMCw1MDAsMzM0LDI2MCwzMzQsNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjYwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTM3LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDY2Nyw2NjcsNjY3LDY2Nyw2NjcsNjY3LDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDUwMCw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NDksNjExLDU1Niw1NTYsNTU2LDU1Niw1MDAsNTU2LDUwMCw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw2MTUsNzIyLDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3MjIsNTU2LDcyMiw1NTYsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDIyMiwyNzgsMjc4LDczNSw0NDQsNTAwLDIyMiw2NjcsNTAwLDUwMCw1NTYsMjIyLDU1NiwyMjIsNTU2LDI5Miw1NTYsMzM0LDU1NiwyMjIsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNjA0LDcyMyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsMWUzLDk0NCw3MjIsMzMzLDcyMiwzMzMsNzIyLDMzMyw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDYxMSwyNzgsNjExLDM3NSw2MTEsMjc4LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDk0NCw3MjIsNjY3LDUwMCw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjIyLDU1Niw2NjcsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTAwLDYxMSwyNzgsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw2NjcsMjc4LDc4NCw4MzgsMzg0LDc3NCw4NTUsNzUyLDIyMiw2NjcsNjY3LDU1MSw2NjgsNjY3LDYxMSw3MjIsNzc4LDI3OCw2NjcsNjY4LDgzMyw3MjIsNjUwLDc3OCw3MjIsNjY3LDYxOCw2MTEsNjY3LDc5OCw2NjcsODM1LDc0OCwyNzgsNjY3LDU3OCw0NDYsNTU2LDIyMiw1NDcsNTc4LDU3NSw1MDAsNTU3LDQ0Niw0NDEsNTU2LDU1NiwyMjIsNTAwLDUwMCw1NzYsNTAwLDQ0OCw1NTYsNjkwLDU2OSw0ODIsNjE3LDM5NSw1NDcsNjQ4LDUyNSw3MTMsNzgxLDIyMiw1NDcsNTU2LDU0Nyw3ODEsNjY3LDY2Nyw4NjUsNTQyLDcxOSw2NjcsMjc4LDI3OCw1MDAsMTA1NywxMDEwLDg1NCw1ODMsNzIyLDYzNSw3MTksNjY3LDY1Niw2NjcsNTQyLDY3Nyw2NjcsOTIzLDYwNCw3MTksNzE5LDU4Myw2NTYsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYzNSw3NjAsNjY3LDc0MCw2NjcsOTE3LDkzOCw3OTIsODg1LDY1Niw3MTksMTAxMCw3MjIsNTU2LDU3Myw1MzEsMzY1LDU4Myw1NTYsNjY5LDQ1OCw1NTksNTU5LDQzOCw1ODMsNjg4LDU1Miw1NTYsNTQyLDU1Niw1MDAsNDU4LDUwMCw4MjMsNTAwLDU3Myw1MjEsODAyLDgyMyw2MjUsNzE5LDUyMSw1MTAsNzUwLDU0Miw1NTYsNTU2LDU1NiwzNjUsNTEwLDUwMCwyMjIsMjc4LDIyMiw5MDYsODEyLDU1Niw0MzgsNTU5LDUwMCw1NTIsNzc4LDU1Niw0ODksNDExLDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA3MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCwxZTMsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4Myw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLHphPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxfYT1bMS4zNjg5OCwxLDEsLjcyNzA2LC44MDQ3OSwuODM3MzQsLjk4ODk0LC45OTc5MywuOTg5NywuOTM4ODQsLjg2MjA5LC45NDI5MiwuOTQyOTIsMS4xNjY2MSwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTkxMzcsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcyODUxLC43ODk2NiwuOTA4MzgsLjgzNjM3LC44MjM5MSwuOTYzNzYsLjgwMDYxLC44NjI3NSwuODc2OCwuOTU0MDcsMS4wMjU4LC43MzkwMSwuODUwMjIsLjgzNjU1LDEuMDE1NiwuOTU1NDYsLjkyMTc5LC44NzEwNywuOTIxNzksLjgyMTE0LC44MDk2LC44OTcxMywuOTQ0MzgsLjk1MzUzLC45NDA4MywuOTE5MDUsLjkwNDA2LC45NDQ2LC45NDI5MiwxLjE4Nzc3LC45NDI5MiwxLjAyMDU4LC44OTkwMywuOTAwODgsLjk0OTM4LC45Nzg5OCwuODEwOTMsLjk3NTcxLC45NDkzOCwxLjAyNCwuOTU3NywuOTU5MzMsLjk4NjIxLDEuMDQ3NCwuOTc0NTUsLjk4OTgxLC45NjcyLC45NTkzMywuOTQ0NiwuOTc4OTgsLjk3NDA3LC45NzY0NiwuNzgwMzYsMS4xMDIwOCwuOTU0NDIsLjk1Mjk4LC45NzU3OSwuOTMzMiwuOTQwMzksLjkzOCwuODA2ODcsMS4wMTE0OSwuODA2ODcsMS4wMjA1OCwuODA0NzksLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLDEuMDExNDksMS4wMDg3MiwuOTAwODgsLjkxODgyLDEuMDIxMywuODM2MSwxLjAyMDU4LC42MjI5NSwuNTQzMjQsLjg5MDIyLDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NzQ1NSwuOTM1ODIsLjkwMDg4LDEsMS4wNTY4NiwuODM2MSwuOTk2NDIsLjk5NjQyLC45OTY0MiwuNzI4NTEsLjkwODM4LC45MDgzOCwuOTA4MzgsLjkwODM4LC45MDgzOCwuOTA4MzgsLjg2OCwuODIzOTEsLjgwMDYxLC44MDA2MSwuODAwNjEsLjgwMDYxLDEuMDI1OCwxLjAyNTgsMS4wMjU4LDEuMDI1OCwuOTc0ODQsLjk1NTQ2LC45MjE3OSwuOTIxNzksLjkyMTc5LC45MjE3OSwuOTIxNzksMS4wMjA1OCwuOTIxNzksLjk0NDM4LC45NDQzOCwuOTQ0MzgsLjk0NDM4LC45MDQwNiwuODY5NTgsLjk4MjI1LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45MDMxLC44MTA5MywuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk4NjIxLC45Mzk2OSwuOTU5MzMsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsMS4wODU5NSwuOTQ0NiwuOTU0NDIsLjk1NDQyLC45NTQ0MiwuOTU0NDIsLjk0MDM5LC45Nzg5OCwuOTQwMzksLjkwODM4LC45NDkzOCwuOTA4MzgsLjk0OTM4LC45MDgzOCwuOTQ5MzgsLjgyMzkxLC44MTA5MywuODIzOTEsLjgxMDkzLC44MjM5MSwuODEwOTMsLjgyMzkxLC44MTA5MywuOTYzNzYsLjg0MzEzLC45NzQ4NCwuOTc1NzEsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44NzY4LC45NTc3LC44NzY4LC45NTc3LC44NzY4LC45NTc3LDEsMSwuOTU0MDcsLjk1OTMzLC45NzA2OSwuOTU5MzMsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLC44ODcsMS4wMTU5MSwuNzM5MDEsMS4wNDc0LDEsMSwuOTc0NTUsLjgzNjU1LC45ODk4MSwxLDEsLjgzNjU1LC43Mzk3NywuODM2NTUsLjczOTAzLC44NDYzOCwxLjAzMywuOTU1NDYsLjk1OTMzLDEsMSwuOTU1NDYsLjk1OTMzLC44MjcxLC45NTQxNywuOTU5MzMsLjkyMTc5LC45NDQ2LC45MjE3OSwuOTQ0NiwuOTIxNzksLjk0NDYsLjkzNiwuOTE5NjQsLjgyMTE0LC45NzY0NiwxLDEsLjgyMTE0LC45NzY0NiwuODA5NiwuNzgwMzYsLjgwOTYsLjc4MDM2LDEsMSwuODA5NiwuNzgwMzYsMSwxLC44OTcxMywuNzc0NTIsLjg5NzEzLDEuMTAyMDgsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45MDQwNiwuOTQ0NiwuOTM4LC45NDQ2LC45MzgsLjk0NDYsLjkzOCwxLC45OTc5MywuOTA4MzgsLjk0OTM4LC44NjgsLjkwMzEsLjkyMTc5LC45NDQ2LDEsMSwuODk3MTMsMS4xMDIwOCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTA5ODksLjkzNTgsLjkxOTQ1LC44MzE4MSwuNzUyNjEsLjg3OTkyLC44Mjk3NiwuOTYwMzQsLjgzNjg5LC45NzI2OCwxLjAwNzgsLjkwODM4LC44MzYzNywuODAxOSwuOTAxNTcsLjgwMDYxLC45NDQ2LC45NTQwNywuOTI0MzYsMS4wMjU4LC44NTAyMiwuOTcxNTMsMS4wMTU2LC45NTU0NiwuODkxOTIsLjkyMTc5LC45MjM2MSwuODcxMDcsLjk2MzE4LC44OTcxMywuOTM3MDQsLjk1NjM4LC45MTkwNSwuOTE3MDksLjkyNzk2LDEuMDI1OCwuOTM3MDQsLjk0ODM2LDEuMDM3MywuOTU5MzMsMS4wMDc4LC45NTg3MSwuOTQ4MzYsLjk2MTc0LC45MjYwMSwuOTQ5OCwuOTg2MDcsLjk1Nzc2LC45NTkzMywxLjA1NDUzLDEuMDA3OCwuOTgyNzUsLjkzMTQsLjk1NjE3LC45MTcwMSwxLjA1OTkzLC45NDQ2LC43ODM2NywuOTU1MywxLC44NjgzMiwxLjAxMjgsLjk1ODcxLC45OTM5NCwuODc1NDgsLjk2MzYxLC44Njc3NCwxLjAwNzgsLjk1ODcxLC45NDQ2LC45NTg3MSwuODY3NzQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTQwODMsLjk3NTc5LC45NDA4MywuOTc1NzksLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45NjY5NCwxLC44OTkwMywxLDEsMSwuOTM1ODIsLjkzNTgyLC45MzU4MiwxLC45MDgsLjkwOCwuOTE4LC45NDIxOSwuOTQyMTksLjk2NTQ0LDEsMS4yODUsMSwxLC44MTA3OSwuODEwNzksMSwxLC43NDg1NCwxLDEsMSwxLC45OTc5MywxLDEsMSwuNjUsMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjE3MTczLDEsLjgwNTM1LC43NjE2OSwxLjAyMDU4LDEuMDczMiwxLjA1NDg2LDEsMSwxLjMwNjkyLDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTYxNjEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sJGE9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LEFzPVsxLjM2ODk4LDEsMSwuNjYyMjcsLjgwNzc5LC44MTYyNSwuOTcyNzYsLjk3Mjc2LC45NzczMywuOTIyMjIsLjgzMjY2LC45NDI5MiwuOTQyOTIsMS4xNjE0OCwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTczMzcsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcxNTQxLC43NjgxMywuODU1NzYsLjgwNTkxLC44MDcyOSwuOTQyOTksLjc3NTEyLC44MzY1NSwuODY1MjMsLjkyMjIyLC45ODYyMSwuNzE3NDMsLjgxNjk4LC43OTcyNiwuOTg1NTgsLjkyMjIyLC45MDYzNywuODM4MDksLjkwNjM3LC44MDcyOSwuNzY0NjMsLjg2Mjc1LC45MDY5OSwuOTE2MDUsLjkxNTQsLjg1MzA4LC44NTQ1OCwuOTA1MzEsLjk0MjkyLDEuMjEyOTYsLjk0MjkyLDEuMDIwNTgsLjg5OTAzLDEuMTg2MTYsLjk5NjEzLC45MTY3NywuNzgyMTYsLjkxNjc3LC45MDA4MywuOTg3OTYsLjkxMzUsLjkyMTY4LC45NTM4MSwuOTg5ODEsLjk1Mjk4LC45NTM4MSwuOTM0NTksLjkyMTY4LC45MTUxMywuOTIwMDQsLjkxNjc3LC45NTA3NywuNzQ4LDEuMDQ1MDIsLjkxNjc3LC45MjA2MSwuOTQyMzYsLjg5NTQ0LC44OTM2NCwuOSwuODA2ODcsLjg1NzgsLjgwNjg3LDEuMDIwNTgsLjgwNzc5LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuODU3OCwuOTk5NzMsMS4xODYxNiwuOTEzMzksMS4wODA3NCwuODI4OTEsMS4wMjA1OCwuNTU1MDksLjcxNTI2LC44OTAyMiwxLjA4NTk1LDEsMSwxLjE4NjE2LDEsLjk2NzM2LC45MzU4MiwxLjE4NjE2LDEsMS4wNDg2NCwuODI3MTEsLjk5MDQzLC45OTA0MywuOTkwNDMsLjcxNTQxLC44NTU3NiwuODU1NzYsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg1NTc2LC44NDUsLjgwNzI5LC43NzUxMiwuNzc1MTIsLjc3NTEyLC43NzUxMiwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk1OTYxLC45MjIyMiwuOTA2MzcsLjkwNjM3LC45MDYzNywuOTA2MzcsLjkwNjM3LDEuMDIwNTgsLjkwMjUxLC45MDY5OSwuOTA2OTksLjkwNjk5LC45MDY5OSwuODU0NTgsLjgzNjU5LC45NDk1MSwuOTk2MTMsLjk5NjEzLC45OTYxMywuOTk2MTMsLjk5NjEzLC45OTYxMywuODU4MTEsLjc4MjE2LC45MDA4MywuOTAwODMsLjkwMDgzLC45MDA4MywuOTUzODEsLjk1MzgxLC45NTM4MSwuOTUzODEsLjkxMzUsLjkyMTY4LC45MTUxMywuOTE1MTMsLjkxNTEzLC45MTUxMywuOTE1MTMsMS4wODU5NSwuOTE2NzcsLjkxNjc3LC45MTY3NywuOTE2NzcsLjkxNjc3LC44OTM2NCwuOTIzMzIsLjg5MzY0LC44NTU3NiwuOTk2MTMsLjg1NTc2LC45OTYxMywuODU1NzYsLjk5NjEzLC44MDcyOSwuNzgyMTYsLjgwNzI5LC43ODIxNiwuODA3MjksLjc4MjE2LC44MDcyOSwuNzgyMTYsLjk0Mjk5LC43Njc4MywuOTU5NjEsLjkxNjc3LC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuODY1MjMsLjkxMzUsLjg2NTIzLC45MTM1LC44NjUyMywuOTEzNSwxLDEsLjkyMjIyLC45MjE2OCwuOTIyMjIsLjkyMTY4LC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuODYwMzYsLjk3MDk2LC43MTc0MywuOTg5ODEsMSwxLC45NTI5OCwuNzk3MjYsLjk1MzgxLDEsMSwuNzk3MjYsLjY4OTQsLjc5NzI2LC43NDMyMSwuODE2OTEsMS4wMDA2LC45MjIyMiwuOTIxNjgsMSwxLC45MjIyMiwuOTIxNjgsLjc5NDY0LC45MjA5OCwuOTIxNjgsLjkwNjM3LC45MTUxMywuOTA2MzcsLjkxNTEzLC45MDYzNywuOTE1MTMsLjkwOSwuODc1MTQsLjgwNzI5LC45NTA3NywxLDEsLjgwNzI5LC45NTA3NywuNzY0NjMsLjc0OCwuNzY0NjMsLjc0OCwxLDEsLjc2NDYzLC43NDgsMSwxLC44NjI3NSwuNzI2NTEsLjg2Mjc1LDEuMDQ1MDIsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkxNTQsLjk0MjM2LC44NTQ1OCwuODkzNjQsLjg1NDU4LC45MDUzMSwuOSwuOTA1MzEsLjksLjkwNTMxLC45LDEsLjk3Mjc2LC44NTU3NiwuOTk2MTMsLjg0NSwuODU4MTEsLjkwMjUxLC45MTY3NywxLDEsLjg2Mjc1LDEuMDQ1MDIsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4wMDg5OSwxLjMwNjI4LC44NTU3NiwuODAxNzgsLjY2ODYyLC43OTI3LC42OTMyMywuODgxMjcsLjcyNDU5LC44OTcxMSwuOTUzODEsLjg1NTc2LC44MDU5MSwuNzgwNSwuOTQ3MjksLjc3NTEyLC45MDUzMSwuOTIyMjIsLjkwNjM3LC45ODYyMSwuODE2OTgsLjkyNjU1LC45ODU1OCwuOTIyMjIsLjg1MzU5LC45MDYzNywuOTA5NzYsLjgzODA5LC45NDUyMywuODYyNzUsLjgzNTA5LC45MzE1NywuODUzMDgsLjgzMzkyLC45MjM0NiwuOTg2MjEsLjgzNTA5LC45Mjg4NiwuOTEzMjQsLjkyMTY4LC45NTM4MSwuOTA2NDYsLjkyODg2LC45MDU1NywuODY4NDcsLjkwMjc2LC45MTMyNCwuODY4NDIsLjkyMTY4LC45OTUzMSwuOTUzODEsLjkyMjQsLjg1NDA4LC45MjY5OSwuODY4NDcsMS4wMDUxLC45MTUxMywuODA0ODcsLjkzNDgxLDEsLjg4MTU5LDEuMDUyMTQsLjkwNjQ2LC45NzM1NSwuODE1MzksLjg5Mzk4LC44NTkyMywuOTUzODEsLjkwNjQ2LC45MTUxMywuOTA2NDYsLjg1OTIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkxNTQsLjk0MjM2LC45MTU0LC45NDIzNiwuOTE1NCwuOTQyMzYsLjg1NDU4LC44OTM2NCwuOTY2OTQsMSwuODk5MDMsMSwxLDEsLjkxNzgyLC45MTc4MiwuOTE3ODIsMSwuODk2LC44OTYsLjg5NiwuOTMzMiwuOTMzMiwuOTU5NzMsMSwxLjI2LDEsMSwuODA0NzksLjgwMTc4LDEsMSwuODU2MzMsMSwxLDEsMSwuOTcyNzYsMSwxLDEsLjY5OCwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTQ1NDIsMSwuNzkxOTksLjc4Njk0LDEuMDIwNTgsMS4wMzQ5MywxLjA1NDg2LDEsMSwxLjIzMDI2LDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMjAwMDYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sZXM9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LHRzPVsxLjM2ODk4LDEsMSwuNjU1MDcsLjg0OTQzLC44NTYzOSwuODg0NjUsLjg4NDY1LC44NjkzNiwuODgzMDcsLjg2OTQ4LC44NTI4MywuODUyODMsMS4wNjM4MywxLjAyMDU4LC43NTk0NSwuOTIxOSwuNzU5NDUsMS4xNzMzNywuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjc1OTQ1LC43NTk0NSwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNjkwNDYsLjcwOTI2LC44NTE1OCwuNzc4MTIsLjc2ODUyLC44OTU5MSwuNzA0NjYsLjc2MTI1LC44MDA5NCwuODY4MjIsLjgzODY0LC43MjgsLjc3MjEyLC43OTQ3NSwuOTM2MzcsLjg3NTE0LC44NTg4LC43NjAxMywuODU4OCwuNzI0MjEsLjY5ODY2LC43NzU5OCwuODU5OTEsLjgwODExLC44NzgzMiwuNzgxMTIsLjc3NTEyLC44NTYyLDEuMDIyMiwxLjE4NDE3LDEuMDIyMiwxLjI3MDE0LC44OTkwMywxLjE1MDEyLC45Mzg1OSwuOTQzOTksLjg0NiwuOTQzOTksLjgxNDUzLDEuMDE4NiwuOTQyMTksLjk2MDE3LDEuMDMwNzUsMS4wMjE3NSwuOTEyLDEuMDMwNzUsLjk2OTk4LC45NjAxNywuOTM4NTksLjk0Mzk5LC45NDM5OSwuOTU0OTMsLjc0NiwxLjEyNjU4LC45NDU3OCwuOTEsLjk3OSwuODgyLC44ODIsLjgzLC44NTAzNCwuODM1MzcsLjg1MDM0LDEuMDIwNTgsLjcwODY5LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODM1MzcsLjkwMDgzLDEuMTUwMTIsLjkxNjEsLjk0NTY1LC43MzU0MSwxLjAyMDU4LC41MzYwOSwuNjkzNTMsLjc5NTE5LDEuMDg1OTUsMSwxLDEuMTUwMTIsMSwuOTE5NzQsLjc1OTQ1LDEuMTUwMTIsMSwuOTQ0NiwuNzMzNjEsLjkwMDUsLjkwMDUsLjkwMDUsLjYyODY0LC44NTE1OCwuODUxNTgsLjg1MTU4LC44NTE1OCwuODUxNTgsLjg1MTU4LC43NzMsLjc2ODUyLC43MDQ2NiwuNzA0NjYsLjcwNDY2LC43MDQ2NiwuODM4NjQsLjgzODY0LC44Mzg2NCwuODM4NjQsLjkwNTYxLC44NzUxNCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwxLjAyMDU4LC44NTc1MSwuODU5OTEsLjg1OTkxLC44NTk5MSwuODU5OTEsLjc3NTEyLC43NjAxMywuODgwNzUsLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjgwNzUsLjg0NiwuODE0NTMsLjgxNDUzLC44MTQ1MywuODE0NTMsLjgyNDI0LC44MjQyNCwuODI0MjQsLjgyNDI0LC45Mjc4LC45NjAxNywuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LDEuMDg1OTUsLjg1NjIsLjk0NTc4LC45NDU3OCwuOTQ1NzgsLjk0NTc4LC44ODIsLjk0NTc4LC44ODIsLjg1MTU4LC45Mzg1OSwuODUxNTgsLjkzODU5LC44NTE1OCwuOTM4NTksLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjg5NTkxLC44NTQ0LC45MDU2MSwuOTQzOTksLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC44MDA5NCwuOTQyMTksLjgwMDk0LC45NDIxOSwuODAwOTQsLjk0MjE5LDEsMSwuODY4MjIsLjk2MDE3LC44NjgyMiwuOTYwMTcsLjgzODY0LC44MjQyNCwuODM4NjQsLjgyNDI0LC44Mzg2NCwuODI0MjQsLjgzODY0LDEuMDMwNzUsLjgzODY0LC44MjQyNCwuODE0MDIsMS4wMjczOCwuNzI4LDEuMDIxNzUsMSwxLC45MTIsLjc5NDc1LDEuMDMwNzUsMSwxLC43OTQ3NSwuODM5MTEsLjc5NDc1LC42NjI2NiwuODA1NTMsMS4wNjY3NiwuODc1MTQsLjk2MDE3LDEsMSwuODc1MTQsLjk2MDE3LC44Njg2NSwuODczOTYsLjk2MDE3LC44NTg4LC45Mzg1OSwuODU4OCwuOTM4NTksLjg1ODgsLjkzODU5LC44NjcsLjg0NzU5LC43MjQyMSwuOTU0OTMsMSwxLC43MjQyMSwuOTU0OTMsLjY5ODY2LC43NDYsLjY5ODY2LC43NDYsMSwxLC42OTg2NiwuNzQ2LDEsMSwuNzc1OTgsLjg4NDE3LC43NzU5OCwxLjEyNjU4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NzgzMiwuOTc5LC43NzUxMiwuODgyLC43NzUxMiwuODU2MiwuODMsLjg1NjIsLjgzLC44NTYyLC44MywxLC44ODQ2NSwuODUxNTgsLjkzODU5LC43NzMsLjgwNzUsLjg1NzUxLC44NTYyLDEsMSwuNzc1OTgsMS4xMjY1OCwxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4xNTMxMywxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjA4MTA2LDEuMDM5MDEsLjg1MTU4LC43NzAyNSwuNjIyNjQsLjc2NDYsLjY1MzUxLC44NjAyNiwuNjk0NjEsLjg5OTQ3LDEuMDMwNzUsLjg1MTU4LC43NzgxMiwuNzY0NDksLjg4ODM2LC43MDQ2NiwuODU2MiwuODY4MjIsLjg1ODgsLjgzODY0LC43NzIxMiwuODUzMDgsLjkzNjM3LC44NzUxNCwuODIzNTIsLjg1ODgsLjg1NzAxLC43NjAxMywuODkwNTgsLjc3NTk4LC44MTU2LC44MjU2NSwuNzgxMTIsLjc3ODk5LC44OTM4NiwuODM4NjQsLjgxNTYsLjk0ODYsLjkyMzg4LC45NjE4NiwxLjAzMDc1LC45MTEyMywuOTQ4NiwuOTMyOTgsLjg3OCwuOTM5NDIsLjkyMzg4LC44NDU5NiwuOTYxODYsLjk1MTE5LDEuMDMwNzUsLjkyMiwuODg3ODcsLjk1ODI5LC44OCwuOTM1NTksLjkzODU5LC43ODgxNSwuOTM3NTgsMSwuODkyMTcsMS4wMzczNywuOTExMjMsLjkzOTY5LC43NzQ4NywuODU3NjksLjg2Nzk5LDEuMDMwNzUsLjkxMTIzLC45Mzg1OSwuOTExMjMsLjg2Nzk5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjc3NTEyLC44ODIsLjkyMTksMSwuODk5MDMsMSwxLDEsLjg3MzIxLC44NzMyMSwuODczMjEsMSwxLjAyNywxLjAyNywxLjAyNywuODY4NDcsLjg2ODQ3LC43OTEyMSwxLDEuMTI0LDEsMSwuNzM1NzIsLjczNTcyLDEsMSwuODUwMzQsMSwxLDEsMSwuODg0NjUsMSwxLDEsLjY2OSwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQ4MjgsMSwuNzQ5NDgsLjc1MTg3LDEuMDIwNTgsLjk4MzkxLDEuMDIxMTksMSwxLDEuMDYyMzMsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTIzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxpcz17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sYXM9WzEuMzY4OTgsMSwxLC43NjMwNSwuODI3ODQsLjk0OTM1LC44OTM2NCwuOTIyNDEsLjg5MDczLC45MDcwNiwuOTg0NzIsLjg1MjgzLC44NTI4MywxLjA2NjQsMS4wMjA1OCwuNzQ1MDUsLjkyMTksLjc0NTA1LDEuMjM0NTYsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC43NDUwNSwuNzQ1MDUsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjczMDAyLC43MjYwMSwuOTE3NTUsLjgxMjYsLjgwMzE0LC45MjIyMiwuNzM3NjQsLjc5NzI2LC44MzA1MSwuOTAyODQsLjg2MDIzLC43NCwuODEyNiwuODQ4NjksLjk2NTE4LC45MTExNSwuODg1OCwuNzk3NjEsLjg4NTgsLjc0NDk4LC43MzkxNCwuODEzNjMsLjg5NTkxLC44MzY1OSwuODk2MzMsLjg1NjA4LC44MTExLC45MDUzMSwxLjAyMjIsMS4yMjczNiwxLjAyMjIsMS4yNzAxNCwuODk5MDMsLjkwMDg4LC44NjY2NywxLjAyMzEsLjg5NiwxLjAxNDExLC45MDA4MywxLjA1MDk5LDEuMDA1MTIsLjk5NzkzLDEuMDUzMjYsMS4wOTM3NywuOTM4LDEuMDYyMjYsMS4wMDExOSwuOTk3OTMsLjk4NzE0LDEuMDIzMSwxLjAxMjMxLC45ODE5NiwuNzkyLDEuMTkxMzcsLjk5MDc0LC45NjIsMS4wMTkxNSwuOTI2LC45NDIsLjg1NiwuODUwMzQsLjkyMDA2LC44NTAzNCwxLjAyMDU4LC42OTA2NywuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMDA2LC45MzMyLC45MDA4OCwuOTE4ODIsLjkzNDg0LC43NTMzOSwxLjAyMDU4LC41Njg2NiwuNTQzMjQsLjc5NTE5LDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NTMyNSwuNzQ1MDUsLjkwMDg4LDEsLjk3MTk4LC43NTMzOSwuOTEwMDksLjkxMDA5LC45MTAwOSwuNjY0NjYsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjc4OCwuODAzMTQsLjczNzY0LC43Mzc2NCwuNzM3NjQsLjczNzY0LC44NjAyMywuODYwMjMsLjg2MDIzLC44NjAyMywuOTI5MTUsLjkxMTE1LC44ODU4LC44ODU4LC44ODU4LC44ODU4LC44ODU4LDEuMDIwNTgsLjg4NTgsLjg5NTkxLC44OTU5MSwuODk1OTEsLjg5NTkxLC44MTExLC43OTYxMSwuODk3MTMsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2OTM2LC44OTYsLjkwMDgzLC45MDA4MywuOTAwODMsLjkwMDgzLC44NDIyNCwuODQyMjQsLjg0MjI0LC44NDIyNCwuOTcyNzYsLjk5NzkzLC45ODcxNCwuOTg3MTQsLjk4NzE0LC45ODcxNCwuOTg3MTQsMS4wODU5NSwuODk4NzYsLjk5MDc0LC45OTA3NCwuOTkwNzQsLjk5MDc0LC45NDIsMS4wMjMxLC45NDIsLjkxNzU1LC44NjY2NywuOTE3NTUsLjg2NjY3LC45MTc1NSwuODY2NjcsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjkyMjIyLC45MzM3MiwuOTI5MTUsMS4wMTQxMSwuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsMSwxLC45MDI4NCwuOTk3OTMsLjkwOTc2LC45OTc5MywuODYwMjMsLjg0MjI0LC44NjAyMywuODQyMjQsLjg2MDIzLC44NDIyNCwuODYwMjMsMS4wNTMyNiwuODYwMjMsLjg0MjI0LC44Mjg3MywxLjA3NDY5LC43NCwxLjA5Mzc3LDEsMSwuOTM4LC44NDg2OSwxLjA2MjI2LDEsMSwuODQ4NjksLjgzNzA0LC44NDg2OSwuODE0NDEsLjg1NTg4LDEuMDg5MjcsLjkxMTE1LC45OTc5MywxLDEsLjkxMTE1LC45OTc5MywuOTE4ODcsLjkwOTkxLC45OTc5MywuODg1OCwuOTg3MTQsLjg4NTgsLjk4NzE0LC44ODU4LC45ODcxNCwuODk0LC45MTQzNCwuNzQ0OTgsLjk4MTk2LDEsMSwuNzQ0OTgsLjk4MTk2LC43MzkxNCwuNzkyLC43MzkxNCwuNzkyLDEsMSwuNzM5MTQsLjc5MiwxLDEsLjgxMzYzLC45MDQsLjgxMzYzLDEuMTkxMzcsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NjMzLDEuMDE5MTUsLjgxMTEsLjk0MiwuODExMSwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwxLC45MjI0MSwuOTE3NTUsLjg2NjY3LC43ODgsLjg2OTM2LC44ODU4LC44OTg3NiwxLDEsLjgxMzYzLDEuMTkxMzcsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMzg4LDEuMDM5MDEsLjkyMTM4LC43ODEwNSwuNzE1NCwuODYxNjksLjgwNTEzLC45NDAwNywuODI1MjgsLjk4NjEyLDEuMDYyMjYsLjkxNzU1LC44MTI2LC44MTg4NCwuOTI4MTksLjczNzY0LC45MDUzMSwuOTAyODQsLjg4NTgsLjg2MDIzLC44MTI2LC45MTE3MiwuOTY1MTgsLjkxMTE1LC44MzA4OSwuODg1OCwuODc3OTEsLjc5NzYxLC44OTI5NywuODEzNjMsLjg4MTU3LC44OTk5MiwuODU2MDgsLjgxOTkyLC45NDMwNywuODYwMjMsLjg4MTU3LC45NTMwOCwuOTg2OTksLjk5NzkzLDEuMDYyMjYsLjk1ODE3LC45NTMwOCwuOTczNTgsLjkyOCwuOTgwODgsLjk4Njk5LC45Mjc2MSwuOTk3OTMsLjk2MDE3LDEuMDYyMjYsLjk4NiwuOTQ0LC45NTk3OCwuOTM4LC45NjcwNSwuOTg3MTQsLjgwNDQyLC45ODk3MiwxLC44OTc2MiwxLjA0NTUyLC45NTgxNywuOTkwMDcsLjg3MDY0LC45MTg3OSwuODg4ODgsMS4wNjIyNiwuOTU4MTcsLjk4NzE0LC45NTgxNywuODg4ODgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODExMSwuOTQyLC45MjE5LDEsLjg5OTAzLDEsMSwxLC45MzE3MywuOTMxNzMsLjkzMTczLDEsMS4wNjMwNCwxLjA2MzA0LDEuMDY5MDQsLjg5OTAzLC44OTkwMywuODA1NDksMSwxLjE1NiwxLDEsLjc2NTc1LC43NjU3NSwxLDEsLjcyNDU4LDEsMSwxLDEsLjkyMjQxLDEsMSwxLC42MTksMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA3MjU3LDEsLjc0NzA1LC43MTExOSwxLjAyMDU4LDEuMDI0LDEuMDIxMTksMSwxLDEuMTUzNiwxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1NjM4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHNzPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxycz1bMS43NjczOCwxLDEsLjk5Mjk3LC45ODI0LDEuMDQwMTYsMS4wNjQ5NywxLjAzNDI0LC45NzUyOSwxLjE3NjQ3LDEuMjMyMDMsMS4xMDg1LDEuMTA4NSwxLjE2OTM5LDEuMjEwNywuOTc1NCwxLjIxNDA4LC45NzU0LDEuNTk1NzgsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwuODEzNzgsLjgxMzc4LDEuMjEwNywxLjIxMDcsMS4yMTA3LC43MTcwMywuOTc4NDcsLjk3MzYzLC44ODc3NiwuODY0MSwxLjAyMDk2LC43OTc5NSwuODUxMzIsLjkxNCwxLjA2MDg1LDEuMTQwNiwuODAwNywuODk4NTgsLjgzNjkzLDEuMTQ4ODksMS4wOTM5OCwuOTc0ODksLjkyMDk0LC45NzQ4OSwuOTAzOTksLjg0MDQxLC45NTkyMywxLjAwMTM1LDEsMS4wNjQ2NywuOTgyNDMsLjkwOTk2LC45OTM2MSwxLjEwODUsMS41Njk0MiwxLjEwODUsMS4yMTA3LC43NDYyNywuOTQyODIsLjk2NzUyLDEuMDE1MTksLjg2MzA0LDEuMDEzNTksLjk3Mjc4LDEuMTUxMDMsMS4wMTM1OSwuOTg1NjEsMS4wMjI4NSwxLjAyMjg1LDEuMDA1MjcsMS4wMjI4NSwxLjAzMDIsLjk5MDQxLDEuMDAwOCwxLjAxNTE5LDEuMDEzNTksMS4wMjI1OCwuNzkxMDQsMS4xNjg2MiwuOTkwNDEsLjk3NDU0LDEuMDI1MTEsLjk5Mjk4LC45Njc1MiwuOTU4MDEsLjk0ODU2LDEuMTY1NzksLjk0ODU2LDEuMjEwNywuOTgyNCwxLjAzNDI0LDEuMDM0MjQsMSwxLjAzNDI0LDEuMTY1NzksLjg3MjcsMS4zODcxLDEuMTg2MjIsMS4xMDgxOCwxLjA0NDc4LDEuMjEwNywxLjE4NjIyLC43NTE1NSwuOTQ5OTQsMS4yODgyNiwxLjIxNDA4LDEuMjE0MDgsLjkxMDU2LDEsLjkxNTcyLC45NzU0LC42NDY2MywxLjE4MzI4LDEuMjQ4NjYsMS4wNDQ3OCwxLjE0MTY5LDEuMTU3NDksMS4xNzM4OSwuNzE3MDMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjkzNTA2LC44NjQxLC43OTc5NSwuNzk3OTUsLjc5Nzk1LC43OTc5NSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wMjA5NiwxLjA5Mzk4LC45NzQyNiwuOTc0MjYsLjk3NDI2LC45NzQyNiwuOTc0MjYsMS4yMTA3LC45NzQ4OSwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MDk5NiwuOTIwOTQsMS4wMjc5OCwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTMxMzYsLjg2MzA0LC45NzI3OCwuOTcyNzgsLjk3Mjc4LC45NzI3OCwxLjAyMjg1LDEuMDIyODUsMS4wMjI4NSwxLjAyMjg1LC45NzEyMiwuOTkwNDEsMSwxLDEsMSwxLDEuMjg4MjYsMS4wMDA4LC45OTA0MSwuOTkwNDEsLjk5MDQxLC45OTA0MSwuOTY3NTIsMS4wMTUxOSwuOTY3NTIsLjk3MzYzLC45Njc1MiwuOTczNjMsLjk2NzUyLC45NzM2MywuOTY3NTIsLjg2NDEsLjg2MzA0LC44NjQxLC44NjMwNCwuODY0MSwuODYzMDQsLjg2NDEsLjg2MzA0LDEuMDIwOTYsMS4wMzA1NywxLjAyMDk2LDEuMDM1MTcsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC45MTQsMS4wMTM1OSwuOTE0LDEuMDEzNTksLjkxNCwxLjAxMzU5LDEsMSwxLjA2MDg1LC45ODU2MSwxLjA2MDg1LDEuMDA4NzksMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsLjk3MTM4LDEuMDg2OTIsLjgwMDcsMS4wMjI4NSwxLDEsMS4wMDUyNywuODM2OTMsMS4wMjI4NSwxLDEsLjgzNjkzLC45NDU1LC44MzY5MywuOTA0MTgsLjgzNjkzLDEuMTMwMDUsMS4wOTM5OCwuOTkwNDEsMSwxLDEuMDkzOTgsLjk5MDQxLC45NjY5MiwxLjA5MjUxLC45OTA0MSwuOTc0ODksMS4wMDA4LC45NzQ4OSwxLjAwMDgsLjk3NDg5LDEuMDAwOCwuOTM5OTQsLjk3OTMxLC45MDM5OSwxLjAyMjU4LDEsMSwuOTAzOTksMS4wMjI1OCwuODQwNDEsLjc5MTA0LC44NDA0MSwuNzkxMDQsLjg0MDQxLC43OTEwNCwuODQwNDEsLjc5MTA0LDEsMSwuOTU5MjMsMS4wNzAzNCwuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjA2NDY3LDEuMDI1MTEsLjkwOTk2LC45Njc1MiwuOTA5OTYsLjk5MzYxLC45NTgwMSwuOTkzNjEsLjk1ODAxLC45OTM2MSwuOTU4MDEsMS4wNzczMywxLjAzNDI0LC45NzM2MywuOTY3NTIsLjkzNTA2LC45MzEzNiwuOTc0ODksMS4wMDA4LDEsMSwuOTU5MjMsMS4xNjg2MiwxLjE1MTAzLDEuMTUxMDMsMS4wMTE3MywxLjAzOTU5LC43NTk1MywuODEzNzgsLjc5OTEyLDEuMTUxMDMsMS4yMTk5NCwuOTUxNjEsLjg3ODE1LDEuMDExNDksLjgxNTI1LC43Njc2LC45ODE2NywxLjAxMTM0LDEuMDI1NDYsLjg0MDk3LDEuMDMwODksMS4xODEwMiwuOTczNjMsLjg4Nzc2LC44NTEzNCwuOTc4MjYsLjc5Nzk1LC45OTM2MSwxLjA2MDg1LC45NzQ4OSwxLjE0MDYsLjg5ODU4LDEuMDM4OCwxLjE0ODg5LDEuMDkzOTgsLjg2MDM5LC45NzQ4OSwxLjA1OTUsLjkyMDk0LC45NDc5MywuOTU5MjMsLjkwOTk2LC45OTM0NiwuOTgyNDMsMS4wMjExMiwuOTU0OTMsMS4xNDA2LC45MDk5NiwxLjAzNTc0LDEuMDI1OTcsMS4wMDA4LDEuMTgxMDIsMS4wNjYyOCwxLjAzNTc0LDEuMDE5MiwxLjAxOTMyLDEuMDA4ODYsLjk3NTMxLDEuMDEwNiwxLjAwMDgsMS4xMzE4OSwxLjE4MTAyLDEuMDIyNzcsLjk4NjgzLDEuMDAxNiwuOTk1NjEsMS4wNzIzNywxLjAwMDgsLjkwNDM0LC45OTkyMSwuOTM4MDMsLjg5NjUsMS4yMzA4NSwxLjA2NjI4LDEuMDQ5ODMsLjk2MjY4LDEuMDQ5OSwuOTg0MzksMS4xODEwMiwxLjA2NjI4LDEuMDAwOCwxLjA2NjI4LC45ODQzOSwuNzk3OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wOTQ2NiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTcyNzgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wMjA2NSwxLDEsMSwxLDEsMSwxLjA2NDY3LDEuMDI1MTEsMS4wNjQ2NywxLjAyNTExLDEuMDY0NjcsMS4wMjUxMSwuOTA5OTYsLjk2NzUyLDEsMS4yMTQwOCwuODk5MDMsMSwxLC43NTE1NSwxLjA0Mzk0LDEuMDQzOTQsMS4wNDM5NCwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43MzA0NywuNzMwNDcsMS4yMDY0MiwuOTEyMTEsMS4yNTYzNSwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMTI0NTQsLjkzNTAzLDEuMDM0MjQsMS4xOTY4NywxLjAzNDI0LDEsMSwxLC43NzEsMSwxLDEuMTU3NDksMS4xNTc0OSwxLjE1NzQ5LDEuMTA5NDgsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4xNjg5NywxLC45NjA4NSwuOTAxMzcsMS4yMTA3LDEuMTg0MTYsMS4xMzk3MywuNjk4MjUsLjk3MTYsMi4xMDMzOSwxLjI5MDA0LDEuMjkwMDQsMS4yMTE3MiwxLjI5MDA0LDEuMjkwMDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE4ODc0LDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4wOTE5MywxLjA5MTkzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxucz17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0sZ3M9WzEuNzY3MzgsMSwxLC45ODk0NiwxLjAzOTU5LDEuMDQwMTYsMS4wMjgwOSwxLjAzNiwuOTc2MzksMS4xMDk1MywxLjIzMjAzLDEuMTExNDQsMS4xMTE0NCwxLjE2OTM5LDEuMjEyMzcsLjk3NTQsMS4yMTI2MSwuOTc1NCwxLjU5NzU0LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LC44MTM3OCwuODEzNzgsMS4yMTIzNywxLjIxMjM3LDEuMjEyMzcsLjczNTQxLC45Nzg0NywuOTczNjMsLjg5NzIzLC44Nzg5NywxLjA0MjYsLjc5NDI5LC44NTI5MiwuOTExNDksMS4wNTgxNSwxLjE0MDYsLjc5NjMxLC45MDEyOCwuODM4NTMsMS4wNDM5NiwxLjEwNjE1LC45NzU1MiwuOTQ0MzYsLjk3NTUyLC44ODY0MSwuODA1MjcsLjk2MDgzLDEuMDAxMzUsMSwxLjA2Nzc3LC45ODE3LC45MTE0MiwuOTkzNjEsMS4xMTE0NCwxLjU3MjkzLDEuMTExNDQsMS4yMTIzNywuNzQ2MjcsMS4zMTgxOCwxLjA2NTg1LC45NzA0MiwuODMwNTUsLjk3MDQyLC45MzUwMywxLjEyNjEsLjk3MDQyLC45NzkyMiwxLjE0MjM2LC45NDU1MiwxLjAxMDU0LDEuMTQyMzYsMS4wMjQ3MSwuOTc5MjIsLjk0MTY1LC45NzA0MiwuOTcwNDIsMS4wMjc2LC43ODkyOSwxLjEyNjEsLjk3OTIyLC45NTg3NCwxLjAyMTk3LC45ODUwNywuOTY3NTIsLjk3MTY4LC45NTEwNywxLjE2NTc5LC45NTEwNywxLjIxMjM3LDEuMDM5NTksMS4wMzYsMS4wMzYsMSwxLjAzNiwxLjE2NTc5LC44NzM1NywxLjMxODE4LDEuMTg3NTQsMS4yNjc4MSwxLjA1MzU2LDEuMjEyMzcsMS4xODYyMiwuNzk0ODcsLjk0OTk0LDEuMjkwMDQsMS4yNDA0NywxLjI0MDQ3LDEuMzE4MTgsMSwuOTE0ODQsLjk3NTQsMS4zMTgxOCwxLjEzNDksMS4yNDg2NiwxLjA1MzU2LDEuMTM5MzQsMS4xNTU3NCwxLjE3Mzg5LC43MzU0MSwuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTQzODUsLjg3ODk3LC43OTQyOSwuNzk0MjksLjc5NDI5LC43OTQyOSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wNDI2LDEuMTA2MTUsLjk3NTUyLC45NzU1MiwuOTc1NTIsLjk3NTUyLC45NzU1MiwxLjIxMjM3LC45NzU1MiwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MTE0MiwuOTQ0MzYsLjk4NzIxLDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LC45NjcwNSwuODMwNTUsLjkzNTAzLC45MzUwMywuOTM1MDMsLjkzNTAzLDEuMTQyMzYsMS4xNDIzNiwxLjE0MjM2LDEuMTQyMzYsLjkzMTI1LC45NzkyMiwuOTQxNjUsLjk0MTY1LC45NDE2NSwuOTQxNjUsLjk0MTY1LDEuMjkwMDQsLjk0MTY1LC45NzkyMiwuOTc5MjIsLjk3OTIyLC45NzkyMiwuOTY3NTIsLjk3MDQyLC45Njc1MiwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuODc4OTcsLjgzMDU1LC44Nzg5NywuODMwNTUsLjg3ODk3LC44MzA1NSwuODc4OTcsLjgzMDU1LDEuMDQyNiwxLjAwMzMsMS4wNDI2LC45NzA0MiwuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjkxMTQ5LC45NzA0MiwuOTExNDksLjk3MDQyLC45MTE0OSwuOTcwNDIsMSwxLDEuMDU4MTUsLjk3OTIyLDEuMDU4MTUsLjk3OTIyLDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LC45NzQ0MSwxLjA0MzAyLC43OTYzMSwxLjAxNTgyLDEsMSwxLjAxMDU0LC44Mzg1MywxLjE0MjM2LDEsMSwuODM4NTMsMS4wOTEyNSwuODM4NTMsLjkwNDE4LC44Mzg1MywxLjE5NTA4LDEuMTA2MTUsLjk3OTIyLDEsMSwxLjEwNjE1LC45NzkyMiwxLjAxMDM0LDEuMTA0NjYsLjk3OTIyLC45NzU1MiwuOTQxNjUsLjk3NTUyLC45NDE2NSwuOTc1NTIsLjk0MTY1LC45MTYwMiwuOTE5ODEsLjg4NjQxLDEuMDI3NiwxLDEsLjg4NjQxLDEuMDI3NiwuODA1MjcsLjc4OTI5LC44MDUyNywuNzg5MjksLjgwNTI3LC43ODkyOSwuODA1MjcsLjc4OTI5LDEsMSwuOTYwODMsMS4wNTQwMywuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjA2Nzc3LDEuMDIxOTcsLjkxMTQyLC45Njc1MiwuOTExNDIsLjk5MzYxLC45NzE2OCwuOTkzNjEsLjk3MTY4LC45OTM2MSwuOTcxNjgsMS4yMzE5OSwxLjAzNiwuOTczNjMsMS4wNjU4NSwuOTQzODUsLjk2NzA1LC45NzU1MiwuOTQxNjUsMSwxLC45NjA4MywxLjEyNjEsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsLjk1MTYxLDEuMjcxMjYsMS4wMDgxMSwuODMyODQsLjc3NzAyLC45OTEzNywuOTUyNTMsMS4wMzQ3LC44NjE0MiwxLjA3MjA1LDEuMTQyMzYsLjk3MzYzLC44OTcyMywuODY4NjksMS4wOTgxOCwuNzk0MjksLjk5MzYxLDEuMDU4MTUsLjk3NTUyLDEuMTQwNiwuOTAxMjgsMS4wNjY2MiwxLjA0Mzk2LDEuMTA2MTUsLjg0OTE4LC45NzU1MiwxLjA0Njk0LC45NDQzNiwuOTgwMTUsLjk2MDgzLC45MTE0MiwxLjAwMzU2LC45ODE3LDEuMDE5NDUsLjk4OTk5LDEuMTQwNiwuOTExNDIsMS4wNDk2MSwuOTg5OCwxLjAwNjM5LDEuMTQyMzYsMS4wNzUxNCwxLjA0OTYxLC45OTYwNywxLjAyODk3LDEuMDA4LC45ODk4LC45NTEzNCwxLjAwNjM5LDEuMTExMjEsMS4xNDIzNiwxLjAwNTE4LC45Nzk4MSwxLjAyMTg2LDEsMS4wODU3OCwuOTQxNjUsLjk5MzE0LC45ODM4NywuOTMwMjgsLjkzMzc3LDEuMzUxMjUsMS4wNzUxNCwxLjEwNjg3LC45MzQ5MSwxLjA0MjMyLDEuMDAzNTEsMS4xNDIzNiwxLjA3NTE0LC45NDE2NSwxLjA3NTE0LDEuMDAzNTEsLjc5NDI5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDkwOTcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkzNTAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NjYwOSwxLDEsMSwxLDEsMSwxLjA2Nzc3LDEuMDIxOTcsMS4wNjc3NywxLjAyMTk3LDEuMDY3NzcsMS4wMjE5NywuOTExNDIsLjk2NzUyLDEsMS4yMTI2MSwuODk5MDMsMSwxLC43NTE1NSwxLjA0NzQ1LDEuMDQ3NDUsMS4wNDc0NSwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43Mjk1OSwuNzI5NTksMS4yMDUwMiwuOTE0MDYsMS4yNjUxNCwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMDkxMjUsLjkzMzI3LDEuMDMzMzYsMS4xNjU0MSwxLjAzNiwxLDEsMSwuNzcxLDEsMSwxLjE1NTc0LDEuMTU1NzQsMS4xNTU3NCwxLjE1NTc0LC44NjM2NCwuOTQ0MzQsLjg2Mjc5LC45NDQzNCwuODYyMjQsMSwxLDEuMTY3OTgsMSwuOTYwODUsLjkwMDY4LDEuMjEyMzcsMS4xODQxNiwxLjEzOTA0LC42OTgyNSwuOTcxNiwyLjEwMzM5LDEuMjkwMDQsMS4yOTAwNCwxLjIxMzM5LDEuMjkwMDQsMS4yOTAwNCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTg3NzUsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEzMjY5LDEuMTMyNjksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLG9zPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxJcz1bMS43NjczOCwxLDEsLjk4OTQ2LDEuMTQ3NjMsMS4wNTM2NSwxLjA2MjM0LC45NjkyNywuOTI1ODYsMS4xNTM3MywxLjE4NDE0LC45MTM0OSwuOTEzNDksMS4wNzQwMywxLjE3MzA4LC43ODM4MywxLjIwMDg4LC43ODM4MywxLjQyNTMxLC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuNzgzODMsLjc4MzgzLDEuMTczMDgsMS4xNzMwOCwxLjE3MzA4LC43NzM0OSwuOTQ1NjUsLjk0NzI5LC44NTk0NCwuODg1MDYsLjk4NTgsLjc0ODE3LC44MDAxNiwuODg0NDksLjk4MDM5LC45NTc4MiwuNjkyMzgsLjg5ODk4LC44MzIzMSwuOTgxODMsMS4wMzk4OSwuOTY5MjQsLjg2MjM3LC45NjkyNCwuODA1OTUsLjc0NTI0LC44NjA5MSwuOTU0MDIsLjk0MTQzLC45ODQ0OCwuODg1OCwuODMwODksLjkzMjg1LDEuMDk0OSwxLjM5MDE2LDEuMDk0OSwxLjQ1OTk0LC43NDYyNywxLjA0ODM5LC45NzQ1NCwuOTc0NTQsLjg3MjA3LC45NzQ1NCwuODc1MzMsMS4wNjE1MSwuOTc0NTQsMS4wMDE3NiwxLjE2NDg0LDEuMDgxMzIsLjk4MDQ3LDEuMTY0ODQsMS4wMjk4OSwxLjAxMDU0LC45NjIyNSwuOTc0NTQsLjk3NDU0LDEuMDY1OTgsLjc5MDA0LDEuMTYzNDQsMS4wMDM1MSwuOTQ2MjksLjk5NzMsLjkxMDE2LC45Njc3NywuOTA0MywuOTEwODIsLjkyNDgxLC45MTA4MiwxLjE3MzA4LC45NTc0OCwuOTY5MjcsLjk2OTI3LDEsLjk2OTI3LC45MjQ4MSwuODA1OTcsMS4wNDgzOSwxLjIzMzkzLDEuMTc4MSwuOTI0NSwxLjE3MzA4LDEuMjA4MDgsLjYzMjE4LC45NDI2MSwxLjI0ODIyLDEuMDk5NzEsMS4wOTk3MSwxLjA0ODM5LDEsLjg1MjczLC43ODAzMiwxLjA0ODM5LDEuMDk5NzEsMS4yMjMyNiwuOTI0NSwxLjA5ODM2LDEuMTM1MjUsMS4xNTIyMiwuNzA0MjQsLjk0NzI5LC45NDcyOSwuOTQ3MjksLjk0NzI5LC45NDcyOSwuOTQ3MjksLjg1NDk4LC44ODUwNiwuNzQ4MTcsLjc0ODE3LC43NDgxNywuNzQ4MTcsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45ODU4LDEuMDM5ODksLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwxLjE3MzA4LC45NjkyNCwuOTU0MDIsLjk1NDAyLC45NTQwMiwuOTU0MDIsLjgzMDg5LC44NjIzNywuODg0MDksLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjkyOTE2LC44NzIwNywuODc1MzMsLjg3NTMzLC44NzUzMywuODc1MzMsLjkzMTQ2LC45MzE0NiwuOTMxNDYsLjkzMTQ2LC45Mzg1NCwxLjAxMDU0LC45NjIyNSwuOTYyMjUsLjk2MjI1LC45NjIyNSwuOTYyMjUsMS4yNDgyMiwuODc2MSwxLjAwMzUxLDEuMDAzNTEsMS4wMDM1MSwxLjAwMzUxLC45Njc3NywuOTc0NTQsLjk2Nzc3LC45NDcyOSwuOTc0NTQsLjk0NzI5LC45NzQ1NCwuOTQ3MjksLjk3NDU0LC44ODUwNiwuODcyMDcsLjg4NTA2LC44NzIwNywuODg1MDYsLjg3MjA3LC44ODUwNiwuODcyMDcsLjk4NTgsLjk1MzkxLC45ODU4LC45NzQ1NCwuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjg4NDQ5LC45NzQ1NCwuODg0NDksLjk3NDU0LC44ODQ0OSwuOTc0NTQsMSwxLC45ODAzOSwxLjAwMTc2LC45ODAzOSwxLjAwMTc2LC45NTc4MiwuOTMxNDYsLjk1NzgyLC45MzE0NiwuOTU3ODIsLjkzMTQ2LC45NTc4MiwxLjE2NDg0LC45NTc4MiwuOTMxNDYsLjg0NDIxLDEuMTI3NjEsLjY5MjM4LDEuMDgxMzIsMSwxLC45ODA0NywuODMyMzEsMS4xNjQ4NCwxLDEsLjg0NzIzLDEuMDQ4NjEsLjg0NzIzLC43ODc1NSwuODMyMzEsMS4yMzczNiwxLjAzOTg5LDEuMDEwNTQsMSwxLDEuMDM5ODksMS4wMTA1NCwuOTg1NywxLjAzODQ5LDEuMDEwNTQsLjk2OTI0LC45NjIyNSwuOTY5MjQsLjk2MjI1LC45NjkyNCwuOTYyMjUsLjkyMzgzLC45MDE3MSwuODA1OTUsMS4wNjU5OCwxLDEsLjgwNTk1LDEuMDY1OTgsLjc0NTI0LC43OTAwNCwuNzQ1MjQsLjc5MDA0LC43NDUyNCwuNzkwMDQsLjc0NTI0LC43OTAwNCwxLDEsLjg2MDkxLDEuMDI3NTksLjg1NzcxLDEuMTYzNDQsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk4NDQ4LC45OTczLC44MzA4OSwuOTY3NzcsLjgzMDg5LC45MzI4NSwuOTA0MywuOTMyODUsLjkwNDMsLjkzMjg1LC45MDQzLDEuMzE4NjgsLjk2OTI3LC45NDcyOSwuOTc0NTQsLjg1NDk4LC45MjkxNiwuOTY5MjQsLjg3NjEsMSwxLC44NjA5MSwxLjE2MzQ0LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LC44MTk2NSwuODE5NjUsLjk0NzI5LC43ODAzMiwuNzEwMjIsLjkwODgzLC44NDE3MSwuOTk4NzcsLjc3NTk2LDEuMDU3MzQsMS4yLC45NDcyOSwuODU5NDQsLjgyNzkxLC45NjA3LC43NDgxNywuOTMyODUsLjk4MDM5LC45NjkyNCwuOTU3ODIsLjg5ODk4LC45ODMxNiwuOTgxODMsMS4wMzk4OSwuNzg2MTQsLjk2OTI0LC45NzY0MiwuODYyMzcsLjg2MDc1LC44NjA5MSwuODMwODksLjkwMDgyLC44ODU4LC45NzI5NiwxLjAxMjg0LC45NTc4MiwuODMwODksMS4wOTc2LDEuMDQsMS4wMzM0MiwxLjIsMS4wNjc1LDEuMDk3NiwuOTgyMDUsMS4wMzgwOSwxLjA1MDk3LDEuMDQsLjk1MzY0LDEuMDMzNDIsMS4wNTQwMSwxLjIsMS4wMjE0OCwxLjAxMTksMS4wNDcyNCwxLjAxMjcsMS4wMjczMiwuOTYyMjUsLjg5NjUsLjk3NzgzLC45MzU3NCwuOTQ4MTgsMS4zMDY3OSwxLjA2NzUsMS4xMTgyNiwuOTk4MjEsMS4wNTU3LDEuMDMyNiwxLjIsMS4wNjc1LC45NjIyNSwxLjA2NzUsMS4wMzI2LC43NDgxNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzU0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NzUzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTg3MDUsMSwxLDEsMSwxLDEsLjk4NDQ4LC45OTczLC45ODQ0OCwuOTk3MywuOTg0NDgsLjk5NzMsLjgzMDg5LC45Njc3NywxLDEuMjAwODgsLjg5OTAzLDEsMSwuNzUxNTUsLjk0OTQ1LC45NDk0NSwuOTQ5NDUsLjk0OTQ1LDEuMTIzMTcsMS4xMjMxNywxLjEyMzE3LC42NzYwMywuNjc2MDMsMS4xNTYyMSwuNzM1ODQsMS4yMTE5MSwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3NzA5LC45NjkyNywxLjAxNDczLC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMDk4MzYsMS4wOTgzNiwxLjA5ODM2LDEuMDE1MjIsLjg2MzIxLC45NDQzNCwuODY0OSwuOTQ0MzQsLjg2MTgyLDEsMSwxLjA4MywxLC45MTU3OCwuODY0MzgsMS4xNzMwOCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2NzkxLDEuMjQ4MjIsMS4yNDgyMiwxLjE3MzA4LDEuMjQ4MjIsMS4yNDgyMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTc5ODQsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEwNzQyLDEuMTA3NDIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLGNzPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxDcz1bMS43NjczOCwxLDEsLjk4NTk0LDEuMDIyODUsMS4xMDQ1NCwxLjA2MjM0LC45NjkyNywuOTIwMzcsMS4xOTk4NSwxLjIwNDYsLjkwNjE2LC45MDYxNiwxLjA3MTUyLDEuMTcxNCwuNzgwMzIsMS4yMDA4OCwuNzgwMzIsMS40MDI0NiwuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjc4MDMyLC43ODAzMiwxLjE3MTQsMS4xNzE0LDEuMTcxNCwuODA1OTcsLjk0MDg0LC45NjcwNiwuODU5NDQsLjg1NzM0LC45NzA5MywuNzU4NDIsLjc5OTM2LC44ODE5OCwuOTgzMSwuOTU3ODIsLjcxMzg3LC44Njk2OSwuODQ2MzYsMS4wNzc5NiwxLjAzNTg0LC45NjkyNCwuODM5NjgsLjk2OTI0LC44MjgyNiwuNzk2NDksLjg1NzcxLC45NTEzMiwuOTMxMTksLjk4OTY1LC44ODQzMywuODI4NywuOTMzNjUsMS4wODYxMiwxLjM2MzgsMS4wODYxMiwxLjQ1Nzg2LC43NDYyNywuODA0OTksLjkxNDg0LDEuMDU3MDcsLjkyMzgzLDEuMDU4ODIsLjk0MDMsMS4xMjY1NCwxLjA1ODgyLDEuMDE3NTYsMS4wOTAxMSwxLjA5MDExLC45OTQxNCwxLjA5MDExLDEuMDM0LDEuMDE3NTYsMS4wNTM1NiwxLjA1NzA3LDEuMDU4ODIsMS4wNDM5OSwuODQ4NjMsMS4yMTk2OCwxLjAxNzU2LC45NTgwMSwxLjAwMDY4LC45MTc5NywuOTY3NzcsLjkwNDMsLjkwMzUxLC45MjEwNSwuOTAzNTEsMS4xNzE0LC44NTMzNywuOTY5MjcsLjk2OTI3LC45OTkxMiwuOTY5MjcsLjkyMTA1LC44MDU5NywxLjI0MzQsMS4yMDgwOCwxLjA1OTM3LC45MDk1NywxLjE3MTQsMS4yMDgwOCwuNzUxNTUsLjk0MjYxLDEuMjQ2NDQsMS4wOTk3MSwxLjA5OTcxLC44NDc1MSwxLC44NTI3MywuNzgwMzIsLjYxNTg0LDEuMDU0MjUsMS4xNzkxNCwuOTA5NTcsMS4wODY2NSwxLjExNTkzLDEuMTQxNjksLjczMzgxLC45NjcwNiwuOTY3MDYsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjk2NzA2LC44NjAzNSwuODU3MzQsLjc1ODQyLC43NTg0MiwuNzU4NDIsLjc1ODQyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTcwOTMsMS4wMzU4NCwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LDEuMTcxNCwuOTY5MjQsLjk1MTMyLC45NTEzMiwuOTUxMzIsLjk1MTMyLC44Mjg3LC44Mzk2OCwuODkwNDksLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkzNTc1LC45MjM4MywuOTQwMywuOTQwMywuOTQwMywuOTQwMywuODcxNywuODcxNywuODcxNywuODcxNywxLjAwNTI3LDEuMDE3NTYsMS4wNTM1NiwxLjA1MzU2LDEuMDUzNTYsMS4wNTM1NiwxLjA1MzU2LDEuMjQ2NDQsLjk1OTIzLDEuMDE3NTYsMS4wMTc1NiwxLjAxNzU2LDEuMDE3NTYsLjk2Nzc3LDEuMDU3MDcsLjk2Nzc3LC45NjcwNiwuOTE0ODQsLjk2NzA2LC45MTQ4NCwuOTY3MDYsLjkxNDg0LC44NTczNCwuOTIzODMsLjg1NzM0LC45MjM4MywuODU3MzQsLjkyMzgzLC44NTczNCwuOTIzODMsLjk3MDkzLDEuMDk2OSwuOTcwOTMsMS4wNTg4MiwuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLDEsMSwuOTgzMSwxLjAxNzU2LC45ODMxLDEuMDE3NTYsLjk1NzgyLC44NzE3LC45NTc4MiwuODcxNywuOTU3ODIsLjg3MTcsLjk1NzgyLDEuMDkwMTEsLjk1NzgyLC44NzE3LC44NDc4NCwxLjExNTUxLC43MTM4NywxLjA5MDExLDEsMSwuOTk0MTQsLjg0NjM2LDEuMDkwMTEsMSwxLC44NDYzNiwxLjA1MzYsLjg0NjM2LC45NDI5OCwuODQ2MzYsMS4yMzI5NywxLjAzNTg0LDEuMDE3NTYsMSwxLDEuMDM1ODQsMS4wMTc1NiwxLjAwMzIzLDEuMDM0NDQsMS4wMTc1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTMwNjYsLjk4MjkzLC44MjgyNiwxLjA0Mzk5LDEsMSwuODI4MjYsMS4wNDM5OSwuNzk2NDksLjg0ODYzLC43OTY0OSwuODQ4NjMsLjc5NjQ5LC44NDg2MywuNzk2NDksLjg0ODYzLDEsMSwuODU3NzEsMS4xNzMxOCwuODU3NzEsMS4yMTk2OCwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTg5NjUsMS4wMDA2OCwuODI4NywuOTY3NzcsLjgyODcsLjkzMzY1LC45MDQzLC45MzM2NSwuOTA0MywuOTMzNjUsLjkwNDMsMS4wODU3MSwuOTY5MjcsLjk2NzA2LC45MTQ4NCwuODYwMzUsLjkzNTc1LC45NjkyNCwuOTU5MjMsMSwxLC44NTc3MSwxLjIxOTY4LDEuMTE0MzcsMS4xMTQzNywuOTMxMDksLjkxMjAyLC42MDQxMSwuODQxNjQsLjU1NTcyLDEuMDExNzMsLjk3MzYxLC44MTgxOCwuODE4MTgsLjk2NjM1LC43ODAzMiwuNzI3MjcsLjkyMzY2LC45ODYwMSwxLjAzNDA1LC43Nzk2OCwxLjA5Nzk5LDEuMiwuOTY3MDYsLjg1OTQ0LC44NTYzOCwuOTY0OTEsLjc1ODQyLC45MzM2NSwuOTgzMSwuOTY5MjQsLjk1NzgyLC44Njk2OSwuOTQxNTIsMS4wNzc5NiwxLjAzNTg0LC43ODQzNywuOTY5MjQsLjk4NzE1LC44Mzk2OCwuODM0OTEsLjg1NzcxLC44Mjg3LC45NDQ5MiwuODg0MzMsLjkyODcsMS4wMDk4LC45NTc4MiwuODI4NywxLjA2MjUsLjk4MjQ4LDEuMDM0MjQsMS4yLDEuMDEwNzEsMS4wNjI1LC45NTI0NiwxLjAzODA5LDEuMDQ5MTIsLjk4MjQ4LDEuMDAyMjEsMS4wMzQyNCwxLjA1NDQzLDEuMiwxLjA0Nzg1LC45OTYwOSwxLjAwMTY5LDEuMDUxNzYsLjk5MzQ2LDEuMDUzNTYsLjkwODcsMS4wMzAwNCwuOTU1NDIsLjkzMTE3LDEuMjMzNjIsMS4wMTA3MSwxLjA3ODMxLDEuMDI1MTIsMS4wNTIwNSwxLjAzNTAyLDEuMiwxLjAxMDcxLDEuMDUzNTYsMS4wMTA3MSwxLjAzNTAyLC43NTg0MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzE5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NDAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQwMjEsMSwxLDEsMSwxLDEsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjgyODcsLjk2Nzc3LDEsMS4yMDA4OCwuODk5MDMsMSwxLC43NTE1NSwxLjAzMDc3LDEuMDMwNzcsMS4wMzA3NywxLjAzMDc3LDEuMTMxOTYsMS4xMzE5NiwxLjEzMTk2LC42NzQyOCwuNjc0MjgsMS4xNjAzOSwuNzMyOTEsMS4yMDk5NiwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3Nzk2LC45NjkyNywxLjAxNTE4LC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMTA1MzksMS4xMDUzOSwxLjExMzU4LDEuMDY5NjcsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4wODMsMSwuOTE1NzgsLjg2NTA3LDEuMTcxNCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2OTcsMS4yNDgyMiwxLjI0ODIyLDEuMTcyMzgsMS4yNDgyMiwxLjI0ODIyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xODA4MywxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMTA5MzgsMS4xMDkzOCwxLDEsMSwxLjA1NDI1LDEuMDk5NzEsMS4wOTk3MSwxLjA5OTcxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0saHM9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LEJzPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiTXlyaWFkUHJvLVJlZ3VsYXIiXT1lWyJQZGZKUy1GYWxsYmFjay1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6YXMsYmFzZVdpZHRoczpWYSxiYXNlTWFwcGluZzp6YSxtZXRyaWNzOnNzfTtlWyJNeXJpYWRQcm8tQm9sZCJdPWVbIlBkZkpTLUZhbGxiYWNrLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpfYSxiYXNlV2lkdGhzOk9hLGJhc2VNYXBwaW5nOlBhLG1ldHJpY3M6JGF9O2VbIk15cmlhZFByby1JdCJdPWVbIk15cmlhZFByby1JdGFsaWMiXT1lWyJQZGZKUy1GYWxsYmFjay1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOnRzLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczppc307ZVsiTXlyaWFkUHJvLUJvbGRJdCJdPWVbIk15cmlhZFByby1Cb2xkSXRhbGljIl09ZVsiUGRmSlMtRmFsbGJhY2stQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOkFzLGJhc2VXaWR0aHM6V2EsYmFzZU1hcHBpbmc6amEsbWV0cmljczplc307ZS5BcmlhbE1UPWUuQXJpYWw9ZVsiQXJpYWwtUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphfTtlWyJBcmlhbC1Cb2xkTVQiXT1lWyJBcmlhbC1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGF9O2VbIkFyaWFsLUl0YWxpY01UIl09ZVsiQXJpYWwtSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsYmFzZVdpZHRoczpYYSxiYXNlTWFwcGluZzpaYX07ZVsiQXJpYWwtQm9sZEl0YWxpY01UIl09ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixiYXNlV2lkdGhzOldhLGJhc2VNYXBwaW5nOmphfTtlWyJDYWxpYnJpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpVYSxiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphLG1ldHJpY3M6TWF9O2VbIkNhbGlicmktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOlNhLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGEsbWV0cmljczprYX07ZVsiQ2FsaWJyaS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOkdhLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczp4YX07ZVsiQ2FsaWJyaS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6UmEsYmFzZVdpZHRoczpXYSxiYXNlTWFwcGluZzpqYSxtZXRyaWNzOk5hfTtlWyJTZWdvZXVpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpDcyxiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphLG1ldHJpY3M6aHN9O2VbIlNlZ29ldWktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOnJzLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGEsbWV0cmljczpuc307ZVsiU2Vnb2V1aS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOklzLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczpjc307ZVsiU2Vnb2V1aS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6Z3MsYmFzZVdpZHRoczpXYSxiYXNlTWFwcGluZzpqYSxtZXRyaWNzOm9zfTtlWyJIZWx2ZXRpY2EtUmVndWxhciJdPWUuSGVsdmV0aWNhPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOlRhLGJhc2VXaWR0aHM6VmEsYmFzZU1hcHBpbmc6emEsbWV0cmljczpxYX07ZVsiSGVsdmV0aWNhLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpMYSxiYXNlV2lkdGhzOk9hLGJhc2VNYXBwaW5nOlBhLG1ldHJpY3M6SGF9O2VbIkhlbHZldGljYS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOnZhLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczpLYX07ZVsiSGVsdmV0aWNhLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczpKYSxiYXNlV2lkdGhzOldhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6WWF9fSkpO2Z1bmN0aW9uIGdldFhmYUZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIEJzKClbdF19ZnVuY3Rpb24gZ2V0WGZhRm9udERpY3QoZSl7Y29uc3QgdD1mdW5jdGlvbiBnZXRYZmFGb250V2lkdGhzKGUpe2NvbnN0IHQ9Z2V0WGZhRm9udE5hbWUoZSk7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3R7YmFzZVdpZHRoczppLGJhc2VNYXBwaW5nOmEsZmFjdG9yczpzfT10LHI9cz9pLm1hcCgoKGUsdCk9PmUqc1t0XSkpOmk7bGV0IG4sZz0tMjtjb25zdCBvPVtdO2Zvcihjb25zdFtlLHRdb2YgYS5tYXAoKChlLHQpPT5bZSx0XSkpLnNvcnQoKChbZV0sW3RdKT0+ZS10KSkpaWYoLTEhPT1lKWlmKGU9PT1nKzEpe24ucHVzaChyW3RdKTtnKz0xfWVsc2V7Zz1lO249W3JbdF1dO28ucHVzaChlLG4pfXJldHVybiBvfShlKSxpPW5ldyBEaWN0KG51bGwpO2kuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoZSkpO2kuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtpLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkNJREZvbnRUeXBlMiIpKTtpLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO2kuc2V0KCJDSURUb0dJRE1hcCIsTmFtZS5nZXQoIklkZW50aXR5IikpO2kuc2V0KCJXIix0KTtpLnNldCgiRmlyc3RDaGFyIix0WzBdKTtpLnNldCgiTGFzdENoYXIiLHQuYXQoLTIpK3QuYXQoLTEpLmxlbmd0aC0xKTtjb25zdCBhPW5ldyBEaWN0KG51bGwpO2kuc2V0KCJGb250RGVzY3JpcHRvciIsYSk7Y29uc3Qgcz1uZXcgRGljdChudWxsKTtzLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO3Muc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7cy5zZXQoIlN1cHBsZW1lbnQiLDApO2kuc2V0KCJDSURTeXN0ZW1JbmZvIixzKTtyZXR1cm4gaX1jbGFzcyBQb3N0U2NyaXB0UGFyc2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMubGV4ZXI9ZTt0aGlzLm9wZXJhdG9ycz1bXTt0aGlzLnRva2VuPW51bGw7dGhpcy5wcmV2PW51bGx9bmV4dFRva2VuKCl7dGhpcy5wcmV2PXRoaXMudG9rZW47dGhpcy50b2tlbj10aGlzLmxleGVyLmdldFRva2VuKCl9YWNjZXB0KGUpe2lmKHRoaXMudG9rZW4udHlwZT09PWUpe3RoaXMubmV4dFRva2VuKCk7cmV0dXJuITB9cmV0dXJuITF9ZXhwZWN0KGUpe2lmKHRoaXMuYWNjZXB0KGUpKXJldHVybiEwO3Rocm93IG5ldyBGb3JtYXRFcnJvcihgVW5leHBlY3RlZCBzeW1ib2w6IGZvdW5kICR7dGhpcy50b2tlbi50eXBlfSBleHBlY3RlZCAke2V9LmApfXBhcnNlKCl7dGhpcy5uZXh0VG9rZW4oKTt0aGlzLmV4cGVjdChscy5MQlJBQ0UpO3RoaXMucGFyc2VCbG9jaygpO3RoaXMuZXhwZWN0KGxzLlJCUkFDRSk7cmV0dXJuIHRoaXMub3BlcmF0b3JzfXBhcnNlQmxvY2soKXtmb3IoOzspaWYodGhpcy5hY2NlcHQobHMuTlVNQkVSKSl0aGlzLm9wZXJhdG9ycy5wdXNoKHRoaXMucHJldi52YWx1ZSk7ZWxzZSBpZih0aGlzLmFjY2VwdChscy5PUEVSQVRPUikpdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpO2Vsc2V7aWYoIXRoaXMuYWNjZXB0KGxzLkxCUkFDRSkpcmV0dXJuO3RoaXMucGFyc2VDb25kaXRpb24oKX19cGFyc2VDb25kaXRpb24oKXtjb25zdCBlPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QobHMuUkJSQUNFKTtpZih0aGlzLmFjY2VwdChscy5JRikpe3RoaXMub3BlcmF0b3JzW2VdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1tlKzFdPSJqeiJ9ZWxzZXtpZighdGhpcy5hY2NlcHQobHMuTEJSQUNFKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBTIEZ1bmN0aW9uOiBlcnJvciBwYXJzaW5nIGNvbmRpdGlvbmFsLiIpO3tjb25zdCB0PXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7Y29uc3QgaT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QobHMuUkJSQUNFKTt0aGlzLmV4cGVjdChscy5JRkVMU0UpO3RoaXMub3BlcmF0b3JzW3RdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1t0KzFdPSJqIjt0aGlzLm9wZXJhdG9yc1tlXT1pO3RoaXMub3BlcmF0b3JzW2UrMV09Imp6In19fX1jb25zdCBscz17TEJSQUNFOjAsUkJSQUNFOjEsTlVNQkVSOjIsT1BFUkFUT1I6MyxJRjo0LElGRUxTRTo1fTtjbGFzcyBQb3N0U2NyaXB0VG9rZW57c3RhdGljIGdldCBvcENhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcENhY2hlIixPYmplY3QuY3JlYXRlKG51bGwpKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudHlwZT1lO3RoaXMudmFsdWU9dH1zdGF0aWMgZ2V0T3BlcmF0b3IoZSl7cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5vcENhY2hlW2VdfHw9bmV3IFBvc3RTY3JpcHRUb2tlbihscy5PUEVSQVRPUixlKX1zdGF0aWMgZ2V0IExCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiTEJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLkxCUkFDRSwieyIpKX1zdGF0aWMgZ2V0IFJCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiUkJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLlJCUkFDRSwifSIpKX1zdGF0aWMgZ2V0IElGKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJJRiIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5JRiwiSUYiKSl9c3RhdGljIGdldCBJRkVMU0UoKXtyZXR1cm4gc2hhZG93KHRoaXMsIklGRUxTRSIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5JRkVMU0UsIklGRUxTRSIpKX19Y2xhc3MgUG9zdFNjcmlwdExleGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfWdldFRva2VuKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYodDwwKXJldHVybiB3dDtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKCFpc1doaXRlU3BhY2UodCkpYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9c3dpdGNoKDB8dCl7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA0NjpyZXR1cm4gbmV3IFBvc3RTY3JpcHRUb2tlbihscy5OVU1CRVIsdGhpcy5nZXROdW1iZXIoKSk7Y2FzZSAxMjM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBQb3N0U2NyaXB0VG9rZW4uTEJSQUNFO2Nhc2UgMTI1OnRoaXMubmV4dENoYXIoKTtyZXR1cm4gUG9zdFNjcmlwdFRva2VuLlJCUkFDRX1jb25zdCBpPXRoaXMuc3RyQnVmO2kubGVuZ3RoPTA7aVswXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2Zvcig7KHQ9dGhpcy5uZXh0Q2hhcigpKT49MCYmKHQ+PTY1JiZ0PD05MHx8dD49OTcmJnQ8PTEyMik7KWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTtjb25zdCBhPWkuam9pbigiIik7c3dpdGNoKGEudG9Mb3dlckNhc2UoKSl7Y2FzZSJpZiI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRjtjYXNlImlmZWxzZSI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRkVMU0U7ZGVmYXVsdDpyZXR1cm4gUG9zdFNjcmlwdFRva2VuLmdldE9wZXJhdG9yKGEpfX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyO2NvbnN0IHQ9dGhpcy5zdHJCdWY7dC5sZW5ndGg9MDt0WzBdPVN0cmluZy5mcm9tQ2hhckNvZGUoZSk7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wJiYoZT49NDgmJmU8PTU3fHw0NT09PWV8fDQ2PT09ZSk7KXQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTtjb25zdCBpPXBhcnNlRmxvYXQodC5qb2luKCIiKSk7aWYoaXNOYU4oaSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGZsb2F0aW5nIHBvaW50IG51bWJlcjogJHtpfWApO3JldHVybiBpfX1jbGFzcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbmx5UmVmcz0hMD09PWU/Lm9ubHlSZWZzO2lmKCF0aGlzLl9vbmx5UmVmcyl7dGhpcy5fbmFtZVJlZk1hcD1uZXcgTWFwO3RoaXMuX2ltYWdlTWFwPW5ldyBNYXB9dGhpcy5faW1hZ2VDYWNoZT1uZXcgUmVmU2V0Q2FjaGV9Z2V0QnlOYW1lKGUpe3RoaXMuX29ubHlSZWZzJiZ1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGBnZXRCeU5hbWVgIG1ldGhvZC4iKTtjb25zdCB0PXRoaXMuX25hbWVSZWZNYXAuZ2V0KGUpO3JldHVybiB0P3RoaXMuZ2V0QnlSZWYodCk6dGhpcy5faW1hZ2VNYXAuZ2V0KGUpfHxudWxsfWdldEJ5UmVmKGUpe3JldHVybiB0aGlzLl9pbWFnZUNhY2hlLmdldChlKXx8bnVsbH1zZXQoZSx0LGkpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHNldGAgY2FsbGVkLiIpfX1jbGFzcyBMb2NhbEltYWdlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZSx0PW51bGwsaSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcignTG9jYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxpKX19Y2xhc3MgTG9jYWxDb2xvclNwYWNlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZT1udWxsLHQ9bnVsbCxpKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJiF0KXRocm93IG5ldyBFcnJvcignTG9jYWxDb2xvclNwYWNlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgIm5hbWUiIGFuZC9vciAicmVmIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47bnVsbCE9PWUmJnRoaXMuX25hbWVSZWZNYXAuc2V0KGUsdCk7dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX1lbHNlIHRoaXMuX2ltYWdlTWFwLmhhcyhlKXx8dGhpcy5faW1hZ2VNYXAuc2V0KGUsaSl9fWNsYXNzIExvY2FsRnVuY3Rpb25DYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3N1cGVyKHtvbmx5UmVmczohMH0pfXNldChlPW51bGwsdCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsRnVuY3Rpb25DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX19Y2xhc3MgTG9jYWxHU3RhdGVDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle3NldChlLHQ9bnVsbCxpKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCdMb2NhbEdTdGF0ZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxpKX19Y2xhc3MgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsaSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdMb2NhbFRpbGluZ1BhdHRlcm5DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX19Y2xhc3MgUmVnaW9uYWxJbWFnZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoe29ubHlSZWZzOiEwfSl9c2V0KGU9bnVsbCx0LGkpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUmVnaW9uYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJyZWYiIGFyZ3VtZW50LicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpfHx0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfX1jbGFzcyBHbG9iYWxJbWFnZUNhY2hle3N0YXRpYyBOVU1fUEFHRVNfVEhSRVNIT0xEPTI7c3RhdGljIE1JTl9JTUFHRVNfVE9fQ0FDSEU9MTA7c3RhdGljIE1BWF9CWVRFX1NJWkU9NWU3OyNEPW5ldyBSZWZTZXQ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZWZDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5faW1hZ2VDYWNoZT1uZXcgUmVmU2V0Q2FjaGV9Z2V0I2IoKXtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ltYWdlQ2FjaGUpZSs9dC5ieXRlU2l6ZTtyZXR1cm4gZX1nZXQjRigpe3JldHVybiEodGhpcy5faW1hZ2VDYWNoZS5zaXplPEdsb2JhbEltYWdlQ2FjaGUuTUlOX0lNQUdFU19UT19DQUNIRSkmJiEodGhpcy4jYjxHbG9iYWxJbWFnZUNhY2hlLk1BWF9CWVRFX1NJWkUpfXNob3VsZENhY2hlKGUsdCl7bGV0IGk9dGhpcy5fcmVmQ2FjaGUuZ2V0KGUpO2lmKCFpKXtpPW5ldyBTZXQ7dGhpcy5fcmVmQ2FjaGUucHV0KGUsaSl9aS5hZGQodCk7cmV0dXJuIShpLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5OVU1fUEFHRVNfVEhSRVNIT0xEKSYmISghdGhpcy5faW1hZ2VDYWNoZS5oYXMoZSkmJnRoaXMuI0YpfWFkZERlY29kZUZhaWxlZChlKXt0aGlzLiNELnB1dChlKX1oYXNEZWNvZGVGYWlsZWQoZSl7cmV0dXJuIHRoaXMuI0QuaGFzKGUpfWFkZEJ5dGVTaXplKGUsdCl7Y29uc3QgaT10aGlzLl9pbWFnZUNhY2hlLmdldChlKTtpJiYoaS5ieXRlU2l6ZXx8KGkuYnl0ZVNpemU9dCkpfWdldERhdGEoZSx0KXtjb25zdCBpPXRoaXMuX3JlZkNhY2hlLmdldChlKTtpZighaSlyZXR1cm4gbnVsbDtpZihpLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5OVU1fUEFHRVNfVEhSRVNIT0xEKXJldHVybiBudWxsO2NvbnN0IGE9dGhpcy5faW1hZ2VDYWNoZS5nZXQoZSk7aWYoIWEpcmV0dXJuIG51bGw7aS5hZGQodCk7cmV0dXJuIGF9c2V0RGF0YShlLHQpe2lmKCF0aGlzLl9yZWZDYWNoZS5oYXMoZSkpdGhyb3cgbmV3IEVycm9yKCdHbG9iYWxJbWFnZUNhY2hlLnNldERhdGEgLSBleHBlY3RlZCAic2hvdWxkQ2FjaGUiIHRvIGhhdmUgYmVlbiBjYWxsZWQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXMoZSl8fCh0aGlzLiNGP3dhcm4oIkdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YSAtIGNhY2hlIGxpbWl0IHJlYWNoZWQuIik6dGhpcy5faW1hZ2VDYWNoZS5wdXQoZSx0KSl9Y2xlYXIoZT0hMSl7aWYoIWUpe3RoaXMuI0QuY2xlYXIoKTt0aGlzLl9yZWZDYWNoZS5jbGVhcigpfXRoaXMuX2ltYWdlQ2FjaGUuY2xlYXIoKX19Y2xhc3MgUERGRnVuY3Rpb25GYWN0b3J5e2NvbnN0cnVjdG9yKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQ9ITB9KXt0aGlzLnhyZWY9ZTt0aGlzLmlzRXZhbFN1cHBvcnRlZD0hMSE9PXR9Y3JlYXRlKGUpe2NvbnN0IHQ9dGhpcy5nZXRDYWNoZWQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPVBERkZ1bmN0aW9uLnBhcnNlKHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5pc0V2YWxTdXBwb3J0ZWQsZm46ZSBpbnN0YW5jZW9mIFJlZj90aGlzLnhyZWYuZmV0Y2goZSk6ZX0pO3RoaXMuX2NhY2hlKGUsaSk7cmV0dXJuIGl9Y3JlYXRlRnJvbUFycmF5KGUpe2NvbnN0IHQ9dGhpcy5nZXRDYWNoZWQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPVBERkZ1bmN0aW9uLnBhcnNlQXJyYXkoe3hyZWY6dGhpcy54cmVmLGlzRXZhbFN1cHBvcnRlZDp0aGlzLmlzRXZhbFN1cHBvcnRlZCxmbk9iajplIGluc3RhbmNlb2YgUmVmP3RoaXMueHJlZi5mZXRjaChlKTplfSk7dGhpcy5fY2FjaGUoZSxpKTtyZXR1cm4gaX1nZXRDYWNoZWQoZSl7bGV0IHQ7ZSBpbnN0YW5jZW9mIFJlZj90PWU6ZSBpbnN0YW5jZW9mIERpY3Q/dD1lLm9iaklkOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYodD1lLmRpY3Q/Lm9iaklkKTtpZih0KXtjb25zdCBlPXRoaXMuX2xvY2FsRnVuY3Rpb25DYWNoZS5nZXRCeVJlZih0KTtpZihlKXJldHVybiBlfXJldHVybiBudWxsfV9jYWNoZShlLHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUERGRnVuY3Rpb25GYWN0b3J5Ll9jYWNoZSAtIGV4cGVjdGVkICJwYXJzZWRGdW5jdGlvbiIgYXJndW1lbnQuJyk7bGV0IGk7ZSBpbnN0YW5jZW9mIFJlZj9pPWU6ZSBpbnN0YW5jZW9mIERpY3Q/aT1lLm9iaklkOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYoaT1lLmRpY3Q/Lm9iaklkKTtpJiZ0aGlzLl9sb2NhbEZ1bmN0aW9uQ2FjaGUuc2V0KG51bGwsaSx0KX1nZXQgX2xvY2FsRnVuY3Rpb25DYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiX2xvY2FsRnVuY3Rpb25DYWNoZSIsbmV3IExvY2FsRnVuY3Rpb25DYWNoZSl9fWZ1bmN0aW9uIHRvTnVtYmVyQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/aXNOdW1iZXJBcnJheShlLG51bGwpP2U6ZS5tYXAoKGU9PitlKSk6bnVsbH1jbGFzcyBQREZGdW5jdGlvbntzdGF0aWMgZ2V0U2FtcGxlQXJyYXkoZSx0LGksYSl7bGV0IHMscixuPTE7Zm9yKHM9MCxyPWUubGVuZ3RoO3M8cjtzKyspbio9ZVtzXTtuKj10O2NvbnN0IGc9bmV3IEFycmF5KG4pO2xldCBvPTAsYz0wO2NvbnN0IEM9MS8oMioqaS0xKSxoPWEuZ2V0Qnl0ZXMoKG4qaSs3KS84KTtsZXQgbD0wO2ZvcihzPTA7czxuO3MrKyl7Zm9yKDtvPGk7KXtjPDw9ODtjfD1oW2wrK107bys9OH1vLT1pO2dbc109KGM+Pm8pKkM7YyY9KDE8PG8pLTF9cmV0dXJuIGd9c3RhdGljIHBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aX0pe2NvbnN0IGE9aS5kaWN0fHxpO3N3aXRjaChhLmdldCgiRnVuY3Rpb25UeXBlIikpe2Nhc2UgMDpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RTYW1wbGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0aGlzLmNvbnN0cnVjdEludGVycG9sYXRlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6YX0pO2Nhc2UgMzpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RTdGljaGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDphfSk7Y2FzZSA0OnJldHVybiB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppLGRpY3Q6YX0pfXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlIG9mIGZ1bmN0aW9uIil9c3RhdGljIHBhcnNlQXJyYXkoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbk9iajppfSl7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIHRoaXMucGFyc2Uoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppfSk7Y29uc3QgYT1bXTtmb3IoY29uc3QgcyBvZiBpKWEucHVzaCh0aGlzLnBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46ZS5mZXRjaElmUmVmKHMpfSkpO3JldHVybiBmdW5jdGlvbihlLHQsaSxzKXtmb3IobGV0IHI9MCxuPWEubGVuZ3RoO3I8bjtyKyspYVtyXShlLHQsaSxzK3IpfX1zdGF0aWMgY29uc3RydWN0U2FtcGxlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmksZGljdDphfSl7ZnVuY3Rpb24gdG9NdWx0aUFycmF5KGUpe2NvbnN0IHQ9ZS5sZW5ndGgsaT1bXTtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8dDtzKz0yKWlbYSsrXT1bZVtzXSxlW3MrMV1dO3JldHVybiBpfWZ1bmN0aW9uIGludGVycG9sYXRlKGUsdCxpLGEscyl7cmV0dXJuIGErKHMtYSkvKGktdCkqKGUtdCl9bGV0IHM9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJEb21haW4iKSkscj10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIlJhbmdlIikpO2lmKCFzfHwhcil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIGRvbWFpbiBvciByYW5nZSIpO2NvbnN0IG49cy5sZW5ndGgvMixnPXIubGVuZ3RoLzI7cz10b011bHRpQXJyYXkocyk7cj10b011bHRpQXJyYXkocik7Y29uc3Qgbz10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIlNpemUiKSksYz1hLmdldCgiQml0c1BlclNhbXBsZSIpLEM9YS5nZXQoIk9yZGVyIil8fDE7MSE9PUMmJmluZm8oIk5vIHN1cHBvcnQgZm9yIGN1YmljIHNwbGluZSBpbnRlcnBvbGF0aW9uOiAiK0MpO2xldCBoPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRW5jb2RlIikpO2lmKGgpaD10b011bHRpQXJyYXkoaCk7ZWxzZXtoPVtdO2ZvcihsZXQgZT0wO2U8bjsrK2UpaC5wdXNoKFswLG9bZV0tMV0pfWxldCBsPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRGVjb2RlIikpO2w9bD90b011bHRpQXJyYXkobCk6cjtjb25zdCBRPXRoaXMuZ2V0U2FtcGxlQXJyYXkobyxnLGMsaSk7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdFNhbXBsZWRGbihlLHQsaSxhKXtjb25zdCBjPTE8PG4sQz1uZXcgRmxvYXQ2NEFycmF5KGMpLEU9bmV3IFVpbnQzMkFycmF5KGMpO2xldCB1LGQ7Zm9yKGQ9MDtkPGM7ZCsrKUNbZF09MTtsZXQgZj1nLHA9MTtmb3IodT0wO3U8bjsrK3Upe2NvbnN0IGk9c1t1XVswXSxhPXNbdV1bMV07bGV0IHI9aW50ZXJwb2xhdGUoTWF0aC5taW4oTWF0aC5tYXgoZVt0K3VdLGkpLGEpLGksYSxoW3VdWzBdLGhbdV1bMV0pO2NvbnN0IG49b1t1XTtyPU1hdGgubWluKE1hdGgubWF4KHIsMCksbi0xKTtjb25zdCBnPXI8bi0xP01hdGguZmxvb3Iocik6ci0xLGw9ZysxLXIsUT1yLWcsbT1nKmYseT1tK2Y7Zm9yKGQ9MDtkPGM7ZCsrKWlmKGQmcCl7Q1tkXSo9UTtFW2RdKz15fWVsc2V7Q1tkXSo9bDtFW2RdKz1tfWYqPW47cDw8PTF9Zm9yKGQ9MDtkPGc7KytkKXtsZXQgZT0wO2Zvcih1PTA7dTxjO3UrKyllKz1RW0VbdV0rZF0qQ1t1XTtlPWludGVycG9sYXRlKGUsMCwxLGxbZF1bMF0sbFtkXVsxXSk7aVthK2RdPU1hdGgubWluKE1hdGgubWF4KGUscltkXVswXSkscltkXVsxXSl9fX1zdGF0aWMgY29uc3RydWN0SW50ZXJwb2xhdGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDppfSl7Y29uc3QgYT10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkMwIikpfHxbMF0scz10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkMxIikpfHxbMV0scj1pLmdldCgiTiIpLG49W107Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7KytlKW4ucHVzaChzW2VdLWFbZV0pO2NvbnN0IGc9bi5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdEludGVycG9sYXRlZEZuKGUsdCxpLHMpe2NvbnN0IG89MT09PXI/ZVt0XTplW3RdKipyO2ZvcihsZXQgZT0wO2U8ZzsrK2UpaVtzK2VdPWFbZV0rbypuW2VdfX1zdGF0aWMgY29uc3RydWN0U3RpY2hlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6aX0pe2NvbnN0IGE9dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJEb21haW4iKSk7aWYoIWEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4iKTtpZigxIT09YS5sZW5ndGgvMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCBkb21haW4gZm9yIHN0aWNoZWQgZnVuY3Rpb24iKTtjb25zdCBzPVtdO2Zvcihjb25zdCBhIG9mIGkuZ2V0KCJGdW5jdGlvbnMiKSlzLnB1c2godGhpcy5wYXJzZSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmUuZmV0Y2hJZlJlZihhKX0pKTtjb25zdCByPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiQm91bmRzIikpLG49dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJFbmNvZGUiKSksZz1uZXcgRmxvYXQzMkFycmF5KDEpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRm4oZSx0LGksbyl7Y29uc3QgYz1mdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSQ2xpcChlLHQsaSl7ZT5pP2U9aTplPHQmJihlPXQpO3JldHVybiBlfShlW3RdLGFbMF0sYVsxXSksQz1yLmxlbmd0aDtsZXQgaDtmb3IoaD0wO2g8QyYmIShjPHJbaF0pOysraCk7bGV0IGw9YVswXTtoPjAmJihsPXJbaC0xXSk7bGV0IFE9YVsxXTtoPHIubGVuZ3RoJiYoUT1yW2hdKTtjb25zdCBFPW5bMipoXSx1PW5bMipoKzFdO2dbMF09bD09PVE/RTpFKyhjLWwpKih1LUUpLyhRLWwpO3NbaF0oZywwLGksbyl9fXN0YXRpYyBjb25zdHJ1Y3RQb3N0U2NyaXB0KHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KXtjb25zdCBzPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRG9tYWluIikpLHI9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJSYW5nZSIpKTtpZighcyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIGRvbWFpbi4iKTtpZighcil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIHJhbmdlLiIpO2NvbnN0IG49bmV3IFBvc3RTY3JpcHRMZXhlcihpKSxnPW5ldyBQb3N0U2NyaXB0UGFyc2VyKG4pLnBhcnNlKCk7aWYodCYmRmVhdHVyZVRlc3QuaXNFdmFsU3VwcG9ydGVkKXtjb25zdCBlPShuZXcgUG9zdFNjcmlwdENvbXBpbGVyKS5jb21waWxlKGcscyxyKTtpZihlKXJldHVybiBuZXcgRnVuY3Rpb24oInNyYyIsInNyY09mZnNldCIsImRlc3QiLCJkZXN0T2Zmc2V0IixlKX1pbmZvKCJVbmFibGUgdG8gY29tcGlsZSBQUyBmdW5jdGlvbiIpO2NvbnN0IG89ci5sZW5ndGg+PjEsYz1zLmxlbmd0aD4+MSxDPW5ldyBQb3N0U2NyaXB0RXZhbHVhdG9yKGcpLGg9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgbD04MTkyO2NvbnN0IFE9bmV3IEZsb2F0MzJBcnJheShjKTtyZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0UG9zdFNjcmlwdEZuKGUsdCxpLGEpe2xldCBzLG4sZz0iIjtjb25zdCBFPVE7Zm9yKHM9MDtzPGM7cysrKXtuPWVbdCtzXTtFW3NdPW47Zys9bisiXyJ9Y29uc3QgdT1oW2ddO2lmKHZvaWQgMCE9PXUpe2kuc2V0KHUsYSk7cmV0dXJufWNvbnN0IGQ9bmV3IEZsb2F0MzJBcnJheShvKSxmPUMuZXhlY3V0ZShFKSxwPWYubGVuZ3RoLW87Zm9yKHM9MDtzPG87cysrKXtuPWZbcCtzXTtsZXQgZT1yWzIqc107aWYobjxlKW49ZTtlbHNle2U9clsyKnMrMV07bj5lJiYobj1lKX1kW3NdPW59aWYobD4wKXtsLS07aFtnXT1kfWkuc2V0KGQsYSl9fX1mdW5jdGlvbiBpc1BERkZ1bmN0aW9uKGUpe2xldCB0O2lmKGUgaW5zdGFuY2VvZiBEaWN0KXQ9ZTtlbHNle2lmKCEoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXJldHVybiExO3Q9ZS5kaWN0fXJldHVybiB0LmhhcygiRnVuY3Rpb25UeXBlIil9Y2xhc3MgUG9zdFNjcmlwdFN0YWNre3N0YXRpYyBNQVhfU1RBQ0tfU0laRT0xMDA7Y29uc3RydWN0b3IoZSl7dGhpcy5zdGFjaz1lP0FycmF5LmZyb20oZSk6W119cHVzaChlKXtpZih0aGlzLnN0YWNrLmxlbmd0aD49UG9zdFNjcmlwdFN0YWNrLk1BWF9TVEFDS19TSVpFKXRocm93IG5ldyBFcnJvcigiUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4iKTt0aGlzLnN0YWNrLnB1c2goZSl9cG9wKCl7aWYodGhpcy5zdGFjay5sZW5ndGg8PTApdGhyb3cgbmV3IEVycm9yKCJQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIHVuZGVyZmxvdy4iKTtyZXR1cm4gdGhpcy5zdGFjay5wb3AoKX1jb3B5KGUpe2lmKHRoaXMuc3RhY2subGVuZ3RoK2U+PVBvc3RTY3JpcHRTdGFjay5NQVhfU1RBQ0tfU0laRSl0aHJvdyBuZXcgRXJyb3IoIlBvc3RTY3JpcHQgZnVuY3Rpb24gc3RhY2sgb3ZlcmZsb3cuIik7Y29uc3QgdD10aGlzLnN0YWNrO2ZvcihsZXQgaT10Lmxlbmd0aC1lLGE9ZS0xO2E+PTA7YS0tLGkrKyl0LnB1c2godFtpXSl9aW5kZXgoZSl7dGhpcy5wdXNoKHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtZS0xXSl9cm9sbChlLHQpe2NvbnN0IGk9dGhpcy5zdGFjayxhPWkubGVuZ3RoLWUscz1pLmxlbmd0aC0xLHI9YSsodC1NYXRoLmZsb29yKHQvZSkqZSk7Zm9yKGxldCBlPWEsdD1zO2U8dDtlKyssdC0tKXtjb25zdCBhPWlbZV07aVtlXT1pW3RdO2lbdF09YX1mb3IobGV0IGU9YSx0PXItMTtlPHQ7ZSsrLHQtLSl7Y29uc3QgYT1pW2VdO2lbZV09aVt0XTtpW3RdPWF9Zm9yKGxldCBlPXIsdD1zO2U8dDtlKyssdC0tKXtjb25zdCBhPWlbZV07aVtlXT1pW3RdO2lbdF09YX19fWNsYXNzIFBvc3RTY3JpcHRFdmFsdWF0b3J7Y29uc3RydWN0b3IoZSl7dGhpcy5vcGVyYXRvcnM9ZX1leGVjdXRlKGUpe2NvbnN0IHQ9bmV3IFBvc3RTY3JpcHRTdGFjayhlKTtsZXQgaT0wO2NvbnN0IGE9dGhpcy5vcGVyYXRvcnMscz1hLmxlbmd0aDtsZXQgcixuLGc7Zm9yKDtpPHM7KXtyPWFbaSsrXTtpZigibnVtYmVyIiE9dHlwZW9mIHIpc3dpdGNoKHIpe2Nhc2UianoiOmc9dC5wb3AoKTtuPXQucG9wKCk7bnx8KGk9Zyk7YnJlYWs7Y2FzZSJqIjpuPXQucG9wKCk7aT1uO2JyZWFrO2Nhc2UiYWJzIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguYWJzKG4pKTticmVhaztjYXNlImFkZCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobitnKTticmVhaztjYXNlImFuZCI6Zz10LnBvcCgpO249dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBnP3QucHVzaChuJiZnKTp0LnB1c2gobiZnKTticmVhaztjYXNlImF0YW4iOmc9dC5wb3AoKTtuPXQucG9wKCk7bj1NYXRoLmF0YW4yKG4sZykvTWF0aC5QSSoxODA7bjwwJiYobis9MzYwKTt0LnB1c2gobik7YnJlYWs7Y2FzZSJiaXRzaGlmdCI6Zz10LnBvcCgpO249dC5wb3AoKTtuPjA/dC5wdXNoKG48PGcpOnQucHVzaChuPj5nKTticmVhaztjYXNlImNlaWxpbmciOm49dC5wb3AoKTt0LnB1c2goTWF0aC5jZWlsKG4pKTticmVhaztjYXNlImNvcHkiOm49dC5wb3AoKTt0LmNvcHkobik7YnJlYWs7Y2FzZSJjb3MiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5jb3MobiUzNjAvMTgwKk1hdGguUEkpKTticmVhaztjYXNlImN2aSI6bj0wfHQucG9wKCk7dC5wdXNoKG4pO2JyZWFrO2Nhc2UiY3ZyIjpicmVhaztjYXNlImRpdiI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobi9nKTticmVhaztjYXNlImR1cCI6dC5jb3B5KDEpO2JyZWFrO2Nhc2UiZXEiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG49PT1nKTticmVhaztjYXNlImV4Y2giOnQucm9sbCgyLDEpO2JyZWFrO2Nhc2UiZXhwIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuKipnKTticmVhaztjYXNlImZhbHNlIjp0LnB1c2goITEpO2JyZWFrO2Nhc2UiZmxvb3IiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5mbG9vcihuKSk7YnJlYWs7Y2FzZSJnZSI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobj49Zyk7YnJlYWs7Y2FzZSJndCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobj5nKTticmVhaztjYXNlImlkaXYiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4vZ3wwKTticmVhaztjYXNlImluZGV4IjpuPXQucG9wKCk7dC5pbmRleChuKTticmVhaztjYXNlImxlIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPD1nKTticmVhaztjYXNlImxuIjpuPXQucG9wKCk7dC5wdXNoKE1hdGgubG9nKG4pKTticmVhaztjYXNlImxvZyI6bj10LnBvcCgpO3QucHVzaChNYXRoLmxvZzEwKG4pKTticmVhaztjYXNlImx0IjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPGcpO2JyZWFrO2Nhc2UibW9kIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuJWcpO2JyZWFrO2Nhc2UibXVsIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuKmcpO2JyZWFrO2Nhc2UibmUiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4hPT1nKTticmVhaztjYXNlIm5lZyI6bj10LnBvcCgpO3QucHVzaCgtbik7YnJlYWs7Y2FzZSJub3QiOm49dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuP3QucHVzaCghbik6dC5wdXNoKH5uKTticmVhaztjYXNlIm9yIjpnPXQucG9wKCk7bj10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIG4mJiJib29sZWFuIj09dHlwZW9mIGc/dC5wdXNoKG58fGcpOnQucHVzaChufGcpO2JyZWFrO2Nhc2UicG9wIjp0LnBvcCgpO2JyZWFrO2Nhc2Uicm9sbCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnJvbGwobixnKTticmVhaztjYXNlInJvdW5kIjpuPXQucG9wKCk7dC5wdXNoKE1hdGgucm91bmQobikpO2JyZWFrO2Nhc2Uic2luIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguc2luKG4lMzYwLzE4MCpNYXRoLlBJKSk7YnJlYWs7Y2FzZSJzcXJ0IjpuPXQucG9wKCk7dC5wdXNoKE1hdGguc3FydChuKSk7YnJlYWs7Y2FzZSJzdWIiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4tZyk7YnJlYWs7Y2FzZSJ0cnVlIjp0LnB1c2goITApO2JyZWFrO2Nhc2UidHJ1bmNhdGUiOm49dC5wb3AoKTtuPW48MD9NYXRoLmNlaWwobik6TWF0aC5mbG9vcihuKTt0LnB1c2gobik7YnJlYWs7Y2FzZSJ4b3IiOmc9dC5wb3AoKTtuPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2YgbiYmImJvb2xlYW4iPT10eXBlb2YgZz90LnB1c2gobiE9PWcpOnQucHVzaChuXmcpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIG9wZXJhdG9yICR7cn1gKX1lbHNlIHQucHVzaChyKX1yZXR1cm4gdC5zdGFja319Y2xhc3MgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnR5cGU9ZX12aXNpdChlKXt1bnJlYWNoYWJsZSgiYWJzdHJhY3QgbWV0aG9kIil9fWNsYXNzIEFzdEFyZ3VtZW50IGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoImFyZ3MiKTt0aGlzLmluZGV4PWU7dGhpcy5taW49dDt0aGlzLm1heD1pfXZpc2l0KGUpe2UudmlzaXRBcmd1bWVudCh0aGlzKX19Y2xhc3MgQXN0TGl0ZXJhbCBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoImxpdGVyYWwiKTt0aGlzLm51bWJlcj1lO3RoaXMubWluPWU7dGhpcy5tYXg9ZX12aXNpdChlKXtlLnZpc2l0TGl0ZXJhbCh0aGlzKX19Y2xhc3MgQXN0QmluYXJ5T3BlcmF0aW9uIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSxhLHMpe3N1cGVyKCJiaW5hcnkiKTt0aGlzLm9wPWU7dGhpcy5hcmcxPXQ7dGhpcy5hcmcyPWk7dGhpcy5taW49YTt0aGlzLm1heD1zfXZpc2l0KGUpe2UudmlzaXRCaW5hcnlPcGVyYXRpb24odGhpcyl9fWNsYXNzIEFzdE1pbiBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigibWF4Iik7dGhpcy5hcmc9ZTt0aGlzLm1pbj1lLm1pbjt0aGlzLm1heD10fXZpc2l0KGUpe2UudmlzaXRNaW4odGhpcyl9fWNsYXNzIEFzdFZhcmlhYmxlIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoInZhciIpO3RoaXMuaW5kZXg9ZTt0aGlzLm1pbj10O3RoaXMubWF4PWl9dmlzaXQoZSl7ZS52aXNpdFZhcmlhYmxlKHRoaXMpfX1jbGFzcyBBc3RWYXJpYWJsZURlZmluaXRpb24gZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoImRlZmluaXRpb24iKTt0aGlzLnZhcmlhYmxlPWU7dGhpcy5hcmc9dH12aXNpdChlKXtlLnZpc2l0VmFyaWFibGVEZWZpbml0aW9uKHRoaXMpfX1jbGFzcyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3J7Y29uc3RydWN0b3IoKXt0aGlzLnBhcnRzPVtdfXZpc2l0QXJndW1lbnQoZSl7dGhpcy5wYXJ0cy5wdXNoKCJNYXRoLm1heCgiLGUubWluLCIsIE1hdGgubWluKCIsZS5tYXgsIiwgc3JjW3NyY09mZnNldCArICIsZS5pbmRleCwiXSkpIil9dmlzaXRWYXJpYWJsZShlKXt0aGlzLnBhcnRzLnB1c2goInYiLGUuaW5kZXgpfXZpc2l0TGl0ZXJhbChlKXt0aGlzLnBhcnRzLnB1c2goZS5udW1iZXIpfXZpc2l0QmluYXJ5T3BlcmF0aW9uKGUpe3RoaXMucGFydHMucHVzaCgiKCIpO2UuYXJnMS52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiAiLGUub3AsIiAiKTtlLmFyZzIudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIpIil9dmlzaXRWYXJpYWJsZURlZmluaXRpb24oZSl7dGhpcy5wYXJ0cy5wdXNoKCJ2YXIgIik7ZS52YXJpYWJsZS52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiA9ICIpO2UuYXJnLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiOyIpfXZpc2l0TWluKGUpe3RoaXMucGFydHMucHVzaCgiTWF0aC5taW4oIik7ZS5hcmcudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIsICIsZS5tYXgsIikiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnBhcnRzLmpvaW4oIiIpfX1mdW5jdGlvbiBidWlsZEFkZE9wZXJhdGlvbihlLHQpe3JldHVybiJsaXRlcmFsIj09PXQudHlwZSYmMD09PXQubnVtYmVyP2U6ImxpdGVyYWwiPT09ZS50eXBlJiYwPT09ZS5udW1iZXI/dDoibGl0ZXJhbCI9PT10LnR5cGUmJiJsaXRlcmFsIj09PWUudHlwZT9uZXcgQXN0TGl0ZXJhbChlLm51bWJlcit0Lm51bWJlcik6bmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiKyIsZSx0LGUubWluK3QubWluLGUubWF4K3QubWF4KX1mdW5jdGlvbiBidWlsZE11bE9wZXJhdGlvbihlLHQpe2lmKCJsaXRlcmFsIj09PXQudHlwZSl7aWYoMD09PXQubnVtYmVyKXJldHVybiBuZXcgQXN0TGl0ZXJhbCgwKTtpZigxPT09dC5udW1iZXIpcmV0dXJuIGU7aWYoImxpdGVyYWwiPT09ZS50eXBlKXJldHVybiBuZXcgQXN0TGl0ZXJhbChlLm51bWJlcip0Lm51bWJlcil9aWYoImxpdGVyYWwiPT09ZS50eXBlKXtpZigwPT09ZS5udW1iZXIpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKDApO2lmKDE9PT1lLm51bWJlcilyZXR1cm4gdH1jb25zdCBpPU1hdGgubWluKGUubWluKnQubWluLGUubWluKnQubWF4LGUubWF4KnQubWluLGUubWF4KnQubWF4KSxhPU1hdGgubWF4KGUubWluKnQubWluLGUubWluKnQubWF4LGUubWF4KnQubWluLGUubWF4KnQubWF4KTtyZXR1cm4gbmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiKiIsZSx0LGksYSl9ZnVuY3Rpb24gYnVpbGRTdWJPcGVyYXRpb24oZSx0KXtpZigibGl0ZXJhbCI9PT10LnR5cGUpe2lmKDA9PT10Lm51bWJlcilyZXR1cm4gZTtpZigibGl0ZXJhbCI9PT1lLnR5cGUpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKGUubnVtYmVyLXQubnVtYmVyKX1yZXR1cm4iYmluYXJ5Ij09PXQudHlwZSYmIi0iPT09dC5vcCYmImxpdGVyYWwiPT09ZS50eXBlJiYxPT09ZS5udW1iZXImJiJsaXRlcmFsIj09PXQuYXJnMS50eXBlJiYxPT09dC5hcmcxLm51bWJlcj90LmFyZzI6bmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiLSIsZSx0LGUubWluLXQubWF4LGUubWF4LXQubWluKX1mdW5jdGlvbiBidWlsZE1pbk9wZXJhdGlvbihlLHQpe3JldHVybiBlLm1pbj49dD9uZXcgQXN0TGl0ZXJhbCh0KTplLm1heDw9dD9lOm5ldyBBc3RNaW4oZSx0KX1jbGFzcyBQb3N0U2NyaXB0Q29tcGlsZXJ7Y29tcGlsZShlLHQsaSl7Y29uc3QgYT1bXSxzPVtdLHI9dC5sZW5ndGg+PjEsbj1pLmxlbmd0aD4+MTtsZXQgZyxvLGMsQyxoLGwsUSxFLHU9MDtmb3IobGV0IGU9MDtlPHI7ZSsrKWEucHVzaChuZXcgQXN0QXJndW1lbnQoZSx0WzIqZV0sdFsyKmUrMV0pKTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe0U9ZVt0XTtpZigibnVtYmVyIiE9dHlwZW9mIEUpc3dpdGNoKEUpe2Nhc2UiYWRkIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkQWRkT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2UiY3ZyIjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2JyZWFrO2Nhc2UibXVsIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkTXVsT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2Uic3ViIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkU3ViT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2UiZXhjaCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtoPWEucG9wKCk7bD1hLnBvcCgpO2EucHVzaChoLGwpO2JyZWFrO2Nhc2UicG9wIjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2EucG9wKCk7YnJlYWs7Y2FzZSJpbmRleCI6aWYoYS5sZW5ndGg8MSlyZXR1cm4gbnVsbDtjPWEucG9wKCk7aWYoImxpdGVyYWwiIT09Yy50eXBlKXJldHVybiBudWxsO2c9Yy5udW1iZXI7aWYoZzwwfHwhTnVtYmVyLmlzSW50ZWdlcihnKXx8YS5sZW5ndGg8ZylyZXR1cm4gbnVsbDtoPWFbYS5sZW5ndGgtZy0xXTtpZigibGl0ZXJhbCI9PT1oLnR5cGV8fCJ2YXIiPT09aC50eXBlKXthLnB1c2goaCk7YnJlYWt9UT1uZXcgQXN0VmFyaWFibGUodSsrLGgubWluLGgubWF4KTthW2EubGVuZ3RoLWctMV09UTthLnB1c2goUSk7cy5wdXNoKG5ldyBBc3RWYXJpYWJsZURlZmluaXRpb24oUSxoKSk7YnJlYWs7Y2FzZSJkdXAiOmlmKGEubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYoIm51bWJlciI9PXR5cGVvZiBlW3QrMV0mJiJndCI9PT1lW3QrMl0mJmVbdCszXT09PXQrNyYmImp6Ij09PWVbdCs0XSYmInBvcCI9PT1lW3QrNV0mJmVbdCs2XT09PWVbdCsxXSl7Yz1hLnBvcCgpO2EucHVzaChidWlsZE1pbk9wZXJhdGlvbihjLGVbdCsxXSkpO3QrPTY7YnJlYWt9aD1hLmF0KC0xKTtpZigibGl0ZXJhbCI9PT1oLnR5cGV8fCJ2YXIiPT09aC50eXBlKXthLnB1c2goaCk7YnJlYWt9UT1uZXcgQXN0VmFyaWFibGUodSsrLGgubWluLGgubWF4KTthW2EubGVuZ3RoLTFdPVE7YS5wdXNoKFEpO3MucHVzaChuZXcgQXN0VmFyaWFibGVEZWZpbml0aW9uKFEsaCkpO2JyZWFrO2Nhc2Uicm9sbCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtDPWEucG9wKCk7Yz1hLnBvcCgpO2lmKCJsaXRlcmFsIiE9PUMudHlwZXx8ImxpdGVyYWwiIT09Yy50eXBlKXJldHVybiBudWxsO289Qy5udW1iZXI7Zz1jLm51bWJlcjtpZihnPD0wfHwhTnVtYmVyLmlzSW50ZWdlcihnKXx8IU51bWJlci5pc0ludGVnZXIobyl8fGEubGVuZ3RoPGcpcmV0dXJuIG51bGw7bz0obyVnK2cpJWc7aWYoMD09PW8pYnJlYWs7YS5wdXNoKC4uLmEuc3BsaWNlKGEubGVuZ3RoLWcsZy1vKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbnVsbH1lbHNlIGEucHVzaChuZXcgQXN0TGl0ZXJhbChFKSl9aWYoYS5sZW5ndGghPT1uKXJldHVybiBudWxsO2NvbnN0IGQ9W107Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3QgdD1uZXcgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yO2UudmlzaXQodCk7ZC5wdXNoKHQudG9TdHJpbmcoKSl9Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PWFbZV0scz1uZXcgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yO3QudmlzaXQocyk7Y29uc3Qgcj1pWzIqZV0sbj1pWzIqZSsxXSxnPVtzLnRvU3RyaW5nKCldO2lmKHI+dC5taW4pe2cudW5zaGlmdCgiTWF0aC5tYXgoIixyLCIsICIpO2cucHVzaCgiKSIpfWlmKG48dC5tYXgpe2cudW5zaGlmdCgiTWF0aC5taW4oIixuLCIsICIpO2cucHVzaCgiKSIpfWcudW5zaGlmdCgiZGVzdFtkZXN0T2Zmc2V0ICsgIixlLCJdID0gIik7Zy5wdXNoKCI7Iik7ZC5wdXNoKGcuam9pbigiIikpfXJldHVybiBkLmpvaW4oIlxuIil9fWNvbnN0IFFzPVsiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiUyIsIkIiLCJTIiwiV1MiLCJCIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkIiLCJCIiwiQiIsIlMiLCJXUyIsIk9OIiwiT04iLCJFVCIsIkVUIiwiRVQiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiRVMiLCJDUyIsIkVTIiwiQ1MiLCJDUyIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiQ1MiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkNTIiwiT04iLCJFVCIsIkVUIiwiRVQiLCJFVCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIk9OIiwiT04iLCJCTiIsIk9OIiwiT04iLCJFVCIsIkVUIiwiRU4iLCJFTiIsIk9OIiwiTCIsIk9OIiwiT04iLCJPTiIsIkVOIiwiTCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiXSxFcz1bIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIk9OIiwiT04iLCJBTCIsIkVUIiwiRVQiLCJBTCIsIkNTIiwiQUwiLCJPTiIsIk9OIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQUwiLCJBTCIsIiIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiRVQiLCJBTiIsIkFOIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFOIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiXTtmdW5jdGlvbiBpc09kZChlKXtyZXR1cm4gMCE9KDEmZSl9ZnVuY3Rpb24gaXNFdmVuKGUpe3JldHVybiAwPT0oMSZlKX1mdW5jdGlvbiBmaW5kVW5lcXVhbChlLHQsaSl7bGV0IGEscztmb3IoYT10LHM9ZS5sZW5ndGg7YTxzOysrYSlpZihlW2FdIT09aSlyZXR1cm4gYTtyZXR1cm4gYX1mdW5jdGlvbiBzZXRWYWx1ZXMoZSx0LGksYSl7Zm9yKGxldCBzPXQ7czxpOysrcyllW3NdPWF9ZnVuY3Rpb24gcmV2ZXJzZVZhbHVlcyhlLHQsaSl7Zm9yKGxldCBhPXQscz1pLTE7YTxzOysrYSwtLXMpe2NvbnN0IHQ9ZVthXTtlW2FdPWVbc107ZVtzXT10fX1mdW5jdGlvbiBjcmVhdGVCaWRpVGV4dChlLHQsaT0hMSl7bGV0IGE9Imx0ciI7aT9hPSJ0dGIiOnR8fChhPSJydGwiKTtyZXR1cm57c3RyOmUsZGlyOmF9fWNvbnN0IHVzPVtdLGRzPVtdO2Z1bmN0aW9uIGJpZGkoZSx0PS0xLGk9ITEpe2xldCBhPSEwO2NvbnN0IHM9ZS5sZW5ndGg7aWYoMD09PXN8fGkpcmV0dXJuIGNyZWF0ZUJpZGlUZXh0KGUsYSxpKTt1cy5sZW5ndGg9cztkcy5sZW5ndGg9cztsZXQgcixuLGc9MDtmb3Iocj0wO3I8czsrK3Ipe3VzW3JdPWUuY2hhckF0KHIpO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KHIpO2xldCBpPSJMIjtpZih0PD0yNTUpaT1Rc1t0XTtlbHNlIGlmKDE0MjQ8PXQmJnQ8PTE1MjQpaT0iUiI7ZWxzZSBpZigxNTM2PD10JiZ0PD0xNzkxKXtpPUVzWzI1NSZ0XTtpfHx3YXJuKCJCaWRpOiBpbnZhbGlkIFVuaWNvZGUgY2hhcmFjdGVyICIrdC50b1N0cmluZygxNikpfWVsc2UoMTc5Mjw9dCYmdDw9MjIyMHx8NjQzMzY8PXQmJnQ8PTY1MDIzfHw2NTEzNjw9dCYmdDw9NjUyNzkpJiYoaT0iQUwiKTsiUiIhPT1pJiYiQUwiIT09aSYmIkFOIiE9PWl8fGcrKztkc1tyXT1pfWlmKDA9PT1nKXthPSEwO3JldHVybiBjcmVhdGVCaWRpVGV4dChlLGEpfWlmKC0xPT09dClpZihnL3M8LjMmJnM+NCl7YT0hMDt0PTB9ZWxzZXthPSExO3Q9MX1jb25zdCBvPVtdO2ZvcihyPTA7cjxzOysrcilvW3JdPXQ7Y29uc3QgYz1pc09kZCh0KT8iUiI6IkwiLEM9YyxoPUM7bGV0IGwsUT1DO2ZvcihyPTA7cjxzOysrcikiTlNNIj09PWRzW3JdP2RzW3JdPVE6UT1kc1tyXTtRPUM7Zm9yKHI9MDtyPHM7KytyKXtsPWRzW3JdOyJFTiI9PT1sP2RzW3JdPSJBTCI9PT1RPyJBTiI6IkVOIjoiUiIhPT1sJiYiTCIhPT1sJiYiQUwiIT09bHx8KFE9bCl9Zm9yKHI9MDtyPHM7KytyKXtsPWRzW3JdOyJBTCI9PT1sJiYoZHNbcl09IlIiKX1mb3Iocj0xO3I8cy0xOysrcil7IkVTIj09PWRzW3JdJiYiRU4iPT09ZHNbci0xXSYmIkVOIj09PWRzW3IrMV0mJihkc1tyXT0iRU4iKTsiQ1MiIT09ZHNbcl18fCJFTiIhPT1kc1tyLTFdJiYiQU4iIT09ZHNbci0xXXx8ZHNbcisxXSE9PWRzW3ItMV18fChkc1tyXT1kc1tyLTFdKX1mb3Iocj0wO3I8czsrK3IpaWYoIkVOIj09PWRzW3JdKXtmb3IobGV0IGU9ci0xO2U+PTAmJiJFVCI9PT1kc1tlXTstLWUpZHNbZV09IkVOIjtmb3IobGV0IGU9cisxO2U8cyYmIkVUIj09PWRzW2VdOysrZSlkc1tlXT0iRU4ifWZvcihyPTA7cjxzOysrcil7bD1kc1tyXTsiV1MiIT09bCYmIkVTIiE9PWwmJiJFVCIhPT1sJiYiQ1MiIT09bHx8KGRzW3JdPSJPTiIpfVE9Qztmb3Iocj0wO3I8czsrK3Ipe2w9ZHNbcl07IkVOIj09PWw/ZHNbcl09IkwiPT09UT8iTCI6IkVOIjoiUiIhPT1sJiYiTCIhPT1sfHwoUT1sKX1mb3Iocj0wO3I8czsrK3IpaWYoIk9OIj09PWRzW3JdKXtjb25zdCBlPWZpbmRVbmVxdWFsKGRzLHIrMSwiT04iKTtsZXQgdD1DO3I+MCYmKHQ9ZHNbci0xXSk7bGV0IGk9aDtlKzE8cyYmKGk9ZHNbZSsxXSk7IkwiIT09dCYmKHQ9IlIiKTsiTCIhPT1pJiYoaT0iUiIpO3Q9PT1pJiZzZXRWYWx1ZXMoZHMscixlLHQpO3I9ZS0xfWZvcihyPTA7cjxzOysrcikiT04iPT09ZHNbcl0mJihkc1tyXT1jKTtmb3Iocj0wO3I8czsrK3Ipe2w9ZHNbcl07aXNFdmVuKG9bcl0pPyJSIj09PWw/b1tyXSs9MToiQU4iIT09bCYmIkVOIiE9PWx8fChvW3JdKz0yKToiTCIhPT1sJiYiQU4iIT09bCYmIkVOIiE9PWx8fChvW3JdKz0xKX1sZXQgRSx1PS0xLGQ9OTk7Zm9yKHI9MCxuPW8ubGVuZ3RoO3I8bjsrK3Ipe0U9b1tyXTt1PEUmJih1PUUpO2Q+RSYmaXNPZGQoRSkmJihkPUUpfWZvcihFPXU7RT49ZDstLUUpe2xldCBlPS0xO2ZvcihyPTAsbj1vLmxlbmd0aDtyPG47KytyKWlmKG9bcl08RSl7aWYoZT49MCl7cmV2ZXJzZVZhbHVlcyh1cyxlLHIpO2U9LTF9fWVsc2UgZTwwJiYoZT1yKTtlPj0wJiZyZXZlcnNlVmFsdWVzKHVzLGUsby5sZW5ndGgpfWZvcihyPTAsbj11cy5sZW5ndGg7cjxuOysrcil7Y29uc3QgZT11c1tyXTsiPCIhPT1lJiYiPiIhPT1lfHwodXNbcl09IiIpfXJldHVybiBjcmVhdGVCaWRpVGV4dCh1cy5qb2luKCIiKSxhKX1jb25zdCBmcz17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwifSxwcz17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJib2xkIn0sbXM9e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoibm9ybWFsIn0seXM9e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoiYm9sZCJ9LHdzPW5ldyBNYXAoW1siVGltZXMtUm9tYW4iLHtsb2NhbDpbIlRpbWVzIE5ldyBSb21hbiIsIlRpbWVzLVJvbWFuIiwiVGltZXMiLCJMaWJlcmF0aW9uIFNlcmlmIiwiTmltYnVzIFJvbWFuIiwiTmltYnVzIFJvbWFuIEwiLCJUaW5vcyIsIlRob3JuZGFsZSIsIlRlWCBHeXJlIFRlcm1lcyIsIkZyZWVTZXJpZiIsIkxpbnV4IExpYmVydGluZSBPIiwiTGliZXJ0aW51cyBTZXJpZiIsIkRlamFWdSBTZXJpZiIsIkJpdHN0cmVhbSBWZXJhIFNlcmlmIiwiVWJ1bnR1Il0sc3R5bGU6ZnMsdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtQm9sZCIse2FsaWFzOiJUaW1lcy1Sb21hbiIsc3R5bGU6cHMsdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTptcyx1bHRpbWF0ZToic2VyaWYifV0sWyJUaW1lcy1Cb2xkSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTp5cyx1bHRpbWF0ZToic2VyaWYifV0sWyJIZWx2ZXRpY2EiLHtsb2NhbDpbIkhlbHZldGljYSIsIkhlbHZldGljYSBOZXVlIiwiQXJpYWwiLCJBcmlhbCBOb3ZhIiwiTGliZXJhdGlvbiBTYW5zIiwiQXJpbW8iLCJOaW1idXMgU2FucyIsIk5pbWJ1cyBTYW5zIEwiLCJBMDMwIiwiVGVYIEd5cmUgSGVyb3MiLCJGcmVlU2FucyIsIkRlamFWdSBTYW5zIiwiQWxiYW55IiwiQml0c3RyZWFtIFZlcmEgU2FucyIsIkFyaWFsIFVuaWNvZGUgTVMiLCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIkFwcGxlIFN5bWJvbHMiLCJDYW50YXJlbGwiXSxwYXRoOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyLnR0ZiIsc3R5bGU6ZnMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZCIse2FsaWFzOiJIZWx2ZXRpY2EiLHBhdGg6IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIixzdHlsZTpwcyx1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkhlbHZldGljYS1PYmxpcXVlIix7YWxpYXM6IkhlbHZldGljYSIscGF0aDoiTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiIsc3R5bGU6bXMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiLHthbGlhczoiSGVsdmV0aWNhIixwYXRoOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiIsc3R5bGU6eXMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJDb3VyaWVyIix7bG9jYWw6WyJDb3VyaWVyIiwiQ291cmllciBOZXciLCJMaWJlcmF0aW9uIE1vbm8iLCJOaW1idXMgTW9ubyIsIk5pbWJ1cyBNb25vIEwiLCJDb3VzaW5lIiwiQ3VtYmVybGFuZCIsIlRlWCBHeXJlIEN1cnNvciIsIkZyZWVNb25vIiwiTGludXggTGliZXJ0aW5lIE1vbm8gTyIsIkxpYmVydGludXMgTW9ubyJdLHN0eWxlOmZzLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJDb3VyaWVyLUJvbGQiLHthbGlhczoiQ291cmllciIsc3R5bGU6cHMsdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkNvdXJpZXItT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTptcyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQ291cmllci1Cb2xkT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTp5cyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQXJpYWxCbGFjayIse2xvY2FsOlsiQXJpYWwgQmxhY2siXSxzdHlsZTp7c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiI5MDAifSxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbEJsYWNrLUJvbGQiLHthbGlhczoiQXJpYWxCbGFjayJ9XSxbIkFyaWFsQmxhY2stSXRhbGljIix7YWxpYXM6IkFyaWFsQmxhY2siLHN0eWxlOntzdHlsZToiaXRhbGljIix3ZWlnaHQ6IjkwMCJ9LGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJBcmlhbEJsYWNrLUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxCbGFjay1JdGFsaWMifV0sWyJBcmlhbE5hcnJvdyIse2xvY2FsOlsiQXJpYWwgTmFycm93IiwiTGliZXJhdGlvbiBTYW5zIE5hcnJvdyIsIkhlbHZldGljYSBDb25kZW5zZWQiLCJOaW1idXMgU2FucyBOYXJyb3ciLCJUZVggR3lyZSBIZXJvcyBDbiJdLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJBcmlhbE5hcnJvdy1Cb2xkIix7YWxpYXM6IkFyaWFsTmFycm93IixzdHlsZTpwcyxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbE5hcnJvdy1JdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOm1zLGZhbGxiYWNrOiJIZWx2ZXRpY2EtT2JsaXF1ZSJ9XSxbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOnlzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJDYWxpYnJpIix7bG9jYWw6WyJDYWxpYnJpIiwiQ2FybGl0byJdLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJDYWxpYnJpLUJvbGQiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6cHMsZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkIn1dLFsiQ2FsaWJyaS1JdGFsaWMiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6bXMsZmFsbGJhY2s6IkhlbHZldGljYS1PYmxpcXVlIn1dLFsiQ2FsaWJyaS1Cb2xkSXRhbGljIix7YWxpYXM6IkNhbGlicmkiLHN0eWxlOnlzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJXaW5nZGluZ3MiLHtsb2NhbDpbIldpbmdkaW5ncyIsIlVSVyBEaW5nYmF0cyJdLHN0eWxlOmZzfV0sWyJXaW5nZGluZ3MtUmVndWxhciIse2FsaWFzOiJXaW5nZGluZ3MifV0sWyJXaW5nZGluZ3MtQm9sZCIse2FsaWFzOiJXaW5nZGluZ3MifV1dKSxEcz1uZXcgTWFwKFtbIkFyaWFsLUJsYWNrIiwiQXJpYWxCbGFjayJdXSk7ZnVuY3Rpb24gZ2V0RmFtaWx5TmFtZShlKXtjb25zdCB0PW5ldyBTZXQoWyJ0aGluIiwiZXh0cmFsaWdodCIsInVsdHJhbGlnaHQiLCJkZW1pbGlnaHQiLCJzZW1pbGlnaHQiLCJsaWdodCIsImJvb2siLCJyZWd1bGFyIiwibm9ybWFsIiwibWVkaXVtIiwiZGVtaWJvbGQiLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJ1bHRyYWJvbGQiLCJibGFjayIsImhlYXZ5IiwiZXh0cmFibGFjayIsInVsdHJhYmxhY2siLCJyb21hbiIsIml0YWxpYyIsIm9ibGlxdWUiLCJ1bHRyYWNvbmRlbnNlZCIsImV4dHJhY29uZGVuc2VkIiwiY29uZGVuc2VkIiwic2VtaWNvbmRlbnNlZCIsIm5vcm1hbCIsInNlbWlleHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmFleHBhbmRlZCIsInVsdHJhZXhwYW5kZWQiLCJib2xkaXRhbGljIl0pO3JldHVybiBlLnNwbGl0KC9bLSAsK10rL2cpLmZpbHRlcigoZT0+IXQuaGFzKGUudG9Mb3dlckNhc2UoKSkpKS5qb2luKCIgIil9ZnVuY3Rpb24gZ2VuZXJhdGVGb250KHthbGlhczplLGxvY2FsOnQscGF0aDppLGZhbGxiYWNrOmEsc3R5bGU6cyx1bHRpbWF0ZTpyfSxuLGcsbz0hMCxjPSEwLEM9IiIpe2NvbnN0IGg9e3N0eWxlOm51bGwsdWx0aW1hdGU6bnVsbH07aWYodCl7Y29uc3QgZT1DP2AgJHtDfWA6IiI7Zm9yKGNvbnN0IGkgb2YgdCluLnB1c2goYGxvY2FsKCR7aX0ke2V9KWApfWlmKGUpe2NvbnN0IHQ9d3MuZ2V0KGUpLHI9Q3x8ZnVuY3Rpb24gZ2V0U3R5bGVUb0FwcGVuZChlKXtzd2l0Y2goZSl7Y2FzZSBwczpyZXR1cm4iQm9sZCI7Y2FzZSBtczpyZXR1cm4iSXRhbGljIjtjYXNlIHlzOnJldHVybiJCb2xkIEl0YWxpYyI7ZGVmYXVsdDppZigiYm9sZCI9PT1lPy53ZWlnaHQpcmV0dXJuIkJvbGQiO2lmKCJpdGFsaWMiPT09ZT8uc3R5bGUpcmV0dXJuIkl0YWxpYyJ9cmV0dXJuIiJ9KHMpO09iamVjdC5hc3NpZ24oaCxnZW5lcmF0ZUZvbnQodCxuLGcsbyYmIWEsYyYmIWkscikpfXMmJihoLnN0eWxlPXMpO3ImJihoLnVsdGltYXRlPXIpO2lmKG8mJmEpe2NvbnN0IGU9d3MuZ2V0KGEpLHt1bHRpbWF0ZTp0fT1nZW5lcmF0ZUZvbnQoZSxuLGcsbyxjJiYhaSxDKTtoLnVsdGltYXRlfHw9dH1jJiZpJiZnJiZuLnB1c2goYHVybCgke2d9JHtpfSlgKTtyZXR1cm4gaH1mdW5jdGlvbiBnZXRGb250U3Vic3RpdHV0aW9uKGUsdCxpLGEscyxyKXtpZihhLnN0YXJ0c1dpdGgoIkludmFsaWRQREZqc0ZvbnRfIikpcmV0dXJuIG51bGw7IlRydWVUeXBlIiE9PXImJiJUeXBlMSIhPT1yfHwhL15bQS1aXXs2fVwrLy50ZXN0KGEpfHwoYT1hLnNsaWNlKDcpKTtjb25zdCBuPWE9bm9ybWFsaXplRm9udE5hbWUoYSk7bGV0IGc9ZS5nZXQobik7aWYoZylyZXR1cm4gZztsZXQgbz13cy5nZXQoYSk7aWYoIW8pZm9yKGNvbnN0W2UsdF1vZiBEcylpZihhLnN0YXJ0c1dpdGgoZSkpe2E9YCR7dH0ke2Euc3Vic3RyaW5nKGUubGVuZ3RoKX1gO289d3MuZ2V0KGEpO2JyZWFrfWxldCBjPSExO2lmKCFvKXtvPXdzLmdldChzKTtjPSEwfWNvbnN0IEM9YCR7dC5nZXREb2NJZCgpfV9zJHt0LmNyZWF0ZUZvbnRJZCgpfWA7aWYoIW8pe2lmKCF2YWxpZGF0ZUZvbnROYW1lKGEpKXt3YXJuKGBDYW5ub3Qgc3Vic3RpdHV0ZSB0aGUgZm9udCBiZWNhdXNlIG9mIGl0cyBuYW1lOiAke2F9YCk7ZS5zZXQobixudWxsKTtyZXR1cm4gbnVsbH1jb25zdCB0PS9ib2xkL2dpLnRlc3QoYSksaT0vb2JsaXF1ZXxpdGFsaWMvZ2kudGVzdChhKSxzPXQmJmkmJnlzfHx0JiZwc3x8aSYmbXN8fGZzO2c9e2NzczpgIiR7Z2V0RmFtaWx5TmFtZShhKX0iLCR7Q31gLGd1ZXNzRmFsbGJhY2s6ITAsbG9hZGVkTmFtZTpDLGJhc2VGb250TmFtZTphLHNyYzpgbG9jYWwoJHthfSlgLHN0eWxlOnN9O2Uuc2V0KG4sZyk7cmV0dXJuIGd9Y29uc3QgaD1bXTtjJiZ2YWxpZGF0ZUZvbnROYW1lKGEpJiZoLnB1c2goYGxvY2FsKCR7YX0pYCk7Y29uc3R7c3R5bGU6bCx1bHRpbWF0ZTpRfT1nZW5lcmF0ZUZvbnQobyxoLGkpLEU9bnVsbD09PVEsdT1FPyIiOmAsJHtRfWA7Zz17Y3NzOmAiJHtnZXRGYW1pbHlOYW1lKGEpfSIsJHtDfSR7dX1gLGd1ZXNzRmFsbGJhY2s6RSxsb2FkZWROYW1lOkMsYmFzZUZvbnROYW1lOmEsc3JjOmguam9pbigiLCIpLHN0eWxlOmx9O2Uuc2V0KG4sZyk7cmV0dXJuIGd9Y2xhc3MgSW1hZ2VSZXNpemVye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW1nRGF0YT1lO3RoaXMuX2lzTWFzaz10fXN0YXRpYyBuZWVkc1RvQmVSZXNpemVkKGUsdCl7aWYoZTw9dGhpcy5fZ29vZFNxdWFyZUxlbmd0aCYmdDw9dGhpcy5fZ29vZFNxdWFyZUxlbmd0aClyZXR1cm4hMTtjb25zdHtNQVhfRElNOml9PXRoaXM7aWYoZT5pfHx0PmkpcmV0dXJuITA7Y29uc3QgYT1lKnQ7aWYodGhpcy5faGFzTWF4QXJlYSlyZXR1cm4gYT50aGlzLk1BWF9BUkVBO2lmKGE8dGhpcy5fZ29vZFNxdWFyZUxlbmd0aCoqMilyZXR1cm4hMTtpZih0aGlzLl9hcmVHb29kRGltcyhlLHQpKXt0aGlzLl9nb29kU3F1YXJlTGVuZ3RoPU1hdGgubWF4KHRoaXMuX2dvb2RTcXVhcmVMZW5ndGgsTWF0aC5mbG9vcihNYXRoLnNxcnQoZSp0KSkpO3JldHVybiExfXRoaXMuX2dvb2RTcXVhcmVMZW5ndGg9dGhpcy5fZ3Vlc3NNYXgodGhpcy5fZ29vZFNxdWFyZUxlbmd0aCxpLDEyOCwwKTtyZXR1cm4gYT4odGhpcy5NQVhfQVJFQT10aGlzLl9nb29kU3F1YXJlTGVuZ3RoKioyKX1zdGF0aWMgZ2V0IE1BWF9ESU0oKXtyZXR1cm4gc2hhZG93KHRoaXMsIk1BWF9ESU0iLHRoaXMuX2d1ZXNzTWF4KDIwNDgsNjU1MzcsMCwxKSl9c3RhdGljIGdldCBNQVhfQVJFQSgpe3RoaXMuX2hhc01heEFyZWE9ITA7cmV0dXJuIHNoYWRvdyh0aGlzLCJNQVhfQVJFQSIsdGhpcy5fZ3Vlc3NNYXgoSW1hZ2VSZXNpemVyLl9nb29kU3F1YXJlTGVuZ3RoLHRoaXMuTUFYX0RJTSwxMjgsMCkqKjIpfXN0YXRpYyBzZXQgTUFYX0FSRUEoZSl7aWYoZT49MCl7dGhpcy5faGFzTWF4QXJlYT0hMDtzaGFkb3codGhpcywiTUFYX0FSRUEiLGUpfX1zdGF0aWMgc2V0TWF4QXJlYShlKXt0aGlzLl9oYXNNYXhBcmVhfHwodGhpcy5NQVhfQVJFQT1lPj4yKX1zdGF0aWMgX2FyZUdvb2REaW1zKGUsdCl7dHJ5e2NvbnN0IGk9bmV3IE9mZnNjcmVlbkNhbnZhcyhlLHQpLGE9aS5nZXRDb250ZXh0KCIyZCIpO2EuZmlsbFJlY3QoMCwwLDEsMSk7Y29uc3Qgcz1hLmdldEltYWdlRGF0YSgwLDAsMSwxKS5kYXRhWzNdO2kud2lkdGg9aS5oZWlnaHQ9MTtyZXR1cm4gMCE9PXN9Y2F0Y2h7cmV0dXJuITF9fXN0YXRpYyBfZ3Vlc3NNYXgoZSx0LGksYSl7Zm9yKDtlK2krMTx0Oyl7Y29uc3QgaT1NYXRoLmZsb29yKChlK3QpLzIpLHM9YXx8aTt0aGlzLl9hcmVHb29kRGltcyhpLHMpP2U9aTp0PWl9cmV0dXJuIGV9c3RhdGljIGFzeW5jIGNyZWF0ZUltYWdlKGUsdD0hMSl7cmV0dXJuIG5ldyBJbWFnZVJlc2l6ZXIoZSx0KS5fY3JlYXRlSW1hZ2UoKX1hc3luYyBfY3JlYXRlSW1hZ2UoKXtjb25zdCBlPXRoaXMuX2VuY29kZUJNUCgpLHQ9bmV3IEJsb2IoW2UuYnVmZmVyXSx7dHlwZToiaW1hZ2UvYm1wIn0pLGk9Y3JlYXRlSW1hZ2VCaXRtYXAodCkse01BWF9BUkVBOmEsTUFYX0RJTTpzfT1JbWFnZVJlc2l6ZXIse19pbWdEYXRhOnJ9PXRoaXMse3dpZHRoOm4saGVpZ2h0Omd9PXIsbz1NYXRoLm1heChuL3MsZy9zLE1hdGguc3FydChuKmcvYSkpLGM9TWF0aC5tYXgobywyKSxDPU1hdGgucm91bmQoMTAqKG8rMS4yNSkpLzEwL2MsaD1NYXRoLmZsb29yKE1hdGgubG9nMihDKSksbD1uZXcgQXJyYXkoaCsyKS5maWxsKDIpO2xbMF09YztsLnNwbGljZSgtMSwxLEMvKDE8PGgpKTtsZXQgUT1uLEU9Zyx1PWF3YWl0IGk7Zm9yKGNvbnN0IGUgb2YgbCl7Y29uc3QgdD1RLGk9RTtRPU1hdGguZmxvb3IoUS9lKS0xO0U9TWF0aC5mbG9vcihFL2UpLTE7Y29uc3QgYT1uZXcgT2Zmc2NyZWVuQ2FudmFzKFEsRSk7YS5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZSh1LDAsMCx0LGksMCwwLFEsRSk7dT1hLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpfXIuZGF0YT1udWxsO3IuYml0bWFwPXU7ci53aWR0aD1RO3IuaGVpZ2h0PUU7cmV0dXJuIHJ9X2VuY29kZUJNUCgpe2NvbnN0e3dpZHRoOmUsaGVpZ2h0OnQsa2luZDppfT10aGlzLl9pbWdEYXRhO2xldCBhLHM9dGhpcy5faW1nRGF0YS5kYXRhLHI9bmV3IFVpbnQ4QXJyYXkoMCksbj1yLGc9MDtzd2l0Y2goaSl7Y2FzZSBiOnthPTE7cj1uZXcgVWludDhBcnJheSh0aGlzLl9pc01hc2s/WzI1NSwyNTUsMjU1LDI1NSwwLDAsMCwwXTpbMCwwLDAsMCwyNTUsMjU1LDI1NSwyNTVdKTtjb25zdCBpPWUrNz4+MyxuPWkrMyYtNDtpZihpIT09bil7Y29uc3QgZT1uZXcgVWludDhBcnJheShuKnQpO2xldCBhPTA7Zm9yKGxldCByPTAsZz10Kmk7cjxnO3IrPWksYSs9billLnNldChzLnN1YmFycmF5KHIscitpKSxhKTtzPWV9YnJlYWt9Y2FzZSBGOmE9MjQ7aWYoMyZlKXtjb25zdCBpPTMqZSxhPWkrMyYtNCxyPWEtaSxuPW5ldyBVaW50OEFycmF5KGEqdCk7bGV0IGc9MDtmb3IobGV0IGU9MCxhPXQqaTtlPGE7ZSs9aSl7Y29uc3QgdD1zLnN1YmFycmF5KGUsZStpKTtmb3IobGV0IGU9MDtlPGk7ZSs9Myl7bltnKytdPXRbZSsyXTtuW2crK109dFtlKzFdO25bZysrXT10W2VdfWcrPXJ9cz1ufWVsc2UgZm9yKGxldCBlPTAsdD1zLmxlbmd0aDtlPHQ7ZSs9Myl7Y29uc3QgdD1zW2VdO3NbZV09c1tlKzJdO3NbZSsyXT10fWJyZWFrO2Nhc2UgUzphPTMyO2c9MztuPW5ldyBVaW50OEFycmF5KDY4KTtjb25zdCBpPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcik7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pe2kuc2V0VWludDMyKDAsMjU1LCEwKTtpLnNldFVpbnQzMig0LDY1MjgwLCEwKTtpLnNldFVpbnQzMig4LDE2NzExNjgwLCEwKTtpLnNldFVpbnQzMigxMiw0Mjc4MTkwMDgwLCEwKX1lbHNle2kuc2V0VWludDMyKDAsNDI3ODE5MDA4MCwhMCk7aS5zZXRVaW50MzIoNCwxNjcxMTY4MCwhMCk7aS5zZXRVaW50MzIoOCw2NTI4MCwhMCk7aS5zZXRVaW50MzIoMTIsMjU1LCEwKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmb3JtYXQiKX1sZXQgbz0wO2NvbnN0IGM9NDArbi5sZW5ndGgsQz0xNCtjK3IubGVuZ3RoK3MubGVuZ3RoLGg9bmV3IFVpbnQ4QXJyYXkoQyksbD1uZXcgRGF0YVZpZXcoaC5idWZmZXIpO2wuc2V0VWludDE2KG8sMTk3NzgsITApO28rPTI7bC5zZXRVaW50MzIobyxDLCEwKTtvKz00O2wuc2V0VWludDMyKG8sMCwhMCk7bys9NDtsLnNldFVpbnQzMihvLDE0K2Mrci5sZW5ndGgsITApO28rPTQ7bC5zZXRVaW50MzIobyxjLCEwKTtvKz00O2wuc2V0SW50MzIobyxlLCEwKTtvKz00O2wuc2V0SW50MzIobywtdCwhMCk7bys9NDtsLnNldFVpbnQxNihvLDEsITApO28rPTI7bC5zZXRVaW50MTYobyxhLCEwKTtvKz0yO2wuc2V0VWludDMyKG8sZywhMCk7bys9NDtsLnNldFVpbnQzMihvLDAsITApO28rPTQ7bC5zZXRJbnQzMihvLDAsITApO28rPTQ7bC5zZXRJbnQzMihvLDAsITApO28rPTQ7bC5zZXRVaW50MzIobyxyLmxlbmd0aC80LCEwKTtvKz00O2wuc2V0VWludDMyKG8sMCwhMCk7bys9NDtoLnNldChuLG8pO28rPW4ubGVuZ3RoO2guc2V0KHIsbyk7bys9ci5sZW5ndGg7aC5zZXQocyxvKTtyZXR1cm4gaH19SW1hZ2VSZXNpemVyLl9nb29kU3F1YXJlTGVuZ3RoPTIwNDg7Y29uc3QgYnM9MzI4NTM3NzUyMCxGcz00Mjk0OTAxNzYwLFNzPTY1NTM1O2NsYXNzIE11cm11ckhhc2gzXzY0e2NvbnN0cnVjdG9yKGUpe3RoaXMuaDE9ZT80Mjk0OTY3Mjk1JmU6YnM7dGhpcy5oMj1lPzQyOTQ5NjcyOTUmZTpic311cGRhdGUoZSl7bGV0IHQsaTtpZigic3RyaW5nIj09dHlwZW9mIGUpe3Q9bmV3IFVpbnQ4QXJyYXkoMiplLmxlbmd0aCk7aT0wO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKyl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQoYSk7aWYoczw9MjU1KXRbaSsrXT1zO2Vsc2V7dFtpKytdPXM+Pj44O3RbaSsrXT0yNTUmc319fWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0YSBmb3JtYXQsIG11c3QgYmUgYSBzdHJpbmcgb3IgVHlwZWRBcnJheS4iKTt0PWUuc2xpY2UoKTtpPXQuYnl0ZUxlbmd0aH1jb25zdCBhPWk+PjIscz1pLTQqYSxyPW5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlciwwLGEpO2xldCBuPTAsZz0wLG89dGhpcy5oMSxjPXRoaXMuaDI7Y29uc3QgQz0zNDMyOTE4MzUzLGg9NDYxODQ1OTA3LGw9MTE2MDEsUT0xMzcxNTtmb3IobGV0IGU9MDtlPGE7ZSsrKWlmKDEmZSl7bj1yW2VdO249bipDJkZzfG4qbCZTcztuPW48PDE1fG4+Pj4xNztuPW4qaCZGc3xuKlEmU3M7b149bjtvPW88PDEzfG8+Pj4xOTtvPTUqbyszODY0MjkyMTk2fWVsc2V7Zz1yW2VdO2c9ZypDJkZzfGcqbCZTcztnPWc8PDE1fGc+Pj4xNztnPWcqaCZGc3xnKlEmU3M7Y149ZztjPWM8PDEzfGM+Pj4xOTtjPTUqYyszODY0MjkyMTk2fW49MDtzd2l0Y2gocyl7Y2FzZSAzOm5ePXRbNCphKzJdPDwxNjtjYXNlIDI6bl49dFs0KmErMV08PDg7Y2FzZSAxOm5ePXRbNCphXTtuPW4qQyZGc3xuKmwmU3M7bj1uPDwxNXxuPj4+MTc7bj1uKmgmRnN8bipRJlNzOzEmYT9vXj1uOmNePW59dGhpcy5oMT1vO3RoaXMuaDI9Y31oZXhkaWdlc3QoKXtsZXQgZT10aGlzLmgxLHQ9dGhpcy5oMjtlXj10Pj4+MTtlPTM5ODE4MDY3OTcqZSZGc3wzNjA0NSplJlNzO3Q9NDI4MzU0MzUxMSp0JkZzfCgyOTUwMTYzNzk3Kih0PDwxNnxlPj4+MTYpJkZzKT4+PjE2O2VePXQ+Pj4xO2U9NDQ0OTg0NDAzKmUmRnN8NjA0OTkqZSZTczt0PTMzMDE4ODIzNjYqdCZGc3woMzEyMDQzNzg5MyoodDw8MTZ8ZT4+PjE2KSZGcyk+Pj4xNjtlXj10Pj4+MTtyZXR1cm4oZT4+PjApLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCIwIikrKHQ+Pj4wKS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpfX1mdW5jdGlvbiBhZGRTdGF0ZShlLHQsaSxhLHMpe2xldCByPWU7Zm9yKGxldCBlPTAsaT10Lmxlbmd0aC0xO2U8aTtlKyspe2NvbnN0IGk9dFtlXTtyPXJbaV18fD1bXX1yW3QuYXQoLTEpXT17Y2hlY2tGbjppLGl0ZXJhdGVGbjphLHByb2Nlc3NGbjpzfX1jb25zdCBrcz1bXTthZGRTdGF0ZShrcyxbeEEsTUEsX2UsVUFdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOnJldHVybiBpW3RdPT09TUE7Y2FzZSAyOnJldHVybiBpW3RdPT09X2U7Y2FzZSAzOnJldHVybiBpW3RdPT09VUF9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW5saW5lSW1hZ2VHcm91cCAtIGludmFsaWQgcG9zOiAke2F9YCl9KSwoZnVuY3Rpb24gZm91bmRJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPWUuaUN1cnIscj1zLTMsbj1zLTIsZz1zLTEsbz1NYXRoLm1pbihNYXRoLmZsb29yKCh0LXIpLzQpLDIwMCk7aWYobzwxMClyZXR1cm4gdC0odC1yKSU0O2xldCBjPTA7Y29uc3QgQz1bXTtsZXQgaD0wLGw9MSxRPTE7Zm9yKGxldCBlPTA7ZTxvO2UrKyl7Y29uc3QgdD1hW24rKGU8PDIpXSxpPWFbZysoZTw8MildWzBdO2lmKGwraS53aWR0aD4xZTMpe2M9TWF0aC5tYXgoYyxsKTtRKz1oKzI7bD0wO2g9MH1DLnB1c2goe3RyYW5zZm9ybTp0LHg6bCx5OlEsdzppLndpZHRoLGg6aS5oZWlnaHR9KTtsKz1pLndpZHRoKzI7aD1NYXRoLm1heChoLGkuaGVpZ2h0KX1jb25zdCBFPU1hdGgubWF4KGMsbCkrMSx1PVEraCsxLGQ9bmV3IFVpbnQ4QXJyYXkoRSp1KjQpLGY9RTw8Mjtmb3IobGV0IGU9MDtlPG87ZSsrKXtjb25zdCB0PWFbZysoZTw8MildWzBdLmRhdGEsaT1DW2VdLnc8PDI7bGV0IHM9MCxyPUNbZV0ueCtDW2VdLnkqRTw8MjtkLnNldCh0LnN1YmFycmF5KDAsaSksci1mKTtmb3IobGV0IGE9MCxuPUNbZV0uaDthPG47YSsrKXtkLnNldCh0LnN1YmFycmF5KHMscytpKSxyKTtzKz1pO3IrPWZ9ZC5zZXQodC5zdWJhcnJheShzLWkscykscik7Zm9yKDtyPj0wOyl7dFtyLTRdPXRbcl07dFtyLTNdPXRbcisxXTt0W3ItMl09dFtyKzJdO3Rbci0xXT10W3IrM107dFtyK2ldPXRbcitpLTRdO3RbcitpKzFdPXRbcitpLTNdO3RbcitpKzJdPXRbcitpLTJdO3RbcitpKzNdPXRbcitpLTFdO3ItPWZ9fWNvbnN0IHA9e3dpZHRoOkUsaGVpZ2h0OnV9O2lmKGUuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGU9bmV3IE9mZnNjcmVlbkNhbnZhcyhFLHUpO2UuZ2V0Q29udGV4dCgiMmQiKS5wdXRJbWFnZURhdGEobmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkoZC5idWZmZXIpLEUsdSksMCwwKTtwLmJpdG1hcD1lLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpO3AuZGF0YT1udWxsfWVsc2V7cC5raW5kPVM7cC5kYXRhPWR9aS5zcGxpY2Uociw0Km8sJGUpO2Euc3BsaWNlKHIsNCpvLFtwLENdKTtyZXR1cm4gcisxfSkpO2FkZFN0YXRlKGtzLFt4QSxNQSxaZSxVQV0sbnVsbCwoZnVuY3Rpb24gaXRlcmF0ZUltYWdlTWFza0dyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOnJldHVybiBpW3RdPT09TUE7Y2FzZSAyOnJldHVybiBpW3RdPT09WmU7Y2FzZSAzOnJldHVybiBpW3RdPT09VUF9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW1hZ2VNYXNrR3JvdXAgLSBpbnZhbGlkIHBvczogJHthfWApfSksKGZ1bmN0aW9uIGZvdW5kSW1hZ2VNYXNrR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9ZS5pQ3VycixyPXMtMyxuPXMtMixnPXMtMTtsZXQgbz1NYXRoLmZsb29yKCh0LXIpLzQpO2lmKG88MTApcmV0dXJuIHQtKHQtciklNDtsZXQgYyxDLGg9ITE7Y29uc3QgbD1hW2ddWzBdLFE9YVtuXVswXSxFPWFbbl1bMV0sdT1hW25dWzJdLGQ9YVtuXVszXTtpZihFPT09dSl7aD0hMDtjPW4rNDtsZXQgZT1nKzQ7Zm9yKGxldCB0PTE7dDxvO3QrKyxjKz00LGUrPTQpe0M9YVtjXTtpZihhW2VdWzBdIT09bHx8Q1swXSE9PVF8fENbMV0hPT1FfHxDWzJdIT09dXx8Q1szXSE9PWQpe3Q8MTA/aD0hMTpvPXQ7YnJlYWt9fX1pZihoKXtvPU1hdGgubWluKG8sMWUzKTtjb25zdCBlPW5ldyBGbG9hdDMyQXJyYXkoMipvKTtjPW47Zm9yKGxldCB0PTA7dDxvO3QrKyxjKz00KXtDPWFbY107ZVt0PDwxXT1DWzRdO2VbMSsodDw8MSldPUNbNV19aS5zcGxpY2Uociw0Km8sZXQpO2Euc3BsaWNlKHIsNCpvLFtsLFEsRSx1LGQsZV0pfWVsc2V7bz1NYXRoLm1pbihvLDEwMCk7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PG87dCsrKXtDPWFbbisodDw8MildO2NvbnN0IGk9YVtnKyh0PDwyKV1bMF07ZS5wdXNoKHtkYXRhOmkuZGF0YSx3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodCxpbnRlcnBvbGF0ZTppLmludGVycG9sYXRlLGNvdW50OmkuY291bnQsdHJhbnNmb3JtOkN9KX1pLnNwbGljZShyLDQqbyxWZSk7YS5zcGxpY2Uociw0Km8sW2VdKX1yZXR1cm4gcisxfSkpO2FkZFN0YXRlKGtzLFt4QSxNQSx6ZSxVQV0sKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5hcmdzQXJyYXksaT1lLmlDdXJyLTI7cmV0dXJuIDA9PT10W2ldWzFdJiYwPT09dFtpXVsyXX0pLChmdW5jdGlvbiBpdGVyYXRlSW1hZ2VHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2gocyl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOmlmKGlbdF0hPT1NQSlyZXR1cm4hMTtjb25zdCBzPWUuaUN1cnItMixyPWFbc11bMF0sbj1hW3NdWzNdO3JldHVybiBhW3RdWzBdPT09ciYmMD09PWFbdF1bMV0mJjA9PT1hW3RdWzJdJiZhW3RdWzNdPT09bjtjYXNlIDI6aWYoaVt0XSE9PXplKXJldHVybiExO2NvbnN0IGc9YVtlLmlDdXJyLTFdWzBdO3JldHVybiBhW3RdWzBdPT09ZztjYXNlIDM6cmV0dXJuIGlbdF09PT1VQX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVJbWFnZUdyb3VwIC0gaW52YWxpZCBwb3M6ICR7c31gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy0zLG49cy0yLGc9YVtzLTFdWzBdLG89YVtuXVswXSxjPWFbbl1bM10sQz1NYXRoLm1pbihNYXRoLmZsb29yKCh0LXIpLzQpLDFlMyk7aWYoQzwzKXJldHVybiB0LSh0LXIpJTQ7Y29uc3QgaD1uZXcgRmxvYXQzMkFycmF5KDIqQyk7bGV0IGw9bjtmb3IobGV0IGU9MDtlPEM7ZSsrLGwrPTQpe2NvbnN0IHQ9YVtsXTtoW2U8PDFdPXRbNF07aFsxKyhlPDwxKV09dFs1XX1jb25zdCBRPVtnLG8sYyxoXTtpLnNwbGljZShyLDQqQyxBdCk7YS5zcGxpY2Uociw0KkMsUSk7cmV0dXJuIHIrMX0pKTthZGRTdGF0ZShrcyxbQWUscmUsY2UsaGUsZWVdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVTaG93VGV4dEdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPSh0LShlLmlDdXJyLTQpKSU1O3N3aXRjaChzKXtjYXNlIDA6cmV0dXJuIGlbdF09PT1BZTtjYXNlIDE6cmV0dXJuIGlbdF09PT1yZTtjYXNlIDI6cmV0dXJuIGlbdF09PT1jZTtjYXNlIDM6aWYoaVt0XSE9PWhlKXJldHVybiExO2NvbnN0IHM9ZS5pQ3Vyci0zLHI9YVtzXVswXSxuPWFbc11bMV07cmV0dXJuIGFbdF1bMF09PT1yJiZhW3RdWzFdPT09bjtjYXNlIDQ6cmV0dXJuIGlbdF09PT1lZX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVTaG93VGV4dEdyb3VwIC0gaW52YWxpZCBwb3M6ICR7c31gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy00LG49cy0zLGc9cy0yLG89cy0xLGM9cyxDPWFbbl1bMF0saD1hW25dWzFdO2xldCBsPU1hdGgubWluKE1hdGguZmxvb3IoKHQtcikvNSksMWUzKTtpZihsPDMpcmV0dXJuIHQtKHQtciklNTtsZXQgUT1yO2lmKHI+PTQmJmlbci00XT09PWlbbl0mJmlbci0zXT09PWlbZ10mJmlbci0yXT09PWlbb10mJmlbci0xXT09PWlbY10mJmFbci00XVswXT09PUMmJmFbci00XVsxXT09PWgpe2wrKztRLT01fWxldCBFPVErNDtmb3IobGV0IGU9MTtlPGw7ZSsrKXtpLnNwbGljZShFLDMpO2Euc3BsaWNlKEUsMyk7RSs9Mn1yZXR1cm4gRSsxfSkpO2NsYXNzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5xdWV1ZT1lfV9vcHRpbWl6ZSgpe31wdXNoKGUsdCl7dGhpcy5xdWV1ZS5mbkFycmF5LnB1c2goZSk7dGhpcy5xdWV1ZS5hcmdzQXJyYXkucHVzaCh0KTt0aGlzLl9vcHRpbWl6ZSgpfWZsdXNoKCl7fXJlc2V0KCl7fX1jbGFzcyBRdWV1ZU9wdGltaXplciBleHRlbmRzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5zdGF0ZT1udWxsO3RoaXMuY29udGV4dD17aUN1cnI6MCxmbkFycmF5OmUuZm5BcnJheSxhcmdzQXJyYXk6ZS5hcmdzQXJyYXksaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6ITF9O3RoaXMubWF0Y2g9bnVsbDt0aGlzLmxhc3RQcm9jZXNzZWQ9MH1zZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoZSl7dGhpcy5jb250ZXh0LmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWV9X29wdGltaXplKCl7Y29uc3QgZT10aGlzLnF1ZXVlLmZuQXJyYXk7bGV0IHQ9dGhpcy5sYXN0UHJvY2Vzc2VkLGk9ZS5sZW5ndGgsYT10aGlzLnN0YXRlLHM9dGhpcy5tYXRjaDtpZighYSYmIXMmJnQrMT09PWkmJiFrc1tlW3RdXSl7dGhpcy5sYXN0UHJvY2Vzc2VkPWk7cmV0dXJufWNvbnN0IHI9dGhpcy5jb250ZXh0O2Zvcig7dDxpOyl7aWYocyl7aWYoKDAscy5pdGVyYXRlRm4pKHIsdCkpe3QrKztjb250aW51ZX10PSgwLHMucHJvY2Vzc0ZuKShyLHQrMSk7aT1lLmxlbmd0aDtzPW51bGw7YT1udWxsO2lmKHQ+PWkpYnJlYWt9YT0oYXx8a3MpW2VbdF1dO2lmKGEmJiFBcnJheS5pc0FycmF5KGEpKXtyLmlDdXJyPXQ7dCsrO2lmKCFhLmNoZWNrRm58fCgwLGEuY2hlY2tGbikocikpe3M9YTthPW51bGx9ZWxzZSBhPW51bGx9ZWxzZSB0Kyt9dGhpcy5zdGF0ZT1hO3RoaXMubWF0Y2g9czt0aGlzLmxhc3RQcm9jZXNzZWQ9dH1mbHVzaCgpe2Zvcig7dGhpcy5tYXRjaDspe2NvbnN0IGU9dGhpcy5xdWV1ZS5mbkFycmF5Lmxlbmd0aDt0aGlzLmxhc3RQcm9jZXNzZWQ9KDAsdGhpcy5tYXRjaC5wcm9jZXNzRm4pKHRoaXMuY29udGV4dCxlKTt0aGlzLm1hdGNoPW51bGw7dGhpcy5zdGF0ZT1udWxsO3RoaXMuX29wdGltaXplKCl9fXJlc2V0KCl7dGhpcy5zdGF0ZT1udWxsO3RoaXMubWF0Y2g9bnVsbDt0aGlzLmxhc3RQcm9jZXNzZWQ9MH19Y2xhc3MgT3BlcmF0b3JMaXN0e3N0YXRpYyBDSFVOS19TSVpFPTFlMztzdGF0aWMgQ0hVTktfU0laRV9BQk9VVD10aGlzLkNIVU5LX1NJWkUtNTtjb25zdHJ1Y3RvcihlPTAsdCl7dGhpcy5fc3RyZWFtU2luaz10O3RoaXMuZm5BcnJheT1bXTt0aGlzLmFyZ3NBcnJheT1bXTt0aGlzLm9wdGltaXplcj0hdHx8ZSZFP25ldyBOdWxsT3B0aW1pemVyKHRoaXMpOm5ldyBRdWV1ZU9wdGltaXplcih0aGlzKTt0aGlzLmRlcGVuZGVuY2llcz1uZXcgU2V0O3RoaXMuX3RvdGFsTGVuZ3RoPTA7dGhpcy53ZWlnaHQ9MDt0aGlzLl9yZXNvbHZlZD10P251bGw6UHJvbWlzZS5yZXNvbHZlKCl9c2V0IGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKGUpe3RoaXMub3B0aW1pemVyLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmFyZ3NBcnJheS5sZW5ndGh9Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3Jlc29sdmVkfHx0aGlzLl9zdHJlYW1TaW5rLnJlYWR5fWdldCB0b3RhbExlbmd0aCgpe3JldHVybiB0aGlzLl90b3RhbExlbmd0aCt0aGlzLmxlbmd0aH1hZGRPcChlLHQpe3RoaXMub3B0aW1pemVyLnB1c2goZSx0KTt0aGlzLndlaWdodCsrO3RoaXMuX3N0cmVhbVNpbmsmJih0aGlzLndlaWdodD49T3BlcmF0b3JMaXN0LkNIVU5LX1NJWkV8fHRoaXMud2VpZ2h0Pj1PcGVyYXRvckxpc3QuQ0hVTktfU0laRV9BQk9VVCYmKGU9PT1VQXx8ZT09PWVlKSkmJnRoaXMuZmx1c2goKX1hZGRJbWFnZU9wcyhlLHQsaSl7dm9pZCAwIT09aSYmdGhpcy5hZGRPcChZZSxbIk9DIixpXSk7dGhpcy5hZGRPcChlLHQpO3ZvaWQgMCE9PWkmJnRoaXMuYWRkT3AodmUsW10pfWFkZERlcGVuZGVuY3koZSl7aWYoIXRoaXMuZGVwZW5kZW5jaWVzLmhhcyhlKSl7dGhpcy5kZXBlbmRlbmNpZXMuYWRkKGUpO3RoaXMuYWRkT3Aod0EsW2VdKX19YWRkRGVwZW5kZW5jaWVzKGUpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGREZXBlbmRlbmN5KHQpfWFkZE9wTGlzdChlKXtpZihlIGluc3RhbmNlb2YgT3BlcmF0b3JMaXN0KXtmb3IoY29uc3QgdCBvZiBlLmRlcGVuZGVuY2llcyl0aGlzLmRlcGVuZGVuY2llcy5hZGQodCk7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXRoaXMuYWRkT3AoZS5mbkFycmF5W3RdLGUuYXJnc0FycmF5W3RdKX1lbHNlIHdhcm4oJ2FkZE9wTGlzdCAtIGlnbm9yaW5nIGludmFsaWQgIm9wTGlzdCIgcGFyYW1ldGVyLicpfWdldElSKCl7cmV0dXJue2ZuQXJyYXk6dGhpcy5mbkFycmF5LGFyZ3NBcnJheTp0aGlzLmFyZ3NBcnJheSxsZW5ndGg6dGhpcy5sZW5ndGh9fWdldCBfdHJhbnNmZXJzKCl7Y29uc3QgZT1bXSx7Zm5BcnJheTp0LGFyZ3NBcnJheTppLGxlbmd0aDphfT10aGlzO2ZvcihsZXQgcz0wO3M8YTtzKyspc3dpdGNoKHRbc10pe2Nhc2UgX2U6Y2FzZSAkZTpjYXNlIFplOmNvbnN0IHQ9aVtzXVswXTshdC5jYWNoZWQmJnQuZGF0YT8uYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJmUucHVzaCh0LmRhdGEuYnVmZmVyKX1yZXR1cm4gZX1mbHVzaChlPSExLHQ9bnVsbCl7dGhpcy5vcHRpbWl6ZXIuZmx1c2goKTtjb25zdCBpPXRoaXMubGVuZ3RoO3RoaXMuX3RvdGFsTGVuZ3RoKz1pO3RoaXMuX3N0cmVhbVNpbmsuZW5xdWV1ZSh7Zm5BcnJheTp0aGlzLmZuQXJyYXksYXJnc0FycmF5OnRoaXMuYXJnc0FycmF5LGxhc3RDaHVuazplLHNlcGFyYXRlQW5ub3RzOnQsbGVuZ3RoOml9LDEsdGhpcy5fdHJhbnNmZXJzKTt0aGlzLmRlcGVuZGVuY2llcy5jbGVhcigpO3RoaXMuZm5BcnJheS5sZW5ndGg9MDt0aGlzLmFyZ3NBcnJheS5sZW5ndGg9MDt0aGlzLndlaWdodD0wO3RoaXMub3B0aW1pemVyLnJlc2V0KCl9fWZ1bmN0aW9uIGRlY29kZUFuZENsYW1wKGUsdCxpLGEpeyhlPXQrZSppKTwwP2U9MDplPmEmJihlPWEpO3JldHVybiBlfWZ1bmN0aW9uIHJlc2l6ZUltYWdlTWFzayhlLHQsaSxhLHMscil7Y29uc3Qgbj1zKnI7bGV0IGc7Zz10PD04P25ldyBVaW50OEFycmF5KG4pOnQ8PTE2P25ldyBVaW50MTZBcnJheShuKTpuZXcgVWludDMyQXJyYXkobik7Y29uc3Qgbz1pL3MsYz1hL3I7bGV0IEMsaCxsLFEsRT0wO2NvbnN0IHU9bmV3IFVpbnQxNkFycmF5KHMpLGQ9aTtmb3IoQz0wO0M8cztDKyspdVtDXT1NYXRoLmZsb29yKEMqbyk7Zm9yKEM9MDtDPHI7QysrKXtsPU1hdGguZmxvb3IoQypjKSpkO2ZvcihoPTA7aDxzO2grKyl7UT1sK3VbaF07Z1tFKytdPWVbUV19fXJldHVybiBnfWNsYXNzIFBERkltYWdle2NvbnN0cnVjdG9yKHt4cmVmOmUscmVzOnQsaW1hZ2U6aSxpc0lubGluZTphPSExLHNtYXNrOnM9bnVsbCxtYXNrOnI9bnVsbCxpc01hc2s6bj0hMSxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSl7dGhpcy5pbWFnZT1pO2NvbnN0IGM9aS5kaWN0LEM9Yy5nZXQoIkYiLCJGaWx0ZXIiKTtsZXQgaDtpZihDIGluc3RhbmNlb2YgTmFtZSloPUMubmFtZTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoQykpe2NvbnN0IHQ9ZS5mZXRjaElmUmVmKENbMF0pO3QgaW5zdGFuY2VvZiBOYW1lJiYoaD10Lm5hbWUpfXN3aXRjaChoKXtjYXNlIkpQWERlY29kZSI6KHt3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodCxjb21wb25lbnRzQ291bnQ6aS5udW1Db21wcyxiaXRzUGVyQ29tcG9uZW50OmkuYml0c1BlckNvbXBvbmVudH09SnB4SW1hZ2UucGFyc2VJbWFnZVByb3BlcnRpZXMoaS5zdHJlYW0pKTtpLnN0cmVhbS5yZXNldCgpO3RoaXMuanB4RGVjb2Rlck9wdGlvbnM9e251bUNvbXBvbmVudHM6MCxpc0luZGV4ZWRDb2xvcm1hcDohMSxzbWFza0luRGF0YTpjLmhhcygiU01hc2tJbkRhdGEiKX07YnJlYWs7Y2FzZSJKQklHMkRlY29kZSI6aS5iaXRzUGVyQ29tcG9uZW50PTE7aS5udW1Db21wcz0xfWxldCBsPWMuZ2V0KCJXIiwiV2lkdGgiKSxRPWMuZ2V0KCJIIiwiSGVpZ2h0Iik7aWYoTnVtYmVyLmlzSW50ZWdlcihpLndpZHRoKSYmaS53aWR0aD4wJiZOdW1iZXIuaXNJbnRlZ2VyKGkuaGVpZ2h0KSYmaS5oZWlnaHQ+MCYmKGkud2lkdGghPT1sfHxpLmhlaWdodCE9PVEpKXt3YXJuKCJQREZJbWFnZSAtIHVzaW5nIHRoZSBXaWR0aC9IZWlnaHQgb2YgdGhlIGltYWdlIGRhdGEsIHJhdGhlciB0aGFuIHRoZSBpbWFnZSBkaWN0aW9uYXJ5LiIpO2w9aS53aWR0aDtRPWkuaGVpZ2h0fWlmKGw8MXx8UTwxKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBpbWFnZSB3aWR0aDogJHtsfSBvciBoZWlnaHQ6ICR7UX1gKTt0aGlzLndpZHRoPWw7dGhpcy5oZWlnaHQ9UTt0aGlzLmludGVycG9sYXRlPWMuZ2V0KCJJIiwiSW50ZXJwb2xhdGUiKTt0aGlzLmltYWdlTWFzaz1jLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITE7dGhpcy5tYXR0ZT1jLmdldCgiTWF0dGUiKXx8ITE7bGV0IEU9aS5iaXRzUGVyQ29tcG9uZW50O2lmKCFFKXtFPWMuZ2V0KCJCUEMiLCJCaXRzUGVyQ29tcG9uZW50Iik7aWYoIUUpe2lmKCF0aGlzLmltYWdlTWFzayl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJpdHMgcGVyIGNvbXBvbmVudCBtaXNzaW5nIGluIGltYWdlOiAke3RoaXMuaW1hZ2VNYXNrfWApO0U9MX19dGhpcy5icGM9RTtpZighdGhpcy5pbWFnZU1hc2spe2xldCBzPWMuZ2V0UmF3KCJDUyIpfHxjLmdldFJhdygiQ29sb3JTcGFjZSIpO2NvbnN0IHI9ISFzO2lmKHIpdGhpcy5qcHhEZWNvZGVyT3B0aW9ucz8uc21hc2tJbkRhdGEmJihzPU5hbWUuZ2V0KCJEZXZpY2VSR0JBIikpO2Vsc2UgaWYodGhpcy5qcHhEZWNvZGVyT3B0aW9ucylzPU5hbWUuZ2V0KCJEZXZpY2VSR0JBIik7ZWxzZSBzd2l0Y2goaS5udW1Db21wcyl7Y2FzZSAxOnM9TmFtZS5nZXQoIkRldmljZUdyYXkiKTticmVhaztjYXNlIDM6cz1OYW1lLmdldCgiRGV2aWNlUkdCIik7YnJlYWs7Y2FzZSA0OnM9TmFtZS5nZXQoIkRldmljZUNNWUsiKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgSW1hZ2VzIHdpdGggJHtpLm51bUNvbXBzfSBjb2xvciBjb21wb25lbnRzIG5vdCBzdXBwb3J0ZWQuYCl9dGhpcy5jb2xvclNwYWNlPUNvbG9yU3BhY2UucGFyc2Uoe2NzOnMseHJlZjplLHJlc291cmNlczphP3Q6bnVsbCxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSk7dGhpcy5udW1Db21wcz10aGlzLmNvbG9yU3BhY2UubnVtQ29tcHM7aWYodGhpcy5qcHhEZWNvZGVyT3B0aW9ucyl7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucy5udW1Db21wb25lbnRzPXI/dGhpcy5udW1Db21wOjA7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucy5pc0luZGV4ZWRDb2xvcm1hcD0iSW5kZXhlZCI9PT10aGlzLmNvbG9yU3BhY2UubmFtZX19dGhpcy5kZWNvZGU9Yy5nZXRBcnJheSgiRCIsIkRlY29kZSIpO3RoaXMubmVlZHNEZWNvZGU9ITE7aWYodGhpcy5kZWNvZGUmJih0aGlzLmNvbG9yU3BhY2UmJiF0aGlzLmNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLEUpfHxuJiYhQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUodGhpcy5kZWNvZGUsMSkpKXt0aGlzLm5lZWRzRGVjb2RlPSEwO2NvbnN0IGU9KDE8PEUpLTE7dGhpcy5kZWNvZGVDb2VmZmljaWVudHM9W107dGhpcy5kZWNvZGVBZGRlbmRzPVtdO2NvbnN0IHQ9IkluZGV4ZWQiPT09dGhpcy5jb2xvclNwYWNlPy5uYW1lO2ZvcihsZXQgaT0wLGE9MDtpPHRoaXMuZGVjb2RlLmxlbmd0aDtpKz0yLCsrYSl7Y29uc3Qgcz10aGlzLmRlY29kZVtpXSxyPXRoaXMuZGVjb2RlW2krMV07dGhpcy5kZWNvZGVDb2VmZmljaWVudHNbYV09dD8oci1zKS9lOnItczt0aGlzLmRlY29kZUFkZGVuZHNbYV09dD9zOmUqc319aWYocyl0aGlzLnNtYXNrPW5ldyBQREZJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOnMsaXNJbmxpbmU6YSxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSk7ZWxzZSBpZihyKWlmKHIgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtyLmRpY3QuZ2V0KCJJTSIsIkltYWdlTWFzayIpP3RoaXMubWFzaz1uZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpyLGlzSW5saW5lOmEsaXNNYXNrOiEwLHBkZkZ1bmN0aW9uRmFjdG9yeTpnLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm99KTp3YXJuKCJJZ25vcmluZyAvTWFzayBpbiBpbWFnZSB3aXRob3V0IC9JbWFnZU1hc2suIil9ZWxzZSB0aGlzLm1hc2s9cn1zdGF0aWMgYXN5bmMgYnVpbGRJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOmksaXNJbmxpbmU6YT0hMSxwZGZGdW5jdGlvbkZhY3Rvcnk6cyxsb2NhbENvbG9yU3BhY2VDYWNoZTpyfSl7Y29uc3Qgbj1pO2xldCBnPW51bGwsbz1udWxsO2NvbnN0IGM9aS5kaWN0LmdldCgiU01hc2siKSxDPWkuZGljdC5nZXQoIk1hc2siKTtjP2MgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2c9Yzp3YXJuKCJVbnN1cHBvcnRlZCAvU01hc2sgZm9ybWF0LiIpOkMmJihDIGluc3RhbmNlb2YgQmFzZVN0cmVhbXx8QXJyYXkuaXNBcnJheShDKT9vPUM6d2FybigiVW5zdXBwb3J0ZWQgL01hc2sgZm9ybWF0LiIpKTtyZXR1cm4gbmV3IFBERkltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6bixpc0lubGluZTphLHNtYXNrOmcsbWFzazpvLHBkZkZ1bmN0aW9uRmFjdG9yeTpzLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnJ9KX1zdGF0aWMgY3JlYXRlUmF3TWFzayh7aW1nQXJyYXk6ZSx3aWR0aDp0LGhlaWdodDppLGltYWdlSXNGcm9tRGVjb2RlU3RyZWFtOmEsaW52ZXJzZURlY29kZTpzLGludGVycG9sYXRlOnJ9KXtjb25zdCBuPSh0Kzc+PjMpKmksZz1lLmJ5dGVMZW5ndGg7bGV0IG8sYztpZighYXx8cyYmIShuPT09ZykpaWYocyl7bz1uZXcgVWludDhBcnJheShuKTtvLnNldChlKTtvLmZpbGwoMjU1LGcpfWVsc2Ugbz1uZXcgVWludDhBcnJheShlKTtlbHNlIG89ZTtpZihzKWZvcihjPTA7YzxnO2MrKylvW2NdXj0yNTU7cmV0dXJue2RhdGE6byx3aWR0aDp0LGhlaWdodDppLGludGVycG9sYXRlOnJ9fXN0YXRpYyBhc3luYyBjcmVhdGVNYXNrKHtpbWdBcnJheTplLHdpZHRoOnQsaGVpZ2h0OmksaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06YSxpbnZlcnNlRGVjb2RlOnMsaW50ZXJwb2xhdGU6cixpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpuPSExfSl7Y29uc3QgZz0xPT09dCYmMT09PWkmJnM9PT0oMD09PWUubGVuZ3RofHwhISgxMjgmZVswXSkpO2lmKGcpcmV0dXJue2lzU2luZ2xlT3BhcXVlUGl4ZWw6Z307aWYobil7aWYoSW1hZ2VSZXNpemVyLm5lZWRzVG9CZVJlc2l6ZWQodCxpKSl7Y29uc3QgYT1uZXcgVWludDhDbGFtcGVkQXJyYXkodCppKjQpO2NvbnZlcnRCbGFja0FuZFdoaXRlVG9SR0JBKHtzcmM6ZSxkZXN0OmEsd2lkdGg6dCxoZWlnaHQ6aSxub25CbGFja0NvbG9yOjAsaW52ZXJzZURlY29kZTpzfSk7cmV0dXJuIEltYWdlUmVzaXplci5jcmVhdGVJbWFnZSh7a2luZDpTLGRhdGE6YSx3aWR0aDp0LGhlaWdodDppLGludGVycG9sYXRlOnJ9KX1jb25zdCBhPW5ldyBPZmZzY3JlZW5DYW52YXModCxpKSxuPWEuZ2V0Q29udGV4dCgiMmQiKSxnPW4uY3JlYXRlSW1hZ2VEYXRhKHQsaSk7Y29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLGRlc3Q6Zy5kYXRhLHdpZHRoOnQsaGVpZ2h0Omksbm9uQmxhY2tDb2xvcjowLGludmVyc2VEZWNvZGU6c30pO24ucHV0SW1hZ2VEYXRhKGcsMCwwKTtyZXR1cm57ZGF0YTpudWxsLHdpZHRoOnQsaGVpZ2h0OmksaW50ZXJwb2xhdGU6cixiaXRtYXA6YS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKX19cmV0dXJuIHRoaXMuY3JlYXRlUmF3TWFzayh7aW1nQXJyYXk6ZSx3aWR0aDp0LGhlaWdodDppLGludmVyc2VEZWNvZGU6cyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTphLGludGVycG9sYXRlOnJ9KX1nZXQgZHJhd1dpZHRoKCl7cmV0dXJuIE1hdGgubWF4KHRoaXMud2lkdGgsdGhpcy5zbWFzaz8ud2lkdGh8fDAsdGhpcy5tYXNrPy53aWR0aHx8MCl9Z2V0IGRyYXdIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5oZWlnaHQsdGhpcy5zbWFzaz8uaGVpZ2h0fHwwLHRoaXMubWFzaz8uaGVpZ2h0fHwwKX1kZWNvZGVCdWZmZXIoZSl7Y29uc3QgdD10aGlzLmJwYyxpPXRoaXMubnVtQ29tcHMsYT10aGlzLmRlY29kZUFkZGVuZHMscz10aGlzLmRlY29kZUNvZWZmaWNpZW50cyxyPSgxPDx0KS0xO2xldCBuLGc7aWYoMT09PXQpe2ZvcihuPTAsZz1lLmxlbmd0aDtuPGc7bisrKWVbbl09KyFlW25dO3JldHVybn1sZXQgbz0wO2ZvcihuPTAsZz10aGlzLndpZHRoKnRoaXMuaGVpZ2h0O248ZztuKyspZm9yKGxldCB0PTA7dDxpO3QrKyl7ZVtvXT1kZWNvZGVBbmRDbGFtcChlW29dLGFbdF0sc1t0XSxyKTtvKyt9fWdldENvbXBvbmVudHMoZSl7Y29uc3QgdD10aGlzLmJwYztpZig4PT09dClyZXR1cm4gZTtjb25zdCBpPXRoaXMud2lkdGgsYT10aGlzLmhlaWdodCxzPXRoaXMubnVtQ29tcHMscj1pKmEqcztsZXQgbixnPTA7bj10PD04P25ldyBVaW50OEFycmF5KHIpOnQ8PTE2P25ldyBVaW50MTZBcnJheShyKTpuZXcgVWludDMyQXJyYXkocik7Y29uc3Qgbz1pKnMsYz0oMTw8dCktMTtsZXQgQyxoLGw9MDtpZigxPT09dCl7bGV0IHQsaSxzO2ZvcihsZXQgcj0wO3I8YTtyKyspe2k9bCsoLTgmbyk7cz1sK287Zm9yKDtsPGk7KXtoPWVbZysrXTtuW2xdPWg+PjcmMTtuW2wrMV09aD4+NiYxO25bbCsyXT1oPj41JjE7bltsKzNdPWg+PjQmMTtuW2wrNF09aD4+MyYxO25bbCs1XT1oPj4yJjE7bltsKzZdPWg+PjEmMTtuW2wrN109MSZoO2wrPTh9aWYobDxzKXtoPWVbZysrXTt0PTEyODtmb3IoO2w8czspe25bbCsrXT0rISEoaCZ0KTt0Pj49MX19fX1lbHNle2xldCBpPTA7aD0wO2ZvcihsPTAsQz1yO2w8QzsrK2wpe2lmKGwlbz09MCl7aD0wO2k9MH1mb3IoO2k8dDspe2g9aDw8OHxlW2crK107aSs9OH1jb25zdCBhPWktdDtsZXQgcz1oPj5hO3M8MD9zPTA6cz5jJiYocz1jKTtuW2xdPXM7aCY9KDE8PGEpLTE7aT1hfX1yZXR1cm4gbn1hc3luYyBmaWxsT3BhY2l0eShlLHQsaSxhLHMpe2NvbnN0IHI9dGhpcy5zbWFzayxuPXRoaXMubWFzaztsZXQgZyxvLGMsQyxoLGw7aWYocil7bz1yLndpZHRoO2M9ci5oZWlnaHQ7Zz1uZXcgVWludDhDbGFtcGVkQXJyYXkobypjKTthd2FpdCByLmZpbGxHcmF5QnVmZmVyKGcpO289PT10JiZjPT09aXx8KGc9cmVzaXplSW1hZ2VNYXNrKGcsci5icGMsbyxjLHQsaSkpfWVsc2UgaWYobilpZihuIGluc3RhbmNlb2YgUERGSW1hZ2Upe289bi53aWR0aDtjPW4uaGVpZ2h0O2c9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KG8qYyk7bi5udW1Db21wcz0xO2F3YWl0IG4uZmlsbEdyYXlCdWZmZXIoZyk7Zm9yKEM9MCxoPW8qYztDPGg7KytDKWdbQ109MjU1LWdbQ107bz09PXQmJmM9PT1pfHwoZz1yZXNpemVJbWFnZU1hc2soZyxuLmJwYyxvLGMsdCxpKSl9ZWxzZXtpZighQXJyYXkuaXNBcnJheShuKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gbWFzayBmb3JtYXQuIik7e2c9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHQqaSk7Y29uc3QgZT10aGlzLm51bUNvbXBzO2ZvcihDPTAsaD10Kmk7QzxoOysrQyl7bGV0IHQ9MDtjb25zdCBpPUMqZTtmb3IobD0wO2w8ZTsrK2wpe2NvbnN0IGU9c1tpK2xdLGE9MipsO2lmKGU8blthXXx8ZT5uW2ErMV0pe3Q9MjU1O2JyZWFrfX1nW0NdPXR9fX1pZihnKWZvcihDPTAsbD0zLGg9dCphO0M8aDsrK0MsbCs9NCllW2xdPWdbQ107ZWxzZSBmb3IoQz0wLGw9MyxoPXQqYTtDPGg7KytDLGwrPTQpZVtsXT0yNTV9dW5kb1ByZWJsZW5kKGUsdCxpKXtjb25zdCBhPXRoaXMuc21hc2s/Lm1hdHRlO2lmKCFhKXJldHVybjtjb25zdCBzPXRoaXMuY29sb3JTcGFjZS5nZXRSZ2IoYSwwKSxyPXNbMF0sbj1zWzFdLGc9c1syXSxvPXQqaSo0O2ZvcihsZXQgdD0wO3Q8bzt0Kz00KXtjb25zdCBpPWVbdCszXTtpZigwPT09aSl7ZVt0XT0yNTU7ZVt0KzFdPTI1NTtlW3QrMl09MjU1O2NvbnRpbnVlfWNvbnN0IGE9MjU1L2k7ZVt0XT0oZVt0XS1yKSphK3I7ZVt0KzFdPShlW3QrMV0tbikqYStuO2VbdCsyXT0oZVt0KzJdLWcpKmErZ319YXN5bmMgY3JlYXRlSW1hZ2VEYXRhKGU9ITEsdD0hMSl7Y29uc3QgaT10aGlzLmRyYXdXaWR0aCxhPXRoaXMuZHJhd0hlaWdodCxzPXt3aWR0aDppLGhlaWdodDphLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGUsa2luZDowLGRhdGE6bnVsbH0scj10aGlzLm51bUNvbXBzLG49dGhpcy53aWR0aCxnPXRoaXMuaGVpZ2h0LG89dGhpcy5icGMsYz1uKnIqbys3Pj4zLEM9dCYmSW1hZ2VSZXNpemVyLm5lZWRzVG9CZVJlc2l6ZWQoaSxhKTtpZigiRGV2aWNlUkdCQSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSl7cy5raW5kPVM7Y29uc3QgZT1zLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGcqbio0LHt9KTtyZXR1cm4gdD9DP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzLCExKTp0aGlzLmNyZWF0ZUJpdG1hcChTLGksYSxlKTpzfWlmKCFlKXtsZXQgZTsiRGV2aWNlR3JheSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSYmMT09PW8/ZT1iOiJEZXZpY2VSR0IiIT09dGhpcy5jb2xvclNwYWNlLm5hbWV8fDghPT1vfHx0aGlzLm5lZWRzRGVjb2RlfHwoZT1GKTtpZihlJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmaT09PW4mJmE9PT1nKXtjb25zdCByPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhnKmMse30pO2lmKHQpcmV0dXJuIEM/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHtkYXRhOnIsa2luZDplLHdpZHRoOmksaGVpZ2h0OmEsaW50ZXJwb2xhdGU6dGhpcy5pbnRlcnBvbGF0ZX0sdGhpcy5uZWVkc0RlY29kZSk6dGhpcy5jcmVhdGVCaXRtYXAoZSxuLGcscik7cy5raW5kPWU7cy5kYXRhPXI7aWYodGhpcy5uZWVkc0RlY29kZSl7YXNzZXJ0KGU9PT1iLCJQREZJbWFnZS5jcmVhdGVJbWFnZURhdGE6IFRoZSBpbWFnZSBtdXN0IGJlIGdyYXlzY2FsZS4iKTtjb25zdCB0PXMuZGF0YTtmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspdFtlXV49MjU1fXJldHVybiBzfWlmKHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmIXRoaXMubmVlZHNEZWNvZGUpe2xldCBlPWcqYztpZih0JiYhQyl7bGV0IHQ9ITE7c3dpdGNoKHRoaXMuY29sb3JTcGFjZS5uYW1lKXtjYXNlIkRldmljZUdyYXkiOmUqPTQ7dD0hMDticmVhaztjYXNlIkRldmljZVJHQiI6ZT1lLzMqNDt0PSEwO2JyZWFrO2Nhc2UiRGV2aWNlQ01ZSyI6dD0hMH1pZih0KXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhlLHtkcmF3V2lkdGg6aSxkcmF3SGVpZ2h0OmEsZm9yY2VSR0JBOiEwfSk7cmV0dXJuIHRoaXMuY3JlYXRlQml0bWFwKFMsaSxhLHQpfX1lbHNlIHN3aXRjaCh0aGlzLmNvbG9yU3BhY2UubmFtZSl7Y2FzZSJEZXZpY2VHcmF5IjplKj0zO2Nhc2UiRGV2aWNlUkdCIjpjYXNlIkRldmljZUNNWUsiOnMua2luZD1GO3MuZGF0YT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOmksZHJhd0hlaWdodDphLGZvcmNlUkdCOiEwfSk7cmV0dXJuIEM/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHMpOnN9fX1jb25zdCBoPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhnKmMse2ludGVybmFsOiEwfSksbD0wfGgubGVuZ3RoL2MqYS9nLFE9dGhpcy5nZXRDb21wb25lbnRzKGgpO2xldCBFLHUsZCxmLHAsbTtpZih0JiYhQyl7ZD1uZXcgT2Zmc2NyZWVuQ2FudmFzKGksYSk7Zj1kLmdldENvbnRleHQoIjJkIik7cD1mLmNyZWF0ZUltYWdlRGF0YShpLGEpO209cC5kYXRhfXMua2luZD1TO2lmKGV8fHRoaXMuc21hc2t8fHRoaXMubWFzayl7dCYmIUN8fChtPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqNCkpO0U9MTt1PSEwO2F3YWl0IHRoaXMuZmlsbE9wYWNpdHkobSxpLGEsbCxRKX1lbHNle2lmKCF0fHxDKXtzLmtpbmQ9RjttPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqMyk7RT0wfWVsc2V7bmV3IFVpbnQzMkFycmF5KG0uYnVmZmVyKS5maWxsKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzQyNzgxOTAwODA6MjU1KTtFPTF9dT0hMX10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihRKTt0aGlzLmNvbG9yU3BhY2UuZmlsbFJnYihtLG4sZyxpLGEsbCxvLFEsRSk7dSYmdGhpcy51bmRvUHJlYmxlbmQobSxpLGwpO2lmKHQmJiFDKXtmLnB1dEltYWdlRGF0YShwLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDppLGhlaWdodDphLGJpdG1hcDpkLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fXMuZGF0YT1tO3JldHVybiBDP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzKTpzfWFzeW5jIGZpbGxHcmF5QnVmZmVyKGUpe2NvbnN0IHQ9dGhpcy5udW1Db21wcztpZigxIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFJlYWRpbmcgZ3JheSBzY2FsZSBmcm9tIGEgY29sb3IgaW1hZ2U6ICR7dH1gKTtjb25zdCBpPXRoaXMud2lkdGgsYT10aGlzLmhlaWdodCxzPXRoaXMuYnBjLHI9aSp0KnMrNz4+MyxuPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhhKnIse2ludGVybmFsOiEwfSksZz10aGlzLmdldENvbXBvbmVudHMobik7bGV0IG8sYztpZigxPT09cyl7Yz1pKmE7aWYodGhpcy5uZWVkc0RlY29kZSlmb3Iobz0wO288YzsrK28pZVtvXT1nW29dLTEmMjU1O2Vsc2UgZm9yKG89MDtvPGM7KytvKWVbb109MjU1Ji1nW29dO3JldHVybn10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihnKTtjPWkqYTtjb25zdCBDPTI1NS8oKDE8PHMpLTEpO2ZvcihvPTA7bzxjOysrbyllW29dPUMqZ1tvXX1jcmVhdGVCaXRtYXAoZSx0LGksYSl7Y29uc3Qgcz1uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsaSkscj1zLmdldENvbnRleHQoIjJkIik7bGV0IG47aWYoZT09PVMpbj1uZXcgSW1hZ2VEYXRhKGEsdCxpKTtlbHNle249ci5jcmVhdGVJbWFnZURhdGEodCxpKTtjb252ZXJ0VG9SR0JBKHtraW5kOmUsc3JjOmEsZGVzdDpuZXcgVWludDMyQXJyYXkobi5kYXRhLmJ1ZmZlciksd2lkdGg6dCxoZWlnaHQ6aSxpbnZlcnNlRGVjb2RlOnRoaXMubmVlZHNEZWNvZGV9KX1yLnB1dEltYWdlRGF0YShuLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDp0LGhlaWdodDppLGJpdG1hcDpzLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fWFzeW5jIGdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOnQsZHJhd0hlaWdodDppLGZvcmNlUkdCQTphPSExLGZvcmNlUkdCOnM9ITEsaW50ZXJuYWw6cj0hMX0pe3RoaXMuaW1hZ2UucmVzZXQoKTt0aGlzLmltYWdlLmRyYXdXaWR0aD10fHx0aGlzLndpZHRoO3RoaXMuaW1hZ2UuZHJhd0hlaWdodD1pfHx0aGlzLmhlaWdodDt0aGlzLmltYWdlLmZvcmNlUkdCQT0hIWE7dGhpcy5pbWFnZS5mb3JjZVJHQj0hIXM7Y29uc3Qgbj1hd2FpdCB0aGlzLmltYWdlLmdldEltYWdlRGF0YShlLHRoaXMuanB4RGVjb2Rlck9wdGlvbnMpO2lmKHJ8fHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0pcmV0dXJuIG47YXNzZXJ0KG4gaW5zdGFuY2VvZiBVaW50OEFycmF5LCdQREZJbWFnZS5nZXRJbWFnZUJ5dGVzOiBVbnN1cHBvcnRlZCAiaW1hZ2VCeXRlcyIgdHlwZS4nKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9fWNvbnN0IFJzPU9iamVjdC5mcmVlemUoe21heEltYWdlU2l6ZTotMSxkaXNhYmxlRm9udEZhY2U6ITEsaWdub3JlRXJyb3JzOiExLGlzRXZhbFN1cHBvcnRlZDohMCxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDohMSxjYW52YXNNYXhBcmVhSW5CeXRlczotMSxmb250RXh0cmFQcm9wZXJ0aWVzOiExLHVzZVN5c3RlbUZvbnRzOiEwLGNNYXBVcmw6bnVsbCxzdGFuZGFyZEZvbnREYXRhVXJsOm51bGx9KSxOcz0xLEdzPTIseHM9UHJvbWlzZS5yZXNvbHZlKCk7ZnVuY3Rpb24gbm9ybWFsaXplQmxlbmRNb2RlKGUsdD0hMSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT1ub3JtYWxpemVCbGVuZE1vZGUodCwhMCk7aWYoZSlyZXR1cm4gZX13YXJuKGBVbnN1cHBvcnRlZCBibGVuZCBtb2RlIEFycmF5OiAke2V9YCk7cmV0dXJuInNvdXJjZS1vdmVyIn1pZighKGUgaW5zdGFuY2VvZiBOYW1lKSlyZXR1cm4gdD9udWxsOiJzb3VyY2Utb3ZlciI7c3dpdGNoKGUubmFtZSl7Y2FzZSJOb3JtYWwiOmNhc2UiQ29tcGF0aWJsZSI6cmV0dXJuInNvdXJjZS1vdmVyIjtjYXNlIk11bHRpcGx5IjpyZXR1cm4ibXVsdGlwbHkiO2Nhc2UiU2NyZWVuIjpyZXR1cm4ic2NyZWVuIjtjYXNlIk92ZXJsYXkiOnJldHVybiJvdmVybGF5IjtjYXNlIkRhcmtlbiI6cmV0dXJuImRhcmtlbiI7Y2FzZSJMaWdodGVuIjpyZXR1cm4ibGlnaHRlbiI7Y2FzZSJDb2xvckRvZGdlIjpyZXR1cm4iY29sb3ItZG9kZ2UiO2Nhc2UiQ29sb3JCdXJuIjpyZXR1cm4iY29sb3ItYnVybiI7Y2FzZSJIYXJkTGlnaHQiOnJldHVybiJoYXJkLWxpZ2h0IjtjYXNlIlNvZnRMaWdodCI6cmV0dXJuInNvZnQtbGlnaHQiO2Nhc2UiRGlmZmVyZW5jZSI6cmV0dXJuImRpZmZlcmVuY2UiO2Nhc2UiRXhjbHVzaW9uIjpyZXR1cm4iZXhjbHVzaW9uIjtjYXNlIkh1ZSI6cmV0dXJuImh1ZSI7Y2FzZSJTYXR1cmF0aW9uIjpyZXR1cm4ic2F0dXJhdGlvbiI7Y2FzZSJDb2xvciI6cmV0dXJuImNvbG9yIjtjYXNlIkx1bWlub3NpdHkiOnJldHVybiJsdW1pbm9zaXR5In1pZih0KXJldHVybiBudWxsO3dhcm4oYFVuc3VwcG9ydGVkIGJsZW5kIG1vZGU6ICR7ZS5uYW1lfWApO3JldHVybiJzb3VyY2Utb3ZlciJ9ZnVuY3Rpb24gYWRkTG9jYWxseUNhY2hlZEltYWdlT3BzKGUsdCl7dC5vYmpJZCYmZS5hZGREZXBlbmRlbmN5KHQub2JqSWQpO2UuYWRkSW1hZ2VPcHModC5mbix0LmFyZ3MsdC5vcHRpb25hbENvbnRlbnQpO3QuZm49PT1aZSYmdC5hcmdzWzBdPy5jb3VudD4wJiZ0LmFyZ3NbMF0uY291bnQrK31jbGFzcyBUaW1lU2xvdE1hbmFnZXJ7c3RhdGljIFRJTUVfU0xPVF9EVVJBVElPTl9NUz0yMDtzdGF0aWMgQ0hFQ0tfVElNRV9FVkVSWT0xMDA7Y29uc3RydWN0b3IoKXt0aGlzLnJlc2V0KCl9Y2hlY2soKXtpZigrK3RoaXMuY2hlY2tlZDxUaW1lU2xvdE1hbmFnZXIuQ0hFQ0tfVElNRV9FVkVSWSlyZXR1cm4hMTt0aGlzLmNoZWNrZWQ9MDtyZXR1cm4gdGhpcy5lbmRUaW1lPD1EYXRlLm5vdygpfXJlc2V0KCl7dGhpcy5lbmRUaW1lPURhdGUubm93KCkrVGltZVNsb3RNYW5hZ2VyLlRJTUVfU0xPVF9EVVJBVElPTl9NUzt0aGlzLmNoZWNrZWQ9MH19Y2xhc3MgUGFydGlhbEV2YWx1YXRvcntjb25zdHJ1Y3Rvcih7eHJlZjplLGhhbmRsZXI6dCxwYWdlSW5kZXg6aSxpZEZhY3Rvcnk6YSxmb250Q2FjaGU6cyxidWlsdEluQ01hcENhY2hlOnIsc3RhbmRhcmRGb250RGF0YUNhY2hlOm4sZ2xvYmFsSW1hZ2VDYWNoZTpnLHN5c3RlbUZvbnRDYWNoZTpvLG9wdGlvbnM6Yz1udWxsfSl7dGhpcy54cmVmPWU7dGhpcy5oYW5kbGVyPXQ7dGhpcy5wYWdlSW5kZXg9aTt0aGlzLmlkRmFjdG9yeT1hO3RoaXMuZm9udENhY2hlPXM7dGhpcy5idWlsdEluQ01hcENhY2hlPXI7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bjt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9Zzt0aGlzLnN5c3RlbUZvbnRDYWNoZT1vO3RoaXMub3B0aW9ucz1jfHxSczt0aGlzLnR5cGUzRm9udFJlZnM9bnVsbDt0aGlzLl9yZWdpb25hbEltYWdlQ2FjaGU9bmV3IFJlZ2lvbmFsSW1hZ2VDYWNoZTt0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQ9dGhpcy5mZXRjaEJ1aWx0SW5DTWFwLmJpbmQodGhpcyk7SW1hZ2VSZXNpemVyLnNldE1heEFyZWEodGhpcy5vcHRpb25zLmNhbnZhc01heEFyZWFJbkJ5dGVzKX1nZXQgX3BkZkZ1bmN0aW9uRmFjdG9yeSgpe3JldHVybiBzaGFkb3codGhpcywiX3BkZkZ1bmN0aW9uRmFjdG9yeSIsbmV3IFBERkZ1bmN0aW9uRmFjdG9yeSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMub3B0aW9ucy5pc0V2YWxTdXBwb3J0ZWR9KSl9Z2V0IHBhcnNpbmdUeXBlM0ZvbnQoKXtyZXR1cm4hIXRoaXMudHlwZTNGb250UmVmc31jbG9uZShlPW51bGwpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZSh0aGlzKTt0Lm9wdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMub3B0aW9ucyxlKTtyZXR1cm4gdH1oYXNCbGVuZE1vZGVzKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5vYmpJZCYmdC5oYXMoZS5vYmpJZCkpcmV0dXJuITE7Y29uc3QgaT1uZXcgUmVmU2V0KHQpO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IGE9W2VdLHM9dGhpcy54cmVmO2Zvcig7YS5sZW5ndGg7KXtjb25zdCBlPWEuc2hpZnQoKSx0PWUuZ2V0KCJFeHRHU3RhdGUiKTtpZih0IGluc3RhbmNlb2YgRGljdClmb3IobGV0IGUgb2YgdC5nZXRSYXdWYWx1ZXMoKSl7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoaS5oYXMoZSkpY29udGludWU7dHJ5e2U9cy5mZXRjaChlKX1jYXRjaCh0KXtpLnB1dChlKTtpbmZvKGBoYXNCbGVuZE1vZGVzIC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHt0fSIuYCk7Y29udGludWV9fWlmKCEoZSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IHQ9ZS5nZXQoIkJNIik7aWYodCBpbnN0YW5jZW9mIE5hbWUpe2lmKCJOb3JtYWwiIT09dC5uYW1lKXJldHVybiEwfWVsc2UgaWYodm9pZCAwIT09dCYmQXJyYXkuaXNBcnJheSh0KSlmb3IoY29uc3QgZSBvZiB0KWlmKGUgaW5zdGFuY2VvZiBOYW1lJiYiTm9ybWFsIiE9PWUubmFtZSlyZXR1cm4hMH1jb25zdCByPWUuZ2V0KCJYT2JqZWN0Iik7aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGxldCBlIG9mIHIuZ2V0UmF3VmFsdWVzKCkpe2lmKGUgaW5zdGFuY2VvZiBSZWYpe2lmKGkuaGFzKGUpKWNvbnRpbnVlO3RyeXtlPXMuZmV0Y2goZSl9Y2F0Y2godCl7aS5wdXQoZSk7aW5mbyhgaGFzQmxlbmRNb2RlcyAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke3R9Ii5gKTtjb250aW51ZX19aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpY29udGludWU7ZS5kaWN0Lm9iaklkJiZpLnB1dChlLmRpY3Qub2JqSWQpO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYodCBpbnN0YW5jZW9mIERpY3QmJighdC5vYmpJZHx8IWkuaGFzKHQub2JqSWQpKSl7YS5wdXNoKHQpO3Qub2JqSWQmJmkucHV0KHQub2JqSWQpfX19Zm9yKGNvbnN0IGUgb2YgaSl0LnB1dChlKTtyZXR1cm4hMX1hc3luYyBmZXRjaEJ1aWx0SW5DTWFwKGUpe2NvbnN0IHQ9dGhpcy5idWlsdEluQ01hcENhY2hlLmdldChlKTtpZih0KXJldHVybiB0O2xldCBpO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuY01hcFVybCl7Y29uc3QgdD1gJHt0aGlzLm9wdGlvbnMuY01hcFVybH0ke2V9LmJjbWFwYCxhPWF3YWl0IGZldGNoKHQpO2lmKCFhLm9rKXRocm93IG5ldyBFcnJvcihgZmV0Y2hCdWlsdEluQ01hcDogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7dH0iIHdpdGggIiR7YS5zdGF0dXNUZXh0fSIuYCk7aT17Y01hcERhdGE6bmV3IFVpbnQ4QXJyYXkoYXdhaXQgYS5hcnJheUJ1ZmZlcigpKSxjb21wcmVzc2lvblR5cGU6eUEuQklOQVJZfX1lbHNlIGk9YXdhaXQgdGhpcy5oYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiRmV0Y2hCdWlsdEluQ01hcCIse25hbWU6ZX0pO2kuY29tcHJlc3Npb25UeXBlIT09eUEuTk9ORSYmdGhpcy5idWlsdEluQ01hcENhY2hlLnNldChlLGkpO3JldHVybiBpfWFzeW5jIGZldGNoU3RhbmRhcmRGb250RGF0YShlKXtjb25zdCB0PXRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmdldChlKTtpZih0KXJldHVybiBuZXcgU3RyZWFtKHQpO2lmKHRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmIlN5bWJvbCIhPT1lJiYiWmFwZkRpbmdiYXRzIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1WaSgpW2VdO2xldCBhO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCl7Y29uc3QgZT1gJHt0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybH0ke2l9YCx0PWF3YWl0IGZldGNoKGUpO3Qub2s/YT1uZXcgVWludDhBcnJheShhd2FpdCB0LmFycmF5QnVmZmVyKCkpOndhcm4oYGZldGNoU3RhbmRhcmRGb250RGF0YTogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7ZX0iIHdpdGggIiR7dC5zdGF0dXNUZXh0fSIuYCl9ZWxzZSB0cnl7YT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaFN0YW5kYXJkRm9udERhdGEiLHtmaWxlbmFtZTppfSl9Y2F0Y2goZSl7d2FybihgZmV0Y2hTdGFuZGFyZEZvbnREYXRhOiBmYWlsZWQgdG8gZmV0Y2ggZmlsZSAiJHtpfSIgd2l0aCAiJHtlfSIuYCl9aWYoIWEpcmV0dXJuIG51bGw7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUuc2V0KGUsYSk7cmV0dXJuIG5ldyBTdHJlYW0oYSl9YXN5bmMgYnVpbGRGb3JtWE9iamVjdChlLHQsaSxhLHMscixuKXtjb25zdCBnPXQuZGljdCxvPWxvb2t1cE1hdHJpeChnLmdldEFycmF5KCJNYXRyaXgiKSxudWxsKSxjPWxvb2t1cE5vcm1hbFJlY3QoZy5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBDLGg7Zy5oYXMoIk9DIikmJihDPWF3YWl0IHRoaXMucGFyc2VNYXJrZWRDb250ZW50UHJvcHMoZy5nZXQoIk9DIiksZSkpO3ZvaWQgMCE9PUMmJmEuYWRkT3AoWWUsWyJPQyIsQ10pO2NvbnN0IGw9Zy5nZXQoIkdyb3VwIik7aWYobCl7aD17bWF0cml4Om8sYmJveDpjLHNtYXNrOmksaXNvbGF0ZWQ6ITEsa25vY2tvdXQ6ITF9O2xldCB0PW51bGw7aWYoaXNOYW1lKGwuZ2V0KCJTIiksIlRyYW5zcGFyZW5jeSIpKXtoLmlzb2xhdGVkPWwuZ2V0KCJJIil8fCExO2gua25vY2tvdXQ9bC5nZXQoIksiKXx8ITE7aWYobC5oYXMoIkNTIikpe2NvbnN0IGk9bC5nZXRSYXcoIkNTIiksYT1Db2xvclNwYWNlLmdldENhY2hlZChpLHRoaXMueHJlZixuKTt0PWF8fGF3YWl0IHRoaXMucGFyc2VDb2xvclNwYWNlKHtjczppLHJlc291cmNlczplLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KX19aWYoaT8uYmFja2Ryb3Ape3R8fD1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2kuYmFja2Ryb3A9dC5nZXRSZ2IoaS5iYWNrZHJvcCwwKX1hLmFkZE9wKFBlLFtoXSl9Y29uc3QgUT1sP1tvLG51bGxdOltvLGNdO2EuYWRkT3AocWUsUSk7YXdhaXQgdGhpcy5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6cyxyZXNvdXJjZXM6Zy5nZXQoIlJlc291cmNlcyIpfHxlLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpyfSk7YS5hZGRPcChPZSxbXSk7bCYmYS5hZGRPcChXZSxbaF0pO3ZvaWQgMCE9PUMmJmEuYWRkT3AodmUsW10pfV9zZW5kSW1nRGF0YShlLHQsaT0hMSl7Y29uc3QgYT10P1t0LmJpdG1hcHx8dC5kYXRhLmJ1ZmZlcl06bnVsbDtyZXR1cm4gdGhpcy5wYXJzaW5nVHlwZTNGb250fHxpP3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtlLCJJbWFnZSIsdF0sYSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW2UsdGhpcy5wYWdlSW5kZXgsIkltYWdlIix0XSxhKX1hc3luYyBidWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmk9ITEsb3BlcmF0b3JMaXN0OmEsY2FjaGVLZXk6cyxsb2NhbEltYWdlQ2FjaGU6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpufSl7Y29uc3QgZz10LmRpY3Qsbz1nLm9iaklkLGM9Zy5nZXQoIlciLCJXaWR0aCIpLEM9Zy5nZXQoIkgiLCJIZWlnaHQiKTtpZighY3x8Im51bWJlciIhPXR5cGVvZiBjfHwhQ3x8Im51bWJlciIhPXR5cGVvZiBDKXt3YXJuKCJJbWFnZSBkaW1lbnNpb25zIGFyZSBtaXNzaW5nLCBvciBub3QgbnVtYmVycy4iKTtyZXR1cm59Y29uc3QgaD10aGlzLm9wdGlvbnMubWF4SW1hZ2VTaXplO2lmKC0xIT09aCYmYypDPmgpe2NvbnN0IGU9IkltYWdlIGV4Y2VlZGVkIG1heGltdW0gYWxsb3dlZCBzaXplIGFuZCB3YXMgcmVtb3ZlZC4iO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oZSk7cmV0dXJufXRocm93IG5ldyBFcnJvcihlKX1sZXQgbDtnLmhhcygiT0MiKSYmKGw9YXdhaXQgdGhpcy5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhnLmdldCgiT0MiKSxlKSk7bGV0IFEsRTtpZihnLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITEpe2NvbnN0IGU9Zy5nZXQoIkkiLCJJbnRlcnBvbGF0ZSIpLGk9Yys3Pj4zLG49dC5nZXRCeXRlcyhpKkMpLGg9Zy5nZXRBcnJheSgiRCIsIkRlY29kZSIpO2lmKHRoaXMucGFyc2luZ1R5cGUzRm9udCl7UT1QREZJbWFnZS5jcmVhdGVSYXdNYXNrKHtpbWdBcnJheTpuLHdpZHRoOmMsaGVpZ2h0OkMsaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06dCBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSxpbnZlcnNlRGVjb2RlOmg/LlswXT4wLGludGVycG9sYXRlOmV9KTtRLmNhY2hlZD0hIXM7RT1bUV07YS5hZGRJbWFnZU9wcyhaZSxFLGwpO2lmKHMpe2NvbnN0IGU9e2ZuOlplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1RPWF3YWl0IFBERkltYWdlLmNyZWF0ZU1hc2soe2ltZ0FycmF5Om4sd2lkdGg6YyxoZWlnaHQ6QyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTp0IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtLGludmVyc2VEZWNvZGU6aD8uWzBdPjAsaW50ZXJwb2xhdGU6ZSxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDp0aGlzLm9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR9KTtpZihRLmlzU2luZ2xlT3BhcXVlUGl4ZWwpe2EuYWRkSW1hZ2VPcHModHQsW10sbCk7aWYocyl7Y29uc3QgZT17Zm46dHQsYXJnczpbXSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1jb25zdCB1PWBtYXNrXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO2EuYWRkRGVwZW5kZW5jeSh1KTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7dGhpcy5fc2VuZEltZ0RhdGEodSxRKTtFPVt7ZGF0YTp1LHdpZHRoOlEud2lkdGgsaGVpZ2h0OlEuaGVpZ2h0LGludGVycG9sYXRlOlEuaW50ZXJwb2xhdGUsY291bnQ6MX1dO2EuYWRkSW1hZ2VPcHMoWmUsRSxsKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOlplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1pZihpJiZjK0M8MjAwJiYhZy5oYXMoIlNNYXNrIikmJiFnLmhhcygiTWFzayIpKXt0cnl7Y29uc3Qgcz1uZXcgUERGSW1hZ2Uoe3hyZWY6dGhpcy54cmVmLHJlczplLGltYWdlOnQsaXNJbmxpbmU6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KTtRPWF3YWl0IHMuY3JlYXRlSW1hZ2VEYXRhKCEwLCExKTthLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPXRoaXMub3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDthLmFkZEltYWdlT3BzKF9lLFtRXSxsKX1jYXRjaChlKXtjb25zdCB0PWBVbmFibGUgdG8gZGVjb2RlIGlubGluZSBpbWFnZTogIiR7ZX0iLmA7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgbmV3IEVycm9yKHQpO3dhcm4odCl9cmV0dXJufWxldCB1PWBpbWdfJHt0aGlzLmlkRmFjdG9yeS5jcmVhdGVPYmpJZCgpfWAsZD0hMTtpZih0aGlzLnBhcnNpbmdUeXBlM0ZvbnQpdT1gJHt0aGlzLmlkRmFjdG9yeS5nZXREb2NJZCgpfV90eXBlM18ke3V9YDtlbHNlIGlmKHMmJm8pe2Q9dGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNob3VsZENhY2hlKG8sdGhpcy5wYWdlSW5kZXgpO2lmKGQpe2Fzc2VydCghaSwiQ2Fubm90IGNhY2hlIGFuIGlubGluZSBpbWFnZSBnbG9iYWxseS4iKTt1PWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9XyR7dX1gfX1hLmFkZERlcGVuZGVuY3kodSk7RT1bdSxjLENdO2EuYWRkSW1hZ2VPcHMoemUsRSxsKTtpZihkKXtpZih0aGlzLmdsb2JhbEltYWdlQ2FjaGUuaGFzRGVjb2RlRmFpbGVkKG8pKXt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YShvLHtvYmpJZDp1LGZuOnplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bCxieXRlU2l6ZTowfSk7dGhpcy5fc2VuZEltZ0RhdGEodSxudWxsLGQpO3JldHVybn1pZihjKkM+MjVlNHx8Zy5oYXMoIlNNYXNrIil8fGcuaGFzKCJNYXNrIikpe2NvbnN0IGU9YXdhaXQgdGhpcy5oYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiY29tbW9ub2JqIixbdSwiQ29weUxvY2FsSW1hZ2UiLHtpbWFnZVJlZjpvfV0pO2lmKGUpe3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46emUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxlKTtyZXR1cm59fX1QREZJbWFnZS5idWlsZEltYWdlKHt4cmVmOnRoaXMueHJlZixyZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmkscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTpufSkudGhlbigoYXN5bmMgZT0+e1E9YXdhaXQgZS5jcmVhdGVJbWFnZURhdGEoITEsdGhpcy5vcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7US5yZWY9bztkJiZ0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxRLmRhdGFMZW4pO3JldHVybiB0aGlzLl9zZW5kSW1nRGF0YSh1LFEsZCl9KSkuY2F0Y2goKGU9Pnt3YXJuKGBVbmFibGUgdG8gZGVjb2RlIGltYWdlICIke3V9IjogIiR7ZX0iLmApO28mJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGREZWNvZGVGYWlsZWQobyk7cmV0dXJuIHRoaXMuX3NlbmRJbWdEYXRhKHUsbnVsbCxkKX0pKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOnplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO2lmKG8pe3RoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpO2QmJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46emUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KX19fWhhbmRsZVNNYXNrKGUsdCxpLGEscyxyKXtjb25zdCBuPWUuZ2V0KCJHIiksZz17c3VidHlwZTplLmdldCgiUyIpLm5hbWUsYmFja2Ryb3A6ZS5nZXQoIkJDIil9LG89ZS5nZXQoIlRSIik7aWYoaXNQREZGdW5jdGlvbihvKSl7Y29uc3QgZT10aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnkuY3JlYXRlKG8pLHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPW5ldyBGbG9hdDMyQXJyYXkoMSk7Zm9yKGxldCBhPTA7YTwyNTY7YSsrKXtpWzBdPWEvMjU1O2UoaSwwLGksMCk7dFthXT0yNTUqaVswXXwwfWcudHJhbnNmZXJNYXA9dH1yZXR1cm4gdGhpcy5idWlsZEZvcm1YT2JqZWN0KHQsbixnLGksYSxzLnN0YXRlLmNsb25lKCkscil9aGFuZGxlVHJhbnNmZXJGdW5jdGlvbihlKXtsZXQgdDtpZihBcnJheS5pc0FycmF5KGUpKXQ9ZTtlbHNle2lmKCFpc1BERkZ1bmN0aW9uKGUpKXJldHVybiBudWxsO3Q9W2VdfWNvbnN0IGk9W107bGV0IGE9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2hJZlJlZihlKTthKys7aWYoaXNOYW1lKHQsIklkZW50aXR5Iikpe2kucHVzaChudWxsKTtjb250aW51ZX1pZighaXNQREZGdW5jdGlvbih0KSlyZXR1cm4gbnVsbDtjb25zdCByPXRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeS5jcmVhdGUodCksbj1uZXcgVWludDhBcnJheSgyNTYpLGc9bmV3IEZsb2F0MzJBcnJheSgxKTtmb3IobGV0IGU9MDtlPDI1NjtlKyspe2dbMF09ZS8yNTU7cihnLDAsZywwKTtuW2VdPTI1NSpnWzBdfDB9aS5wdXNoKG4pO3MrK31yZXR1cm4gMSE9PWEmJjQhPT1hfHwwPT09cz9udWxsOml9aGFuZGxlVGlsaW5nVHlwZShlLHQsaSxhLHMscixuLGcpe2NvbnN0IG89bmV3IE9wZXJhdG9yTGlzdCxjPURpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTpbcy5nZXQoIlJlc291cmNlcyIpLGldfSk7cmV0dXJuIHRoaXMuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06YSx0YXNrOm4scmVzb3VyY2VzOmMsb3BlcmF0b3JMaXN0Om99KS50aGVuKChmdW5jdGlvbigpe2NvbnN0IGk9by5nZXRJUigpLGE9Z2V0VGlsaW5nUGF0dGVybklSKGkscyx0KTtyLmFkZERlcGVuZGVuY2llcyhvLmRlcGVuZGVuY2llcyk7ci5hZGRPcChlLGEpO3Mub2JqSWQmJmcuc2V0KG51bGwscy5vYmpJZCx7b3BlcmF0b3JMaXN0SVI6aSxkaWN0OnN9KX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBoYW5kbGVUaWxpbmdUeXBlIC0gaWdub3JpbmcgcGF0dGVybjogIiR7ZX0iLmApfX0pKX1hc3luYyBoYW5kbGVTZXRGb250KGUsdCxpLGEscyxyLG49bnVsbCxnPW51bGwpe2NvbnN0IG89dD8uWzBdaW5zdGFuY2VvZiBOYW1lP3RbMF0ubmFtZTpudWxsO2xldCBjPWF3YWl0IHRoaXMubG9hZEZvbnQobyxpLGUsbixnKTtpZihjLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IGMubG9hZFR5cGUzRGF0YSh0aGlzLGUscyk7YS5hZGREZXBlbmRlbmNpZXMoYy50eXBlM0RlcGVuZGVuY2llcyl9Y2F0Y2goZSl7Yz1uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBUeXBlMyBmb250IGxvYWQgZXJyb3I6ICR7ZX1gKSxkaWN0OmMuZm9udCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pfXIuZm9udD1jLmZvbnQ7Yy5zZW5kKHRoaXMuaGFuZGxlcik7cmV0dXJuIGMubG9hZGVkTmFtZX1oYW5kbGVUZXh0KGUsdCl7Y29uc3QgaT10LmZvbnQsYT1pLmNoYXJzVG9HbHlwaHMoZSk7aWYoaS5kYXRhKXsoISEodC50ZXh0UmVuZGVyaW5nTW9kZSZEKXx8IlBhdHRlcm4iPT09dC5maWxsQ29sb3JTcGFjZS5uYW1lfHxpLmRpc2FibGVGb250RmFjZXx8dGhpcy5vcHRpb25zLmRpc2FibGVGb250RmFjZSkmJlBhcnRpYWxFdmFsdWF0b3IuYnVpbGRGb250UGF0aHMoaSxhLHRoaXMuaGFuZGxlcix0aGlzLm9wdGlvbnMpfXJldHVybiBhfWVuc3VyZVN0YXRlRm9udChlKXtpZihlLmZvbnQpcmV0dXJuO2NvbnN0IHQ9bmV3IEZvcm1hdEVycm9yKCJNaXNzaW5nIHNldEZvbnQgKFRmKSBvcGVyYXRvciBiZWZvcmUgdGV4dCByZW5kZXJpbmcgb3BlcmF0b3IuIik7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgdDt3YXJuKGBlbnN1cmVTdGF0ZUZvbnQ6ICIke3R9Ii5gKX1hc3luYyBzZXRHU3RhdGUoe3Jlc291cmNlczplLGdTdGF0ZTp0LG9wZXJhdG9yTGlzdDppLGNhY2hlS2V5OmEsdGFzazpzLHN0YXRlTWFuYWdlcjpyLGxvY2FsR1N0YXRlQ2FjaGU6bixsb2NhbENvbG9yU3BhY2VDYWNoZTpnfSl7Y29uc3Qgbz10Lm9iaklkO2xldCBjPSEwO2NvbnN0IEM9W107bGV0IGg9UHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGNvbnN0IGEgb2YgdC5nZXRLZXlzKCkpe2NvbnN0IG49dC5nZXQoYSk7c3dpdGNoKGEpe2Nhc2UiVHlwZSI6YnJlYWs7Y2FzZSJMVyI6Y2FzZSJMQyI6Y2FzZSJMSiI6Y2FzZSJNTCI6Y2FzZSJEIjpjYXNlIlJJIjpjYXNlIkZMIjpjYXNlIkNBIjpjYXNlImNhIjpDLnB1c2goW2Esbl0pO2JyZWFrO2Nhc2UiRm9udCI6Yz0hMTtoPWgudGhlbigoKCk9PnRoaXMuaGFuZGxlU2V0Rm9udChlLG51bGwsblswXSxpLHMsci5zdGF0ZSkudGhlbigoZnVuY3Rpb24oZSl7aS5hZGREZXBlbmRlbmN5KGUpO0MucHVzaChbYSxbZSxuWzFdXV0pfSkpKSk7YnJlYWs7Y2FzZSJCTSI6Qy5wdXNoKFthLG5vcm1hbGl6ZUJsZW5kTW9kZShuKV0pO2JyZWFrO2Nhc2UiU01hc2siOmlmKGlzTmFtZShuLCJOb25lIikpe0MucHVzaChbYSwhMV0pO2JyZWFrfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjPSExO2g9aC50aGVuKCgoKT0+dGhpcy5oYW5kbGVTTWFzayhuLGUsaSxzLHIsZykpKTtDLnB1c2goW2EsITBdKX1lbHNlIHdhcm4oIlVuc3VwcG9ydGVkIFNNYXNrIHR5cGUiKTticmVhaztjYXNlIlRSIjpjb25zdCB0PXRoaXMuaGFuZGxlVHJhbnNmZXJGdW5jdGlvbihuKTtDLnB1c2goW2EsdF0pO2JyZWFrO2Nhc2UiT1AiOmNhc2Uib3AiOmNhc2UiT1BNIjpjYXNlIkJHIjpjYXNlIkJHMiI6Y2FzZSJVQ1IiOmNhc2UiVUNSMiI6Y2FzZSJUUjIiOmNhc2UiSFQiOmNhc2UiU00iOmNhc2UiU0EiOmNhc2UiQUlTIjpjYXNlIlRLIjppbmZvKCJncmFwaGljIHN0YXRlIG9wZXJhdG9yICIrYSk7YnJlYWs7ZGVmYXVsdDppbmZvKCJVbmtub3duIGdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgIithKX19YXdhaXQgaDtDLmxlbmd0aD4wJiZpLmFkZE9wKEdBLFtDXSk7YyYmbi5zZXQoYSxvLEMpfWxvYWRGb250KGUsdCxpLGE9bnVsbCxzPW51bGwpe2NvbnN0IGVycm9yRm9udD1hc3luYygpPT5uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pO2xldCByO2lmKHQpdCBpbnN0YW5jZW9mIFJlZiYmKHI9dCk7ZWxzZXtjb25zdCB0PWkuZ2V0KCJGb250Iik7dCYmKHI9dC5nZXRSYXcoZSkpfWlmKHIpe2lmKHRoaXMudHlwZTNGb250UmVmcz8uaGFzKHIpKXJldHVybiBlcnJvckZvbnQoKTtpZih0aGlzLmZvbnRDYWNoZS5oYXMocikpcmV0dXJuIHRoaXMuZm9udENhY2hlLmdldChyKTt0cnl7dD10aGlzLnhyZWYuZmV0Y2hJZlJlZihyKX1jYXRjaChlKXt3YXJuKGBsb2FkRm9udCAtIGxvb2t1cCBmYWlsZWQ6ICIke2V9Ii5gKX19aWYoISh0IGluc3RhbmNlb2YgRGljdCkpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzJiYhdGhpcy5wYXJzaW5nVHlwZTNGb250KXt3YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO3JldHVybiBlcnJvckZvbnQoKX13YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlIC0tIGF0dGVtcHRpbmcgdG8gZmFsbGJhY2sgdG8gYSBkZWZhdWx0IGZvbnQuYCk7dD1hfHxQYXJ0aWFsRXZhbHVhdG9yLmZhbGxiYWNrRm9udERpY3R9aWYodC5jYWNoZUtleSYmdGhpcy5mb250Q2FjaGUuaGFzKHQuY2FjaGVLZXkpKXJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQodC5jYWNoZUtleSk7Y29uc3R7cHJvbWlzZTpuLHJlc29sdmU6Z309UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7bGV0IG87dHJ5e289dGhpcy5wcmVFdmFsdWF0ZUZvbnQodCk7by5jc3NGb250SW5mbz1zfWNhdGNoKGUpe3dhcm4oYGxvYWRGb250IC0gcHJlRXZhbHVhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO3JldHVybiBlcnJvckZvbnQoKX1jb25zdHtkZXNjcmlwdG9yOmMsaGFzaDpDfT1vLGg9ciBpbnN0YW5jZW9mIFJlZjtsZXQgbDtpZihDJiZjIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1jLmZvbnRBbGlhc2VzfHw9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlW0NdKXtjb25zdCB0PWVbQ10uYWxpYXNSZWY7aWYoaCYmdCYmdGhpcy5mb250Q2FjaGUuaGFzKHQpKXt0aGlzLmZvbnRDYWNoZS5wdXRBbGlhcyhyLHQpO3JldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQocil9fWVsc2UgZVtDXT17Zm9udElEOnRoaXMuaWRGYWN0b3J5LmNyZWF0ZUZvbnRJZCgpfTtoJiYoZVtDXS5hbGlhc1JlZj1yKTtsPWVbQ10uZm9udElEfWVsc2UgbD10aGlzLmlkRmFjdG9yeS5jcmVhdGVGb250SWQoKTthc3NlcnQobD8uc3RhcnRzV2l0aCgiZiIpLCdUaGUgImZvbnRJRCIgbXVzdCBiZSAoY29ycmVjdGx5KSBkZWZpbmVkLicpO2lmKGgpdGhpcy5mb250Q2FjaGUucHV0KHIsbik7ZWxzZXt0LmNhY2hlS2V5PWBjYWNoZUtleV8ke2x9YDt0aGlzLmZvbnRDYWNoZS5wdXQodC5jYWNoZUtleSxuKX10LmxvYWRlZE5hbWU9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHtsfWA7dGhpcy50cmFuc2xhdGVGb250KG8pLnRoZW4oKGU9PntnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDplLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pKX0pKS5jYXRjaCgoZT0+e3dhcm4oYGxvYWRGb250IC0gdHJhbnNsYXRlRm9udCBmYWlsZWQ6ICIke2V9Ii5gKTtnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDpuZXcgRXJyb3JGb250KGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSksZGljdDp0LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfSkpO3JldHVybiBufWJ1aWxkUGF0aChlLHQsaSxhPSExKXtjb25zdCBzPWUubGVuZ3RoLTE7aXx8KGk9W10pO2lmKHM8MHx8ZS5mbkFycmF5W3NdIT09aXQpe2lmKGEpe3dhcm4oYEVuY291bnRlcmVkIHBhdGggb3BlcmF0b3IgIiR7dH0iIGluc2lkZSBvZiBhIHRleHQgb2JqZWN0LmApO2UuYWRkT3AoeEEsbnVsbCl9bGV0IHM7c3dpdGNoKHQpe2Nhc2UgVEE6Y29uc3QgZT1pWzBdK2lbMl0sdD1pWzFdK2lbM107cz1bTWF0aC5taW4oaVswXSxlKSxNYXRoLm1pbihpWzFdLHQpLE1hdGgubWF4KGlbMF0sZSksTWF0aC5tYXgoaVsxXSx0KV07YnJlYWs7Y2FzZSBMQTpjYXNlIEhBOnM9W2lbMF0saVsxXSxpWzBdLGlbMV1dO2JyZWFrO2RlZmF1bHQ6cz1bMS8wLDEvMCwtMS8wLC0xLzBdfWUuYWRkT3AoaXQsW1t0XSxpLHNdKTthJiZlLmFkZE9wKFVBLG51bGwpfWVsc2V7Y29uc3QgYT1lLmFyZ3NBcnJheVtzXTthWzBdLnB1c2godCk7YVsxXS5wdXNoKC4uLmkpO2NvbnN0IHI9YVsyXTtzd2l0Y2godCl7Y2FzZSBUQTpjb25zdCBlPWlbMF0raVsyXSx0PWlbMV0raVszXTtyWzBdPU1hdGgubWluKHJbMF0saVswXSxlKTtyWzFdPU1hdGgubWluKHJbMV0saVsxXSx0KTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSxlKTtyWzNdPU1hdGgubWF4KHJbM10saVsxXSx0KTticmVhaztjYXNlIExBOmNhc2UgSEE6clswXT1NYXRoLm1pbihyWzBdLGlbMF0pO3JbMV09TWF0aC5taW4oclsxXSxpWzFdKTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSk7clszXT1NYXRoLm1heChyWzNdLGlbMV0pfX19cGFyc2VDb2xvclNwYWNlKHtjczplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOml9KXtyZXR1cm4gQ29sb3JTcGFjZS5wYXJzZUFzeW5jKHtjczplLHhyZWY6dGhpcy54cmVmLHJlc291cmNlczp0LHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksbG9jYWxDb2xvclNwYWNlQ2FjaGU6aX0pLmNhdGNoKChlPT57aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHBhcnNlQ29sb3JTcGFjZSAtIGlnbm9yaW5nIENvbG9yU3BhY2U6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfSkpfXBhcnNlU2hhZGluZyh7c2hhZGluZzplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOmksbG9jYWxTaGFkaW5nUGF0dGVybkNhY2hlOmF9KXtsZXQgcyxyPWEuZ2V0KGUpO2lmKHIpcmV0dXJuIHI7dHJ5e3M9UGF0dGVybi5wYXJzZVNoYWRpbmcoZSx0aGlzLnhyZWYsdCx0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksaSkuZ2V0SVIoKX1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pcmV0dXJuIG51bGw7aWYodGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihgcGFyc2VTaGFkaW5nIC0gaWdub3Jpbmcgc2hhZGluZzogIiR7dH0iLmApO2Euc2V0KGUsbnVsbCk7cmV0dXJuIG51bGx9dGhyb3cgdH1yPWBwYXR0ZXJuXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO3RoaXMucGFyc2luZ1R5cGUzRm9udCYmKHI9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fdHlwZTNfJHtyfWApO2Euc2V0KGUscik7dGhpcy5wYXJzaW5nVHlwZTNGb250P3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtyLCJQYXR0ZXJuIixzXSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW3IsdGhpcy5wYWdlSW5kZXgsIlBhdHRlcm4iLHNdKTtyZXR1cm4gcn1oYW5kbGVDb2xvck4oZSx0LGksYSxzLHIsbixnLG8sYyl7Y29uc3QgQz1pLnBvcCgpO2lmKEMgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBoPXMuZ2V0UmF3KEMubmFtZSksbD1oIGluc3RhbmNlb2YgUmVmJiZvLmdldEJ5UmVmKGgpO2lmKGwpdHJ5e2NvbnN0IHM9YS5iYXNlP2EuYmFzZS5nZXRSZ2IoaSwwKTpudWxsLHI9Z2V0VGlsaW5nUGF0dGVybklSKGwub3BlcmF0b3JMaXN0SVIsbC5kaWN0LHMpO2UuYWRkT3AodCxyKTtyZXR1cm59Y2F0Y2h7fWNvbnN0IFE9dGhpcy54cmVmLmZldGNoSWZSZWYoaCk7aWYoUSl7Y29uc3Qgcz1RIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9RLmRpY3Q6USxDPXMuZ2V0KCJQYXR0ZXJuVHlwZSIpO2lmKEM9PT1Ocyl7Y29uc3QgZz1hLmJhc2U/YS5iYXNlLmdldFJnYihpLDApOm51bGw7cmV0dXJuIHRoaXMuaGFuZGxlVGlsaW5nVHlwZSh0LGcscixRLHMsZSxuLG8pfWlmKEM9PT1Hcyl7Y29uc3QgaT1zLmdldCgiU2hhZGluZyIpLGE9dGhpcy5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6aSxyZXNvdXJjZXM6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpnLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpjfSk7aWYoYSl7Y29uc3QgaT1sb29rdXBNYXRyaXgocy5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZS5hZGRPcCh0LFsiU2hhZGluZyIsYSxpXSl9cmV0dXJufXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBQYXR0ZXJuVHlwZTogJHtDfWApfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gUGF0dGVybk5hbWU6ICR7Q31gKX1fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihlLHQsaSl7aWYoKyt0PjEwKXt3YXJuKCJWaXNpYmlsaXR5IGV4cHJlc3Npb24gaXMgdG9vIGRlZXBseSBuZXN0ZWQiKTtyZXR1cm59Y29uc3QgYT1lLmxlbmd0aCxzPXRoaXMueHJlZi5mZXRjaElmUmVmKGVbMF0pO2lmKCEoYTwyKSYmcyBpbnN0YW5jZW9mIE5hbWUpe3N3aXRjaChzLm5hbWUpe2Nhc2UiQW5kIjpjYXNlIk9yIjpjYXNlIk5vdCI6aS5wdXNoKHMubmFtZSk7YnJlYWs7ZGVmYXVsdDp3YXJuKGBJbnZhbGlkIG9wZXJhdG9yICR7cy5uYW1lfSBpbiB2aXNpYmlsaXR5IGV4cHJlc3Npb25gKTtyZXR1cm59Zm9yKGxldCBzPTE7czxhO3MrKyl7Y29uc3QgYT1lW3NdLHI9dGhpcy54cmVmLmZldGNoSWZSZWYoYSk7aWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgZT1bXTtpLnB1c2goZSk7dGhpcy5fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihyLHQsZSl9ZWxzZSBhIGluc3RhbmNlb2YgUmVmJiZpLnB1c2goYS50b1N0cmluZygpKX19ZWxzZSB3YXJuKCJJbnZhbGlkIHZpc2liaWxpdHkgZXhwcmVzc2lvbiIpfWFzeW5jIHBhcnNlTWFya2VkQ29udGVudFByb3BzKGUsdCl7bGV0IGk7aWYoZSBpbnN0YW5jZW9mIE5hbWUpe2k9dC5nZXQoIlByb3BlcnRpZXMiKS5nZXQoZS5uYW1lKX1lbHNle2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiT3B0aW9uYWwgY29udGVudCBwcm9wZXJ0aWVzIG1hbGZvcm1lZC4iKTtpPWV9Y29uc3QgYT1pLmdldCgiVHlwZSIpPy5uYW1lO2lmKCJPQ0ciPT09YSlyZXR1cm57dHlwZTphLGlkOmkub2JqSWR9O2lmKCJPQ01EIj09PWEpe2NvbnN0IGU9aS5nZXQoIlZFIik7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3QgdD1bXTt0aGlzLl9wYXJzZVZpc2liaWxpdHlFeHByZXNzaW9uKGUsMCx0KTtpZih0Lmxlbmd0aD4wKXJldHVybnt0eXBlOiJPQ01EIixleHByZXNzaW9uOnR9fWNvbnN0IHQ9aS5nZXQoIk9DR3MiKTtpZihBcnJheS5pc0FycmF5KHQpfHx0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1bXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcihjb25zdCBpIG9mIHQpZS5wdXNoKGkudG9TdHJpbmcoKSk7ZWxzZSBlLnB1c2godC5vYmpJZCk7cmV0dXJue3R5cGU6YSxpZHM6ZSxwb2xpY3k6aS5nZXQoIlAiKWluc3RhbmNlb2YgTmFtZT9pLmdldCgiUCIpLm5hbWU6bnVsbCxleHByZXNzaW9uOm51bGx9fWlmKHQgaW5zdGFuY2VvZiBSZWYpcmV0dXJue3R5cGU6YSxpZDp0LnRvU3RyaW5nKCl9fXJldHVybiBudWxsfWdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmUsdGFzazp0LHJlc291cmNlczppLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpzPW51bGwsZmFsbGJhY2tGb250RGljdDpyPW51bGx9KXtpfHw9RGljdC5lbXB0eTtzfHw9bmV3IEV2YWxTdGF0ZTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ2dldE9wZXJhdG9yTGlzdDogbWlzc2luZyAib3BlcmF0b3JMaXN0IiBwYXJhbWV0ZXInKTtjb25zdCBuPXRoaXMsZz10aGlzLnhyZWY7bGV0IG89ITE7Y29uc3QgYz1uZXcgTG9jYWxJbWFnZUNhY2hlLEM9bmV3IExvY2FsQ29sb3JTcGFjZUNhY2hlLGg9bmV3IExvY2FsR1N0YXRlQ2FjaGUsbD1uZXcgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUsUT1uZXcgTWFwLEU9aS5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSx1PWkuZ2V0KCJQYXR0ZXJuIil8fERpY3QuZW1wdHksZD1uZXcgU3RhdGVNYW5hZ2VyKHMpLGY9bmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihlLGcsZCkscD1uZXcgVGltZVNsb3RNYW5hZ2VyO2Z1bmN0aW9uIGNsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoZSl7Zm9yKGxldCBlPTAsdD1mLnNhdmVkU3RhdGVzRGVwdGg7ZTx0O2UrKylhLmFkZE9wKFVBLFtdKX1yZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uIHByb21pc2VCb2R5KGUscyl7Y29uc3QgbmV4dD1mdW5jdGlvbih0KXtQcm9taXNlLmFsbChbdCxhLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxzKX1jYXRjaChlKXtzKGUpfX0pLHMpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtwLnJlc2V0KCk7Y29uc3QgbT17fTtsZXQgeSx3LEQsYixGLFM7Zm9yKDshKHk9cC5jaGVjaygpKTspe20uYXJncz1udWxsO2lmKCFmLnJlYWQobSkpYnJlYWs7bGV0IGU9bS5hcmdzLHM9bS5mbjtzd2l0Y2goMHxzKXtjYXNlIE1lOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWMuZ2V0QnlOYW1lKEYpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2U9bnVsbDtjb250aW51ZX19bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxzKXtpZighUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3QgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2xldCByPUUuZ2V0UmF3KEYpO2lmKHIgaW5zdGFuY2VvZiBSZWYpe2NvbnN0IHQ9Yy5nZXRCeVJlZihyKXx8bi5fcmVnaW9uYWxJbWFnZUNhY2hlLmdldEJ5UmVmKHIpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2UoKTtyZXR1cm59Y29uc3QgaT1uLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShyLG4ucGFnZUluZGV4KTtpZihpKXthLmFkZERlcGVuZGVuY3koaS5vYmpJZCk7YS5hZGRJbWFnZU9wcyhpLmZuLGkuYXJncyxpLm9wdGlvbmFsQ29udGVudCk7ZSgpO3JldHVybn1yPWcuZmV0Y2gocil9aWYoIShyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IG89ci5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEobyBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PW8ubmFtZSlpZigiSW1hZ2UiIT09by5uYW1lKXtpZigiUFMiIT09by5uYW1lKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5oYW5kbGVkIFhPYmplY3Qgc3VidHlwZSAke28ubmFtZX1gKTtpbmZvKCJJZ25vcmVkIFhPYmplY3Qgc3VidHlwZSBQUyIpO2UoKX1lbHNlIG4uYnVpbGRQYWludEltYWdlWE9iamVjdCh7cmVzb3VyY2VzOmksaW1hZ2U6cixvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLGxvY2FsSW1hZ2VDYWNoZTpjLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKGUscyk7ZWxzZXtkLnNhdmUoKTtuLmJ1aWxkRm9ybVhPYmplY3QoaSxyLG51bGwsYSx0LGQuc3RhdGUuY2xvbmUoKSxDKS50aGVuKChmdW5jdGlvbigpe2QucmVzdG9yZSgpO2UoKX0pLHMpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIHJlOnZhciBrPWVbMV07bmV4dChuLmhhbmRsZVNldEZvbnQoaSxlLG51bGwsYSx0LGQuc3RhdGUscikudGhlbigoZnVuY3Rpb24oZSl7YS5hZGREZXBlbmRlbmN5KGUpO2EuYWRkT3AocmUsW2Usa10pfSkpKTtyZXR1cm47Y2FzZSBBZTpvPSEwO2JyZWFrO2Nhc2UgZWU6bz0hMTticmVhaztjYXNlIFVlOnZhciBSPWVbMF0uY2FjaGVLZXk7aWYoUil7Y29uc3QgdD1jLmdldEJ5TmFtZShSKTtpZih0KXthZGRMb2NhbGx5Q2FjaGVkSW1hZ2VPcHMoYSx0KTtlPW51bGw7Y29udGludWV9fW5leHQobi5idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6aSxpbWFnZTplWzBdLGlzSW5saW5lOiEwLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OlIsbG9jYWxJbWFnZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pKTtyZXR1cm47Y2FzZSBoZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1lWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO2JyZWFrO2Nhc2UgQmU6aWYoIWQuc3RhdGUuZm9udCl7bi5lbnN1cmVTdGF0ZUZvbnQoZC5zdGF0ZSk7Y29udGludWV9dmFyIE49W10sRz1kLnN0YXRlO2Zvcihjb25zdCB0IG9mIGVbMF0pInN0cmluZyI9PXR5cGVvZiB0P04ucHVzaCguLi5uLmhhbmRsZVRleHQodCxHKSk6Im51bWJlciI9PXR5cGVvZiB0JiZOLnB1c2godCk7ZVswXT1OO3M9aGU7YnJlYWs7Y2FzZSBsZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKENlKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9aGU7YnJlYWs7Y2FzZSBRZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKENlKTthLmFkZE9wKGllLFtlLnNoaWZ0KCldKTthLmFkZE9wKHRlLFtlLnNoaWZ0KCldKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9aGU7YnJlYWs7Y2FzZSBuZTpkLnN0YXRlLnRleHRSZW5kZXJpbmdNb2RlPWVbMF07YnJlYWs7Y2FzZSBmZTp7Y29uc3QgdD1Db2xvclNwYWNlLmdldENhY2hlZChlWzBdLGcsQyk7aWYodCl7ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobi5wYXJzZUNvbG9yU3BhY2Uoe2NzOmVbMF0scmVzb3VyY2VzOmksbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oKGZ1bmN0aW9uKGUpe2Quc3RhdGUuZmlsbENvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIGRlOntjb25zdCB0PUNvbG9yU3BhY2UuZ2V0Q2FjaGVkKGVbMF0sZyxDKTtpZih0KXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9dDtjb250aW51ZX1uZXh0KG4ucGFyc2VDb2xvclNwYWNlKHtjczplWzBdLHJlc291cmNlczppLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKChmdW5jdGlvbihlKXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIHllOmI9ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZTtlPWIuZ2V0UmdiKGUsMCk7cz1TZTticmVhaztjYXNlIHBlOmI9ZC5zdGF0ZS5zdHJva2VDb2xvclNwYWNlO2U9Yi5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgYmU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBEZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXk7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgUmU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215aztlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBrZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWs7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgU2U6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIEZlOmQuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIHdlOmI9ZC5zdGF0ZS5wYXR0ZXJuRmlsbENvbG9yU3BhY2U7aWYoIWIpe2U9W107cz1zdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSx3ZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBtZTpiPWQuc3RhdGUucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U7aWYoIWIpe2U9W107cz1hdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSxtZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9RmU7YnJlYWs7Y2FzZSBOZTp2YXIgeD1pLmdldCgiU2hhZGluZyIpO2lmKCF4KXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gc2hhZGluZyByZXNvdXJjZSBmb3VuZCIpO3ZhciBVPXguZ2V0KGVbMF0ubmFtZSk7aWYoIVUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBzaGFkaW5nIG9iamVjdCBmb3VuZCIpO2NvbnN0IGY9bi5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6VSxyZXNvdXJjZXM6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpDLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpRfSk7aWYoIWYpY29udGludWU7ZT1bZl07cz1OZTticmVhaztjYXNlIEdBOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWguZ2V0QnlOYW1lKEYpO2lmKHQpe3QubGVuZ3RoPjAmJmEuYWRkT3AoR0EsW3RdKTtlPW51bGw7Y29udGludWV9fW5leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUscyl7aWYoIVMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IHI9aS5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEociBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgZz1yLmdldChGKTtpZighKGcgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO24uc2V0R1N0YXRlKHtyZXNvdXJjZXM6aSxnU3RhdGU6ZyxvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLHRhc2s6dCxzdGF0ZU1hbmFnZXI6ZCxsb2NhbEdTdGF0ZUNhY2hlOmgsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oZSxzKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgTEE6Y2FzZSBIQTpjYXNlIEpBOmNhc2UgWUE6Y2FzZSB2QTpjYXNlIEtBOmNhc2UgVEE6bi5idWlsZFBhdGgoYSxzLGUsbyk7Y29udGludWU7Y2FzZSBMZTpjYXNlIEhlOmNhc2UgS2U6Y2FzZSBUZTpjb250aW51ZTtjYXNlIFllOmlmKCEoZVswXWluc3RhbmNlb2YgTmFtZSkpe3dhcm4oYEV4cGVjdGVkIG5hbWUgZm9yIGJlZ2luTWFya2VkQ29udGVudFByb3BzIGFyZzA9JHtlWzBdfWApO2EuYWRkT3AoWWUsWyJPQyIsbnVsbF0pO2NvbnRpbnVlfWlmKCJPQyI9PT1lWzBdLm5hbWUpe25leHQobi5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhlWzFdLGkpLnRoZW4oKGU9PnthLmFkZE9wKFllLFsiT0MiLGVdKX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIW4ub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogIiR7ZX0iLmApO2EuYWRkT3AoWWUsWyJPQyIsbnVsbF0pfX0pKSk7cmV0dXJufWU9W2VbMF0ubmFtZSxlWzFdaW5zdGFuY2VvZiBEaWN0P2VbMV0uZ2V0KCJNQ0lEIik6bnVsbF07YnJlYWs7ZGVmYXVsdDppZihudWxsIT09ZSl7Zm9yKHc9MCxEPWUubGVuZ3RoO3c8RCYmIShlW3ddaW5zdGFuY2VvZiBEaWN0KTt3KyspO2lmKHc8RCl7d2FybigiZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3Jpbmcgb3BlcmF0b3I6ICIrcyk7Y29udGludWV9fX1hLmFkZE9wKHMsZSl9aWYoeSluZXh0KHhzKTtlbHNle2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGVycm9ycyBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKX19KSl9Z2V0VGV4dENvbnRlbnQoe3N0cmVhbTplLHRhc2s6dCxyZXNvdXJjZXM6cyxzdGF0ZU1hbmFnZXI6cj1udWxsLGluY2x1ZGVNYXJrZWRDb250ZW50Om49ITEsc2luazpnLHNlZW5TdHlsZXM6bz1uZXcgU2V0LHZpZXdCb3g6YyxsYW5nOkM9bnVsbCxtYXJrZWRDb250ZW50RGF0YTpoPW51bGwsZGlzYWJsZU5vcm1hbGl6YXRpb246bD0hMSxrZWVwV2hpdGVTcGFjZTpRPSExfSl7c3x8PURpY3QuZW1wdHk7cnx8PW5ldyBTdGF0ZU1hbmFnZXIobmV3IFRleHRTdGF0ZSk7biYmKGh8fD17bGV2ZWw6MH0pO2NvbnN0IEU9e2l0ZW1zOltdLHN0eWxlczpPYmplY3QuY3JlYXRlKG51bGwpLGxhbmc6Q30sdT17aW5pdGlhbGl6ZWQ6ITEsc3RyOltdLHRvdGFsV2lkdGg6MCx0b3RhbEhlaWdodDowLHdpZHRoOjAsaGVpZ2h0OjAsdmVydGljYWw6ITEscHJldlRyYW5zZm9ybTpudWxsLHRleHRBZHZhbmNlU2NhbGU6MCxzcGFjZUluRmxvd01pbjowLHNwYWNlSW5GbG93TWF4OjAsdHJhY2tpbmdTcGFjZU1pbjoxLzAsbmVnYXRpdmVTcGFjZU1heDotMS8wLG5vdEFTcGFjZTotMS8wLHRyYW5zZm9ybTpudWxsLGZvbnROYW1lOm51bGwsaGFzRU9MOiExfSxkPVsiICIsIiAiXTtsZXQgZj0wO2Z1bmN0aW9uIHNhdmVMYXN0Q2hhcihlKXtjb25zdCB0PShmKzEpJTIsaT0iICIhPT1kW2ZdJiYiICI9PT1kW3RdO2RbZl09ZTtmPXQ7cmV0dXJuIVEmJml9ZnVuY3Rpb24gc2hvdWxkQWRkV2hpdGVwc2FjZSgpe3JldHVybiFRJiYiICIhPT1kW2ZdJiYiICI9PT1kWyhmKzEpJTJdfWZ1bmN0aW9uIHJlc2V0TGFzdENoYXJzKCl7ZFswXT1kWzFdPSIgIjtmPTB9Y29uc3QgcD10aGlzLG09dGhpcy54cmVmLHk9W107bGV0IHc9bnVsbDtjb25zdCBEPW5ldyBMb2NhbEltYWdlQ2FjaGUsYj1uZXcgTG9jYWxHU3RhdGVDYWNoZSxGPW5ldyBFdmFsdWF0b3JQcmVwcm9jZXNzb3IoZSxtLHIpO2xldCBTO2Z1bmN0aW9uIHB1c2hXaGl0ZXNwYWNlKHt3aWR0aDplPTAsaGVpZ2h0OnQ9MCx0cmFuc2Zvcm06aT11LnByZXZUcmFuc2Zvcm0sZm9udE5hbWU6YT11LmZvbnROYW1lfSl7RS5pdGVtcy5wdXNoKHtzdHI6IiAiLGRpcjoibHRyIix3aWR0aDplLGhlaWdodDp0LHRyYW5zZm9ybTppLGZvbnROYW1lOmEsaGFzRU9MOiExfSl9ZnVuY3Rpb24gZ2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKXtjb25zdCBlPVMuZm9udCx0PVtTLmZvbnRTaXplKlMudGV4dEhTY2FsZSwwLDAsUy5mb250U2l6ZSwwLFMudGV4dFJpc2VdO2lmKGUuaXNUeXBlM0ZvbnQmJihTLmZvbnRTaXplPD0xfHxlLmlzQ2hhckJCb3gpJiYhaXNBcnJheUVxdWFsKFMuZm9udE1hdHJpeCxhKSl7Y29uc3QgaT1lLmJib3hbM10tZS5iYm94WzFdO2k+MCYmKHRbM10qPWkqUy5mb250TWF0cml4WzNdKX1yZXR1cm4gVXRpbC50cmFuc2Zvcm0oUy5jdG0sVXRpbC50cmFuc2Zvcm0oUy50ZXh0TWF0cml4LHQpKX1mdW5jdGlvbiBlbnN1cmVUZXh0Q29udGVudEl0ZW0oKXtpZih1LmluaXRpYWxpemVkKXJldHVybiB1O2NvbnN0e2ZvbnQ6ZSxsb2FkZWROYW1lOnR9PVM7aWYoIW8uaGFzKHQpKXtvLmFkZCh0KTtFLnN0eWxlc1t0XT17Zm9udEZhbWlseTplLmZhbGxiYWNrTmFtZSxhc2NlbnQ6ZS5hc2NlbnQsZGVzY2VudDplLmRlc2NlbnQsdmVydGljYWw6ZS52ZXJ0aWNhbH07aWYocC5vcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMmJmUuc3lzdGVtRm9udEluZm8pe2NvbnN0IGk9RS5zdHlsZXNbdF07aS5mb250U3Vic3RpdHV0aW9uPWUuc3lzdGVtRm9udEluZm8uY3NzO2kuZm9udFN1YnN0aXR1dGlvbkxvYWRlZE5hbWU9ZS5zeXN0ZW1Gb250SW5mby5sb2FkZWROYW1lfX11LmZvbnROYW1lPXQ7Y29uc3QgaT11LnRyYW5zZm9ybT1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2lmKGUudmVydGljYWwpe3Uud2lkdGg9dS50b3RhbFdpZHRoPU1hdGguaHlwb3QoaVswXSxpWzFdKTt1LmhlaWdodD11LnRvdGFsSGVpZ2h0PTA7dS52ZXJ0aWNhbD0hMH1lbHNle3Uud2lkdGg9dS50b3RhbFdpZHRoPTA7dS5oZWlnaHQ9dS50b3RhbEhlaWdodD1NYXRoLmh5cG90KGlbMl0saVszXSk7dS52ZXJ0aWNhbD0hMX1jb25zdCBhPU1hdGguaHlwb3QoUy50ZXh0TGluZU1hdHJpeFswXSxTLnRleHRMaW5lTWF0cml4WzFdKSxzPU1hdGguaHlwb3QoUy5jdG1bMF0sUy5jdG1bMV0pO3UudGV4dEFkdmFuY2VTY2FsZT1zKmE7Y29uc3R7Zm9udFNpemU6cn09Uzt1LnRyYWNraW5nU3BhY2VNaW49LjEwMipyO3Uubm90QVNwYWNlPS4wMypyO3UubmVnYXRpdmVTcGFjZU1heD0tLjIqcjt1LnNwYWNlSW5GbG93TWluPS4xMDIqcjt1LnNwYWNlSW5GbG93TWF4PS42KnI7dS5oYXNFT0w9ITE7dS5pbml0aWFsaXplZD0hMDtyZXR1cm4gdX1mdW5jdGlvbiB1cGRhdGVBZHZhbmNlU2NhbGUoKXtpZighdS5pbml0aWFsaXplZClyZXR1cm47Y29uc3QgZT1NYXRoLmh5cG90KFMudGV4dExpbmVNYXRyaXhbMF0sUy50ZXh0TGluZU1hdHJpeFsxXSksdD1NYXRoLmh5cG90KFMuY3RtWzBdLFMuY3RtWzFdKSplO2lmKHQhPT11LnRleHRBZHZhbmNlU2NhbGUpe2lmKHUudmVydGljYWwpe3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTt1LmhlaWdodD0wfWVsc2V7dS50b3RhbFdpZHRoKz11LndpZHRoKnUudGV4dEFkdmFuY2VTY2FsZTt1LndpZHRoPTB9dS50ZXh0QWR2YW5jZVNjYWxlPXR9fWZ1bmN0aW9uIHJ1bkJpZGlUcmFuc2Zvcm0oZSl7bGV0IHQ9ZS5zdHIuam9pbigiIik7bHx8KHQ9ZnVuY3Rpb24gbm9ybWFsaXplVW5pY29kZShlKXtpZighQ3Qpe0N0PS8oW1x1MDBhMFx1MDBiNVx1MDM3ZVx1MGViM1x1MjAwMC1cdTIwMGFcdTIwMmZcdTIxMjZcdWZiMDAtXHVmYjA0XHVmYjA2XHVmYjIwLVx1ZmIzNlx1ZmIzOC1cdWZiM2NcdWZiM2VcdWZiNDAtXHVmYjQxXHVmYjQzLVx1ZmI0NFx1ZmI0Ni1cdWZiYTFcdWZiYTQtXHVmYmE5XHVmYmFlLVx1ZmJiMVx1ZmJkMy1cdWZiZGNcdWZiZGUtXHVmYmU3XHVmYmVhLVx1ZmJmOFx1ZmJmYy1cdWZiZmRcdWZjMDAtXHVmYzVkXHVmYzY0LVx1ZmNmMVx1ZmNmNS1cdWZkM2RcdWZkODhcdWZkZjRcdWZkZmEtXHVmZGZiXHVmZTcxXHVmZTc3XHVmZTc5XHVmZTdiXHVmZTdkXSspfChcdWZiMDUrKS9ndTtodD1uZXcgTWFwKFtbIu+shSIsIsW/dCJdXSl9cmV0dXJuIGUucmVwbGFjZUFsbChDdCwoKGUsdCxpKT0+dD90Lm5vcm1hbGl6ZSgiTkZLQyIpOmh0LmdldChpKSkpfSh0KSk7Y29uc3QgaT1iaWRpKHQsLTEsZS52ZXJ0aWNhbCk7cmV0dXJue3N0cjppLnN0cixkaXI6aS5kaXIsd2lkdGg6TWF0aC5hYnMoZS50b3RhbFdpZHRoKSxoZWlnaHQ6TWF0aC5hYnMoZS50b3RhbEhlaWdodCksdHJhbnNmb3JtOmUudHJhbnNmb3JtLGZvbnROYW1lOmUuZm9udE5hbWUsaGFzRU9MOmUuaGFzRU9MfX1hc3luYyBmdW5jdGlvbiBoYW5kbGVTZXRGb250KGUsaSl7Y29uc3Qgcj1hd2FpdCBwLmxvYWRGb250KGUsaSxzKTtpZihyLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IHIubG9hZFR5cGUzRGF0YShwLHMsdCl9Y2F0Y2h7fVMubG9hZGVkTmFtZT1yLmxvYWRlZE5hbWU7Uy5mb250PXIuZm9udDtTLmZvbnRNYXRyaXg9ci5mb250LmZvbnRNYXRyaXh8fGF9ZnVuY3Rpb24gYXBwbHlJbnZlcnNlUm90YXRpb24oZSx0LGkpe2NvbnN0IGE9TWF0aC5oeXBvdChpWzBdLGlbMV0pO3JldHVyblsoaVswXSplK2lbMV0qdCkvYSwoaVsyXSplK2lbM10qdCkvYV19ZnVuY3Rpb24gY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oZSl7Y29uc3QgdD1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2xldCBpPXRbNF0sYT10WzVdO2lmKFMuZm9udD8udmVydGljYWwpe2lmKGk8Y1swXXx8aT5jWzJdfHxhK2U8Y1sxXXx8YT5jWzNdKXJldHVybiExfWVsc2UgaWYoaStlPGNbMF18fGk+Y1syXXx8YTxjWzFdfHxhPmNbM10pcmV0dXJuITE7aWYoIVMuZm9udHx8IXUucHJldlRyYW5zZm9ybSlyZXR1cm4hMDtsZXQgcz11LnByZXZUcmFuc2Zvcm1bNF0scj11LnByZXZUcmFuc2Zvcm1bNV07aWYocz09PWkmJnI9PT1hKXJldHVybiEwO2xldCBuPS0xO3RbMF0mJjA9PT10WzFdJiYwPT09dFsyXT9uPXRbMF0+MD8wOjE4MDp0WzFdJiYwPT09dFswXSYmMD09PXRbM10mJihuPXRbMV0+MD85MDoyNzApO3N3aXRjaChuKXtjYXNlIDA6YnJlYWs7Y2FzZSA5MDpbaSxhXT1bYSxpXTtbcyxyXT1bcixzXTticmVhaztjYXNlIDE4MDpbaSxhLHMscl09Wy1pLC1hLC1zLC1yXTticmVhaztjYXNlIDI3MDpbaSxhXT1bLWEsLWldO1tzLHJdPVstciwtc107YnJlYWs7ZGVmYXVsdDpbaSxhXT1hcHBseUludmVyc2VSb3RhdGlvbihpLGEsdCk7W3Mscl09YXBwbHlJbnZlcnNlUm90YXRpb24ocyxyLHUucHJldlRyYW5zZm9ybSl9aWYoUy5mb250LnZlcnRpY2FsKXtjb25zdCBlPShyLWEpL3UudGV4dEFkdmFuY2VTY2FsZSx0PWktcyxuPU1hdGguc2lnbih1LmhlaWdodCk7aWYoZTxuKnUubmVnYXRpdmVTcGFjZU1heCl7aWYoTWF0aC5hYnModCk+LjUqdS53aWR0aCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9cmVzZXRMYXN0Q2hhcnMoKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWlmKE1hdGguYWJzKHQpPnUud2lkdGgpe2FwcGVuZEVPTCgpO3JldHVybiEwfWU8PW4qdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZTw9bip1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe2hlaWdodDpNYXRoLmFicyhlKX0pfWVsc2UgdS5oZWlnaHQrPWU7ZWxzZSBpZighYWRkRmFrZVNwYWNlcyhlLHUucHJldlRyYW5zZm9ybSxuKSlpZigwPT09dS5zdHIubGVuZ3RoKXtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHtoZWlnaHQ6TWF0aC5hYnMoZSl9KX1lbHNlIHUuaGVpZ2h0Kz1lO01hdGguYWJzKHQpPi4yNSp1LndpZHRoJiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWNvbnN0IGc9KGktcykvdS50ZXh0QWR2YW5jZVNjYWxlLG89YS1yLEM9TWF0aC5zaWduKHUud2lkdGgpO2lmKGc8Qyp1Lm5lZ2F0aXZlU3BhY2VNYXgpe2lmKE1hdGguYWJzKG8pPi41KnUuaGVpZ2h0KXthcHBlbmRFT0woKTtyZXR1cm4hMH1yZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9aWYoTWF0aC5hYnMobyk+dS5oZWlnaHQpe2FwcGVuZEVPTCgpO3JldHVybiEwfWc8PUMqdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZzw9Qyp1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe3dpZHRoOk1hdGguYWJzKGcpfSl9ZWxzZSB1LndpZHRoKz1nO2Vsc2UgaWYoIWFkZEZha2VTcGFjZXMoZyx1LnByZXZUcmFuc2Zvcm0sQykpaWYoMD09PXUuc3RyLmxlbmd0aCl7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZyl9KX1lbHNlIHUud2lkdGgrPWc7TWF0aC5hYnMobyk+LjI1KnUuaGVpZ2h0JiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWZ1bmN0aW9uIGJ1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczplLGV4dHJhU3BhY2luZzp0fSl7Y29uc3QgaT1TLmZvbnQ7aWYoIWUpe2NvbnN0IGU9Uy5jaGFyU3BhY2luZyt0O2UmJihpLnZlcnRpY2FsP1MudHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1lKTpTLnRyYW5zbGF0ZVRleHRNYXRyaXgoZSpTLnRleHRIU2NhbGUsMCkpO1EmJmNvbXBhcmVXaXRoTGFzdFBvc2l0aW9uKDApO3JldHVybn1jb25zdCBhPWkuY2hhcnNUb0dseXBocyhlKSxzPVMuZm9udE1hdHJpeFswXSpTLmZvbnRTaXplO2ZvcihsZXQgZT0wLHI9YS5sZW5ndGg7ZTxyO2UrKyl7Y29uc3Qgbj1hW2VdLHtjYXRlZ29yeTpnfT1uO2lmKGcuaXNJbnZpc2libGVGb3JtYXRNYXJrKWNvbnRpbnVlO2xldCBvPVMuY2hhclNwYWNpbmcrKGUrMT09PXI/dDowKSxjPW4ud2lkdGg7aS52ZXJ0aWNhbCYmKGM9bi52bWV0cmljP24udm1ldHJpY1swXTotYyk7bGV0IEM9YypzO2lmKCFRJiZnLmlzV2hpdGVzcGFjZSl7aWYoaS52ZXJ0aWNhbCl7bys9LUMrUy53b3JkU3BhY2luZztTLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyl9ZWxzZXtvKz1DK1Mud29yZFNwYWNpbmc7Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApfXNhdmVMYXN0Q2hhcigiICIpO2NvbnRpbnVlfWlmKCFnLmlzWmVyb1dpZHRoRGlhY3JpdGljJiYhY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oQykpe2kudmVydGljYWw/Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KEMqUy50ZXh0SFNjYWxlLDApO2NvbnRpbnVlfWNvbnN0IGg9ZW5zdXJlVGV4dENvbnRlbnRJdGVtKCk7Zy5pc1plcm9XaWR0aERpYWNyaXRpYyYmKEM9MCk7aWYoaS52ZXJ0aWNhbCl7Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk7Qz1NYXRoLmFicyhDKTtoLmhlaWdodCs9Q31lbHNle0MqPVMudGV4dEhTY2FsZTtTLnRyYW5zbGF0ZVRleHRNYXRyaXgoQywwKTtoLndpZHRoKz1DfUMmJihoLnByZXZUcmFuc2Zvcm09Z2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSk7Y29uc3QgbD1uLnVuaWNvZGU7c2F2ZUxhc3RDaGFyKGwpJiZoLnN0ci5wdXNoKCIgIik7aC5zdHIucHVzaChsKTtvJiYoaS52ZXJ0aWNhbD9TLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApKX19ZnVuY3Rpb24gYXBwZW5kRU9MKCl7cmVzZXRMYXN0Q2hhcnMoKTtpZih1LmluaXRpYWxpemVkKXt1Lmhhc0VPTD0hMDtmbHVzaFRleHRDb250ZW50SXRlbSgpfWVsc2UgRS5pdGVtcy5wdXNoKHtzdHI6IiIsZGlyOiJsdHIiLHdpZHRoOjAsaGVpZ2h0OjAsdHJhbnNmb3JtOmdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksZm9udE5hbWU6Uy5sb2FkZWROYW1lLGhhc0VPTDohMH0pfWZ1bmN0aW9uIGFkZEZha2VTcGFjZXMoZSx0LGkpe2lmKGkqdS5zcGFjZUluRmxvd01pbjw9ZSYmZTw9aSp1LnNwYWNlSW5GbG93TWF4KXtpZih1LmluaXRpYWxpemVkKXtyZXNldExhc3RDaGFycygpO3Uuc3RyLnB1c2goIiAiKX1yZXR1cm4hMX1jb25zdCBhPXUuZm9udE5hbWU7bGV0IHM9MDtpZih1LnZlcnRpY2FsKXtzPWU7ZT0wfWZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZSksaGVpZ2h0Ok1hdGguYWJzKHMpLHRyYW5zZm9ybTp0fHxnZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpLGZvbnROYW1lOmF9KTtyZXR1cm4hMH1mdW5jdGlvbiBmbHVzaFRleHRDb250ZW50SXRlbSgpe2lmKHUuaW5pdGlhbGl6ZWQmJnUuc3RyKXt1LnZlcnRpY2FsP3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTp1LnRvdGFsV2lkdGgrPXUud2lkdGgqdS50ZXh0QWR2YW5jZVNjYWxlO0UuaXRlbXMucHVzaChydW5CaWRpVHJhbnNmb3JtKHUpKTt1LmluaXRpYWxpemVkPSExO3Uuc3RyLmxlbmd0aD0wfX1mdW5jdGlvbiBlbnF1ZXVlQ2h1bmsoZT0hMSl7Y29uc3QgdD1FLml0ZW1zLmxlbmd0aDtpZigwIT09dCYmIShlJiZ0PDEwKSl7Zy5lbnF1ZXVlKEUsdCk7RS5pdGVtcz1bXTtFLnN0eWxlcz1PYmplY3QuY3JlYXRlKG51bGwpfX1jb25zdCBrPW5ldyBUaW1lU2xvdE1hbmFnZXI7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbiBwcm9taXNlQm9keShlLGEpe2NvbnN0IG5leHQ9ZnVuY3Rpb24odCl7ZW5xdWV1ZUNodW5rKCEwKTtQcm9taXNlLmFsbChbdCxnLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxhKX1jYXRjaChlKXthKGUpfX0pLGEpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtrLnJlc2V0KCk7Y29uc3QgdT17fTtsZXQgZCxmPVtdO2Zvcig7IShkPWsuY2hlY2soKSk7KXtmLmxlbmd0aD0wO3UuYXJncz1mO2lmKCFGLnJlYWQodSkpYnJlYWs7Y29uc3QgZT1TO1M9ci5zdGF0ZTtjb25zdCBhPXUuZm47Zj11LmFyZ3M7c3dpdGNoKDB8YSl7Y2FzZSByZTp2YXIgUj1mWzBdLm5hbWUsTj1mWzFdO2lmKFMuZm9udCYmUj09PVMuZm9udE5hbWUmJk49PT1TLmZvbnRTaXplKWJyZWFrO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7Uy5mb250TmFtZT1SO1MuZm9udFNpemU9TjtuZXh0KGhhbmRsZVNldEZvbnQoUixudWxsKSk7cmV0dXJuO2Nhc2UgZ2U6Uy50ZXh0UmlzZT1mWzBdO2JyZWFrO2Nhc2UgYWU6Uy50ZXh0SFNjYWxlPWZbMF0vMTAwO2JyZWFrO2Nhc2Ugc2U6Uy5sZWFkaW5nPWZbMF07YnJlYWs7Y2FzZSBvZTpTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIEllOlMubGVhZGluZz0tZlsxXTtTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIENlOlMuY2FycmlhZ2VSZXR1cm4oKTticmVhaztjYXNlIGNlOlMuc2V0VGV4dE1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7Uy5zZXRUZXh0TGluZU1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7dXBkYXRlQWR2YW5jZVNjYWxlKCk7YnJlYWs7Y2FzZSB0ZTpTLmNoYXJTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSBpZTpTLndvcmRTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSBBZTpTLnRleHRNYXRyaXg9aS5zbGljZSgpO1MudGV4dExpbmVNYXRyaXg9aS5zbGljZSgpO2JyZWFrO2Nhc2UgQmU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Y29uc3QgYT0oUy5mb250LnZlcnRpY2FsPzE6LTEpKlMuZm9udFNpemUvMWUzLHU9ZlswXTtmb3IobGV0IGU9MCx0PXUubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9dVtlXTtpZigic3RyaW5nIj09dHlwZW9mIHQpeS5wdXNoKHQpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiB0JiYwIT09dCl7Y29uc3QgZT15LmpvaW4oIiIpO3kubGVuZ3RoPTA7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmUsZXh0cmFTcGFjaW5nOnQqYX0pfX1pZih5Lmxlbmd0aD4wKXtjb25zdCBlPXkuam9pbigiIik7eS5sZW5ndGg9MDtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZSxleHRyYVNwYWNpbmc6MH0pfWJyZWFrO2Nhc2UgaGU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMF0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIGxlOmlmKCFyLnN0YXRlLmZvbnQpe3AuZW5zdXJlU3RhdGVGb250KHIuc3RhdGUpO2NvbnRpbnVlfVMuY2FycmlhZ2VSZXR1cm4oKTtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZlswXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgUWU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Uy53b3JkU3BhY2luZz1mWzBdO1MuY2hhclNwYWNpbmc9ZlsxXTtTLmNhcnJpYWdlUmV0dXJuKCk7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMl0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIE1lOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7d3x8KHc9cy5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSk7dmFyIEc9ZlswXWluc3RhbmNlb2YgTmFtZSx4PWZbMF0ubmFtZTtpZihHJiZELmdldEJ5TmFtZSh4KSlicmVhaztuZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLGkpe2lmKCFHKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBtdXN0IGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUuIik7bGV0IGE9dy5nZXRSYXcoeCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7aWYoRC5nZXRCeVJlZihhKSl7ZSgpO3JldHVybn1pZihwLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShhLHAucGFnZUluZGV4KSl7ZSgpO3JldHVybn1hPW0uZmV0Y2goYSl9aWYoIShhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IEU9YS5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEoRSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PUUubmFtZSl7RC5zZXQoeCxhLmRpY3Qub2JqSWQsITApO2UoKTtyZXR1cm59Y29uc3QgdT1yLnN0YXRlLmNsb25lKCksZD1uZXcgU3RhdGVNYW5hZ2VyKHUpLGY9bG9va3VwTWF0cml4KGEuZGljdC5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZiYmZC50cmFuc2Zvcm0oZik7ZW5xdWV1ZUNodW5rKCk7Y29uc3QgeT17ZW5xdWV1ZUludm9rZWQ6ITEsZW5xdWV1ZShlLHQpe3RoaXMuZW5xdWV1ZUludm9rZWQ9ITA7Zy5lbnF1ZXVlKGUsdCl9LGdldCBkZXNpcmVkU2l6ZSgpe3JldHVybiBnLmRlc2lyZWRTaXplfSxnZXQgcmVhZHkoKXtyZXR1cm4gZy5yZWFkeX19O3AuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTphLHRhc2s6dCxyZXNvdXJjZXM6YS5kaWN0LmdldCgiUmVzb3VyY2VzIil8fHMsc3RhdGVNYW5hZ2VyOmQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6bixzaW5rOnksc2VlblN0eWxlczpvLHZpZXdCb3g6YyxsYW5nOkMsbWFya2VkQ29udGVudERhdGE6aCxkaXNhYmxlTm9ybWFsaXphdGlvbjpsLGtlZXBXaGl0ZVNwYWNlOlF9KS50aGVuKChmdW5jdGlvbigpe3kuZW5xdWV1ZUludm9rZWR8fEQuc2V0KHgsYS5kaWN0Lm9iaklkLCEwKTtlKCl9KSxpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgWE9iamVjdDogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgR0E6Rz1mWzBdaW5zdGFuY2VvZiBOYW1lO3g9ZlswXS5uYW1lO2lmKEcmJmIuZ2V0QnlOYW1lKHgpKWJyZWFrO25leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7aWYoIUcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IGk9cy5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgYT1pLmdldCh4KTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IHI9YS5nZXQoIkZvbnQiKTtpZihyKXtmbHVzaFRleHRDb250ZW50SXRlbSgpO1MuZm9udE5hbWU9bnVsbDtTLmZvbnRTaXplPXJbMV07aGFuZGxlU2V0Rm9udChudWxsLHJbMF0pLnRoZW4oZSx0KX1lbHNle2Iuc2V0KHgsYS5vYmpJZCwhMCk7ZSgpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHtlfSIuYCl9fSkpKTtyZXR1cm47Y2FzZSBKZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2gubGV2ZWwrKztFLml0ZW1zLnB1c2goe3R5cGU6ImJlZ2luTWFya2VkQ29udGVudCIsdGFnOmZbMF1pbnN0YW5jZW9mIE5hbWU/ZlswXS5uYW1lOm51bGx9KX1icmVhaztjYXNlIFllOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7aWYobil7aC5sZXZlbCsrO2xldCBlPW51bGw7ZlsxXWluc3RhbmNlb2YgRGljdCYmKGU9ZlsxXS5nZXQoIk1DSUQiKSk7RS5pdGVtcy5wdXNoKHt0eXBlOiJiZWdpbk1hcmtlZENvbnRlbnRQcm9wcyIsaWQ6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtwLmlkRmFjdG9yeS5nZXRQYWdlT2JqSWQoKX1fbWMke2V9YDpudWxsLHRhZzpmWzBdaW5zdGFuY2VvZiBOYW1lP2ZbMF0ubmFtZTpudWxsfSl9YnJlYWs7Y2FzZSB2ZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2lmKDA9PT1oLmxldmVsKWJyZWFrO2gubGV2ZWwtLTtFLml0ZW1zLnB1c2goe3R5cGU6ImVuZE1hcmtlZENvbnRlbnQifSl9YnJlYWs7Y2FzZSBVQTohZXx8ZS5mb250PT09Uy5mb250JiZlLmZvbnRTaXplPT09Uy5mb250U2l6ZSYmZS5mb250TmFtZT09PVMuZm9udE5hbWV8fGZsdXNoVGV4dENvbnRlbnRJdGVtKCl9aWYoRS5pdGVtcy5sZW5ndGg+PWcuZGVzaXJlZFNpemUpe2Q9ITA7YnJlYWt9fWlmKGQpbmV4dCh4cyk7ZWxzZXtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpO2UoKX19KSkuY2F0Y2goKGU9PntpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0VGV4dENvbnRlbnQgLSBpZ25vcmluZyBlcnJvcnMgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpfX0pKX1hc3luYyBleHRyYWN0RGF0YVN0cnVjdHVyZXMoZSx0KXtjb25zdCBpPXRoaXMueHJlZjtsZXQgYTtjb25zdCBzPXRoaXMucmVhZFRvVW5pY29kZSh0LnRvVW5pY29kZSk7aWYodC5jb21wb3NpdGUpe2NvbnN0IGk9ZS5nZXQoIkNJRFN5c3RlbUluZm8iKTtpIGluc3RhbmNlb2YgRGljdCYmKHQuY2lkU3lzdGVtSW5mbz17cmVnaXN0cnk6c3RyaW5nVG9QREZTdHJpbmcoaS5nZXQoIlJlZ2lzdHJ5IikpLG9yZGVyaW5nOnN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJPcmRlcmluZyIpKSxzdXBwbGVtZW50OmkuZ2V0KCJTdXBwbGVtZW50Iil9KTt0cnl7Y29uc3QgdD1lLmdldCgiQ0lEVG9HSURNYXAiKTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKGE9dC5nZXRCeXRlcygpKX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGV4dHJhY3REYXRhU3RydWN0dXJlcyAtIGlnbm9yaW5nIENJRFRvR0lETWFwIGRhdGE6ICIke2V9Ii5gKX19Y29uc3Qgcj1bXTtsZXQgbixnPW51bGw7aWYoZS5oYXMoIkVuY29kaW5nIikpe249ZS5nZXQoIkVuY29kaW5nIik7aWYobiBpbnN0YW5jZW9mIERpY3Qpe2c9bi5nZXQoIkJhc2VFbmNvZGluZyIpO2c9ZyBpbnN0YW5jZW9mIE5hbWU/Zy5uYW1lOm51bGw7aWYobi5oYXMoIkRpZmZlcmVuY2VzIikpe2NvbnN0IGU9bi5nZXQoIkRpZmZlcmVuY2VzIik7bGV0IHQ9MDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWkuZmV0Y2hJZlJlZihhKTtpZigibnVtYmVyIj09dHlwZW9mIGUpdD1lO2Vsc2V7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGVudHJ5IGluICdEaWZmZXJlbmNlcycgYXJyYXk6ICR7ZX1gKTtyW3QrK109ZS5uYW1lfX19fWVsc2UgaWYobiBpbnN0YW5jZW9mIE5hbWUpZz1uLm5hbWU7ZWxzZXtjb25zdCBlPSJFbmNvZGluZyBpcyBub3QgYSBOYW1lIG5vciBhIERpY3QiO2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IG5ldyBGb3JtYXRFcnJvcihlKTt3YXJuKGUpfSJNYWNSb21hbkVuY29kaW5nIiE9PWcmJiJNYWNFeHBlcnRFbmNvZGluZyIhPT1nJiYiV2luQW5zaUVuY29kaW5nIiE9PWcmJihnPW51bGwpfWNvbnN0IG89IXQuZmlsZXx8dC5pc0ludGVybmFsRm9udCxjPSRpKClbdC5uYW1lXTtnJiZvJiZjJiYoZz1udWxsKTtpZihnKXQuZGVmYXVsdEVuY29kaW5nPWdldEVuY29kaW5nKGcpO2Vsc2V7Y29uc3QgZT0hISh0LmZsYWdzJlBpKSxpPSEhKHQuZmxhZ3MmV2kpO249eWk7IlRydWVUeXBlIiE9PXQudHlwZXx8aXx8KG49d2kpO2lmKGV8fGMpe249bWk7byYmKC9TeW1ib2wvaS50ZXN0KHQubmFtZSk/bj1EaTovRGluZ2JhdHMvaS50ZXN0KHQubmFtZSk/bj1iaTovV2luZ2RpbmdzL2kudGVzdCh0Lm5hbWUpJiYobj13aSkpfXQuZGVmYXVsdEVuY29kaW5nPW59dC5kaWZmZXJlbmNlcz1yO3QuYmFzZUVuY29kaW5nTmFtZT1nO3QuaGFzRW5jb2Rpbmc9ISFnfHxyLmxlbmd0aD4wO3QuZGljdD1lO3QudG9Vbmljb2RlPWF3YWl0IHM7Y29uc3QgQz1hd2FpdCB0aGlzLmJ1aWxkVG9Vbmljb2RlKHQpO3QudG9Vbmljb2RlPUM7YSYmKHQuY2lkVG9HaWRNYXA9dGhpcy5yZWFkQ2lkVG9HaWRNYXAoYSxDKSk7cmV0dXJuIHR9X3NpbXBsZUZvbnRUb1VuaWNvZGUoZSx0PSExKXthc3NlcnQoIWUuY29tcG9zaXRlLCJNdXN0IGJlIGEgc2ltcGxlIGZvbnQuIik7Y29uc3QgaT1bXSxhPWUuZGVmYXVsdEVuY29kaW5nLnNsaWNlKCkscz1lLmJhc2VFbmNvZGluZ05hbWUscj1lLmRpZmZlcmVuY2VzO2Zvcihjb25zdCBlIGluIHIpe2NvbnN0IHQ9cltlXTsiLm5vdGRlZiIhPT10JiYoYVtlXT10KX1jb25zdCBuPU1pKCk7Zm9yKGNvbnN0IHIgaW4gYSl7bGV0IGc9YVtyXTtpZigiIj09PWcpY29udGludWU7bGV0IG89bltnXTtpZih2b2lkIDAhPT1vKXtpW3JdPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7Y29udGludWV9bGV0IGM9MDtzd2l0Y2goZ1swXSl7Y2FzZSJHIjozPT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJnIjo1PT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJDIjpjYXNlImMiOmlmKGcubGVuZ3RoPj0zJiZnLmxlbmd0aDw9NCl7Y29uc3QgaT1nLnN1YnN0cmluZygxKTtpZih0KXtjPXBhcnNlSW50KGksMTYpO2JyZWFrfWM9K2k7aWYoTnVtYmVyLmlzTmFOKGMpJiZOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlSW50KGksMTYpKSlyZXR1cm4gdGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlLCEwKX1icmVhaztjYXNlInUiOm89Z2V0VW5pY29kZUZvckdseXBoKGcsbik7LTEhPT1vJiYoYz1vKTticmVhaztkZWZhdWx0OnN3aXRjaChnKXtjYXNlImZfaCI6Y2FzZSJmX3QiOmNhc2UiVF9oIjppW3JdPWcucmVwbGFjZUFsbCgiXyIsIiIpO2NvbnRpbnVlfX1pZihjPjAmJmM8PTExMTQxMTEmJk51bWJlci5pc0ludGVnZXIoYykpe2lmKHMmJmM9PT0rcil7Y29uc3QgZT1nZXRFbmNvZGluZyhzKTtpZihlJiYoZz1lW3JdKSl7aVtyXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG5bZ10pO2NvbnRpbnVlfX1pW3JdPVN0cmluZy5mcm9tQ29kZVBvaW50KGMpfX1yZXR1cm4gaX1hc3luYyBidWlsZFRvVW5pY29kZShlKXtlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwPWUudG9Vbmljb2RlPy5sZW5ndGg+MDtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXshZS5jb21wb3NpdGUmJmUuaGFzRW5jb2RpbmcmJihlLmZhbGxiYWNrVG9Vbmljb2RlPXRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSkpO3JldHVybiBlLnRvVW5pY29kZX1pZighZS5jb21wb3NpdGUpcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAodGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlKSk7aWYoZS5jb21wb3NpdGUmJihlLmNNYXAuYnVpbHRJbkNNYXAmJiEoZS5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKXx8IkFkb2JlIj09PWUuY2lkU3lzdGVtSW5mbz8ucmVnaXN0cnkmJigiR0IxIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IkNOUzEiPT09ZS5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nfHwiSmFwYW4xIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IktvcmVhMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmcpKSl7Y29uc3R7cmVnaXN0cnk6dCxvcmRlcmluZzppfT1lLmNpZFN5c3RlbUluZm8sYT1OYW1lLmdldChgJHt0fS0ke2l9LVVDUzJgKSxzPWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6YSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KSxyPVtdLG49W107ZS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYodD42NTUzNSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1heCBzaXplIG9mIENJRCBpcyA2NSw1MzUiKTtjb25zdCBpPXMubG9va3VwKHQpO2lmKGkpe24ubGVuZ3RoPTA7Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSs9MiluLnB1c2goKGkuY2hhckNvZGVBdChlKTw8OCkraS5jaGFyQ29kZUF0KGUrMSkpO3JbZV09U3RyaW5nLmZyb21DaGFyQ29kZSguLi5uKX19KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAocil9cmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcChlLmZpcnN0Q2hhcixlLmxhc3RDaGFyKX1hc3luYyByZWFkVG9Vbmljb2RlKGUpe2lmKCFlKXJldHVybiBudWxsO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtyZXR1cm4gdCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcD9uZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAoMCw2NTUzNSk6bmV3IFRvVW5pY29kZU1hcCh0LmdldE1hcCgpKX1pZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl0cnl7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7aWYodCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcClyZXR1cm4gbmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsNjU1MzUpO2NvbnN0IGk9bmV3IEFycmF5KHQubGVuZ3RoKTt0LmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXtpW2VdPVN0cmluZy5mcm9tQ29kZVBvaW50KHQpO3JldHVybn10Lmxlbmd0aCUyIT0wJiYodD0iXDAiK3QpO2NvbnN0IGE9W107Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKz0yKXtjb25zdCBpPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTtpZig1NTI5NiE9KDYzNDg4JmkpKXthLnB1c2goaSk7Y29udGludWV9ZSs9Mjtjb25zdCBzPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTthLnB1c2goKCgxMDIzJmkpPDwxMCkrKDEwMjMmcykrNjU1MzYpfWlbZV09U3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uYSl9KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAoaSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHJlYWRUb1VuaWNvZGUgLSBpZ25vcmluZyBUb1VuaWNvZGUgZGF0YTogIiR7ZX0iLmApO3JldHVybiBudWxsfXRocm93IGV9cmV0dXJuIG51bGx9cmVhZENpZFRvR2lkTWFwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspe2NvbnN0IHM9ZVthKytdPDw4fGVbYV0scj1hPj4xOygwIT09c3x8dC5oYXMocikpJiYoaVtyXT1zKX1yZXR1cm4gaX1leHRyYWN0V2lkdGhzKGUsdCxpKXtjb25zdCBhPXRoaXMueHJlZjtsZXQgcz1bXSxyPTA7Y29uc3Qgbj1bXTtsZXQgZztpZihpLmNvbXBvc2l0ZSl7Y29uc3QgdD1lLmdldCgiRFciKTtyPSJudW1iZXIiPT10eXBlb2YgdD9NYXRoLmNlaWwodCk6MWUzO2NvbnN0IG89ZS5nZXQoIlciKTtpZihBcnJheS5pc0FycmF5KG8pKWZvcihsZXQgZT0wLHQ9by5sZW5ndGg7ZTx0O2UrKyl7bGV0IHQ9YS5mZXRjaElmUmVmKG9bZSsrXSk7aWYoIU51bWJlci5pc0ludGVnZXIodCkpYnJlYWs7Y29uc3QgaT1hLmZldGNoSWZSZWYob1tlXSk7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IoY29uc3QgZSBvZiBpKXtjb25zdCBpPWEuZmV0Y2hJZlJlZihlKTsibnVtYmVyIj09dHlwZW9mIGkmJihzW3RdPWkpO3QrK31lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKWJyZWFrO3tjb25zdCByPWEuZmV0Y2hJZlJlZihvWysrZV0pO2lmKCJudW1iZXIiIT10eXBlb2Ygciljb250aW51ZTtmb3IobGV0IGU9dDtlPD1pO2UrKylzW2VdPXJ9fX1pZihpLnZlcnRpY2FsKXtjb25zdCB0PWUuZ2V0QXJyYXkoIkRXMiIpO2xldCBpPWlzTnVtYmVyQXJyYXkodCwyKT90Ols4ODAsLTFlM107Zz1baVsxXSwuNSpyLGlbMF1dO2k9ZS5nZXQoIlcyIik7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IGU9MCx0PWkubGVuZ3RoO2U8dDtlKyspe2xldCB0PWEuZmV0Y2hJZlJlZihpW2UrK10pO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKWJyZWFrO2NvbnN0IHM9YS5mZXRjaElmUmVmKGlbZV0pO2lmKEFycmF5LmlzQXJyYXkocykpZm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBpPVthLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlXSldO2lzTnVtYmVyQXJyYXkoaSxudWxsKSYmKG5bdF09aSk7dCsrfWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIocykpYnJlYWs7e2NvbnN0IHI9W2EuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pXTtpZighaXNOdW1iZXJBcnJheShyLG51bGwpKWNvbnRpbnVlO2ZvcihsZXQgZT10O2U8PXM7ZSsrKW5bZV09cn19fX19ZWxzZXtjb25zdCBuPWUuZ2V0KCJXaWR0aHMiKTtpZihBcnJheS5pc0FycmF5KG4pKXtsZXQgZT1pLmZpcnN0Q2hhcjtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPWEuZmV0Y2hJZlJlZih0KTsibnVtYmVyIj09dHlwZW9mIGkmJihzW2VdPWkpO2UrK31jb25zdCBnPXQuZ2V0KCJNaXNzaW5nV2lkdGgiKTtyPSJudW1iZXIiPT10eXBlb2YgZz9nOjB9ZWxzZXtjb25zdCB0PWUuZ2V0KCJCYXNlRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBlPXRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKHQubmFtZSk7cz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGUud2lkdGhzLGkpO3I9ZS5kZWZhdWx0V2lkdGh9fX1sZXQgbz0hMCxjPXI7Zm9yKGNvbnN0IGUgaW4gcyl7Y29uc3QgdD1zW2VdO2lmKHQpaWYoYyl7aWYoYyE9PXQpe289ITE7YnJlYWt9fWVsc2UgYz10fW8/aS5mbGFnc3w9cWk6aS5mbGFncyY9fnFpO2kuZGVmYXVsdFdpZHRoPXI7aS53aWR0aHM9cztpLmRlZmF1bHRWTWV0cmljcz1nO2kudm1ldHJpY3M9bn1pc1NlcmlmRm9udChlKXtjb25zdCB0PWUuc3BsaXQoIi0iLDEpWzBdO3JldHVybiB0IGluIF9pKCl8fC9zZXJpZi9naS50ZXN0KHQpfWdldEJhc2VGb250TWV0cmljcyhlKXtsZXQgdD0wLGk9T2JqZWN0LmNyZWF0ZShudWxsKSxhPSExO2xldCBzPVppKClbZV18fGU7Y29uc3Qgcj1hYSgpO3MgaW4gcnx8KHM9dGhpcy5pc1NlcmlmRm9udChlKT8iVGltZXMtUm9tYW4iOiJIZWx2ZXRpY2EiKTtjb25zdCBuPXJbc107aWYoIm51bWJlciI9PXR5cGVvZiBuKXt0PW47YT0hMH1lbHNlIGk9bigpO3JldHVybntkZWZhdWx0V2lkdGg6dCxtb25vc3BhY2U6YSx3aWR0aHM6aX19YnVpbGRDaGFyQ29kZVRvV2lkdGgoZSx0KXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT10LmRpZmZlcmVuY2VzLHM9dC5kZWZhdWx0RW5jb2Rpbmc7Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXQgaW4gYSYmZVthW3RdXT9pW3RdPWVbYVt0XV06dCBpbiBzJiZlW3NbdF1dJiYoaVt0XT1lW3NbdF1dKTtyZXR1cm4gaX1wcmVFdmFsdWF0ZUZvbnQoZSl7Y29uc3QgdD1lO2xldCBpPWUuZ2V0KCJTdWJ0eXBlIik7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgU3VidHlwZSIpO2xldCBhLHM9ITE7aWYoIlR5cGUwIj09PWkubmFtZSl7Y29uc3QgdD1lLmdldCgiRGVzY2VuZGFudEZvbnRzIik7aWYoIXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEZXNjZW5kYW50IGZvbnRzIGFyZSBub3Qgc3BlY2lmaWVkIik7aWYoISgoZT1BcnJheS5pc0FycmF5KHQpP3RoaXMueHJlZi5mZXRjaElmUmVmKHRbMF0pOnQpaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRlc2NlbmRhbnQgZm9udCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO2k9ZS5nZXQoIlN1YnR5cGUiKTtpZighKGkgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBTdWJ0eXBlIik7cz0hMH1sZXQgcj1lLmdldCgiRmlyc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihyKXx8KHI9MCk7bGV0IG49ZS5nZXQoIkxhc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihuKXx8KG49cz82NTUzNToyNTUpO2NvbnN0IGc9ZS5nZXQoIkZvbnREZXNjcmlwdG9yIiksbz1lLmdldCgiVG9Vbmljb2RlIil8fHQuZ2V0KCJUb1VuaWNvZGUiKTtpZihnKXthPW5ldyBNdXJtdXJIYXNoM182NDtjb25zdCBpPXQuZ2V0UmF3KCJFbmNvZGluZyIpO2lmKGkgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGkubmFtZSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGkudG9TdHJpbmcoKSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3QgZSBvZiBpLmdldFJhd1ZhbHVlcygpKWlmKGUgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGUubmFtZSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGUudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCB0PWUubGVuZ3RoLGk9bmV3IEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDthKyspe2NvbnN0IHQ9ZVthXTt0IGluc3RhbmNlb2YgTmFtZT9pW2FdPXQubmFtZTooIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmKGlbYV09dC50b1N0cmluZygpKX1hLnVwZGF0ZShpLmpvaW4oKSl9YS51cGRhdGUoYCR7cn0tJHtufWApO2lmKG8gaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPW8uc3RyfHxvLHQ9ZS5idWZmZXI/bmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIuYnVmZmVyLDAsZS5idWZmZXJMZW5ndGgpOm5ldyBVaW50OEFycmF5KGUuYnl0ZXMuYnVmZmVyLGUuc3RhcnQsZS5lbmQtZS5zdGFydCk7YS51cGRhdGUodCl9ZWxzZSBvIGluc3RhbmNlb2YgTmFtZSYmYS51cGRhdGUoby5uYW1lKTtjb25zdCBnPWUuZ2V0KCJXaWR0aHMiKXx8dC5nZXQoIldpZHRocyIpO2lmKEFycmF5LmlzQXJyYXkoZykpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgZykoIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmZS5wdXNoKHQudG9TdHJpbmcoKSk7YS51cGRhdGUoZS5qb2luKCkpfWlmKHMpe2EudXBkYXRlKCJjb21wb3NpdGVGb250Iik7Y29uc3QgaT1lLmdldCgiVyIpfHx0LmdldCgiVyIpO2lmKEFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgaSlpZigibnVtYmVyIj09dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWYpZS5wdXNoKHQudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBpPVtdO2Zvcihjb25zdCBlIG9mIHQpKCJudW1iZXIiPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFJlZikmJmkucHVzaChlLnRvU3RyaW5nKCkpO2UucHVzaChgWyR7aS5qb2luKCl9XWApfWEudXBkYXRlKGUuam9pbigpKX1jb25zdCBzPWUuZ2V0UmF3KCJDSURUb0dJRE1hcCIpfHx0LmdldFJhdygiQ0lEVG9HSURNYXAiKTtzIGluc3RhbmNlb2YgTmFtZT9hLnVwZGF0ZShzLm5hbWUpOnMgaW5zdGFuY2VvZiBSZWY/YS51cGRhdGUocy50b1N0cmluZygpKTpzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmYS51cGRhdGUocy5wZWVrQnl0ZXMoKSl9fXJldHVybntkZXNjcmlwdG9yOmcsZGljdDplLGJhc2VEaWN0OnQsY29tcG9zaXRlOnMsdHlwZTppLm5hbWUsZmlyc3RDaGFyOnIsbGFzdENoYXI6bix0b1VuaWNvZGU6byxoYXNoOmE/YS5oZXhkaWdlc3QoKToiIn19YXN5bmMgdHJhbnNsYXRlRm9udCh7ZGVzY3JpcHRvcjplLGRpY3Q6dCxiYXNlRGljdDppLGNvbXBvc2l0ZTpzLHR5cGU6cixmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLGNzc0ZvbnRJbmZvOmN9KXtjb25zdCBDPSJUeXBlMyI9PT1yO2lmKCFlKXtpZighQyl7bGV0IGU9dC5nZXQoIkJhc2VGb250Iik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYXNlIGZvbnQgaXMgbm90IHNwZWNpZmllZCIpO2U9ZS5uYW1lLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpO2NvbnN0IGE9dGhpcy5nZXRCYXNlRm9udE1ldHJpY3MoZSkscz1lLnNwbGl0KCItIiwxKVswXSxjPSh0aGlzLmlzU2VyaWZGb250KHMpP09pOjApfChhLm1vbm9zcGFjZT9xaTowKXwoJGkoKVtzXT9QaTpXaSksaD17dHlwZTpyLG5hbWU6ZSxsb2FkZWROYW1lOmkubG9hZGVkTmFtZSxzeXN0ZW1Gb250SW5mbzpudWxsLHdpZHRoczphLndpZHRocyxkZWZhdWx0V2lkdGg6YS5kZWZhdWx0V2lkdGgsaXNTaW11bGF0ZWRGbGFnczohMCxmbGFnczpjLGZpcnN0Q2hhcjpuLGxhc3RDaGFyOmcsdG9Vbmljb2RlOm8seEhlaWdodDowLGNhcEhlaWdodDowLGl0YWxpY0FuZ2xlOjAsaXNUeXBlM0ZvbnQ6Q30sbD10LmdldCgiV2lkdGhzIiksUT1nZXRTdGFuZGFyZEZvbnROYW1lKGUpO2xldCBFPW51bGw7aWYoUSl7RT1hd2FpdCB0aGlzLmZldGNoU3RhbmRhcmRGb250RGF0YShRKTtoLmlzSW50ZXJuYWxGb250PSEhRX0haC5pc0ludGVybmFsRm9udCYmdGhpcy5vcHRpb25zLnVzZVN5c3RlbUZvbnRzJiYoaC5zeXN0ZW1Gb250SW5mbz1nZXRGb250U3Vic3RpdHV0aW9uKHRoaXMuc3lzdGVtRm9udENhY2hlLHRoaXMuaWRGYWN0b3J5LHRoaXMub3B0aW9ucy5zdGFuZGFyZEZvbnREYXRhVXJsLGUsUSxyKSk7Y29uc3QgdT1hd2FpdCB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyh0LGgpO2lmKEFycmF5LmlzQXJyYXkobCkpe2NvbnN0IGU9W107bGV0IHQ9bjtmb3IoY29uc3QgaSBvZiBsKXtjb25zdCBhPXRoaXMueHJlZi5mZXRjaElmUmVmKGkpOyJudW1iZXIiPT10eXBlb2YgYSYmKGVbdF09YSk7dCsrfXUud2lkdGhzPWV9ZWxzZSB1LndpZHRocz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGEud2lkdGhzLHUpO3JldHVybiBuZXcgRm9udChlLEUsdSl9e2NvbnN0IGk9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJGb250QkJveCIpLFswLDAsMCwwXSk7KGU9bmV3IERpY3QobnVsbCkpLnNldCgiRm9udE5hbWUiLE5hbWUuZ2V0KHIpKTtlLnNldCgiRm9udEJCb3giLGkpfX1sZXQgaD1lLmdldCgiRm9udE5hbWUiKSxsPXQuZ2V0KCJCYXNlRm9udCIpOyJzdHJpbmciPT10eXBlb2YgaCYmKGg9TmFtZS5nZXQoaCkpOyJzdHJpbmciPT10eXBlb2YgbCYmKGw9TmFtZS5nZXQobCkpO2NvbnN0IFE9aD8ubmFtZSxFPWw/Lm5hbWU7aWYoIUMmJlEhPT1FKXtpbmZvKGBUaGUgRm9udERlc2NyaXB0b3IncyBGb250TmFtZSBpcyAiJHtRfSIgYnV0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgRm9udCdzIEJhc2VGb250ICIke0V9Ii5gKTtRJiZFJiYoRS5zdGFydHNXaXRoKFEpfHwhaXNLbm93bkZvbnROYW1lKFEpJiZpc0tub3duRm9udE5hbWUoRSkpJiYoaD1udWxsKX1ofHw9bDtpZighKGggaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBuYW1lIik7bGV0IHUsZCxmLHAsbTt0cnl7dT1lLmdldCgiRm9udEZpbGUiLCJGb250RmlsZTIiLCJGb250RmlsZTMiKX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYHRyYW5zbGF0ZUZvbnQgLSBmZXRjaGluZyAiJHtoLm5hbWV9IiBmb250IGZpbGU6ICIke2V9Ii5gKTt1PW5ldyBOdWxsU3RyZWFtfWxldCB5PSExLHc9bnVsbCxEPW51bGw7aWYodSl7aWYodS5kaWN0KXtjb25zdCBlPXUuZGljdC5nZXQoIlN1YnR5cGUiKTtlIGluc3RhbmNlb2YgTmFtZSYmKGQ9ZS5uYW1lKTtmPXUuZGljdC5nZXQoIkxlbmd0aDEiKTtwPXUuZGljdC5nZXQoIkxlbmd0aDIiKTttPXUuZGljdC5nZXQoIkxlbmd0aDMiKX19ZWxzZSBpZihjKXtjb25zdCBlPWdldFhmYUZvbnROYW1lKGgubmFtZSk7aWYoZSl7Yy5mb250RmFtaWx5PWAke2MuZm9udEZhbWlseX0tUGRmSlMtWEZBYDtjLm1ldHJpY3M9ZS5tZXRyaWNzfHxudWxsO3c9ZS5mYWN0b3JzfHxudWxsO3U9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoZS5uYW1lKTt5PSEhdTtpPXQ9Z2V0WGZhRm9udERpY3QoaC5uYW1lKTtzPSEwfX1lbHNlIGlmKCFDKXtjb25zdCBlPWdldFN0YW5kYXJkRm9udE5hbWUoaC5uYW1lKTtpZihlKXt1PWF3YWl0IHRoaXMuZmV0Y2hTdGFuZGFyZEZvbnREYXRhKGUpO3k9ISF1fSF5JiZ0aGlzLm9wdGlvbnMudXNlU3lzdGVtRm9udHMmJihEPWdldEZvbnRTdWJzdGl0dXRpb24odGhpcy5zeXN0ZW1Gb250Q2FjaGUsdGhpcy5pZEZhY3RvcnksdGhpcy5vcHRpb25zLnN0YW5kYXJkRm9udERhdGFVcmwsaC5uYW1lLGUscikpfWNvbnN0IGI9bG9va3VwTWF0cml4KHQuZ2V0QXJyYXkoIkZvbnRNYXRyaXgiKSxhKSxGPWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiRm9udEJCb3giKXx8dC5nZXRBcnJheSgiRm9udEJCb3giKSx2b2lkIDApO2xldCBTPWUuZ2V0KCJBc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIFMmJihTPXZvaWQgMCk7bGV0IGs9ZS5nZXQoIkRlc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIGsmJihrPXZvaWQgMCk7bGV0IFI9ZS5nZXQoIlhIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIFImJihSPTApO2xldCBOPWUuZ2V0KCJDYXBIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIE4mJihOPTApO2xldCBHPWUuZ2V0KCJGbGFncyIpO051bWJlci5pc0ludGVnZXIoRyl8fChHPTApO2xldCB4PWUuZ2V0KCJJdGFsaWNBbmdsZSIpOyJudW1iZXIiIT10eXBlb2YgeCYmKHg9MCk7Y29uc3QgVT17dHlwZTpyLG5hbWU6aC5uYW1lLHN1YnR5cGU6ZCxmaWxlOnUsbGVuZ3RoMTpmLGxlbmd0aDI6cCxsZW5ndGgzOm0saXNJbnRlcm5hbEZvbnQ6eSxsb2FkZWROYW1lOmkubG9hZGVkTmFtZSxjb21wb3NpdGU6cyxmaXhlZFBpdGNoOiExLGZvbnRNYXRyaXg6YixmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLGJib3g6Rixhc2NlbnQ6UyxkZXNjZW50OmsseEhlaWdodDpSLGNhcEhlaWdodDpOLGZsYWdzOkcsaXRhbGljQW5nbGU6eCxpc1R5cGUzRm9udDpDLGNzc0ZvbnRJbmZvOmMsc2NhbGVGYWN0b3JzOncsc3lzdGVtRm9udEluZm86RH07aWYocyl7Y29uc3QgZT1pLmdldCgiRW5jb2RpbmciKTtlIGluc3RhbmNlb2YgTmFtZSYmKFUuY2lkRW5jb2Rpbmc9ZS5uYW1lKTtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtVLmNNYXA9dDtVLnZlcnRpY2FsPVUuY01hcC52ZXJ0aWNhbH1jb25zdCBNPWF3YWl0IHRoaXMuZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKHQsVSk7dGhpcy5leHRyYWN0V2lkdGhzKHQsZSxNKTtyZXR1cm4gbmV3IEZvbnQoaC5uYW1lLHUsTSl9c3RhdGljIGJ1aWxkRm9udFBhdGhzKGUsdCxpLGEpe2Z1bmN0aW9uIGJ1aWxkUGF0aCh0KXtjb25zdCBzPWAke2UubG9hZGVkTmFtZX1fcGF0aF8ke3R9YDt0cnl7aWYoZS5yZW5kZXJlci5oYXNCdWlsdFBhdGgodCkpcmV0dXJuO2kuc2VuZCgiY29tbW9ub2JqIixbcywiRm9udFBhdGgiLGUucmVuZGVyZXIuZ2V0UGF0aEpzKHQpXSl9Y2F0Y2goZSl7aWYoYS5pZ25vcmVFcnJvcnMpe3dhcm4oYGJ1aWxkRm9udFBhdGhzIC0gaWdub3JpbmcgJHtzfSBnbHlwaDogIiR7ZX0iLmApO3JldHVybn10aHJvdyBlfX1mb3IoY29uc3QgZSBvZiB0KXtidWlsZFBhdGgoZS5mb250Q2hhcik7Y29uc3QgdD1lLmFjY2VudDt0Py5mb250Q2hhciYmYnVpbGRQYXRoKHQuZm9udENoYXIpfX1zdGF0aWMgZ2V0IGZhbGxiYWNrRm9udERpY3QoKXtjb25zdCBlPW5ldyBEaWN0O2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIkhlbHZldGljYSIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJXaW5BbnNpRW5jb2RpbmciKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmYWxsYmFja0ZvbnREaWN0IixlKX19Y2xhc3MgVHJhbnNsYXRlZEZvbnR7Y29uc3RydWN0b3Ioe2xvYWRlZE5hbWU6ZSxmb250OnQsZGljdDppLGV2YWx1YXRvck9wdGlvbnM6YX0pe3RoaXMubG9hZGVkTmFtZT1lO3RoaXMuZm9udD10O3RoaXMuZGljdD1pO3RoaXMuX2V2YWx1YXRvck9wdGlvbnM9YXx8UnM7dGhpcy50eXBlM0xvYWRlZD1udWxsO3RoaXMudHlwZTNEZXBlbmRlbmNpZXM9dC5pc1R5cGUzRm9udD9uZXcgU2V0Om51bGw7dGhpcy5zZW50PSExfXNlbmQoZSl7aWYoIXRoaXMuc2VudCl7dGhpcy5zZW50PSEwO2Uuc2VuZCgiY29tbW9ub2JqIixbdGhpcy5sb2FkZWROYW1lLCJGb250Iix0aGlzLmZvbnQuZXhwb3J0RGF0YSh0aGlzLl9ldmFsdWF0b3JPcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMpXSl9fWZhbGxiYWNrKGUpe2lmKHRoaXMuZm9udC5kYXRhKXt0aGlzLmZvbnQuZGlzYWJsZUZvbnRGYWNlPSEwO1BhcnRpYWxFdmFsdWF0b3IuYnVpbGRGb250UGF0aHModGhpcy5mb250LHRoaXMuZm9udC5nbHlwaENhY2hlVmFsdWVzLGUsdGhpcy5fZXZhbHVhdG9yT3B0aW9ucyl9fWxvYWRUeXBlM0RhdGEoZSx0LGkpe2lmKHRoaXMudHlwZTNMb2FkZWQpcmV0dXJuIHRoaXMudHlwZTNMb2FkZWQ7aWYoIXRoaXMuZm9udC5pc1R5cGUzRm9udCl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgYSBUeXBlMyBmb250LiIpO2NvbnN0IGE9ZS5jbG9uZSh7aWdub3JlRXJyb3JzOiExfSkscz1uZXcgUmVmU2V0KGUudHlwZTNGb250UmVmcyk7dGhpcy5kaWN0Lm9iaklkJiYhcy5oYXModGhpcy5kaWN0Lm9iaklkKSYmcy5wdXQodGhpcy5kaWN0Lm9iaklkKTthLnR5cGUzRm9udFJlZnM9cztjb25zdCByPXRoaXMuZm9udCxuPXRoaXMudHlwZTNEZXBlbmRlbmNpZXM7bGV0IGc9UHJvbWlzZS5yZXNvbHZlKCk7Y29uc3Qgbz10aGlzLmRpY3QuZ2V0KCJDaGFyUHJvY3MiKSxjPXRoaXMuZGljdC5nZXQoIlJlc291cmNlcyIpfHx0LEM9T2JqZWN0LmNyZWF0ZShudWxsKSxoPVV0aWwubm9ybWFsaXplUmVjdChyLmJib3h8fFswLDAsMCwwXSksbD1oWzJdLWhbMF0sUT1oWzNdLWhbMV0sRT1NYXRoLmh5cG90KGwsUSk7Zm9yKGNvbnN0IGUgb2Ygby5nZXRLZXlzKCkpZz1nLnRoZW4oKCgpPT57Y29uc3QgdD1vLmdldChlKSxzPW5ldyBPcGVyYXRvckxpc3Q7cmV0dXJuIGEuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06dCx0YXNrOmkscmVzb3VyY2VzOmMsb3BlcmF0b3JMaXN0OnN9KS50aGVuKCgoKT0+e3MuZm5BcnJheVswXT09PXVlJiZ0aGlzLl9yZW1vdmVUeXBlM0NvbG9yT3BlcmF0b3JzKHMsRSk7Q1tlXT1zLmdldElSKCk7Zm9yKGNvbnN0IGUgb2Ygcy5kZXBlbmRlbmNpZXMpbi5hZGQoZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe3dhcm4oYFR5cGUzIGZvbnQgcmVzb3VyY2UgIiR7ZX0iIGlzIG5vdCBhdmFpbGFibGUuYCk7Y29uc3QgaT1uZXcgT3BlcmF0b3JMaXN0O0NbZV09aS5nZXRJUigpfSkpfSkpO3RoaXMudHlwZTNMb2FkZWQ9Zy50aGVuKCgoKT0+e3IuY2hhclByb2NPcGVyYXRvckxpc3Q9QztpZih0aGlzLl9iYm94KXtyLmlzQ2hhckJCb3g9ITA7ci5iYm94PXRoaXMuX2Jib3h9fSkpO3JldHVybiB0aGlzLnR5cGUzTG9hZGVkfV9yZW1vdmVUeXBlM0NvbG9yT3BlcmF0b3JzKGUsdD1OYU4pe2NvbnN0IGk9VXRpbC5ub3JtYWxpemVSZWN0KGUuYXJnc0FycmF5WzBdLnNsaWNlKDIpKSxhPWlbMl0taVswXSxzPWlbM10taVsxXSxyPU1hdGguaHlwb3QoYSxzKTtpZigwPT09YXx8MD09PXMpe2UuZm5BcnJheS5zcGxpY2UoMCwxKTtlLmFyZ3NBcnJheS5zcGxpY2UoMCwxKX1lbHNlIGlmKDA9PT10fHxNYXRoLnJvdW5kKHIvdCk+PTEwKXt0aGlzLl9iYm94fHwodGhpcy5fYmJveD1bMS8wLDEvMCwtMS8wLC0xLzBdKTt0aGlzLl9iYm94WzBdPU1hdGgubWluKHRoaXMuX2Jib3hbMF0saVswXSk7dGhpcy5fYmJveFsxXT1NYXRoLm1pbih0aGlzLl9iYm94WzFdLGlbMV0pO3RoaXMuX2Jib3hbMl09TWF0aC5tYXgodGhpcy5fYmJveFsyXSxpWzJdKTt0aGlzLl9iYm94WzNdPU1hdGgubWF4KHRoaXMuX2Jib3hbM10saVszXSl9bGV0IG49MCxnPWUubGVuZ3RoO2Zvcig7bjxnOyl7c3dpdGNoKGUuZm5BcnJheVtuXSl7Y2FzZSB1ZTpicmVhaztjYXNlIGRlOmNhc2UgZmU6Y2FzZSBwZTpjYXNlIG1lOmNhc2UgeWU6Y2FzZSB3ZTpjYXNlIERlOmNhc2UgYmU6Y2FzZSBGZTpjYXNlIFNlOmNhc2Uga2U6Y2FzZSBSZTpjYXNlIE5lOmNhc2UgUkE6ZS5mbkFycmF5LnNwbGljZShuLDEpO2UuYXJnc0FycmF5LnNwbGljZShuLDEpO2ctLTtjb250aW51ZTtjYXNlIEdBOmNvbnN0W3RdPWUuYXJnc0FycmF5W25dO2xldCBpPTAsYT10Lmxlbmd0aDtmb3IoO2k8YTspe2NvbnN0W2VdPXRbaV07c3dpdGNoKGUpe2Nhc2UiVFIiOmNhc2UiVFIyIjpjYXNlIkhUIjpjYXNlIkJHIjpjYXNlIkJHMiI6Y2FzZSJVQ1IiOmNhc2UiVUNSMiI6dC5zcGxpY2UoaSwxKTthLS07Y29udGludWV9aSsrfX1uKyt9fX1jbGFzcyBTdGF0ZU1hbmFnZXJ7Y29uc3RydWN0b3IoZT1uZXcgRXZhbFN0YXRlKXt0aGlzLnN0YXRlPWU7dGhpcy5zdGF0ZVN0YWNrPVtdfXNhdmUoKXtjb25zdCBlPXRoaXMuc3RhdGU7dGhpcy5zdGF0ZVN0YWNrLnB1c2godGhpcy5zdGF0ZSk7dGhpcy5zdGF0ZT1lLmNsb25lKCl9cmVzdG9yZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZVN0YWNrLnBvcCgpO2UmJih0aGlzLnN0YXRlPWUpfXRyYW5zZm9ybShlKXt0aGlzLnN0YXRlLmN0bT1VdGlsLnRyYW5zZm9ybSh0aGlzLnN0YXRlLmN0bSxlKX19Y2xhc3MgVGV4dFN0YXRle2NvbnN0cnVjdG9yKCl7dGhpcy5jdG09bmV3IEZsb2F0MzJBcnJheShpKTt0aGlzLmZvbnROYW1lPW51bGw7dGhpcy5mb250U2l6ZT0wO3RoaXMubG9hZGVkTmFtZT1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9udE1hdHJpeD1hO3RoaXMudGV4dE1hdHJpeD1pLnNsaWNlKCk7dGhpcy50ZXh0TGluZU1hdHJpeD1pLnNsaWNlKCk7dGhpcy5jaGFyU3BhY2luZz0wO3RoaXMud29yZFNwYWNpbmc9MDt0aGlzLmxlYWRpbmc9MDt0aGlzLnRleHRIU2NhbGU9MTt0aGlzLnRleHRSaXNlPTB9c2V0VGV4dE1hdHJpeChlLHQsaSxhLHMscil7Y29uc3Qgbj10aGlzLnRleHRNYXRyaXg7blswXT1lO25bMV09dDtuWzJdPWk7blszXT1hO25bNF09cztuWzVdPXJ9c2V0VGV4dExpbmVNYXRyaXgoZSx0LGksYSxzLHIpe2NvbnN0IG49dGhpcy50ZXh0TGluZU1hdHJpeDtuWzBdPWU7blsxXT10O25bMl09aTtuWzNdPWE7bls0XT1zO25bNV09cn10cmFuc2xhdGVUZXh0TWF0cml4KGUsdCl7Y29uc3QgaT10aGlzLnRleHRNYXRyaXg7aVs0XT1pWzBdKmUraVsyXSp0K2lbNF07aVs1XT1pWzFdKmUraVszXSp0K2lbNV19dHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoZSx0KXtjb25zdCBpPXRoaXMudGV4dExpbmVNYXRyaXg7aVs0XT1pWzBdKmUraVsyXSp0K2lbNF07aVs1XT1pWzFdKmUraVszXSp0K2lbNV19Y2FycmlhZ2VSZXR1cm4oKXt0aGlzLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KDAsLXRoaXMubGVhZGluZyk7dGhpcy50ZXh0TWF0cml4PXRoaXMudGV4dExpbmVNYXRyaXguc2xpY2UoKX1jbG9uZSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZSh0aGlzKTtlLnRleHRNYXRyaXg9dGhpcy50ZXh0TWF0cml4LnNsaWNlKCk7ZS50ZXh0TGluZU1hdHJpeD10aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7ZS5mb250TWF0cml4PXRoaXMuZm9udE1hdHJpeC5zbGljZSgpO3JldHVybiBlfX1jbGFzcyBFdmFsU3RhdGV7Y29uc3RydWN0b3IoKXt0aGlzLmN0bT1uZXcgRmxvYXQzMkFycmF5KGkpO3RoaXMuZm9udD1udWxsO3RoaXMudGV4dFJlbmRlcmluZ01vZGU9dzt0aGlzLl9maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTt0aGlzLl9zdHJva2VDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5O3RoaXMucGF0dGVybkZpbGxDb2xvclNwYWNlPW51bGw7dGhpcy5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZT1udWxsfWdldCBmaWxsQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9maWxsQ29sb3JTcGFjZX1zZXQgZmlsbENvbG9yU3BhY2UoZSl7dGhpcy5fZmlsbENvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuRmlsbENvbG9yU3BhY2U9ZX1nZXQgc3Ryb2tlQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9zdHJva2VDb2xvclNwYWNlfXNldCBzdHJva2VDb2xvclNwYWNlKGUpe3RoaXMuX3N0cm9rZUNvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZT1lfWNsb25lKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9fWNsYXNzIEV2YWx1YXRvclByZXByb2Nlc3NvcntzdGF0aWMgZ2V0IG9wTWFwKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcE1hcCIsT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHt3OntpZDpEQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxKOntpZDpiQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxqOntpZDpGQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxNOntpZDpTQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxkOntpZDprQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxyaTp7aWQ6UkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0saTp7aWQ6TkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZ3M6e2lkOkdBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LHE6e2lkOnhBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFE6e2lkOlVBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGNtOntpZDpNQSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSxtOntpZDpMQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxsOntpZDpIQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxjOntpZDpKQSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSx2OntpZDpZQSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSx5OntpZDp2QSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxoOntpZDpLQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxyZTp7aWQ6VEEsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sUzp7aWQ6cUEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sczp7aWQ6T0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sZjp7aWQ6UEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRjp7aWQ6UEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sImYqIjp7aWQ6V0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQjp7aWQ6akEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sIkIqIjp7aWQ6WEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sYjp7aWQ6WkEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sImIqIjp7aWQ6VkEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sbjp7aWQ6ekEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVzp7aWQ6X0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sIlcqIjp7aWQ6JEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQlQ6e2lkOkFlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEVUOntpZDplZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxUYzp7aWQ6dGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVHc6e2lkOmllLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFR6OntpZDphZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUTDp7aWQ6c2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVGY6e2lkOnJlLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LFRyOntpZDpuZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUczp7aWQ6Z2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVGQ6e2lkOm9lLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LFREOntpZDpJZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxUbTp7aWQ6Y2UsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sIlQqIjp7aWQ6Q2UsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVGo6e2lkOmhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRKOntpZDpCZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSwiJyI6e2lkOmxlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LCciJzp7aWQ6UWUsbnVtQXJnczozLHZhcmlhYmxlQXJnczohMX0sZDA6e2lkOkVlLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LGQxOntpZDp1ZSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSxDUzp7aWQ6ZGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sY3M6e2lkOmZlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFNDOntpZDpwZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiEwfSxTQ046e2lkOm1lLG51bUFyZ3M6MzMsdmFyaWFibGVBcmdzOiEwfSxzYzp7aWQ6eWUsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMH0sc2NuOntpZDp3ZSxudW1BcmdzOjMzLHZhcmlhYmxlQXJnczohMH0sRzp7aWQ6RGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZzp7aWQ6YmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sUkc6e2lkOkZlLG51bUFyZ3M6Myx2YXJpYWJsZUFyZ3M6ITF9LHJnOntpZDpTZSxudW1BcmdzOjMsdmFyaWFibGVBcmdzOiExfSxLOntpZDprZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxrOntpZDpSZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxzaDp7aWQ6TmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sQkk6e2lkOkdlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LElEOntpZDp4ZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFSTp7aWQ6VWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sRG86e2lkOk1lLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LE1QOntpZDpMZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxEUDp7aWQ6SGUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sQk1DOntpZDpKZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxCREM6e2lkOlllLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LEVNQzp7aWQ6dmUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQlg6e2lkOktlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEVYOntpZDpUZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxCTTpudWxsLEJEOm51bGwsdHJ1ZTpudWxsLGZhOm51bGwsZmFsOm51bGwsZmFsczpudWxsLGZhbHNlOm51bGwsbnU6bnVsbCxudWw6bnVsbCxudWxsOm51bGx9KSl9c3RhdGljIE1BWF9JTlZBTElEX1BBVEhfT1BTPTEwO2NvbnN0cnVjdG9yKGUsdCxpPW5ldyBTdGF0ZU1hbmFnZXIpe3RoaXMucGFyc2VyPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihlLEV2YWx1YXRvclByZXByb2Nlc3Nvci5vcE1hcCkseHJlZjp0fSk7dGhpcy5zdGF0ZU1hbmFnZXI9aTt0aGlzLm5vblByb2Nlc3NlZEFyZ3M9W107dGhpcy5faXNQYXRoT3A9ITE7dGhpcy5fbnVtSW52YWxpZFBhdGhPUFM9MH1nZXQgc2F2ZWRTdGF0ZXNEZXB0aCgpe3JldHVybiB0aGlzLnN0YXRlTWFuYWdlci5zdGF0ZVN0YWNrLmxlbmd0aH1yZWFkKGUpe2xldCB0PWUuYXJncztmb3IoOzspe2NvbnN0IGk9dGhpcy5wYXJzZXIuZ2V0T2JqKCk7aWYoaSBpbnN0YW5jZW9mIENtZCl7Y29uc3QgYT1pLmNtZCxzPUV2YWx1YXRvclByZXByb2Nlc3Nvci5vcE1hcFthXTtpZighcyl7d2FybihgVW5rbm93biBjb21tYW5kICIke2F9Ii5gKTtjb250aW51ZX1jb25zdCByPXMuaWQsbj1zLm51bUFyZ3M7bGV0IGc9bnVsbCE9PXQ/dC5sZW5ndGg6MDt0aGlzLl9pc1BhdGhPcHx8KHRoaXMuX251bUludmFsaWRQYXRoT1BTPTApO3RoaXMuX2lzUGF0aE9wPXI+PUxBJiZyPD16QTtpZihzLnZhcmlhYmxlQXJncylnPm4mJmluZm8oYENvbW1hbmQgJHthfTogZXhwZWN0ZWQgWzAsICR7bn1dIGFyZ3MsIGJ1dCByZWNlaXZlZCAke2d9IGFyZ3MuYCk7ZWxzZXtpZihnIT09bil7Y29uc3QgZT10aGlzLm5vblByb2Nlc3NlZEFyZ3M7Zm9yKDtnPm47KXtlLnB1c2godC5zaGlmdCgpKTtnLS19Zm9yKDtnPG4mJjAhPT1lLmxlbmd0aDspe251bGw9PT10JiYodD1bXSk7dC51bnNoaWZ0KGUucG9wKCkpO2crK319aWYoZzxuKXtjb25zdCBlPWBjb21tYW5kICR7YX06IGV4cGVjdGVkICR7bn0gYXJncywgYnV0IHJlY2VpdmVkICR7Z30gYXJncy5gO2lmKHRoaXMuX2lzUGF0aE9wJiYrK3RoaXMuX251bUludmFsaWRQYXRoT1BTPkV2YWx1YXRvclByZXByb2Nlc3Nvci5NQVhfSU5WQUxJRF9QQVRIX09QUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgJHtlfWApO3dhcm4oYFNraXBwaW5nICR7ZX1gKTtudWxsIT09dCYmKHQubGVuZ3RoPTApO2NvbnRpbnVlfX10aGlzLnByZXByb2Nlc3NDb21tYW5kKHIsdCk7ZS5mbj1yO2UuYXJncz10O3JldHVybiEwfWlmKGk9PT13dClyZXR1cm4hMTtpZihudWxsIT09aSl7bnVsbD09PXQmJih0PVtdKTt0LnB1c2goaSk7aWYodC5sZW5ndGg+MzMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJUb28gbWFueSBhcmd1bWVudHMiKX19fXByZXByb2Nlc3NDb21tYW5kKGUsdCl7c3dpdGNoKDB8ZSl7Y2FzZSB4QTp0aGlzLnN0YXRlTWFuYWdlci5zYXZlKCk7YnJlYWs7Y2FzZSBVQTp0aGlzLnN0YXRlTWFuYWdlci5yZXN0b3JlKCk7YnJlYWs7Y2FzZSBNQTp0aGlzLnN0YXRlTWFuYWdlci50cmFuc2Zvcm0odCl9fX1jbGFzcyBEZWZhdWx0QXBwZWFyYW5jZUV2YWx1YXRvciBleHRlbmRzIEV2YWx1YXRvclByZXByb2Nlc3Nvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihuZXcgU3RyaW5nU3RyZWFtKGUpKX1wYXJzZSgpe2NvbnN0IGU9e2ZuOjAsYXJnczpbXX0sdD17Zm9udFNpemU6MCxmb250TmFtZToiIixmb250Q29sb3I6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpfTt0cnl7Zm9yKDs7KXtlLmFyZ3MubGVuZ3RoPTA7aWYoIXRoaXMucmVhZChlKSlicmVhaztpZigwIT09dGhpcy5zYXZlZFN0YXRlc0RlcHRoKWNvbnRpbnVlO2NvbnN0e2ZuOmksYXJnczphfT1lO3N3aXRjaCgwfGkpe2Nhc2UgcmU6Y29uc3RbZSxpXT1hO2UgaW5zdGFuY2VvZiBOYW1lJiYodC5mb250TmFtZT1lLm5hbWUpOyJudW1iZXIiPT10eXBlb2YgaSYmaT4wJiYodC5mb250U2l6ZT1pKTticmVhaztjYXNlIFNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiSXRlbShhLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBiZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2JJdGVtKGEsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFJlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYkl0ZW0oYSwwLHQuZm9udENvbG9yLDApfX19Y2F0Y2goZSl7d2FybihgcGFyc2VEZWZhdWx0QXBwZWFyYW5jZSAtIGlnbm9yaW5nIGVycm9yczogIiR7ZX0iLmApfXJldHVybiB0fX1mdW5jdGlvbiBwYXJzZURlZmF1bHRBcHBlYXJhbmNlKGUpe3JldHVybiBuZXcgRGVmYXVsdEFwcGVhcmFuY2VFdmFsdWF0b3IoZSkucGFyc2UoKX1jbGFzcyBBcHBlYXJhbmNlU3RyZWFtRXZhbHVhdG9yIGV4dGVuZHMgRXZhbHVhdG9yUHJlcHJvY2Vzc29ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlKTt0aGlzLnN0cmVhbT1lO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz10O3RoaXMueHJlZj1pO3RoaXMucmVzb3VyY2VzPWUuZGljdD8uZ2V0KCJSZXNvdXJjZXMiKX1wYXJzZSgpe2NvbnN0IGU9e2ZuOjAsYXJnczpbXX07bGV0IHQ9e3NjYWxlRmFjdG9yOjEsZm9udFNpemU6MCxmb250TmFtZToiIixmb250Q29sb3I6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpLGZpbGxDb2xvclNwYWNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5fSxpPSExO2NvbnN0IGE9W107dHJ5e2Zvcig7Oyl7ZS5hcmdzLmxlbmd0aD0wO2lmKGl8fCF0aGlzLnJlYWQoZSkpYnJlYWs7Y29uc3R7Zm46cyxhcmdzOnJ9PWU7c3dpdGNoKDB8cyl7Y2FzZSB4QTphLnB1c2goe3NjYWxlRmFjdG9yOnQuc2NhbGVGYWN0b3IsZm9udFNpemU6dC5mb250U2l6ZSxmb250TmFtZTp0LmZvbnROYW1lLGZvbnRDb2xvcjp0LmZvbnRDb2xvci5zbGljZSgpLGZpbGxDb2xvclNwYWNlOnQuZmlsbENvbG9yU3BhY2V9KTticmVhaztjYXNlIFVBOnQ9YS5wb3AoKXx8dDticmVhaztjYXNlIGNlOnQuc2NhbGVGYWN0b3IqPU1hdGguaHlwb3QoclswXSxyWzFdKTticmVhaztjYXNlIHJlOmNvbnN0W2Usc109cjtlIGluc3RhbmNlb2YgTmFtZSYmKHQuZm9udE5hbWU9ZS5uYW1lKTsibnVtYmVyIj09dHlwZW9mIHMmJnM+MCYmKHQuZm9udFNpemU9cyp0LnNjYWxlRmFjdG9yKTticmVhaztjYXNlIGZlOnQuZmlsbENvbG9yU3BhY2U9Q29sb3JTcGFjZS5wYXJzZSh7Y3M6clswXSx4cmVmOnRoaXMueHJlZixyZXNvdXJjZXM6dGhpcy5yZXNvdXJjZXMscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTp0aGlzLl9sb2NhbENvbG9yU3BhY2VDYWNoZX0pO2JyZWFrO2Nhc2UgeWU6dC5maWxsQ29sb3JTcGFjZS5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBiZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFJlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgaGU6Y2FzZSBCZTpjYXNlIGxlOmNhc2UgUWU6aT0hMH19fWNhdGNoKGUpe3dhcm4oYHBhcnNlQXBwZWFyYW5jZVN0cmVhbSAtIGlnbm9yaW5nIGVycm9yczogIiR7ZX0iLmApfXRoaXMuc3RyZWFtLnJlc2V0KCk7ZGVsZXRlIHQuc2NhbGVGYWN0b3I7ZGVsZXRlIHQuZmlsbENvbG9yU3BhY2U7cmV0dXJuIHR9Z2V0IF9sb2NhbENvbG9yU3BhY2VDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiX2xvY2FsQ29sb3JTcGFjZUNhY2hlIixuZXcgTG9jYWxDb2xvclNwYWNlQ2FjaGUpfWdldCBfcGRmRnVuY3Rpb25GYWN0b3J5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGRmRnVuY3Rpb25GYWN0b3J5IixuZXcgUERGRnVuY3Rpb25GYWN0b3J5KHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5ldmFsdWF0b3JPcHRpb25zLmlzRXZhbFN1cHBvcnRlZH0pKX19ZnVuY3Rpb24gZ2V0UGRmQ29sb3IoZSx0KXtpZihlWzBdPT09ZVsxXSYmZVsxXT09PWVbMl0pe3JldHVybmAke251bWJlclRvU3RyaW5nKGVbMF0vMjU1KX0gJHt0PyJnIjoiRyJ9YH1yZXR1cm4gQXJyYXkuZnJvbShlLChlPT5udW1iZXJUb1N0cmluZyhlLzI1NSkpKS5qb2luKCIgIikrIiAiKyh0PyJyZyI6IlJHIil9Y2xhc3MgRmFrZVVuaWNvZGVGb250e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy54cmVmPWU7dGhpcy53aWR0aHM9bnVsbDt0aGlzLmZpcnN0Q2hhcj0xLzA7dGhpcy5sYXN0Q2hhcj0tMS8wO3RoaXMuZm9udEZhbWlseT10O2NvbnN0IGk9bmV3IE9mZnNjcmVlbkNhbnZhcygxLDEpO3RoaXMuY3R4TWVhc3VyZT1pLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSk7RmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkfHwoRmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkPTEpO3RoaXMuZm9udE5hbWU9TmFtZS5nZXQoYEludmFsaWRQREZqc0ZvbnRfJHt0fV8ke0Zha2VVbmljb2RlRm9udC5fZm9udE5hbWVJZCsrfWApfWdldCBmb250RGVzY3JpcHRvclJlZigpe2lmKCFGYWtlVW5pY29kZUZvbnQuX2ZvbnREZXNjcmlwdG9yUmVmKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250RGVzY3JpcHRvciIpKTtlLnNldCgiRm9udE5hbWUiLHRoaXMuZm9udE5hbWUpO2Uuc2V0KCJGb250RmFtaWx5IiwiTXlyaWFkUHJvIFJlZ3VsYXIiKTtlLnNldCgiRm9udEJCb3giLFswLDAsMCwwXSk7ZS5zZXQoIkZvbnRTdHJldGNoIixOYW1lLmdldCgiTm9ybWFsIikpO2Uuc2V0KCJGb250V2VpZ2h0Iiw0MDApO2Uuc2V0KCJJdGFsaWNBbmdsZSIsMCk7RmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZj10aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1yZXR1cm4gRmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZn1nZXQgZGVzY2VuZGFudEZvbnRSZWYoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIkJhc2VGb250Iix0aGlzLmZvbnROYW1lKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJDSURGb250VHlwZTAiKSk7ZS5zZXQoIkNJRFRvR0lETWFwIixOYW1lLmdldCgiSWRlbnRpdHkiKSk7ZS5zZXQoIkZpcnN0Q2hhciIsdGhpcy5maXJzdENoYXIpO2Uuc2V0KCJMYXN0Q2hhciIsdGhpcy5sYXN0Q2hhcik7ZS5zZXQoIkZvbnREZXNjcmlwdG9yIix0aGlzLmZvbnREZXNjcmlwdG9yUmVmKTtlLnNldCgiRFciLDFlMyk7Y29uc3QgdD1bXSxpPVsuLi50aGlzLndpZHRocy5lbnRyaWVzKCldLnNvcnQoKTtsZXQgYT1udWxsLHM9bnVsbDtmb3IoY29uc3RbZSxyXW9mIGkpaWYoYSlpZihlPT09YStzLmxlbmd0aClzLnB1c2gocik7ZWxzZXt0LnB1c2goYSxzKTthPWU7cz1bcl19ZWxzZXthPWU7cz1bcl19YSYmdC5wdXNoKGEscyk7ZS5zZXQoIlciLHQpO2NvbnN0IHI9bmV3IERpY3QodGhpcy54cmVmKTtyLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO3Iuc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7ci5zZXQoIlN1cHBsZW1lbnQiLDApO2Uuc2V0KCJDSURTeXN0ZW1JbmZvIixyKTtyZXR1cm4gdGhpcy54cmVmLmdldE5ld1BlcnNpc3RlbnRSZWYoZSl9Z2V0IGJhc2VGb250UmVmKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Uuc2V0KCJCYXNlRm9udCIsdGhpcy5mb250TmFtZSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTAiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiSWRlbnRpdHktSCIpKTtlLnNldCgiRGVzY2VuZGFudEZvbnRzIixbdGhpcy5kZXNjZW5kYW50Rm9udFJlZl0pO2Uuc2V0KCJUb1VuaWNvZGUiLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO3JldHVybiB0aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1nZXQgcmVzb3VyY2VzKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpLHQ9bmV3IERpY3QodGhpcy54cmVmKTt0LnNldCh0aGlzLmZvbnROYW1lLm5hbWUsdGhpcy5iYXNlRm9udFJlZik7ZS5zZXQoIkZvbnQiLHQpO3JldHVybiBlfV9jcmVhdGVDb250ZXh0KCl7dGhpcy53aWR0aHM9bmV3IE1hcDt0aGlzLmN0eE1lYXN1cmUuZm9udD1gMTAwMHB4ICR7dGhpcy5mb250RmFtaWx5fWA7cmV0dXJuIHRoaXMuY3R4TWVhc3VyZX1jcmVhdGVGb250UmVzb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fY3JlYXRlQ29udGV4dCgpO2Zvcihjb25zdCBpIG9mIGUuc3BsaXQoL1xyXG4/fFxuLykpZm9yKGNvbnN0IGUgb2YgaS5zcGxpdCgiIikpe2NvbnN0IGk9ZS5jaGFyQ29kZUF0KDApO2lmKHRoaXMud2lkdGhzLmhhcyhpKSljb250aW51ZTtjb25zdCBhPXQubWVhc3VyZVRleHQoZSkscz1NYXRoLmNlaWwoYS53aWR0aCk7dGhpcy53aWR0aHMuc2V0KGkscyk7dGhpcy5maXJzdENoYXI9TWF0aC5taW4oaSx0aGlzLmZpcnN0Q2hhcik7dGhpcy5sYXN0Q2hhcj1NYXRoLm1heChpLHRoaXMubGFzdENoYXIpfXJldHVybiB0aGlzLnJlc291cmNlc31zdGF0aWMgZ2V0Rmlyc3RQb3NpdGlvbkluZm8oZSx0LGkpe2NvbnN0W2EsbixnLG9dPWU7bGV0IGM9Zy1hLEM9by1uO3QlMTgwIT0wJiYoW2MsQ109W0MsY10pO2NvbnN0IGg9cyppO3JldHVybntjb29yZHM6WzAsQytyKmktaF0sYmJveDpbMCwwLGMsQ10sbWF0cml4OjAhPT10P2dldFJvdGF0aW9uTWF0cml4KHQsQyxoKTp2b2lkIDB9fWNyZWF0ZUFwcGVhcmFuY2UoZSx0LGksYSxuLGcpe2NvbnN0IG89dGhpcy5fY3JlYXRlQ29udGV4dCgpLGM9W107bGV0IEM9LTEvMDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9cclxuP3xcbi8pKXtjLnB1c2godCk7Y29uc3QgZT1vLm1lYXN1cmVUZXh0KHQpLndpZHRoO0M9TWF0aC5tYXgoQyxlKTtmb3IoY29uc3QgZSBvZiBjb2RlUG9pbnRJdGVyKHQpKXtjb25zdCB0PVN0cmluZy5mcm9tQ29kZVBvaW50KGUpO2xldCBpPXRoaXMud2lkdGhzLmdldChlKTtpZih2b2lkIDA9PT1pKXtjb25zdCBhPW8ubWVhc3VyZVRleHQodCk7aT1NYXRoLmNlaWwoYS53aWR0aCk7dGhpcy53aWR0aHMuc2V0KGUsaSk7dGhpcy5maXJzdENoYXI9TWF0aC5taW4oZSx0aGlzLmZpcnN0Q2hhcik7dGhpcy5sYXN0Q2hhcj1NYXRoLm1heChlLHRoaXMubGFzdENoYXIpfX19Qyo9YS8xZTM7Y29uc3RbaCxsLFEsRV09dDtsZXQgdT1RLWgsZD1FLWw7aSUxODAhPTAmJihbdSxkXT1bZCx1XSk7bGV0IGY9MTtDPnUmJihmPXUvQyk7bGV0IHA9MTtjb25zdCBtPXMqYSx5PXIqYSx3PW0qYy5sZW5ndGg7dz5kJiYocD1kL3cpO2NvbnN0IEQ9YSpNYXRoLm1pbihmLHApLGI9WyJxIixgMCAwICR7bnVtYmVyVG9TdHJpbmcodSl9ICR7bnVtYmVyVG9TdHJpbmcoZCl9IHJlIFcgbmAsIkJUIixgMSAwIDAgMSAwICR7bnVtYmVyVG9TdHJpbmcoZCt5KX0gVG0gMCBUYyAke2dldFBkZkNvbG9yKG4sITApfWAsYC8ke3RoaXMuZm9udE5hbWUubmFtZX0gJHtudW1iZXJUb1N0cmluZyhEKX0gVGZgXSx7cmVzb3VyY2VzOkZ9PXRoaXM7aWYoMSE9PShnPSJudW1iZXIiPT10eXBlb2YgZyYmZz49MCYmZzw9MT9nOjEpKXtiLnB1c2goIi9SMCBncyIpO2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKSx0PW5ldyBEaWN0KHRoaXMueHJlZik7dC5zZXQoImNhIixnKTt0LnNldCgiQ0EiLGcpO3Quc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpO2Uuc2V0KCJSMCIsdCk7Ri5zZXQoIkV4dEdTdGF0ZSIsZSl9Y29uc3QgUz1udW1iZXJUb1N0cmluZyhtKTtmb3IoY29uc3QgZSBvZiBjKWIucHVzaChgMCAtJHtTfSBUZCA8JHtzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpfT4gVGpgKTtiLnB1c2goIkVUIiwiUSIpO2NvbnN0IGs9Yi5qb2luKCJcbiIpLFI9bmV3IERpY3QodGhpcy54cmVmKTtSLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Ui5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO1Iuc2V0KCJCQm94IixbMCwwLHUsZF0pO1Iuc2V0KCJMZW5ndGgiLGsubGVuZ3RoKTtSLnNldCgiUmVzb3VyY2VzIixGKTtpZihpKXtjb25zdCBlPWdldFJvdGF0aW9uTWF0cml4KGksdSxkKTtSLnNldCgiTWF0cml4IixlKX1jb25zdCBOPW5ldyBTdHJpbmdTdHJlYW0oayk7Ti5kaWN0PVI7cmV0dXJuIE59fWNsYXNzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucm9vdD1lO3RoaXMueHJlZj10O3RoaXMuX3R5cGU9aX1nZXRBbGwoKXtjb25zdCBlPW5ldyBNYXA7aWYoIXRoaXMucm9vdClyZXR1cm4gZTtjb25zdCB0PXRoaXMueHJlZixpPW5ldyBSZWZTZXQ7aS5wdXQodGhpcy5yb290KTtjb25zdCBhPVt0aGlzLnJvb3RdO2Zvcig7YS5sZW5ndGg+MDspe2NvbnN0IHM9dC5mZXRjaElmUmVmKGEuc2hpZnQoKSk7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYocy5oYXMoIktpZHMiKSl7Y29uc3QgZT1zLmdldCgiS2lkcyIpO2lmKCFBcnJheS5pc0FycmF5KGUpKWNvbnRpbnVlO2Zvcihjb25zdCB0IG9mIGUpe2lmKGkuaGFzKHQpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgRHVwbGljYXRlIGVudHJ5IGluICIke3RoaXMuX3R5cGV9IiB0cmVlLmApO2EucHVzaCh0KTtpLnB1dCh0KX1jb250aW51ZX1jb25zdCByPXMuZ2V0KHRoaXMuX3R5cGUpO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBpPTAsYT1yLmxlbmd0aDtpPGE7aSs9MillLnNldCh0LmZldGNoSWZSZWYocltpXSksdC5mZXRjaElmUmVmKHJbaSsxXSkpfXJldHVybiBlfWdldChlKXtpZighdGhpcy5yb290KXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy54cmVmO2xldCBpPXQuZmV0Y2hJZlJlZih0aGlzLnJvb3QpLGE9MDtmb3IoO2kuaGFzKCJLaWRzIik7KXtpZigrK2E+MTApe3dhcm4oYFNlYXJjaCBkZXB0aCBsaW1pdCByZWFjaGVkIGZvciAiJHt0aGlzLl90eXBlfSIgdHJlZS5gKTtyZXR1cm4gbnVsbH1jb25zdCBzPWkuZ2V0KCJLaWRzIik7aWYoIUFycmF5LmlzQXJyYXkocykpcmV0dXJuIG51bGw7bGV0IHI9MCxuPXMubGVuZ3RoLTE7Zm9yKDtyPD1uOyl7Y29uc3QgYT1yK24+PjEsZz10LmZldGNoSWZSZWYoc1thXSksbz1nLmdldCgiTGltaXRzIik7aWYoZTx0LmZldGNoSWZSZWYob1swXSkpbj1hLTE7ZWxzZXtpZighKGU+dC5mZXRjaElmUmVmKG9bMV0pKSl7aT1nO2JyZWFrfXI9YSsxfX1pZihyPm4pcmV0dXJuIG51bGx9Y29uc3Qgcz1pLmdldCh0aGlzLl90eXBlKTtpZihBcnJheS5pc0FycmF5KHMpKXtsZXQgaT0wLGE9cy5sZW5ndGgtMjtmb3IoO2k8PWE7KXtjb25zdCByPWkrYT4+MSxuPXIrKDEmciksZz10LmZldGNoSWZSZWYoc1tuXSk7aWYoZTxnKWE9bi0yO2Vsc2V7aWYoIShlPmcpKXJldHVybiB0LmZldGNoSWZSZWYoc1tuKzFdKTtpPW4rMn19fXJldHVybiBudWxsfX1jbGFzcyBOYW1lVHJlZSBleHRlbmRzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsIk5hbWVzIil9fWNsYXNzIE51bWJlclRyZWUgZXh0ZW5kcyBOYW1lT3JOdW1iZXJUcmVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LCJOdW1zIil9fWZ1bmN0aW9uIGNsZWFyR2xvYmFsQ2FjaGVzKCl7IWZ1bmN0aW9uIGNsZWFyUGF0dGVybkNhY2hlcygpe0ZhPU9iamVjdC5jcmVhdGUobnVsbCl9KCk7IWZ1bmN0aW9uIGNsZWFyUHJpbWl0aXZlQ2FjaGVzKCl7RHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtidD1PYmplY3QuY3JlYXRlKG51bGwpO0Z0PU9iamVjdC5jcmVhdGUobnVsbCl9KCk7IWZ1bmN0aW9uIGNsZWFyVW5pY29kZUNhY2hlcygpe0tpLmNsZWFyKCl9KCk7SnB4SW1hZ2UuY2xlYW51cCgpfWZ1bmN0aW9uIHBpY2tQbGF0Zm9ybUl0ZW0oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBEaWN0P2UuaGFzKCJVRiIpP2UuZ2V0KCJVRiIpOmUuaGFzKCJGIik/ZS5nZXQoIkYiKTplLmhhcygiVW5peCIpP2UuZ2V0KCJVbml4Iik6ZS5oYXMoIk1hYyIpP2UuZ2V0KCJNYWMiKTplLmhhcygiRE9TIik/ZS5nZXQoIkRPUyIpOm51bGw6bnVsbH1jbGFzcyBGaWxlU3BlY3sjUz0hMTtjb25zdHJ1Y3RvcihlLHQsaT0hMSl7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe3RoaXMueHJlZj10O3RoaXMucm9vdD1lO2UuaGFzKCJGUyIpJiYodGhpcy5mcz1lLmdldCgiRlMiKSk7ZS5oYXMoIlJGIikmJndhcm4oIlJlbGF0ZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIpO2l8fChlLmhhcygiRUYiKT90aGlzLiNTPSEwOndhcm4oIk5vbi1lbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIikpfX1nZXQgZmlsZW5hbWUoKXtsZXQgZT0iIjtjb25zdCB0PXBpY2tQbGF0Zm9ybUl0ZW0odGhpcy5yb290KTt0JiYic3RyaW5nIj09dHlwZW9mIHQmJihlPXN0cmluZ1RvUERGU3RyaW5nKHQpLnJlcGxhY2VBbGwoIlxcXFwiLCJcXCIpLnJlcGxhY2VBbGwoIlxcLyIsIi8iKS5yZXBsYWNlQWxsKCJcXCIsIi8iKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmaWxlbmFtZSIsZXx8InVubmFtZWQiKX1nZXQgY29udGVudCgpe2lmKCF0aGlzLiNTKXJldHVybiBudWxsO3RoaXMuX2NvbnRlbnRSZWZ8fD1waWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdD8uZ2V0KCJFRiIpKTtsZXQgZT1udWxsO2lmKHRoaXMuX2NvbnRlbnRSZWYpe2NvbnN0IHQ9dGhpcy54cmVmLmZldGNoSWZSZWYodGhpcy5fY29udGVudFJlZik7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZT10LmdldEJ5dGVzKCk6d2FybigiRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIHBvaW50cyB0byBub24tZXhpc3RpbmcvaW52YWxpZCBjb250ZW50Iil9ZWxzZSB3YXJuKCJFbWJlZGRlZCBmaWxlIHNwZWNpZmljYXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgY29udGVudCIpO3JldHVybiBlfWdldCBkZXNjcmlwdGlvbigpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5yb290Py5nZXQoIkRlc2MiKTt0JiYic3RyaW5nIj09dHlwZW9mIHQmJihlPXN0cmluZ1RvUERGU3RyaW5nKHQpKTtyZXR1cm4gc2hhZG93KHRoaXMsImRlc2NyaXB0aW9uIixlKX1nZXQgc2VyaWFsaXphYmxlKCl7cmV0dXJue3Jhd0ZpbGVuYW1lOnRoaXMuZmlsZW5hbWUsZmlsZW5hbWU6KGU9dGhpcy5maWxlbmFtZSxlLnN1YnN0cmluZyhlLmxhc3RJbmRleE9mKCIvIikrMSkpLGNvbnRlbnQ6dGhpcy5jb250ZW50LGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb259O3ZhciBlfX1jb25zdCBVcz0wLE1zPS0yLExzPS0zLEhzPS00LEpzPS01LFlzPS02LHZzPS05O2Z1bmN0aW9uIGlzV2hpdGVzcGFjZShlLHQpe2NvbnN0IGk9ZVt0XTtyZXR1cm4iICI9PT1pfHwiXG4iPT09aXx8IlxyIj09PWl8fCJcdCI9PT1pfWNsYXNzIFhNTFBhcnNlckJhc2V7X3Jlc29sdmVFbnRpdGllcyhlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC8mKFteO10rKTsvZywoKGUsdCk9PntpZigiI3giPT09dC5zdWJzdHJpbmcoMCwyKSlyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQodC5zdWJzdHJpbmcoMiksMTYpKTtpZigiIyI9PT10LnN1YnN0cmluZygwLDEpKXJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChwYXJzZUludCh0LnN1YnN0cmluZygxKSwxMCkpO3N3aXRjaCh0KXtjYXNlImx0IjpyZXR1cm4iPCI7Y2FzZSJndCI6cmV0dXJuIj4iO2Nhc2UiYW1wIjpyZXR1cm4iJiI7Y2FzZSJxdW90IjpyZXR1cm4nIic7Y2FzZSJhcG9zIjpyZXR1cm4iJyJ9cmV0dXJuIHRoaXMub25SZXNvbHZlRW50aXR5KHQpfSkpfV9wYXJzZUNvbnRlbnQoZSx0KXtjb25zdCBpPVtdO2xldCBhPXQ7ZnVuY3Rpb24gc2tpcFdzKCl7Zm9yKDthPGUubGVuZ3RoJiZpc1doaXRlc3BhY2UoZSxhKTspKythfWZvcig7YTxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLGEpJiYiPiIhPT1lW2FdJiYiLyIhPT1lW2FdOykrK2E7Y29uc3Qgcz1lLnN1YnN0cmluZyh0LGEpO3NraXBXcygpO2Zvcig7YTxlLmxlbmd0aCYmIj4iIT09ZVthXSYmIi8iIT09ZVthXSYmIj8iIT09ZVthXTspe3NraXBXcygpO2xldCB0PSIiLHM9IiI7Zm9yKDthPGUubGVuZ3RoJiYhaXNXaGl0ZXNwYWNlKGUsYSkmJiI9IiE9PWVbYV07KXt0Kz1lW2FdOysrYX1za2lwV3MoKTtpZigiPSIhPT1lW2FdKXJldHVybiBudWxsOysrYTtza2lwV3MoKTtjb25zdCByPWVbYV07aWYoJyInIT09ciYmIiciIT09cilyZXR1cm4gbnVsbDtjb25zdCBuPWUuaW5kZXhPZihyLCsrYSk7aWYobjwwKXJldHVybiBudWxsO3M9ZS5zdWJzdHJpbmcoYSxuKTtpLnB1c2goe25hbWU6dCx2YWx1ZTp0aGlzLl9yZXNvbHZlRW50aXRpZXMocyl9KTthPW4rMTtza2lwV3MoKX1yZXR1cm57bmFtZTpzLGF0dHJpYnV0ZXM6aSxwYXJzZWQ6YS10fX1fcGFyc2VQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZSx0KXtsZXQgaT10O2Zvcig7aTxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLGkpJiYiPiIhPT1lW2ldJiYiPyIhPT1lW2ldJiYiLyIhPT1lW2ldOykrK2k7Y29uc3QgYT1lLnN1YnN0cmluZyh0LGkpOyFmdW5jdGlvbiBza2lwV3MoKXtmb3IoO2k8ZS5sZW5ndGgmJmlzV2hpdGVzcGFjZShlLGkpOykrK2l9KCk7Y29uc3Qgcz1pO2Zvcig7aTxlLmxlbmd0aCYmKCI/IiE9PWVbaV18fCI+IiE9PWVbaSsxXSk7KSsraTtyZXR1cm57bmFtZTphLHZhbHVlOmUuc3Vic3RyaW5nKHMsaSkscGFyc2VkOmktdH19cGFyc2VYbWwoZSl7bGV0IHQ9MDtmb3IoO3Q8ZS5sZW5ndGg7KXtsZXQgaT10O2lmKCI8Ij09PWVbdF0peysraTtsZXQgdDtzd2l0Y2goZVtpXSl7Y2FzZSIvIjorK2k7dD1lLmluZGV4T2YoIj4iLGkpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKHZzKTtyZXR1cm59dGhpcy5vbkVuZEVsZW1lbnQoZS5zdWJzdHJpbmcoaSx0KSk7aT10KzE7YnJlYWs7Y2FzZSI/IjorK2k7Y29uc3QgYT10aGlzLl9wYXJzZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihlLGkpO2lmKCI/PiIhPT1lLnN1YnN0cmluZyhpK2EucGFyc2VkLGkrYS5wYXJzZWQrMikpe3RoaXMub25FcnJvcihMcyk7cmV0dXJufXRoaXMub25QaShhLm5hbWUsYS52YWx1ZSk7aSs9YS5wYXJzZWQrMjticmVhaztjYXNlIiEiOmlmKCItLSI9PT1lLnN1YnN0cmluZyhpKzEsaSszKSl7dD1lLmluZGV4T2YoIi0tXHgzZSIsaSszKTtpZih0PDApe3RoaXMub25FcnJvcihKcyk7cmV0dXJufXRoaXMub25Db21tZW50KGUuc3Vic3RyaW5nKGkrMyx0KSk7aT10KzN9ZWxzZSBpZigiW0NEQVRBWyI9PT1lLnN1YnN0cmluZyhpKzEsaSs4KSl7dD1lLmluZGV4T2YoIl1dPiIsaSs4KTtpZih0PDApe3RoaXMub25FcnJvcihNcyk7cmV0dXJufXRoaXMub25DZGF0YShlLnN1YnN0cmluZyhpKzgsdCkpO2k9dCszfWVsc2V7aWYoIkRPQ1RZUEUiIT09ZS5zdWJzdHJpbmcoaSsxLGkrOCkpe3RoaXMub25FcnJvcihZcyk7cmV0dXJufXtjb25zdCBhPWUuaW5kZXhPZigiWyIsaSs4KTtsZXQgcz0hMTt0PWUuaW5kZXhPZigiPiIsaSs4KTtpZih0PDApe3RoaXMub25FcnJvcihIcyk7cmV0dXJufWlmKGE+MCYmdD5hKXt0PWUuaW5kZXhPZigiXT4iLGkrOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoSHMpO3JldHVybn1zPSEwfWNvbnN0IHI9ZS5zdWJzdHJpbmcoaSs4LHQrKHM/MTowKSk7dGhpcy5vbkRvY3R5cGUocik7aT10KyhzPzI6MSl9fWJyZWFrO2RlZmF1bHQ6Y29uc3Qgcz10aGlzLl9wYXJzZUNvbnRlbnQoZSxpKTtpZihudWxsPT09cyl7dGhpcy5vbkVycm9yKFlzKTtyZXR1cm59bGV0IHI9ITE7aWYoIi8+Ij09PWUuc3Vic3RyaW5nKGkrcy5wYXJzZWQsaStzLnBhcnNlZCsyKSlyPSEwO2Vsc2UgaWYoIj4iIT09ZS5zdWJzdHJpbmcoaStzLnBhcnNlZCxpK3MucGFyc2VkKzEpKXt0aGlzLm9uRXJyb3IodnMpO3JldHVybn10aGlzLm9uQmVnaW5FbGVtZW50KHMubmFtZSxzLmF0dHJpYnV0ZXMscik7aSs9cy5wYXJzZWQrKHI/MjoxKX19ZWxzZXtmb3IoO2k8ZS5sZW5ndGgmJiI8IiE9PWVbaV07KWkrKztjb25zdCBhPWUuc3Vic3RyaW5nKHQsaSk7dGhpcy5vblRleHQodGhpcy5fcmVzb2x2ZUVudGl0aWVzKGEpKX10PWl9fW9uUmVzb2x2ZUVudGl0eShlKXtyZXR1cm5gJiR7ZX07YH1vblBpKGUsdCl7fW9uQ29tbWVudChlKXt9b25DZGF0YShlKXt9b25Eb2N0eXBlKGUpe31vblRleHQoZSl7fW9uQmVnaW5FbGVtZW50KGUsdCxpKXt9b25FbmRFbGVtZW50KGUpe31vbkVycm9yKGUpe319Y2xhc3MgU2ltcGxlRE9NTm9kZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMubm9kZU5hbWU9ZTt0aGlzLm5vZGVWYWx1ZT10O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJwYXJlbnROb2RlIix7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pfWdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlcz8uWzBdfWdldCBuZXh0U2libGluZygpe2NvbnN0IGU9dGhpcy5wYXJlbnROb2RlLmNoaWxkTm9kZXM7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pbmRleE9mKHRoaXMpO3JldHVybi0xIT09dD9lW3QrMV06dm9pZCAwfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/dGhpcy5jaGlsZE5vZGVzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGV4dENvbnRlbnR9KSkuam9pbigiIik6dGhpcy5ub2RlVmFsdWV8fCIifWdldCBjaGlsZHJlbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN8fFtdfWhhc0NoaWxkTm9kZXMoKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzPy5sZW5ndGg+MH1zZWFyY2hOb2RlKGUsdCl7aWYodD49ZS5sZW5ndGgpcmV0dXJuIHRoaXM7Y29uc3QgaT1lW3RdO2lmKGkubmFtZS5zdGFydHNXaXRoKCIjIikmJnQ8ZS5sZW5ndGgtMSlyZXR1cm4gdGhpcy5zZWFyY2hOb2RlKGUsdCsxKTtjb25zdCBhPVtdO2xldCBzPXRoaXM7Zm9yKDs7KXtpZihpLm5hbWU9PT1zLm5vZGVOYW1lKXtpZigwIT09aS5wb3Mpe2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbnVsbDt7Y29uc3Rbcl09YS5wb3AoKTtsZXQgbj0wO2Zvcihjb25zdCBhIG9mIHIuY2hpbGROb2RlcylpZihpLm5hbWU9PT1hLm5vZGVOYW1lKXtpZihuPT09aS5wb3MpcmV0dXJuIGEuc2VhcmNoTm9kZShlLHQrMSk7bisrfXJldHVybiBzLnNlYXJjaE5vZGUoZSx0KzEpfX17Y29uc3QgaT1zLnNlYXJjaE5vZGUoZSx0KzEpO2lmKG51bGwhPT1pKXJldHVybiBpfX1pZihzLmNoaWxkTm9kZXM/Lmxlbmd0aD4wKXthLnB1c2goW3MsMF0pO3M9cy5jaGlsZE5vZGVzWzBdfWVsc2V7aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsO2Zvcig7MCE9PWEubGVuZ3RoOyl7Y29uc3RbZSx0XT1hLnBvcCgpLGk9dCsxO2lmKGk8ZS5jaGlsZE5vZGVzLmxlbmd0aCl7YS5wdXNoKFtlLGldKTtzPWUuY2hpbGROb2Rlc1tpXTticmVha319aWYoMD09PWEubGVuZ3RoKXJldHVybiBudWxsfX19ZHVtcChlKXtpZigiI3RleHQiIT09dGhpcy5ub2RlTmFtZSl7ZS5wdXNoKGA8JHt0aGlzLm5vZGVOYW1lfWApO2lmKHRoaXMuYXR0cmlidXRlcylmb3IoY29uc3QgdCBvZiB0aGlzLmF0dHJpYnV0ZXMpZS5wdXNoKGAgJHt0Lm5hbWV9PSIke2VuY29kZVRvWG1sU3RyaW5nKHQudmFsdWUpfSJgKTtpZih0aGlzLmhhc0NoaWxkTm9kZXMoKSl7ZS5wdXNoKCI+Iik7Zm9yKGNvbnN0IHQgb2YgdGhpcy5jaGlsZE5vZGVzKXQuZHVtcChlKTtlLnB1c2goYDwvJHt0aGlzLm5vZGVOYW1lfT5gKX1lbHNlIHRoaXMubm9kZVZhbHVlP2UucHVzaChgPiR7ZW5jb2RlVG9YbWxTdHJpbmcodGhpcy5ub2RlVmFsdWUpfTwvJHt0aGlzLm5vZGVOYW1lfT5gKTplLnB1c2goIi8+Iil9ZWxzZSBlLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpcy5ub2RlVmFsdWUpKX19Y2xhc3MgU2ltcGxlWE1MUGFyc2VyIGV4dGVuZHMgWE1MUGFyc2VyQmFzZXtjb25zdHJ1Y3Rvcih7aGFzQXR0cmlidXRlczplPSExLGxvd2VyQ2FzZU5hbWU6dD0hMX0pe3N1cGVyKCk7dGhpcy5fY3VycmVudEZyYWdtZW50PW51bGw7dGhpcy5fc3RhY2s9bnVsbDt0aGlzLl9lcnJvckNvZGU9VXM7dGhpcy5faGFzQXR0cmlidXRlcz1lO3RoaXMuX2xvd2VyQ2FzZU5hbWU9dH1wYXJzZUZyb21TdHJpbmcoZSl7dGhpcy5fY3VycmVudEZyYWdtZW50PVtdO3RoaXMuX3N0YWNrPVtdO3RoaXMuX2Vycm9yQ29kZT1Vczt0aGlzLnBhcnNlWG1sKGUpO2lmKHRoaXMuX2Vycm9yQ29kZSE9PVVzKXJldHVybjtjb25zdFt0XT10aGlzLl9jdXJyZW50RnJhZ21lbnQ7cmV0dXJuIHQ/e2RvY3VtZW50RWxlbWVudDp0fTp2b2lkIDB9b25UZXh0KGUpe2lmKGZ1bmN0aW9uIGlzV2hpdGVzcGFjZVN0cmluZyhlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0KyspaWYoIWlzV2hpdGVzcGFjZShlLHQpKXJldHVybiExO3JldHVybiEwfShlKSlyZXR1cm47Y29uc3QgdD1uZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLGUpO3RoaXMuX2N1cnJlbnRGcmFnbWVudC5wdXNoKHQpfW9uQ2RhdGEoZSl7Y29uc3QgdD1uZXcgU2ltcGxlRE9NTm9kZSgiI3RleHQiLGUpO3RoaXMuX2N1cnJlbnRGcmFnbWVudC5wdXNoKHQpfW9uQmVnaW5FbGVtZW50KGUsdCxpKXt0aGlzLl9sb3dlckNhc2VOYW1lJiYoZT1lLnRvTG93ZXJDYXNlKCkpO2NvbnN0IGE9bmV3IFNpbXBsZURPTU5vZGUoZSk7YS5jaGlsZE5vZGVzPVtdO3RoaXMuX2hhc0F0dHJpYnV0ZXMmJihhLmF0dHJpYnV0ZXM9dCk7dGhpcy5fY3VycmVudEZyYWdtZW50LnB1c2goYSk7aWYoIWkpe3RoaXMuX3N0YWNrLnB1c2godGhpcy5fY3VycmVudEZyYWdtZW50KTt0aGlzLl9jdXJyZW50RnJhZ21lbnQ9YS5jaGlsZE5vZGVzfX1vbkVuZEVsZW1lbnQoZSl7dGhpcy5fY3VycmVudEZyYWdtZW50PXRoaXMuX3N0YWNrLnBvcCgpfHxbXTtjb25zdCB0PXRoaXMuX2N1cnJlbnRGcmFnbWVudC5hdCgtMSk7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IGUgb2YgdC5jaGlsZE5vZGVzKWUucGFyZW50Tm9kZT10O3JldHVybiB0fW9uRXJyb3IoZSl7dGhpcy5fZXJyb3JDb2RlPWV9fWNsYXNzIE1ldGFkYXRhUGFyc2Vye2NvbnN0cnVjdG9yKGUpe2U9dGhpcy5fcmVwYWlyKGUpO2NvbnN0IHQ9bmV3IFNpbXBsZVhNTFBhcnNlcih7bG93ZXJDYXNlTmFtZTohMH0pLnBhcnNlRnJvbVN0cmluZyhlKTt0aGlzLl9tZXRhZGF0YU1hcD1uZXcgTWFwO3RoaXMuX2RhdGE9ZTt0JiZ0aGlzLl9wYXJzZSh0KX1fcmVwYWlyKGUpe3JldHVybiBlLnJlcGxhY2UoL15bXjxdKy8sIiIpLnJlcGxhY2VBbGwoLz5cXDM3NlxcMzc3KFtePF0rKS9nLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9dC5yZXBsYWNlQWxsKC9cXChbMC0zXSkoWzAtN10pKFswLTddKS9nLChmdW5jdGlvbihlLHQsaSxhKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg2NCp0KzgqaSsxKmEpfSkpLnJlcGxhY2VBbGwoLyYoYW1wfGFwb3N8Z3R8bHR8cXVvdCk7L2csKGZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQpe2Nhc2UiYW1wIjpyZXR1cm4iJiI7Y2FzZSJhcG9zIjpyZXR1cm4iJyI7Y2FzZSJndCI6cmV0dXJuIj4iO2Nhc2UibHQiOnJldHVybiI8IjtjYXNlInF1b3QiOnJldHVybiciJ310aHJvdyBuZXcgRXJyb3IoYF9yZXBhaXI6ICR7dH0gaXNuJ3QgZGVmaW5lZC5gKX0pKSxhPVsiPiJdO2ZvcihsZXQgZT0wLHQ9aS5sZW5ndGg7ZTx0O2UrPTIpe2NvbnN0IHQ9MjU2KmkuY2hhckNvZGVBdChlKStpLmNoYXJDb2RlQXQoZSsxKTt0Pj0zMiYmdDwxMjcmJjYwIT09dCYmNjIhPT10JiYzOCE9PXQ/YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUodCkpOmEucHVzaCgiJiN4IisoNjU1MzYrdCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKSsiOyIpfXJldHVybiBhLmpvaW4oIiIpfSkpfV9nZXRTZXF1ZW5jZShlKXtjb25zdCB0PWUubm9kZU5hbWU7cmV0dXJuInJkZjpiYWciIT09dCYmInJkZjpzZXEiIT09dCYmInJkZjphbHQiIT09dD9udWxsOmUuY2hpbGROb2Rlcy5maWx0ZXIoKGU9PiJyZGY6bGkiPT09ZS5ub2RlTmFtZSkpfV9wYXJzZUFycmF5KGUpe2lmKCFlLmhhc0NoaWxkTm9kZXMoKSlyZXR1cm47Y29uc3RbdF09ZS5jaGlsZE5vZGVzLGk9dGhpcy5fZ2V0U2VxdWVuY2UodCl8fFtdO3RoaXMuX21ldGFkYXRhTWFwLnNldChlLm5vZGVOYW1lLGkubWFwKChlPT5lLnRleHRDb250ZW50LnRyaW0oKSkpKX1fcGFyc2UoZSl7bGV0IHQ9ZS5kb2N1bWVudEVsZW1lbnQ7aWYoInJkZjpyZGYiIT09dC5ub2RlTmFtZSl7dD10LmZpcnN0Q2hpbGQ7Zm9yKDt0JiYicmRmOnJkZiIhPT10Lm5vZGVOYW1lOyl0PXQubmV4dFNpYmxpbmd9aWYodCYmInJkZjpyZGYiPT09dC5ub2RlTmFtZSYmdC5oYXNDaGlsZE5vZGVzKCkpZm9yKGNvbnN0IGUgb2YgdC5jaGlsZE5vZGVzKWlmKCJyZGY6ZGVzY3JpcHRpb24iPT09ZS5ub2RlTmFtZSlmb3IoY29uc3QgdCBvZiBlLmNoaWxkTm9kZXMpe2NvbnN0IGU9dC5ub2RlTmFtZTtzd2l0Y2goZSl7Y2FzZSIjdGV4dCI6Y29udGludWU7Y2FzZSJkYzpjcmVhdG9yIjpjYXNlImRjOnN1YmplY3QiOnRoaXMuX3BhcnNlQXJyYXkodCk7Y29udGludWV9dGhpcy5fbWV0YWRhdGFNYXAuc2V0KGUsdC50ZXh0Q29udGVudC50cmltKCkpfX1nZXQgc2VyaWFsaXphYmxlKCl7cmV0dXJue3BhcnNlZERhdGE6dGhpcy5fbWV0YWRhdGFNYXAscmF3RGF0YTp0aGlzLl9kYXRhfX19Y2xhc3MgRGVjcnlwdFN0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuZGVjcnlwdD1pO3RoaXMubmV4dENodW5rPW51bGw7dGhpcy5pbml0aWFsaXplZD0hMX1yZWFkQmxvY2soKXtsZXQgZTtpZih0aGlzLmluaXRpYWxpemVkKWU9dGhpcy5uZXh0Q2h1bms7ZWxzZXtlPXRoaXMuc3RyLmdldEJ5dGVzKDUxMik7dGhpcy5pbml0aWFsaXplZD0hMH1pZighZXx8MD09PWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59dGhpcy5uZXh0Q2h1bms9dGhpcy5zdHIuZ2V0Qnl0ZXMoNTEyKTtjb25zdCB0PXRoaXMubmV4dENodW5rPy5sZW5ndGg+MDtlPSgwLHRoaXMuZGVjcnlwdCkoZSwhdCk7Y29uc3QgaT10aGlzLmJ1ZmZlckxlbmd0aCxhPWkrZS5sZW5ndGg7dGhpcy5lbnN1cmVCdWZmZXIoYSkuc2V0KGUsaSk7dGhpcy5idWZmZXJMZW5ndGg9YX19Y2xhc3MgQVJDRm91ckNpcGhlcntjb25zdHJ1Y3RvcihlKXt0aGlzLmE9MDt0aGlzLmI9MDtjb25zdCB0PW5ldyBVaW50OEFycmF5KDI1NiksaT1lLmxlbmd0aDtmb3IobGV0IGU9MDtlPDI1NjsrK2UpdFtlXT1lO2ZvcihsZXQgYT0wLHM9MDthPDI1NjsrK2Epe2NvbnN0IHI9dFthXTtzPXMrcitlW2ElaV0mMjU1O3RbYV09dFtzXTt0W3NdPXJ9dGhpcy5zPXR9ZW5jcnlwdEJsb2NrKGUpe2xldCB0PXRoaXMuYSxpPXRoaXMuYjtjb25zdCBhPXRoaXMucyxzPWUubGVuZ3RoLHI9bmV3IFVpbnQ4QXJyYXkocyk7Zm9yKGxldCBuPTA7bjxzOysrbil7dD10KzEmMjU1O2NvbnN0IHM9YVt0XTtpPWkrcyYyNTU7Y29uc3QgZz1hW2ldO2FbdF09ZzthW2ldPXM7cltuXT1lW25dXmFbcytnJjI1NV19dGhpcy5hPXQ7dGhpcy5iPWk7cmV0dXJuIHJ9ZGVjcnlwdEJsb2NrKGUpe3JldHVybiB0aGlzLmVuY3J5cHRCbG9jayhlKX1lbmNyeXB0KGUpe3JldHVybiB0aGlzLmVuY3J5cHRCbG9jayhlKX19Y29uc3QgS3M9ZnVuY3Rpb24gY2FsY3VsYXRlTUQ1Q2xvc3VyZSgpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoWzcsMTIsMTcsMjIsNywxMiwxNywyMiw3LDEyLDE3LDIyLDcsMTIsMTcsMjIsNSw5LDE0LDIwLDUsOSwxNCwyMCw1LDksMTQsMjAsNSw5LDE0LDIwLDQsMTEsMTYsMjMsNCwxMSwxNiwyMyw0LDExLDE2LDIzLDQsMTEsMTYsMjMsNiwxMCwxNSwyMSw2LDEwLDE1LDIxLDYsMTAsMTUsMjEsNiwxMCwxNSwyMV0pLHQ9bmV3IEludDMyQXJyYXkoWy02ODA4NzY5MzYsLTM4OTU2NDU4Niw2MDYxMDU4MTksLTEwNDQ1MjUzMzAsLTE3NjQxODg5NywxMjAwMDgwNDI2LC0xNDczMjMxMzQxLC00NTcwNTk4MywxNzcwMDM1NDE2LC0xOTU4NDE0NDE3LC00MjA2MywtMTk5MDQwNDE2MiwxODA0NjAzNjgyLC00MDM0MTEwMSwtMTUwMjAwMjI5MCwxMjM2NTM1MzI5LC0xNjU3OTY1MTAsLTEwNjk1MDE2MzIsNjQzNzE3NzEzLC0zNzM4OTczMDIsLTcwMTU1ODY5MSwzODAxNjA4MywtNjYwNDc4MzM1LC00MDU1Mzc4NDgsNTY4NDQ2NDM4LC0xMDE5ODAzNjkwLC0xODczNjM5NjEsMTE2MzUzMTUwMSwtMTQ0NDY4MTQ2NywtNTE0MDM3ODQsMTczNTMyODQ3MywtMTkyNjYwNzczNCwtMzc4NTU4LC0yMDIyNTc0NDYzLDE4MzkwMzA1NjIsLTM1MzA5NTU2LC0xNTMwOTkyMDYwLDEyNzI4OTMzNTMsLTE1NTQ5NzYzMiwtMTA5NDczMDY0MCw2ODEyNzkxNzQsLTM1ODUzNzIyMiwtNzIyNTIxOTc5LDc2MDI5MTg5LC02NDAzNjQ0ODcsLTQyMTgxNTgzNSw1MzA3NDI1MjAsLTk5NTMzODY1MSwtMTk4NjMwODQ0LDExMjY4OTE0MTUsLTE0MTYzNTQ5MDUsLTU3NDM0MDU1LDE3MDA0ODU1NzEsLTE4OTQ5ODY2MDYsLTEwNTE1MjMsLTIwNTQ5MjI3OTksMTg3MzMxMzM1OSwtMzA2MTE3NDQsLTE1NjAxOTgzODAsMTMwOTE1MTY0OSwtMTQ1NTIzMDcwLC0xMTIwMjEwMzc5LDcxODc4NzI1OSwtMzQzNDg1NTUxXSk7cmV0dXJuIGZ1bmN0aW9uIGhhc2goaSxhLHMpe2xldCByPTE3MzI1ODQxOTMsbj0tMjcxNzMzODc5LGc9LTE3MzI1ODQxOTQsbz0yNzE3MzM4Nzg7Y29uc3QgYz1zKzcyJi02NCxDPW5ldyBVaW50OEFycmF5KGMpO2xldCBoLGw7Zm9yKGg9MDtoPHM7KytoKUNbaF09aVthKytdO0NbaCsrXT0xMjg7Y29uc3QgUT1jLTg7Zm9yKDtoPFE7KUNbaCsrXT0wO0NbaCsrXT1zPDwzJjI1NTtDW2grK109cz4+NSYyNTU7Q1toKytdPXM+PjEzJjI1NTtDW2grK109cz4+MjEmMjU1O0NbaCsrXT1zPj4+MjkmMjU1O0NbaCsrXT0wO0NbaCsrXT0wO0NbaCsrXT0wO2NvbnN0IEU9bmV3IEludDMyQXJyYXkoMTYpO2ZvcihoPTA7aDxjOyl7Zm9yKGw9MDtsPDE2OysrbCxoKz00KUVbbF09Q1toXXxDW2grMV08PDh8Q1toKzJdPDwxNnxDW2grM108PDI0O2xldCBpLGEscz1yLGM9bixRPWcsdT1vO2ZvcihsPTA7bDw2NDsrK2wpe2lmKGw8MTYpe2k9YyZRfH5jJnU7YT1sfWVsc2UgaWYobDwzMil7aT11JmN8fnUmUTthPTUqbCsxJjE1fWVsc2UgaWYobDw0OCl7aT1jXlFedTthPTMqbCs1JjE1fWVsc2V7aT1RXihjfH51KTthPTcqbCYxNX1jb25zdCByPXUsbj1zK2krdFtsXStFW2FdfDAsZz1lW2xdO3U9UTtRPWM7Yz1jKyhuPDxnfG4+Pj4zMi1nKXwwO3M9cn1yPXIrc3wwO249bitjfDA7Zz1nK1F8MDtvPW8rdXwwfXJldHVybiBuZXcgVWludDhBcnJheShbMjU1JnIscj4+OCYyNTUscj4+MTYmMjU1LHI+Pj4yNCYyNTUsMjU1Jm4sbj4+OCYyNTUsbj4+MTYmMjU1LG4+Pj4yNCYyNTUsMjU1JmcsZz4+OCYyNTUsZz4+MTYmMjU1LGc+Pj4yNCYyNTUsMjU1Jm8sbz4+OCYyNTUsbz4+MTYmMjU1LG8+Pj4yNCYyNTVdKX19KCk7Y2xhc3MgV29yZDY0e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5oaWdoPTB8ZTt0aGlzLmxvdz0wfHR9YW5kKGUpe3RoaXMuaGlnaCY9ZS5oaWdoO3RoaXMubG93Jj1lLmxvd314b3IoZSl7dGhpcy5oaWdoXj1lLmhpZ2g7dGhpcy5sb3dePWUubG93fW9yKGUpe3RoaXMuaGlnaHw9ZS5oaWdoO3RoaXMubG93fD1lLmxvd31zaGlmdFJpZ2h0KGUpe2lmKGU+PTMyKXt0aGlzLmxvdz10aGlzLmhpZ2g+Pj5lLTMyfDA7dGhpcy5oaWdoPTB9ZWxzZXt0aGlzLmxvdz10aGlzLmxvdz4+PmV8dGhpcy5oaWdoPDwzMi1lO3RoaXMuaGlnaD10aGlzLmhpZ2g+Pj5lfDB9fXNoaWZ0TGVmdChlKXtpZihlPj0zMil7dGhpcy5oaWdoPXRoaXMubG93PDxlLTMyO3RoaXMubG93PTB9ZWxzZXt0aGlzLmhpZ2g9dGhpcy5oaWdoPDxlfHRoaXMubG93Pj4+MzItZTt0aGlzLmxvdzw8PWV9fXJvdGF0ZVJpZ2h0KGUpe2xldCB0LGk7aWYoMzImZSl7aT10aGlzLmxvdzt0PXRoaXMuaGlnaH1lbHNle3Q9dGhpcy5sb3c7aT10aGlzLmhpZ2h9ZSY9MzE7dGhpcy5sb3c9dD4+PmV8aTw8MzItZTt0aGlzLmhpZ2g9aT4+PmV8dDw8MzItZX1ub3QoKXt0aGlzLmhpZ2g9fnRoaXMuaGlnaDt0aGlzLmxvdz1+dGhpcy5sb3d9YWRkKGUpe2NvbnN0IHQ9KHRoaXMubG93Pj4+MCkrKGUubG93Pj4+MCk7bGV0IGk9KHRoaXMuaGlnaD4+PjApKyhlLmhpZ2g+Pj4wKTt0PjQyOTQ5NjcyOTUmJihpKz0xKTt0aGlzLmxvdz0wfHQ7dGhpcy5oaWdoPTB8aX1jb3B5VG8oZSx0KXtlW3RdPXRoaXMuaGlnaD4+PjI0JjI1NTtlW3QrMV09dGhpcy5oaWdoPj4xNiYyNTU7ZVt0KzJdPXRoaXMuaGlnaD4+OCYyNTU7ZVt0KzNdPTI1NSZ0aGlzLmhpZ2g7ZVt0KzRdPXRoaXMubG93Pj4+MjQmMjU1O2VbdCs1XT10aGlzLmxvdz4+MTYmMjU1O2VbdCs2XT10aGlzLmxvdz4+OCYyNTU7ZVt0KzddPTI1NSZ0aGlzLmxvd31hc3NpZ24oZSl7dGhpcy5oaWdoPWUuaGlnaDt0aGlzLmxvdz1lLmxvd319Y29uc3QgVHM9ZnVuY3Rpb24gY2FsY3VsYXRlU0hBMjU2Q2xvc3VyZSgpe2Z1bmN0aW9uIHJvdHIoZSx0KXtyZXR1cm4gZT4+PnR8ZTw8MzItdH1mdW5jdGlvbiBjaChlLHQsaSl7cmV0dXJuIGUmdF5+ZSZpfWZ1bmN0aW9uIG1haihlLHQsaSl7cmV0dXJuIGUmdF5lJmledCZpfWZ1bmN0aW9uIHNpZ21hKGUpe3JldHVybiByb3RyKGUsMilecm90cihlLDEzKV5yb3RyKGUsMjIpfWZ1bmN0aW9uIHNpZ21hUHJpbWUoZSl7cmV0dXJuIHJvdHIoZSw2KV5yb3RyKGUsMTEpXnJvdHIoZSwyNSl9ZnVuY3Rpb24gbGl0dGxlU2lnbWEoZSl7cmV0dXJuIHJvdHIoZSw3KV5yb3RyKGUsMTgpXmU+Pj4zfWNvbnN0IGU9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF07cmV0dXJuIGZ1bmN0aW9uIGhhc2godCxpLGEpe2xldCBzPTE3NzkwMzM3MDMscj0zMTQ0MTM0Mjc3LG49MTAxMzkwNDI0MixnPTI3NzM0ODA3NjIsbz0xMzU5ODkzMTE5LGM9MjYwMDgyMjkyNCxDPTUyODczNDYzNSxoPTE1NDE0NTkyMjU7Y29uc3QgbD02NCpNYXRoLmNlaWwoKGErOSkvNjQpLFE9bmV3IFVpbnQ4QXJyYXkobCk7bGV0IEUsdTtmb3IoRT0wO0U8YTsrK0UpUVtFXT10W2krK107UVtFKytdPTEyODtjb25zdCBkPWwtODtmb3IoO0U8ZDspUVtFKytdPTA7UVtFKytdPTA7UVtFKytdPTA7UVtFKytdPTA7UVtFKytdPWE+Pj4yOSYyNTU7UVtFKytdPWE+PjIxJjI1NTtRW0UrK109YT4+MTMmMjU1O1FbRSsrXT1hPj41JjI1NTtRW0UrK109YTw8MyYyNTU7Y29uc3QgZj1uZXcgVWludDMyQXJyYXkoNjQpO2ZvcihFPTA7RTxsOyl7Zm9yKHU9MDt1PDE2OysrdSl7Zlt1XT1RW0VdPDwyNHxRW0UrMV08PDE2fFFbRSsyXTw8OHxRW0UrM107RSs9NH1mb3IodT0xNjt1PDY0OysrdSlmW3VdPShyb3RyKHA9Zlt1LTJdLDE3KV5yb3RyKHAsMTkpXnA+Pj4xMCkrZlt1LTddK2xpdHRsZVNpZ21hKGZbdS0xNV0pK2ZbdS0xNl18MDtsZXQgdCxpLGE9cyxsPXIsZD1uLG09Zyx5PW8sdz1jLEQ9QyxiPWg7Zm9yKHU9MDt1PDY0OysrdSl7dD1iK3NpZ21hUHJpbWUoeSkrY2goeSx3LEQpK2VbdV0rZlt1XTtpPXNpZ21hKGEpK21haihhLGwsZCk7Yj1EO0Q9dzt3PXk7eT1tK3R8MDttPWQ7ZD1sO2w9YTthPXQraXwwfXM9cythfDA7cj1yK2x8MDtuPW4rZHwwO2c9ZyttfDA7bz1vK3l8MDtjPWMrd3wwO0M9QytEfDA7aD1oK2J8MH12YXIgcDtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoW3M+PjI0JjI1NSxzPj4xNiYyNTUscz4+OCYyNTUsMjU1JnMscj4+MjQmMjU1LHI+PjE2JjI1NSxyPj44JjI1NSwyNTUmcixuPj4yNCYyNTUsbj4+MTYmMjU1LG4+PjgmMjU1LDI1NSZuLGc+PjI0JjI1NSxnPj4xNiYyNTUsZz4+OCYyNTUsMjU1Jmcsbz4+MjQmMjU1LG8+PjE2JjI1NSxvPj44JjI1NSwyNTUmbyxjPj4yNCYyNTUsYz4+MTYmMjU1LGM+PjgmMjU1LDI1NSZjLEM+PjI0JjI1NSxDPj4xNiYyNTUsQz4+OCYyNTUsMjU1JkMsaD4+MjQmMjU1LGg+PjE2JjI1NSxoPj44JjI1NSwyNTUmaF0pfX0oKSxxcz1mdW5jdGlvbiBjYWxjdWxhdGVTSEE1MTJDbG9zdXJlKCl7ZnVuY3Rpb24gY2goZSx0LGksYSxzKXtlLmFzc2lnbih0KTtlLmFuZChpKTtzLmFzc2lnbih0KTtzLm5vdCgpO3MuYW5kKGEpO2UueG9yKHMpfWZ1bmN0aW9uIG1haihlLHQsaSxhLHMpe2UuYXNzaWduKHQpO2UuYW5kKGkpO3MuYXNzaWduKHQpO3MuYW5kKGEpO2UueG9yKHMpO3MuYXNzaWduKGkpO3MuYW5kKGEpO2UueG9yKHMpfWZ1bmN0aW9uIHNpZ21hKGUsdCxpKXtlLmFzc2lnbih0KTtlLnJvdGF0ZVJpZ2h0KDI4KTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDM0KTtlLnhvcihpKTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDM5KTtlLnhvcihpKX1mdW5jdGlvbiBzaWdtYVByaW1lKGUsdCxpKXtlLmFzc2lnbih0KTtlLnJvdGF0ZVJpZ2h0KDE0KTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDE4KTtlLnhvcihpKTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDQxKTtlLnhvcihpKX1mdW5jdGlvbiBsaXR0bGVTaWdtYShlLHQsaSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgxKTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDgpO2UueG9yKGkpO2kuYXNzaWduKHQpO2kuc2hpZnRSaWdodCg3KTtlLnhvcihpKX1mdW5jdGlvbiBsaXR0bGVTaWdtYVByaW1lKGUsdCxpKXtlLmFzc2lnbih0KTtlLnJvdGF0ZVJpZ2h0KDE5KTtpLmFzc2lnbih0KTtpLnJvdGF0ZVJpZ2h0KDYxKTtlLnhvcihpKTtpLmFzc2lnbih0KTtpLnNoaWZ0UmlnaHQoNik7ZS54b3IoaSl9Y29uc3QgZT1bbmV3IFdvcmQ2NCgxMTE2MzUyNDA4LDM2MDk3Njc0NTgpLG5ldyBXb3JkNjQoMTg5OTQ0NzQ0MSw2MDI4OTE3MjUpLG5ldyBXb3JkNjQoMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5KSxuZXcgV29yZDY0KDM5MjEwMDk1NzMsMjE3MzI5NTU0OCksbmV3IFdvcmQ2NCg5NjE5ODcxNjMsNDA4MTYyODQ3MiksbmV3IFdvcmQ2NCgxNTA4OTcwOTkzLDMwNTM4MzQyNjUpLG5ldyBXb3JkNjQoMjQ1MzYzNTc0OCwyOTM3NjcxNTc5KSxuZXcgV29yZDY0KDI4NzA3NjMyMjEsMzY2NDYwOTU2MCksbmV3IFdvcmQ2NCgzNjI0MzgxMDgwLDI3MzQ4ODMzOTQpLG5ldyBXb3JkNjQoMzEwNTk4NDAxLDExNjQ5OTY1NDIpLG5ldyBXb3JkNjQoNjA3MjI1Mjc4LDEzMjM2MTA3NjQpLG5ldyBXb3JkNjQoMTQyNjg4MTk4NywzNTkwMzA0OTk0KSxuZXcgV29yZDY0KDE5MjUwNzgzODgsNDA2ODE4MjM4MyksbmV3IFdvcmQ2NCgyMTYyMDc4MjA2LDk5MTMzNjExMyksbmV3IFdvcmQ2NCgyNjE0ODg4MTAzLDYzMzgwMzMxNyksbmV3IFdvcmQ2NCgzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgpLG5ldyBXb3JkNjQoMzgzNTM5MDQwMSwyNjY2NjEzNDU4KSxuZXcgV29yZDY0KDQwMjIyMjQ3NzQsOTQ0NzExMTM5KSxuZXcgV29yZDY0KDI2NDM0NzA3OCwyMzQxMjYyNzczKSxuZXcgV29yZDY0KDYwNDgwNzYyOCwyMDA3ODAwOTMzKSxuZXcgV29yZDY0KDc3MDI1NTk4MywxNDk1OTkwOTAxKSxuZXcgV29yZDY0KDEyNDkxNTAxMjIsMTg1NjQzMTIzNSksbmV3IFdvcmQ2NCgxNTU1MDgxNjkyLDMxNzUyMTgxMzIpLG5ldyBXb3JkNjQoMTk5NjA2NDk4NiwyMTk4OTUwODM3KSxuZXcgV29yZDY0KDI1NTQyMjA4ODIsMzk5OTcxOTMzOSksbmV3IFdvcmQ2NCgyODIxODM0MzQ5LDc2Njc4NDAxNiksbmV3IFdvcmQ2NCgyOTUyOTk2ODA4LDI1NjY1OTQ4NzkpLG5ldyBXb3JkNjQoMzIxMDMxMzY3MSwzMjAzMzM3OTU2KSxuZXcgV29yZDY0KDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiksbmV3IFdvcmQ2NCgzNTg0NTI4NzExLDI0NjY5NDg5MDEpLG5ldyBXb3JkNjQoMTEzOTI2OTkzLDM3NTgzMjYzODMpLG5ldyBXb3JkNjQoMzM4MjQxODk1LDE2ODcxNzkzNiksbmV3IFdvcmQ2NCg2NjYzMDcyMDUsMTE4ODE3OTk2NCksbmV3IFdvcmQ2NCg3NzM1Mjk5MTIsMTU0NjA0NTczNCksbmV3IFdvcmQ2NCgxMjk0NzU3MzcyLDE1MjI4MDU0ODUpLG5ldyBXb3JkNjQoMTM5NjE4MjI5MSwyNjQzODMzODIzKSxuZXcgV29yZDY0KDE2OTUxODM3MDAsMjM0MzUyNzM5MCksbmV3IFdvcmQ2NCgxOTg2NjYxMDUxLDEwMTQ0Nzc0ODApLG5ldyBXb3JkNjQoMjE3NzAyNjM1MCwxMjA2NzU5MTQyKSxuZXcgV29yZDY0KDI0NTY5NTYwMzcsMzQ0MDc3NjI3KSxuZXcgV29yZDY0KDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCksbmV3IFdvcmQ2NCgyODIwMzAyNDExLDMxNTg0NTQyNzMpLG5ldyBXb3JkNjQoMzI1OTczMDgwMCwzNTA1OTUyNjU3KSxuZXcgV29yZDY0KDMzNDU3NjQ3NzEsMTA2MjE3MDA4KSxuZXcgV29yZDY0KDM1MTYwNjU4MTcsMzYwNjAwODM0NCksbmV3IFdvcmQ2NCgzNjAwMzUyODA0LDE0MzI3MjU3NzYpLG5ldyBXb3JkNjQoNDA5NDU3MTkwOSwxNDY3MDMxNTk0KSxuZXcgV29yZDY0KDI3NTQyMzM0NCw4NTExNjk3MjApLG5ldyBXb3JkNjQoNDMwMjI3NzM0LDMxMDA4MjM3NTIpLG5ldyBXb3JkNjQoNTA2OTQ4NjE2LDEzNjMyNTgxOTUpLG5ldyBXb3JkNjQoNjU5MDYwNTU2LDM3NTA2ODU1OTMpLG5ldyBXb3JkNjQoODgzOTk3ODc3LDM3ODUwNTAyODApLG5ldyBXb3JkNjQoOTU4MTM5NTcxLDMzMTgzMDc0MjcpLG5ldyBXb3JkNjQoMTMyMjgyMjIxOCwzODEyNzIzNDAzKSxuZXcgV29yZDY0KDE1MzcwMDIwNjMsMjAwMzAzNDk5NSksbmV3IFdvcmQ2NCgxNzQ3ODczNzc5LDM2MDIwMzY4OTkpLG5ldyBXb3JkNjQoMTk1NTU2MjIyMiwxNTc1OTkwMDEyKSxuZXcgV29yZDY0KDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCksbmV3IFdvcmQ2NCgyMjI3NzMwNDUyLDI3MTY5MDQzMDYpLG5ldyBXb3JkNjQoMjM2MTg1MjQyNCw0NDI3NzYwNDQpLG5ldyBXb3JkNjQoMjQyODQzNjQ3NCw1OTM2OTgzNDQpLG5ldyBXb3JkNjQoMjc1NjczNDE4NywzNzMzMTEwMjQ5KSxuZXcgV29yZDY0KDMyMDQwMzE0NzksMjk5OTM1MTU3MyksbmV3IFdvcmQ2NCgzMzI5MzI1Mjk4LDM4MTU5MjA0MjcpLG5ldyBXb3JkNjQoMzM5MTU2OTYxNCwzOTI4MzgzOTAwKSxuZXcgV29yZDY0KDM1MTUyNjcyNzEsNTY2MjgwNzExKSxuZXcgV29yZDY0KDM5NDAxODc2MDYsMzQ1NDA2OTUzNCksbmV3IFdvcmQ2NCg0MTE4NjMwMjcxLDQwMDAyMzk5OTIpLG5ldyBXb3JkNjQoMTE2NDE4NDc0LDE5MTQxMzg1NTQpLG5ldyBXb3JkNjQoMTc0MjkyNDIxLDI3MzEwNTUyNzApLG5ldyBXb3JkNjQoMjg5MzgwMzU2LDMyMDM5OTMwMDYpLG5ldyBXb3JkNjQoNDYwMzkzMjY5LDMyMDYyMDMxNSksbmV3IFdvcmQ2NCg2ODU0NzE3MzMsNTg3NDk2ODM2KSxuZXcgV29yZDY0KDg1MjE0Mjk3MSwxMDg2NzkyODUxKSxuZXcgV29yZDY0KDEwMTcwMzYyOTgsMzY1NTQzMTAwKSxuZXcgV29yZDY0KDExMjYwMDA1ODAsMjYxODI5NzY3NiksbmV3IFdvcmQ2NCgxMjg4MDMzNDcwLDM0MDk4NTUxNTgpLG5ldyBXb3JkNjQoMTUwMTUwNTk0OCw0MjM0NTA5ODY2KSxuZXcgV29yZDY0KDE2MDcxNjc5MTUsOTg3MTY3NDY4KSxuZXcgV29yZDY0KDE4MTY0MDIzMTYsMTI0NjE4OTU5MSldO3JldHVybiBmdW5jdGlvbiBoYXNoKHQsaSxhLHM9ITEpe2xldCByLG4sZyxvLGMsQyxoLGw7aWYocyl7cj1uZXcgV29yZDY0KDM0MTgwNzAzNjUsMzIzODM3MTAzMik7bj1uZXcgV29yZDY0KDE2NTQyNzAyNTAsOTE0MTUwNjYzKTtnPW5ldyBXb3JkNjQoMjQzODUyOTM3MCw4MTI3MDI5OTkpO289bmV3IFdvcmQ2NCgzNTU0NjIzNjAsNDE0NDkxMjY5Nyk7Yz1uZXcgV29yZDY0KDE3MzE0MDU0MTUsNDI5MDc3NTg1Nyk7Qz1uZXcgV29yZDY0KDIzOTQxODAyMzEsMTc1MDYwMzAyNSk7aD1uZXcgV29yZDY0KDM2NzUwMDg1MjUsMTY5NDA3NjgzOSk7bD1uZXcgV29yZDY0KDEyMDMwNjI4MTMsMzIwNDA3NTQyOCl9ZWxzZXtyPW5ldyBXb3JkNjQoMTc3OTAzMzcwMyw0MDg5MjM1NzIwKTtuPW5ldyBXb3JkNjQoMzE0NDEzNDI3NywyMjI3ODczNTk1KTtnPW5ldyBXb3JkNjQoMTAxMzkwNDI0Miw0MjcxMTc1NzIzKTtvPW5ldyBXb3JkNjQoMjc3MzQ4MDc2MiwxNTk1NzUwMTI5KTtjPW5ldyBXb3JkNjQoMTM1OTg5MzExOSwyOTE3NTY1MTM3KTtDPW5ldyBXb3JkNjQoMjYwMDgyMjkyNCw3MjU1MTExOTkpO2g9bmV3IFdvcmQ2NCg1Mjg3MzQ2MzUsNDIxNTM4OTU0Nyk7bD1uZXcgV29yZDY0KDE1NDE0NTkyMjUsMzI3MDMzMjA5KX1jb25zdCBRPTEyOCpNYXRoLmNlaWwoKGErMTcpLzEyOCksRT1uZXcgVWludDhBcnJheShRKTtsZXQgdSxkO2Zvcih1PTA7dTxhOysrdSlFW3VdPXRbaSsrXTtFW3UrK109MTI4O2NvbnN0IGY9US0xNjtmb3IoO3U8ZjspRVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPTA7RVt1KytdPWE+Pj4yOSYyNTU7RVt1KytdPWE+PjIxJjI1NTtFW3UrK109YT4+MTMmMjU1O0VbdSsrXT1hPj41JjI1NTtFW3UrK109YTw8MyYyNTU7Y29uc3QgcD1uZXcgQXJyYXkoODApO2Zvcih1PTA7dTw4MDt1KyspcFt1XT1uZXcgV29yZDY0KDAsMCk7bGV0IG09bmV3IFdvcmQ2NCgwLDApLHk9bmV3IFdvcmQ2NCgwLDApLHc9bmV3IFdvcmQ2NCgwLDApLEQ9bmV3IFdvcmQ2NCgwLDApLGI9bmV3IFdvcmQ2NCgwLDApLEY9bmV3IFdvcmQ2NCgwLDApLFM9bmV3IFdvcmQ2NCgwLDApLGs9bmV3IFdvcmQ2NCgwLDApO2NvbnN0IFI9bmV3IFdvcmQ2NCgwLDApLE49bmV3IFdvcmQ2NCgwLDApLEc9bmV3IFdvcmQ2NCgwLDApLHg9bmV3IFdvcmQ2NCgwLDApO2xldCBVLE07Zm9yKHU9MDt1PFE7KXtmb3IoZD0wO2Q8MTY7KytkKXtwW2RdLmhpZ2g9RVt1XTw8MjR8RVt1KzFdPDwxNnxFW3UrMl08PDh8RVt1KzNdO3BbZF0ubG93PUVbdSs0XTw8MjR8RVt1KzVdPDwxNnxFW3UrNl08PDh8RVt1KzddO3UrPTh9Zm9yKGQ9MTY7ZDw4MDsrK2Qpe1U9cFtkXTtsaXR0bGVTaWdtYVByaW1lKFUscFtkLTJdLHgpO1UuYWRkKHBbZC03XSk7bGl0dGxlU2lnbWEoRyxwW2QtMTVdLHgpO1UuYWRkKEcpO1UuYWRkKHBbZC0xNl0pfW0uYXNzaWduKHIpO3kuYXNzaWduKG4pO3cuYXNzaWduKGcpO0QuYXNzaWduKG8pO2IuYXNzaWduKGMpO0YuYXNzaWduKEMpO1MuYXNzaWduKGgpO2suYXNzaWduKGwpO2ZvcihkPTA7ZDw4MDsrK2Qpe1IuYXNzaWduKGspO3NpZ21hUHJpbWUoRyxiLHgpO1IuYWRkKEcpO2NoKEcsYixGLFMseCk7Ui5hZGQoRyk7Ui5hZGQoZVtkXSk7Ui5hZGQocFtkXSk7c2lnbWEoTixtLHgpO21haihHLG0seSx3LHgpO04uYWRkKEcpO1U9aztrPVM7Uz1GO0Y9YjtELmFkZChSKTtiPUQ7RD13O3c9eTt5PW07VS5hc3NpZ24oUik7VS5hZGQoTik7bT1VfXIuYWRkKG0pO24uYWRkKHkpO2cuYWRkKHcpO28uYWRkKEQpO2MuYWRkKGIpO0MuYWRkKEYpO2guYWRkKFMpO2wuYWRkKGspfWlmKHMpe009bmV3IFVpbnQ4QXJyYXkoNDgpO3IuY29weVRvKE0sMCk7bi5jb3B5VG8oTSw4KTtnLmNvcHlUbyhNLDE2KTtvLmNvcHlUbyhNLDI0KTtjLmNvcHlUbyhNLDMyKTtDLmNvcHlUbyhNLDQwKX1lbHNle009bmV3IFVpbnQ4QXJyYXkoNjQpO3IuY29weVRvKE0sMCk7bi5jb3B5VG8oTSw4KTtnLmNvcHlUbyhNLDE2KTtvLmNvcHlUbyhNLDI0KTtjLmNvcHlUbyhNLDMyKTtDLmNvcHlUbyhNLDQwKTtoLmNvcHlUbyhNLDQ4KTtsLmNvcHlUbyhNLDU2KX1yZXR1cm4gTX19KCk7Y2xhc3MgTnVsbENpcGhlcntkZWNyeXB0QmxvY2soZSl7cmV0dXJuIGV9ZW5jcnlwdChlKXtyZXR1cm4gZX19Y2xhc3MgQUVTQmFzZUNpcGhlcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3M9bmV3IFVpbnQ4QXJyYXkoWzk5LDEyNCwxMTksMTIzLDI0MiwxMDcsMTExLDE5Nyw0OCwxLDEwMyw0MywyNTQsMjE1LDE3MSwxMTgsMjAyLDEzMCwyMDEsMTI1LDI1MCw4OSw3MSwyNDAsMTczLDIxMiwxNjIsMTc1LDE1NiwxNjQsMTE0LDE5MiwxODMsMjUzLDE0NywzOCw1NCw2MywyNDcsMjA0LDUyLDE2NSwyMjksMjQxLDExMywyMTYsNDksMjEsNCwxOTksMzUsMTk1LDI0LDE1MCw1LDE1NCw3LDE4LDEyOCwyMjYsMjM1LDM5LDE3OCwxMTcsOSwxMzEsNDQsMjYsMjcsMTEwLDkwLDE2MCw4Miw1OSwyMTQsMTc5LDQxLDIyNyw0NywxMzIsODMsMjA5LDAsMjM3LDMyLDI1MiwxNzcsOTEsMTA2LDIwMywxOTAsNTcsNzQsNzYsODgsMjA3LDIwOCwyMzksMTcwLDI1MSw2Nyw3Nyw1MSwxMzMsNjksMjQ5LDIsMTI3LDgwLDYwLDE1OSwxNjgsODEsMTYzLDY0LDE0MywxNDYsMTU3LDU2LDI0NSwxODgsMTgyLDIxOCwzMywxNiwyNTUsMjQzLDIxMCwyMDUsMTIsMTksMjM2LDk1LDE1MSw2OCwyMywxOTYsMTY3LDEyNiw2MSwxMDAsOTMsMjUsMTE1LDk2LDEyOSw3OSwyMjAsMzQsNDIsMTQ0LDEzNiw3MCwyMzgsMTg0LDIwLDIyMiw5NCwxMSwyMTksMjI0LDUwLDU4LDEwLDczLDYsMzYsOTIsMTk0LDIxMSwxNzIsOTgsMTQ1LDE0OSwyMjgsMTIxLDIzMSwyMDAsNTUsMTA5LDE0MSwyMTMsNzgsMTY5LDEwOCw4NiwyNDQsMjM0LDEwMSwxMjIsMTc0LDgsMTg2LDEyMCwzNyw0NiwyOCwxNjYsMTgwLDE5OCwyMzIsMjIxLDExNiwzMSw3NSwxODksMTM5LDEzOCwxMTIsNjIsMTgxLDEwMiw3MiwzLDI0NiwxNCw5Nyw1Myw4NywxODUsMTM0LDE5MywyOSwxNTgsMjI1LDI0OCwxNTIsMTcsMTA1LDIxNywxNDIsMTQ4LDE1NSwzMCwxMzUsMjMzLDIwNiw4NSw0MCwyMjMsMTQwLDE2MSwxMzcsMTMsMTkxLDIzMCw2NiwxMDQsNjUsMTUzLDQ1LDE1LDE3Niw4NCwxODcsMjJdKTt0aGlzLl9pbnZfcz1uZXcgVWludDhBcnJheShbODIsOSwxMDYsMjEzLDQ4LDU0LDE2NSw1NiwxOTEsNjQsMTYzLDE1OCwxMjksMjQzLDIxNSwyNTEsMTI0LDIyNyw1NywxMzAsMTU1LDQ3LDI1NSwxMzUsNTIsMTQyLDY3LDY4LDE5NiwyMjIsMjMzLDIwMyw4NCwxMjMsMTQ4LDUwLDE2NiwxOTQsMzUsNjEsMjM4LDc2LDE0OSwxMSw2NiwyNTAsMTk1LDc4LDgsNDYsMTYxLDEwMiw0MCwyMTcsMzYsMTc4LDExOCw5MSwxNjIsNzMsMTA5LDEzOSwyMDksMzcsMTE0LDI0OCwyNDYsMTAwLDEzNCwxMDQsMTUyLDIyLDIxMiwxNjQsOTIsMjA0LDkzLDEwMSwxODIsMTQ2LDEwOCwxMTIsNzIsODAsMjUzLDIzNywxODUsMjE4LDk0LDIxLDcwLDg3LDE2NywxNDEsMTU3LDEzMiwxNDQsMjE2LDE3MSwwLDE0MCwxODgsMjExLDEwLDI0NywyMjgsODgsNSwxODQsMTc5LDY5LDYsMjA4LDQ0LDMwLDE0MywyMDIsNjMsMTUsMiwxOTMsMTc1LDE4OSwzLDEsMTksMTM4LDEwNyw1OCwxNDUsMTcsNjUsNzksMTAzLDIyMCwyMzQsMTUxLDI0MiwyMDcsMjA2LDI0MCwxODAsMjMwLDExNSwxNTAsMTcyLDExNiwzNCwyMzEsMTczLDUzLDEzMywyMjYsMjQ5LDU1LDIzMiwyOCwxMTcsMjIzLDExMCw3MSwyNDEsMjYsMTEzLDI5LDQxLDE5NywxMzcsMTExLDE4Myw5OCwxNCwxNzAsMjQsMTkwLDI3LDI1Miw4Niw2Miw3NSwxOTgsMjEwLDEyMSwzMiwxNTQsMjE5LDE5MiwyNTQsMTIwLDIwNSw5MCwyNDQsMzEsMjIxLDE2OCw1MSwxMzYsNywxOTksNDksMTc3LDE4LDE2LDg5LDM5LDEyOCwyMzYsOTUsOTYsODEsMTI3LDE2OSwyNSwxODEsNzQsMTMsNDUsMjI5LDEyMiwxNTksMTQ3LDIwMSwxNTYsMjM5LDE2MCwyMjQsNTksNzcsMTc0LDQyLDI0NSwxNzYsMjAwLDIzNSwxODcsNjAsMTMxLDgzLDE1Myw5NywyMyw0Myw0LDEyNiwxODYsMTE5LDIxNCwzOCwyMjUsMTA1LDIwLDk5LDg1LDMzLDEyLDEyNV0pO3RoaXMuX21peD1uZXcgVWludDMyQXJyYXkoWzAsMjM1NDc0MTg3LDQ3MDk0ODM3NCwzMDM3NjUyNzcsOTQxODk2NzQ4LDkwODkzMzQxNSw2MDc1MzA1NTQsNzA4NzgwODQ5LDE4ODM3OTM0OTYsMjExODIxNDk5NSwxODE3ODY2ODMwLDE2NDk2MzkyMzcsMTIxNTA2MTEwOCwxMTgxMDQ1MTE5LDE0MTc1NjE2OTgsMTUxNzc2NzUyOSwzNzY3NTg2OTkyLDQwMDMwNjExNzksNDIzNjQyOTk5MCw0MDY5MjQ2ODkzLDM2MzU3MzM2NjAsMzYwMjc3MDMyNywzMjk5Mjc4NDc0LDM0MDA1Mjg3NjksMjQzMDEyMjIxNiwyNjY0NTQzNzE1LDIzNjIwOTAyMzgsMjE5Mzg2MjY0NSwyODM1MTIzMzk2LDI4MDExMDc0MDcsMzAzNTUzNTA1OCwzMTM1NzQwODg5LDM2NzgxMjQ5MjMsMzU3Njg3MDUxMiwzMzQxMzk0Mjg1LDMzNzQzNjE3MDIsMzgxMDQ5NjM0MywzOTc3Njc1MzU2LDQyNzkwODAyNTcsNDA0MzYxMDE4NiwyODc2NDk0NjI3LDI3NzYyOTI5MDQsMzA3NjYzOTAyOSwzMTEwNjUwOTQyLDI0NzIwMTE1MzUsMjY0MDI0MzIwNCwyNDAzNzI4NjY1LDIxNjkzMDMwNTgsMTAwMTA4OTk5NSw4OTk4MzU1ODQsNjY2NDY0NzMzLDY5OTQzMjE1MCw1OTcyNzg0NywyMjY5MDY4NjAsNTMwNDAwNzUzLDI5NDkzMDY4MiwxMjczMTY4Nzg3LDExNzI5NjcwNjQsMTQ3NTQxODUwMSwxNTA5NDMwNDE0LDE5NDI0MzU3NzUsMjExMDY2NzQ0NCwxODc2MjQxODMzLDE2NDE4MTYyMjYsMjkxMDIxOTc2NiwyNzQzMDM0MTA5LDI5NzYxNTE1MjAsMzIxMTYyMzE0NywyNTA1MjAyMTM4LDI2MDY0NTM5NjksMjMwMjY5MDI1MiwyMjY5NzI4NDU1LDM3MTE4Mjk0MjIsMzU0MzU5OTI2OSwzMjQwODk0MzkyLDM0NzUzMTMzMzEsMzg0MzY5OTA3NCwzOTQzOTA2NDQxLDQxNzgwNjIyMjgsNDE0NDA0Nzc3NSwxMzA2OTY3MzY2LDExMzk3ODE3MDksMTM3NDk4ODExMiwxNjEwNDU5NzM5LDE5NzU2ODM0MzQsMjA3NjkzNTI2NSwxNzc1Mjc2OTI0LDE3NDIzMTUxMjcsMTAzNDg2Nzk5OCw4NjY2Mzc4NDUsNTY2MDIxODk2LDgwMDQ0MDgzNSw5Mjk4NzY5OCwxOTMxOTUwNjUsNDI5NDU2MTY0LDM5NTQ0MTcxMSwxOTg0ODEyNjg1LDIwMTc3Nzg1NjYsMTc4NDY2MzE5NSwxNjgzNDA3MjQ4LDEzMTU1NjIxNDUsMTA4MDA5NDYzNCwxMzgzODU2MzExLDE1NTEwMzc4ODQsMTAxMDM5ODI5LDEzNTA1MDIwNiw0Mzc3NTcxMjMsMzM3NTUzODY0LDEwNDIzODU2NTcsODA3OTYyNjEwLDU3MzgwNDc4Myw3NDIwMzkwMTIsMjUzMTA2NzQ1MywyNTY0MDMzMzM0LDIzMjg4Mjg5NzEsMjIyNzU3MzAyNCwyOTM1NTY2ODY1LDI3MDAwOTkzNTQsMzAwMTc1NTY1NSwzMTY4OTM3MjI4LDM4Njg1NTI4MDUsMzkwMjU2MzE4Miw0MjAzMTgxMTcxLDQxMDI5Nzc5MTIsMzczNjE2NDkzNywzNTAxNzQxODkwLDMyNjU0Nzg3NTEsMzQzMzcxMjk4MCwxMTA2MDQxNTkxLDEzNDA0NjMxMDAsMTU3Njk3NjYwOSwxNDA4NzQ5MDM0LDIwNDMyMTE0ODMsMjAwOTE5NTQ3MiwxNzA4ODQ4MzMzLDE4MDkwNTQxNTAsODMyODc3MjMxLDEwNjgzNTEzOTYsNzY2OTQ1NDY1LDU5OTc2MjM1NCwxNTk0MTc5ODcsMTI2NDU0NjY0LDM2MTkyOTg3Nyw0NjMxODAxOTAsMjcwOTI2MDg3MSwyOTQzNjgyMzgwLDMxNzgxMDY5NjEsMzAwOTg3OTM4NiwyNTcyNjk3MTk1LDI1Mzg2ODExODQsMjIzNjIyODczMywyMzM2NDM0NTUwLDM1MDk4NzExMzUsMzc0NTM0NTMwMCwzNDQxODUwMzc3LDMyNzQ2NjcyNjYsMzkxMDE2MTk3MSwzODc3MTk4NjQ4LDQxMTA1Njg0ODUsNDIxMTgxODc5OCwyNTk3ODA2NDc2LDI0OTc2MDQ3NDMsMjI2MTA4OTE3OCwyMjk1MTAxMDczLDI3MzM4NTYxNjAsMjkwMjA4Nzg1MSwzMjAyNDM3MDQ2LDI5NjgwMTE0NTMsMzkzNjI5MTI4NCwzODM1MDM2ODk1LDQxMzY0NDA3NzAsNDE2OTQwODIwMSwzNTM1NDg2NDU2LDM3MDI2NjU0NTksMzQ2NzE5MjMwMiwzMjMxNzIyMjEzLDIwNTE1MTg3ODAsMTk1MTMxNzA0NywxNzE2ODkwNDEwLDE3NTA5MDIzMDUsMTExMzgxODM4NCwxMjgyMDUwMDc1LDE1ODQ1MDQ1ODIsMTM1MDA3ODk4OSwxNjg4MTA4NTIsNjc1NTY0NjMsMzcxMDQ5MzMwLDQwNDAxNjc2MSw4NDE3Mzk1OTIsMTAwODkxODU5NSw3NzU1NTA4MTQsNTQwMDgwNzI1LDM5Njk1NjIzNjksMzgwMTMzMjIzNCw0MDM1NDg5MDQ3LDQyNjk5MDc5OTYsMzU2OTI1NTIxMywzNjY5NDYyNTY2LDMzNjY3NTQ2MTksMzMzMjc0MDE0NCwyNjMxMDY1NDMzLDI0NjM4Nzk3NjIsMjE2MDExNzA3MSwyMzk1NTg4Njc2LDI3Njc2NDU1NTcsMjg2ODg5NzQwNiwzMTAyMDExNzQ3LDMwNjkwNDk5NjAsMjAyMDA4NDk3LDMzNzc4MzYyLDI3MDA0MDQ4Nyw1MDQ0NTk0MzYsODc1NDUxMjkzLDk3NTY1ODY0Niw2NzUwMzk2MjcsNjQxMDI1MTUyLDIwODQ3MDQyMzMsMTkxNzUxODU2MiwxNjE1ODYxMjQ3LDE4NTEzMzI4NTIsMTE0NzU1MDY2MSwxMjQ4ODAyNTEwLDE0ODQwMDU4NDMsMTQ1MTA0NDA1Niw5MzMzMDEzNzAsOTY3MzExNzI5LDczMzE1Njk3Miw2MzI5NTM3MDMsMjYwMzg4OTUwLDI1OTY1OTE3LDMyODY3MTgwOCw0OTY5MDYwNTksMTIwNjQ3Nzg1OCwxMjM5NDQzNzUzLDE1NDMyMDg1MDAsMTQ0MTk1MjU3NSwyMTQ0MTYxODA2LDE5MDg2OTQyNzcsMTY3NTU3Nzg4MCwxODQyNzU5NDQzLDM2MTAzNjkyMjYsMzY0NDM3OTU4NSwzNDA4MTE5NTE2LDMzMDc5MTYyNDcsNDAxMTE5MDUwMiwzNzc2NzY3NDY5LDQwNzczODQ0MzIsNDI0NTYxODY4MywyODA5NzcxMTU0LDI4NDI3MzcwNDksMzE0NDM5NjQyMCwzMDQzMTQwNDk1LDI2NzM3MDUxNTAsMjQzODIzNzYyMSwyMjAzMDMyMjMyLDIzNzAyMTM3OTVdKTt0aGlzLl9taXhDb2w9bmV3IFVpbnQ4QXJyYXkoMjU2KTtmb3IobGV0IGU9MDtlPDI1NjtlKyspdGhpcy5fbWl4Q29sW2VdPWU8MTI4P2U8PDE6ZTw8MV4yNzt0aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5idWZmZXJQb3NpdGlvbj0wfV9leHBhbmRLZXkoZSl7dW5yZWFjaGFibGUoIkNhbm5vdCBjYWxsIGBfZXhwYW5kS2V5YCBvbiB0aGUgYmFzZSBjbGFzcyIpfV9kZWNyeXB0KGUsdCl7bGV0IGksYSxzO2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkoMTYpO3Iuc2V0KGUpO2ZvcihsZXQgZT0wLGk9dGhpcy5fa2V5U2l6ZTtlPDE2OysrZSwrK2kpcltlXV49dFtpXTtmb3IobGV0IGU9dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uLTE7ZT49MTstLWUpe2k9clsxM107clsxM109cls5XTtyWzldPXJbNV07cls1XT1yWzFdO3JbMV09aTtpPXJbMTRdO2E9clsxMF07clsxNF09cls2XTtyWzEwXT1yWzJdO3JbNl09aTtyWzJdPWE7aT1yWzE1XTthPXJbMTFdO3M9cls3XTtyWzE1XT1yWzNdO3JbMTFdPWk7cls3XT1hO3JbM109cztmb3IobGV0IGU9MDtlPDE2OysrZSlyW2VdPXRoaXMuX2ludl9zW3JbZV1dO2ZvcihsZXQgaT0wLGE9MTYqZTtpPDE2OysraSwrK2EpcltpXV49dFthXTtmb3IobGV0IGU9MDtlPDE2O2UrPTQpe2NvbnN0IHQ9dGhpcy5fbWl4W3JbZV1dLGE9dGhpcy5fbWl4W3JbZSsxXV0scz10aGlzLl9taXhbcltlKzJdXSxuPXRoaXMuX21peFtyW2UrM11dO2k9dF5hPj4+OF5hPDwyNF5zPj4+MTZeczw8MTZebj4+PjI0Xm48PDg7cltlXT1pPj4+MjQmMjU1O3JbZSsxXT1pPj4xNiYyNTU7cltlKzJdPWk+PjgmMjU1O3JbZSszXT0yNTUmaX19aT1yWzEzXTtyWzEzXT1yWzldO3JbOV09cls1XTtyWzVdPXJbMV07clsxXT1pO2k9clsxNF07YT1yWzEwXTtyWzE0XT1yWzZdO3JbMTBdPXJbMl07cls2XT1pO3JbMl09YTtpPXJbMTVdO2E9clsxMV07cz1yWzddO3JbMTVdPXJbM107clsxMV09aTtyWzddPWE7clszXT1zO2ZvcihsZXQgZT0wO2U8MTY7KytlKXtyW2VdPXRoaXMuX2ludl9zW3JbZV1dO3JbZV1ePXRbZV19cmV0dXJuIHJ9X2VuY3J5cHQoZSx0KXtjb25zdCBpPXRoaXMuX3M7bGV0IGEscyxyO2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkoMTYpO24uc2V0KGUpO2ZvcihsZXQgZT0wO2U8MTY7KytlKW5bZV1ePXRbZV07Zm9yKGxldCBlPTE7ZTx0aGlzLl9jeWNsZXNPZlJlcGV0aXRpb247ZSsrKXtmb3IobGV0IGU9MDtlPDE2OysrZSluW2VdPWlbbltlXV07cj1uWzFdO25bMV09bls1XTtuWzVdPW5bOV07bls5XT1uWzEzXTtuWzEzXT1yO3I9blsyXTtzPW5bNl07blsyXT1uWzEwXTtuWzZdPW5bMTRdO25bMTBdPXI7blsxNF09cztyPW5bM107cz1uWzddO2E9blsxMV07blszXT1uWzE1XTtuWzddPXI7blsxMV09cztuWzE1XT1hO2ZvcihsZXQgZT0wO2U8MTY7ZSs9NCl7Y29uc3QgdD1uW2UrMF0saT1uW2UrMV0scz1uW2UrMl0scj1uW2UrM107YT10Xmlec15yO25bZSswXV49YV50aGlzLl9taXhDb2xbdF5pXTtuW2UrMV1ePWFedGhpcy5fbWl4Q29sW2lec107bltlKzJdXj1hXnRoaXMuX21peENvbFtzXnJdO25bZSszXV49YV50aGlzLl9taXhDb2xbcl50XX1mb3IobGV0IGk9MCxhPTE2KmU7aTwxNjsrK2ksKythKW5baV1ePXRbYV19Zm9yKGxldCBlPTA7ZTwxNjsrK2UpbltlXT1pW25bZV1dO3I9blsxXTtuWzFdPW5bNV07bls1XT1uWzldO25bOV09blsxM107blsxM109cjtyPW5bMl07cz1uWzZdO25bMl09blsxMF07bls2XT1uWzE0XTtuWzEwXT1yO25bMTRdPXM7cj1uWzNdO3M9bls3XTthPW5bMTFdO25bM109blsxNV07bls3XT1yO25bMTFdPXM7blsxNV09YTtmb3IobGV0IGU9MCxpPXRoaXMuX2tleVNpemU7ZTwxNjsrK2UsKytpKW5bZV1ePXRbaV07cmV0dXJuIG59X2RlY3J5cHRCbG9jazIoZSx0KXtjb25zdCBpPWUubGVuZ3RoO2xldCBhPXRoaXMuYnVmZmVyLHM9dGhpcy5idWZmZXJQb3NpdGlvbjtjb25zdCByPVtdO2xldCBuPXRoaXMuaXY7Zm9yKGxldCB0PTA7dDxpOysrdCl7YVtzXT1lW3RdOysrcztpZihzPDE2KWNvbnRpbnVlO2NvbnN0IGk9dGhpcy5fZGVjcnlwdChhLHRoaXMuX2tleSk7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpaVtlXV49bltlXTtuPWE7ci5wdXNoKGkpO2E9bmV3IFVpbnQ4QXJyYXkoMTYpO3M9MH10aGlzLmJ1ZmZlcj1hO3RoaXMuYnVmZmVyTGVuZ3RoPXM7dGhpcy5pdj1uO2lmKDA9PT1yLmxlbmd0aClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7bGV0IGc9MTYqci5sZW5ndGg7aWYodCl7Y29uc3QgZT1yLmF0KC0xKTtsZXQgdD1lWzE1XTtpZih0PD0xNil7Zm9yKGxldCBpPTE1LGE9MTYtdDtpPj1hOy0taSlpZihlW2ldIT09dCl7dD0wO2JyZWFrfWctPXQ7cltyLmxlbmd0aC0xXT1lLnN1YmFycmF5KDAsMTYtdCl9fWNvbnN0IG89bmV3IFVpbnQ4QXJyYXkoZyk7Zm9yKGxldCBlPTAsdD0wLGk9ci5sZW5ndGg7ZTxpOysrZSx0Kz0xNilvLnNldChyW2VdLHQpO3JldHVybiBvfWRlY3J5cHRCbG9jayhlLHQsaT1udWxsKXtjb25zdCBhPWUubGVuZ3RoLHM9dGhpcy5idWZmZXI7bGV0IHI9dGhpcy5idWZmZXJQb3NpdGlvbjtpZihpKXRoaXMuaXY9aTtlbHNle2ZvcihsZXQgdD0wO3I8MTYmJnQ8YTsrK3QsKytyKXNbcl09ZVt0XTtpZihyPDE2KXt0aGlzLmJ1ZmZlckxlbmd0aD1yO3JldHVybiBuZXcgVWludDhBcnJheSgwKX10aGlzLml2PXM7ZT1lLnN1YmFycmF5KDE2KX10aGlzLmJ1ZmZlcj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5idWZmZXJMZW5ndGg9MDt0aGlzLmRlY3J5cHRCbG9jaz10aGlzLl9kZWNyeXB0QmxvY2syO3JldHVybiB0aGlzLmRlY3J5cHRCbG9jayhlLHQpfWVuY3J5cHQoZSx0KXtjb25zdCBpPWUubGVuZ3RoO2xldCBhPXRoaXMuYnVmZmVyLHM9dGhpcy5idWZmZXJQb3NpdGlvbjtjb25zdCByPVtdO3R8fCh0PW5ldyBVaW50OEFycmF5KDE2KSk7Zm9yKGxldCBuPTA7bjxpOysrbil7YVtzXT1lW25dOysrcztpZihzPDE2KWNvbnRpbnVlO2ZvcihsZXQgZT0wO2U8MTY7KytlKWFbZV1ePXRbZV07Y29uc3QgaT10aGlzLl9lbmNyeXB0KGEsdGhpcy5fa2V5KTt0PWk7ci5wdXNoKGkpO2E9bmV3IFVpbnQ4QXJyYXkoMTYpO3M9MH10aGlzLmJ1ZmZlcj1hO3RoaXMuYnVmZmVyTGVuZ3RoPXM7dGhpcy5pdj10O2lmKDA9PT1yLmxlbmd0aClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7Y29uc3Qgbj0xNipyLmxlbmd0aCxnPW5ldyBVaW50OEFycmF5KG4pO2ZvcihsZXQgZT0wLHQ9MCxpPXIubGVuZ3RoO2U8aTsrK2UsdCs9MTYpZy5zZXQocltlXSx0KTtyZXR1cm4gZ319Y2xhc3MgQUVTMTI4Q2lwaGVyIGV4dGVuZHMgQUVTQmFzZUNpcGhlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpO3RoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbj0xMDt0aGlzLl9rZXlTaXplPTE2MDt0aGlzLl9yY29uPW5ldyBVaW50OEFycmF5KFsxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxXSk7dGhpcy5fa2V5PXRoaXMuX2V4cGFuZEtleShlKX1fZXhwYW5kS2V5KGUpe2NvbnN0IHQ9dGhpcy5fcyxpPXRoaXMuX3Jjb24sYT1uZXcgVWludDhBcnJheSgxNzYpO2Euc2V0KGUpO2ZvcihsZXQgZT0xNixzPTE7ZTwxNzY7KytzKXtsZXQgcj1hW2UtM10sbj1hW2UtMl0sZz1hW2UtMV0sbz1hW2UtNF07cj10W3JdO249dFtuXTtnPXRbZ107bz10W29dO3JePWlbc107Zm9yKGxldCB0PTA7dDw0OysrdCl7YVtlXT1yXj1hW2UtMTZdO2UrKzthW2VdPW5ePWFbZS0xNl07ZSsrO2FbZV09Z149YVtlLTE2XTtlKys7YVtlXT1vXj1hW2UtMTZdO2UrK319cmV0dXJuIGF9fWNsYXNzIEFFUzI1NkNpcGhlciBleHRlbmRzIEFFU0Jhc2VDaXBoZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKTt0aGlzLl9jeWNsZXNPZlJlcGV0aXRpb249MTQ7dGhpcy5fa2V5U2l6ZT0yMjQ7dGhpcy5fa2V5PXRoaXMuX2V4cGFuZEtleShlKX1fZXhwYW5kS2V5KGUpe2NvbnN0IHQ9dGhpcy5fcyxpPW5ldyBVaW50OEFycmF5KDI0MCk7aS5zZXQoZSk7bGV0IGEscyxyLG4sZz0xO2ZvcihsZXQgZT0zMixvPTE7ZTwyNDA7KytvKXtpZihlJTMyPT0xNil7YT10W2FdO3M9dFtzXTtyPXRbcl07bj10W25dfWVsc2UgaWYoZSUzMj09MCl7YT1pW2UtM107cz1pW2UtMl07cj1pW2UtMV07bj1pW2UtNF07YT10W2FdO3M9dFtzXTtyPXRbcl07bj10W25dO2FePWc7KGc8PD0xKT49MjU2JiYoZz0yNTUmKDI3XmcpKX1mb3IobGV0IHQ9MDt0PDQ7Kyt0KXtpW2VdPWFePWlbZS0zMl07ZSsrO2lbZV09c149aVtlLTMyXTtlKys7aVtlXT1yXj1pW2UtMzJdO2UrKztpW2VdPW5ePWlbZS0zMl07ZSsrfX1yZXR1cm4gaX19Y2xhc3MgUERGMTd7Y2hlY2tPd25lclBhc3N3b3JkKGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbChUcyhzLDAscy5sZW5ndGgpLGEpfWNoZWNrVXNlclBhc3N3b3JkKGUsdCxpKXtjb25zdCBhPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO2Euc2V0KGUsMCk7YS5zZXQodCxlLmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbChUcyhhLDAsYS5sZW5ndGgpLGkpfWdldE93bmVyS2V5KGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrNTYpO3Muc2V0KGUsMCk7cy5zZXQodCxlLmxlbmd0aCk7cy5zZXQoaSxlLmxlbmd0aCt0Lmxlbmd0aCk7Y29uc3Qgcj1UcyhzLDAscy5sZW5ndGgpO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHIpLmRlY3J5cHRCbG9jayhhLCExLG5ldyBVaW50OEFycmF5KDE2KSl9Z2V0VXNlcktleShlLHQsaSl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTthLnNldChlLDApO2Euc2V0KHQsZS5sZW5ndGgpO2NvbnN0IHM9VHMoYSwwLGEubGVuZ3RoKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihzKS5kZWNyeXB0QmxvY2soaSwhMSxuZXcgVWludDhBcnJheSgxNikpfX1jbGFzcyBQREYyMHtfaGFzaChlLHQsaSl7bGV0IGE9VHModCwwLHQubGVuZ3RoKS5zdWJhcnJheSgwLDMyKSxzPVswXSxyPTA7Zm9yKDtyPDY0fHxzLmF0KC0xKT5yLTMyOyl7Y29uc3QgdD1lLmxlbmd0aCthLmxlbmd0aCtpLmxlbmd0aCxjPW5ldyBVaW50OEFycmF5KHQpO2xldCBDPTA7Yy5zZXQoZSxDKTtDKz1lLmxlbmd0aDtjLnNldChhLEMpO0MrPWEubGVuZ3RoO2Muc2V0KGksQyk7Y29uc3QgaD1uZXcgVWludDhBcnJheSg2NCp0KTtmb3IobGV0IGU9MCxpPTA7ZTw2NDtlKyssaSs9dCloLnNldChjLGkpO3M9bmV3IEFFUzEyOENpcGhlcihhLnN1YmFycmF5KDAsMTYpKS5lbmNyeXB0KGgsYS5zdWJhcnJheSgxNiwzMikpO2NvbnN0IGw9cy5zbGljZSgwLDE2KS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApJTM7MD09PWw/YT1UcyhzLDAscy5sZW5ndGgpOjE9PT1sP2E9KG49cyxnPTAsbz1zLmxlbmd0aCxxcyhuLGcsbywhMCkpOjI9PT1sJiYoYT1xcyhzLDAscy5sZW5ndGgpKTtyKyt9dmFyIG4sZyxvO3JldHVybiBhLnN1YmFycmF5KDAsMzIpfWNoZWNrT3duZXJQYXNzd29yZChlLHQsaSxhKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzU2KTtzLnNldChlLDApO3Muc2V0KHQsZS5sZW5ndGgpO3Muc2V0KGksZS5sZW5ndGgrdC5sZW5ndGgpO3JldHVybiBpc0FycmF5RXF1YWwodGhpcy5faGFzaChlLHMsaSksYSl9Y2hlY2tVc2VyUGFzc3dvcmQoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKHRoaXMuX2hhc2goZSxhLFtdKSxpKX1nZXRPd25lcktleShlLHQsaSxhKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzU2KTtzLnNldChlLDApO3Muc2V0KHQsZS5sZW5ndGgpO3Muc2V0KGksZS5sZW5ndGgrdC5sZW5ndGgpO2NvbnN0IHI9dGhpcy5faGFzaChlLHMsaSk7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocikuZGVjcnlwdEJsb2NrKGEsITEsbmV3IFVpbnQ4QXJyYXkoMTYpKX1nZXRVc2VyS2V5KGUsdCxpKXtjb25zdCBhPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO2Euc2V0KGUsMCk7YS5zZXQodCxlLmxlbmd0aCk7Y29uc3Qgcz10aGlzLl9oYXNoKGUsYSxbXSk7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocykuZGVjcnlwdEJsb2NrKGksITEsbmV3IFVpbnQ4QXJyYXkoMTYpKX19Y2xhc3MgQ2lwaGVyVHJhbnNmb3Jte2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5TdHJpbmdDaXBoZXJDb25zdHJ1Y3Rvcj1lO3RoaXMuU3RyZWFtQ2lwaGVyQ29uc3RydWN0b3I9dH1jcmVhdGVTdHJlYW0oZSx0KXtjb25zdCBpPW5ldyB0aGlzLlN0cmVhbUNpcGhlckNvbnN0cnVjdG9yO3JldHVybiBuZXcgRGVjcnlwdFN0cmVhbShlLHQsKGZ1bmN0aW9uIGNpcGhlclRyYW5zZm9ybURlY3J5cHRTdHJlYW0oZSx0KXtyZXR1cm4gaS5kZWNyeXB0QmxvY2soZSx0KX0pKX1kZWNyeXB0U3RyaW5nKGUpe2NvbnN0IHQ9bmV3IHRoaXMuU3RyaW5nQ2lwaGVyQ29uc3RydWN0b3I7bGV0IGk9c3RyaW5nVG9CeXRlcyhlKTtpPXQuZGVjcnlwdEJsb2NrKGksITApO3JldHVybiBieXRlc1RvU3RyaW5nKGkpfWVuY3J5cHRTdHJpbmcoZSl7Y29uc3QgdD1uZXcgdGhpcy5TdHJpbmdDaXBoZXJDb25zdHJ1Y3RvcjtpZih0IGluc3RhbmNlb2YgQUVTQmFzZUNpcGhlcil7Y29uc3QgaT0xNi1lLmxlbmd0aCUxNjtlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpLnJlcGVhdChpKTtjb25zdCBhPW5ldyBVaW50OEFycmF5KDE2KTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGNyeXB0byljcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGEpO2Vsc2UgZm9yKGxldCBlPTA7ZTwxNjtlKyspYVtlXT1NYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKTtsZXQgcz1zdHJpbmdUb0J5dGVzKGUpO3M9dC5lbmNyeXB0KHMsYSk7Y29uc3Qgcj1uZXcgVWludDhBcnJheSgxNitzLmxlbmd0aCk7ci5zZXQoYSk7ci5zZXQocywxNik7cmV0dXJuIGJ5dGVzVG9TdHJpbmcocil9bGV0IGk9c3RyaW5nVG9CeXRlcyhlKTtpPXQuZW5jcnlwdChpKTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhpKX19Y2xhc3MgQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeXtzdGF0aWMjaz1uZXcgVWludDhBcnJheShbNDAsMTkxLDc4LDk0LDc4LDExNywxMzgsNjUsMTAwLDAsNzgsODYsMjU1LDI1MCwxLDgsNDYsNDYsMCwxODIsMjA4LDEwNCw2MiwxMjgsNDcsMTIsMTY5LDI1NCwxMDAsODMsMTA1LDEyMl0pOyNSKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtpZih0KXtjb25zdCBlPU1hdGgubWluKDEyNyx0Lmxlbmd0aCk7dD10LnN1YmFycmF5KDAsZSl9ZWxzZSB0PVtdO2NvbnN0IGw9Nj09PWU/bmV3IFBERjIwOm5ldyBQREYxNztyZXR1cm4gbC5jaGVja1VzZXJQYXNzd29yZCh0LGcsbik/bC5nZXRVc2VyS2V5KHQsbyxDKTp0Lmxlbmd0aCYmbC5jaGVja093bmVyUGFzc3dvcmQodCxhLHIsaSk/bC5nZXRPd25lcktleSh0LHMscixjKTpudWxsfSNOKGUsdCxpLGEscyxyLG4sZyl7Y29uc3Qgbz00MCtpLmxlbmd0aCtlLmxlbmd0aCxjPW5ldyBVaW50OEFycmF5KG8pO2xldCBDLGgsbD0wO2lmKHQpe2g9TWF0aC5taW4oMzIsdC5sZW5ndGgpO2Zvcig7bDxoOysrbCljW2xdPXRbbF19Qz0wO2Zvcig7bDwzMjspY1tsKytdPUNpcGhlclRyYW5zZm9ybUZhY3RvcnkuI2tbQysrXTtmb3IoQz0wLGg9aS5sZW5ndGg7QzxoOysrQyljW2wrK109aVtDXTtjW2wrK109MjU1JnM7Y1tsKytdPXM+PjgmMjU1O2NbbCsrXT1zPj4xNiYyNTU7Y1tsKytdPXM+Pj4yNCYyNTU7Zm9yKEM9MCxoPWUubGVuZ3RoO0M8aDsrK0MpY1tsKytdPWVbQ107aWYocj49NCYmIWcpe2NbbCsrXT0yNTU7Y1tsKytdPTI1NTtjW2wrK109MjU1O2NbbCsrXT0yNTV9bGV0IFE9S3MoYywwLGwpO2NvbnN0IEU9bj4+MztpZihyPj0zKWZvcihDPTA7Qzw1MDsrK0MpUT1LcyhRLDAsRSk7Y29uc3QgdT1RLnN1YmFycmF5KDAsRSk7bGV0IGQsZjtpZihyPj0zKXtmb3IobD0wO2w8MzI7KytsKWNbbF09Q2lwaGVyVHJhbnNmb3JtRmFjdG9yeS4ja1tsXTtmb3IoQz0wLGg9ZS5sZW5ndGg7QzxoOysrQyljW2wrK109ZVtDXTtkPW5ldyBBUkNGb3VyQ2lwaGVyKHUpO2Y9ZC5lbmNyeXB0QmxvY2soS3MoYywwLGwpKTtoPXUubGVuZ3RoO2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoaCk7Zm9yKEM9MTtDPD0xOTsrK0Mpe2ZvcihsZXQgZT0wO2U8aDsrK2UpdFtlXT11W2VdXkM7ZD1uZXcgQVJDRm91ckNpcGhlcih0KTtmPWQuZW5jcnlwdEJsb2NrKGYpfWZvcihDPTAsaD1mLmxlbmd0aDtDPGg7KytDKWlmKGFbQ10hPT1mW0NdKXJldHVybiBudWxsfWVsc2V7ZD1uZXcgQVJDRm91ckNpcGhlcih1KTtmPWQuZW5jcnlwdEJsb2NrKENpcGhlclRyYW5zZm9ybUZhY3RvcnkuI2spO2ZvcihDPTAsaD1mLmxlbmd0aDtDPGg7KytDKWlmKGFbQ10hPT1mW0NdKXJldHVybiBudWxsfXJldHVybiB1fSNHKGUsdCxpLGEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoMzIpO2xldCByPTA7Y29uc3Qgbj1NYXRoLm1pbigzMixlLmxlbmd0aCk7Zm9yKDtyPG47KytyKXNbcl09ZVtyXTtsZXQgZz0wO2Zvcig7cjwzMjspc1tyKytdPUNpcGhlclRyYW5zZm9ybUZhY3RvcnkuI2tbZysrXTtsZXQgbz1LcyhzLDAscik7Y29uc3QgYz1hPj4zO2lmKGk+PTMpZm9yKGc9MDtnPDUwOysrZylvPUtzKG8sMCxvLmxlbmd0aCk7bGV0IEMsaDtpZihpPj0zKXtoPXQ7Y29uc3QgZT1uZXcgVWludDhBcnJheShjKTtmb3IoZz0xOTtnPj0wO2ctLSl7Zm9yKGxldCB0PTA7dDxjOysrdCllW3RdPW9bdF1eZztDPW5ldyBBUkNGb3VyQ2lwaGVyKGUpO2g9Qy5lbmNyeXB0QmxvY2soaCl9fWVsc2V7Qz1uZXcgQVJDRm91ckNpcGhlcihvLnN1YmFycmF5KDAsYykpO2g9Qy5lbmNyeXB0QmxvY2sodCl9cmV0dXJuIGh9I3goZSx0LGksYT0hMSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShpLmxlbmd0aCs5KSxyPWkubGVuZ3RoO2xldCBuO2ZvcihuPTA7bjxyOysrbilzW25dPWlbbl07c1tuKytdPTI1NSZlO3NbbisrXT1lPj44JjI1NTtzW24rK109ZT4+MTYmMjU1O3NbbisrXT0yNTUmdDtzW24rK109dD4+OCYyNTU7aWYoYSl7c1tuKytdPTExNTtzW24rK109NjU7c1tuKytdPTEwODtzW24rK109ODR9cmV0dXJuIEtzKHMsMCxuKS5zdWJhcnJheSgwLE1hdGgubWluKGkubGVuZ3RoKzUsMTYpKX0jVShlLHQsaSxhLHMpe2lmKCEodCBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBjcnlwdCBmaWx0ZXIgbmFtZS4iKTtjb25zdCByPXRoaXMsbj1lLmdldCh0Lm5hbWUpLGc9bj8uZ2V0KCJDRk0iKTtpZighZ3x8Ik5vbmUiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgTnVsbENpcGhlcn07aWYoIlYyIj09PWcubmFtZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFSQ0ZvdXJDaXBoZXIoci4jeChpLGEscywhMSkpfTtpZigiQUVTVjIiPT09Zy5uYW1lKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgQUVTMTI4Q2lwaGVyKHIuI3goaSxhLHMsITApKX07aWYoIkFFU1YzIj09PWcubmFtZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihzKX07dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIGNyeXB0byBtZXRob2QiKX1jb25zdHJ1Y3RvcihlLHQsaSl7Y29uc3QgYT1lLmdldCgiRmlsdGVyIik7aWYoIWlzTmFtZShhLCJTdGFuZGFyZCIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigidW5rbm93biBlbmNyeXB0aW9uIG1ldGhvZCIpO3RoaXMuZmlsdGVyTmFtZT1hLm5hbWU7dGhpcy5kaWN0PWU7Y29uc3Qgcz1lLmdldCgiViIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHMpfHwxIT09cyYmMiE9PXMmJjQhPT1zJiY1IT09cyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVuc3VwcG9ydGVkIGVuY3J5cHRpb24gYWxnb3JpdGhtIik7dGhpcy5hbGdvcml0aG09cztsZXQgcj1lLmdldCgiTGVuZ3RoIik7aWYoIXIpaWYoczw9MylyPTQwO2Vsc2V7Y29uc3QgdD1lLmdldCgiQ0YiKSxpPWUuZ2V0KCJTdG1GIik7aWYodCBpbnN0YW5jZW9mIERpY3QmJmkgaW5zdGFuY2VvZiBOYW1lKXt0LnN1cHByZXNzRW5jcnlwdGlvbj0hMDtjb25zdCBlPXQuZ2V0KGkubmFtZSk7cj1lPy5nZXQoIkxlbmd0aCIpfHwxMjg7cjw0MCYmKHI8PD0zKX19aWYoIU51bWJlci5pc0ludGVnZXIocil8fHI8NDB8fHIlOCE9MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQga2V5IGxlbmd0aCIpO2NvbnN0IG49c3RyaW5nVG9CeXRlcyhlLmdldCgiTyIpKSxnPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIlUiKSksbz1uLnN1YmFycmF5KDAsMzIpLGM9Zy5zdWJhcnJheSgwLDMyKSxDPWUuZ2V0KCJQIiksaD1lLmdldCgiUiIpLGw9KDQ9PT1zfHw1PT09cykmJiExIT09ZS5nZXQoIkVuY3J5cHRNZXRhZGF0YSIpO3RoaXMuZW5jcnlwdE1ldGFkYXRhPWw7Y29uc3QgUT1zdHJpbmdUb0J5dGVzKHQpO2xldCBFLHU7aWYoaSl7aWYoNj09PWgpdHJ5e2k9dXRmOFN0cmluZ1RvU3RyaW5nKGkpfWNhdGNoe3dhcm4oIkNpcGhlclRyYW5zZm9ybUZhY3Rvcnk6IFVuYWJsZSB0byBjb252ZXJ0IFVURjggZW5jb2RlZCBwYXNzd29yZC4iKX1FPXN0cmluZ1RvQnl0ZXMoaSl9aWYoNSE9PXMpdT10aGlzLiNOKFEsRSxvLGMsQyxoLHIsbCk7ZWxzZXtjb25zdCB0PW4uc3ViYXJyYXkoMzIsNDApLGk9bi5zdWJhcnJheSg0MCw0OCksYT1nLnN1YmFycmF5KDAsNDgpLHM9Zy5zdWJhcnJheSgzMiw0MCkscj1nLnN1YmFycmF5KDQwLDQ4KSxDPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIk9FIikpLGw9c3RyaW5nVG9CeXRlcyhlLmdldCgiVUUiKSksUT1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJQZXJtcyIpKTt1PXRoaXMuI1IoaCxFLG8sdCxpLGEsYyxzLHIsQyxsLFEpfWlmKCF1JiYhaSl0aHJvdyBuZXcgUGFzc3dvcmRFeGNlcHRpb24oIk5vIHBhc3N3b3JkIGdpdmVuIixydCk7aWYoIXUmJmkpe2NvbnN0IGU9dGhpcy4jRyhFLG8saCxyKTt1PXRoaXMuI04oUSxlLG8sYyxDLGgscixsKX1pZighdSl0aHJvdyBuZXcgUGFzc3dvcmRFeGNlcHRpb24oIkluY29ycmVjdCBQYXNzd29yZCIsbnQpO3RoaXMuZW5jcnlwdGlvbktleT11O2lmKHM+PTQpe2NvbnN0IHQ9ZS5nZXQoIkNGIik7dCBpbnN0YW5jZW9mIERpY3QmJih0LnN1cHByZXNzRW5jcnlwdGlvbj0hMCk7dGhpcy5jZj10O3RoaXMuc3RtZj1lLmdldCgiU3RtRiIpfHxOYW1lLmdldCgiSWRlbnRpdHkiKTt0aGlzLnN0cmY9ZS5nZXQoIlN0ckYiKXx8TmFtZS5nZXQoIklkZW50aXR5Iik7dGhpcy5lZmY9ZS5nZXQoIkVGRiIpfHx0aGlzLnN0bWZ9fWNyZWF0ZUNpcGhlclRyYW5zZm9ybShlLHQpe2lmKDQ9PT10aGlzLmFsZ29yaXRobXx8NT09PXRoaXMuYWxnb3JpdGhtKXJldHVybiBuZXcgQ2lwaGVyVHJhbnNmb3JtKHRoaXMuI1UodGhpcy5jZix0aGlzLnN0cmYsZSx0LHRoaXMuZW5jcnlwdGlvbktleSksdGhpcy4jVSh0aGlzLmNmLHRoaXMuc3RtZixlLHQsdGhpcy5lbmNyeXB0aW9uS2V5KSk7Y29uc3QgaT10aGlzLiN4KGUsdCx0aGlzLmVuY3J5cHRpb25LZXksITEpLGNpcGhlckNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBUkNGb3VyQ2lwaGVyKGkpfTtyZXR1cm4gbmV3IENpcGhlclRyYW5zZm9ybShjaXBoZXJDb25zdHJ1Y3RvcixjaXBoZXJDb25zdHJ1Y3Rvcil9fWFzeW5jIGZ1bmN0aW9uIHdyaXRlT2JqZWN0KGUsdCxpLHtlbmNyeXB0OmE9bnVsbH0pe2NvbnN0IHM9YT8uY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKGUubnVtLGUuZ2VuKTtpLnB1c2goYCR7ZS5udW19ICR7ZS5nZW59IG9ialxuYCk7dCBpbnN0YW5jZW9mIERpY3Q/YXdhaXQgd3JpdGVEaWN0KHQsaSxzKTp0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hd2FpdCB3cml0ZVN0cmVhbSh0LGkscyk6KEFycmF5LmlzQXJyYXkodCl8fEFycmF5QnVmZmVyLmlzVmlldyh0KSkmJmF3YWl0IHdyaXRlQXJyYXkodCxpLHMpO2kucHVzaCgiXG5lbmRvYmpcbiIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlRGljdChlLHQsaSl7dC5wdXNoKCI8PCIpO2Zvcihjb25zdCBhIG9mIGUuZ2V0S2V5cygpKXt0LnB1c2goYCAvJHtlc2NhcGVQREZOYW1lKGEpfSBgKTthd2FpdCB3cml0ZVZhbHVlKGUuZ2V0UmF3KGEpLHQsaSl9dC5wdXNoKCI+PiIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlU3RyZWFtKGUsdCxpKXtsZXQgYT1lLmdldEJ5dGVzKCk7Y29uc3R7ZGljdDpzfT1lLFtyLG5dPWF3YWl0IFByb21pc2UuYWxsKFtzLmdldEFzeW5jKCJGaWx0ZXIiKSxzLmdldEFzeW5jKCJEZWNvZGVQYXJtcyIpXSksZz1pc05hbWUoQXJyYXkuaXNBcnJheShyKT9hd2FpdCBzLnhyZWYuZmV0Y2hJZlJlZkFzeW5jKHJbMF0pOnIsIkZsYXRlRGVjb2RlIik7aWYoYS5sZW5ndGg+PTI1Nnx8Zyl0cnl7Y29uc3QgZT1uZXcgQ29tcHJlc3Npb25TdHJlYW0oImRlZmxhdGUiKSx0PWUud3JpdGFibGUuZ2V0V3JpdGVyKCk7dC53cml0ZShhKTt0LmNsb3NlKCk7Y29uc3QgaT1hd2FpdCBuZXcgUmVzcG9uc2UoZS5yZWFkYWJsZSkuYXJyYXlCdWZmZXIoKTthPW5ldyBVaW50OEFycmF5KGkpO2xldCBvLGM7aWYocil7aWYoIWcpe289QXJyYXkuaXNBcnJheShyKT9bTmFtZS5nZXQoIkZsYXRlRGVjb2RlIiksLi4ucl06W05hbWUuZ2V0KCJGbGF0ZURlY29kZSIpLHJdO24mJihjPUFycmF5LmlzQXJyYXkobik/W251bGwsLi4ubl06W251bGwsbl0pfX1lbHNlIG89TmFtZS5nZXQoIkZsYXRlRGVjb2RlIik7byYmcy5zZXQoIkZpbHRlciIsbyk7YyYmcy5zZXQoIkRlY29kZVBhcm1zIixjKX1jYXRjaChlKXtpbmZvKGB3cml0ZVN0cmVhbSAtIGNhbm5vdCBjb21wcmVzcyBkYXRhOiAiJHtlfSIuYCl9bGV0IG89Ynl0ZXNUb1N0cmluZyhhKTtpJiYobz1pLmVuY3J5cHRTdHJpbmcobykpO3Muc2V0KCJMZW5ndGgiLG8ubGVuZ3RoKTthd2FpdCB3cml0ZURpY3Qocyx0LGkpO3QucHVzaCgiIHN0cmVhbVxuIixvLCJcbmVuZHN0cmVhbSIpfWFzeW5jIGZ1bmN0aW9uIHdyaXRlQXJyYXkoZSx0LGkpe3QucHVzaCgiWyIpO2xldCBhPSEwO2Zvcihjb25zdCBzIG9mIGUpe2E/YT0hMTp0LnB1c2goIiAiKTthd2FpdCB3cml0ZVZhbHVlKHMsdCxpKX10LnB1c2goIl0iKX1hc3luYyBmdW5jdGlvbiB3cml0ZVZhbHVlKGUsdCxpKXtpZihlIGluc3RhbmNlb2YgTmFtZSl0LnB1c2goYC8ke2VzY2FwZVBERk5hbWUoZS5uYW1lKX1gKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWYpdC5wdXNoKGAke2UubnVtfSAke2UuZ2VufSBSYCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpfHxBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpYXdhaXQgd3JpdGVBcnJheShlLHQsaSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpe2kmJihlPWkuZW5jcnlwdFN0cmluZyhlKSk7dC5wdXNoKGAoJHtlc2NhcGVTdHJpbmcoZSl9KWApfWVsc2UibnVtYmVyIj09dHlwZW9mIGU/dC5wdXNoKG51bWJlclRvU3RyaW5nKGUpKToiYm9vbGVhbiI9PXR5cGVvZiBlP3QucHVzaChlLnRvU3RyaW5nKCkpOmUgaW5zdGFuY2VvZiBEaWN0P2F3YWl0IHdyaXRlRGljdChlLHQsaSk6ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/YXdhaXQgd3JpdGVTdHJlYW0oZSx0LGkpOm51bGw9PT1lP3QucHVzaCgibnVsbCIpOndhcm4oYFVuaGFuZGxlZCB2YWx1ZSBpbiB3cml0ZXI6ICR7dHlwZW9mIGV9LCBwbGVhc2UgZmlsZSBhIGJ1Zy5gKX1mdW5jdGlvbiB3cml0ZUludChlLHQsaSxhKXtmb3IobGV0IHM9dCtpLTE7cz5pLTE7cy0tKXthW3NdPTI1NSZlO2U+Pj04fXJldHVybiBpK3R9ZnVuY3Rpb24gd3JpdGVTdHJpbmcoZSx0LGkpe2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKylpW3QrYV09MjU1JmUuY2hhckNvZGVBdChhKX1mdW5jdGlvbiB1cGRhdGVYRkEoe3hmYURhdGE6ZSx4ZmFEYXRhc2V0c1JlZjp0LG5ld1JlZnM6aSx4cmVmOmF9KXtpZihudWxsPT09ZSl7ZT1mdW5jdGlvbiB3cml0ZVhGQURhdGFGb3JBY3JvZm9ybShlLHQpe2NvbnN0IGk9bmV3IFNpbXBsZVhNTFBhcnNlcih7aGFzQXR0cmlidXRlczohMH0pLnBhcnNlRnJvbVN0cmluZyhlKTtmb3IoY29uc3R7eGZhOmV9b2YgdCl7aWYoIWUpY29udGludWU7Y29uc3R7cGF0aDp0LHZhbHVlOmF9PWU7aWYoIXQpY29udGludWU7Y29uc3Qgcz1wYXJzZVhGQVBhdGgodCk7bGV0IHI9aS5kb2N1bWVudEVsZW1lbnQuc2VhcmNoTm9kZShzLDApOyFyJiZzLmxlbmd0aD4xJiYocj1pLmRvY3VtZW50RWxlbWVudC5zZWFyY2hOb2RlKFtzLmF0KC0xKV0sMCkpO3I/ci5jaGlsZE5vZGVzPUFycmF5LmlzQXJyYXkoYSk/YS5tYXAoKGU9Pm5ldyBTaW1wbGVET01Ob2RlKCJ2YWx1ZSIsZSkpKTpbbmV3IFNpbXBsZURPTU5vZGUoIiN0ZXh0IixhKV06d2FybihgTm9kZSBub3QgZm91bmQgZm9yIHBhdGg6ICR7dH1gKX1jb25zdCBhPVtdO2kuZG9jdW1lbnRFbGVtZW50LmR1bXAoYSk7cmV0dXJuIGEuam9pbigiIil9KGEuZmV0Y2hJZlJlZih0KS5nZXRTdHJpbmcoKSxpKX1jb25zdCBzPWEuZW5jcnlwdDtpZihzKXtlPXMuY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKHQubnVtLHQuZ2VuKS5lbmNyeXB0U3RyaW5nKGUpfWNvbnN0IHI9YCR7dC5udW19ICR7dC5nZW59IG9ialxuPDwgL1R5cGUgL0VtYmVkZGVkRmlsZSAvTGVuZ3RoICR7ZS5sZW5ndGh9Pj5cbnN0cmVhbVxuYCtlKyJcbmVuZHN0cmVhbVxuZW5kb2JqXG4iO2kucHVzaCh7cmVmOnQsZGF0YTpyfSl9ZnVuY3Rpb24gZ2V0SW5kZXhlcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdHtyZWY6aX1vZiBlKWkubnVtPT09dC5hdCgtMikrdC5hdCgtMSk/dFt0Lmxlbmd0aC0xXSs9MTp0LnB1c2goaS5udW0sMSk7cmV0dXJuIHR9ZnVuY3Rpb24gY29tcHV0ZUlEcyhlLHQsaSl7aWYoQXJyYXkuaXNBcnJheSh0LmZpbGVJZHMpJiZ0LmZpbGVJZHMubGVuZ3RoPjApe2NvbnN0IGE9ZnVuY3Rpb24gY29tcHV0ZU1ENShlLHQpe2NvbnN0IGk9TWF0aC5mbG9vcihEYXRlLm5vdygpLzFlMyksYT10LmZpbGVuYW1lfHwiIixzPVtpLnRvU3RyaW5nKCksYSxlLnRvU3RyaW5nKCldO2xldCByPXMucmVkdWNlKCgoZSx0KT0+ZSt0Lmxlbmd0aCksMCk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LnZhbHVlcyh0LmluZm8pKXtzLnB1c2goZSk7cis9ZS5sZW5ndGh9Y29uc3Qgbj1uZXcgVWludDhBcnJheShyKTtsZXQgZz0wO2Zvcihjb25zdCBlIG9mIHMpe3dyaXRlU3RyaW5nKGUsZyxuKTtnKz1lLmxlbmd0aH1yZXR1cm4gYnl0ZXNUb1N0cmluZyhLcyhuKSl9KGUsdCk7aS5zZXQoIklEIixbdC5maWxlSWRzWzBdLGFdKX19YXN5bmMgZnVuY3Rpb24gaW5jcmVtZW50YWxVcGRhdGUoe29yaWdpbmFsRGF0YTplLHhyZWZJbmZvOnQsbmV3UmVmczppLHhyZWY6YT1udWxsLGhhc1hmYTpzPSExLHhmYURhdGFzZXRzUmVmOnI9bnVsbCxoYXNYZmFEYXRhc2V0c0VudHJ5Om49ITEsbmVlZEFwcGVhcmFuY2VzOmcsYWNyb0Zvcm1SZWY6bz1udWxsLGFjcm9Gb3JtOmM9bnVsbCx4ZmFEYXRhOkM9bnVsbCx1c2VYcmVmU3RyZWFtOmg9ITF9KXthd2FpdCBhc3luYyBmdW5jdGlvbiB1cGRhdGVBY3JvZm9ybSh7eHJlZjplLGFjcm9Gb3JtOnQsYWNyb0Zvcm1SZWY6aSxoYXNYZmE6YSxoYXNYZmFEYXRhc2V0c0VudHJ5OnMseGZhRGF0YXNldHNSZWY6cixuZWVkQXBwZWFyYW5jZXM6bixuZXdSZWZzOmd9KXshYXx8c3x8cnx8d2FybigiWEZBIC0gQ2Fubm90IHNhdmUgaXQiKTtpZighbiYmKCFhfHwhcnx8cykpcmV0dXJuO2NvbnN0IG89dC5jbG9uZSgpO2lmKGEmJiFzKXtjb25zdCBlPXQuZ2V0KCJYRkEiKS5zbGljZSgpO2Uuc3BsaWNlKDIsMCwiZGF0YXNldHMiKTtlLnNwbGljZSgzLDAscik7by5zZXQoIlhGQSIsZSl9biYmby5zZXQoIk5lZWRBcHBlYXJhbmNlcyIsITApO2NvbnN0IGM9W107YXdhaXQgd3JpdGVPYmplY3QoaSxvLGMsZSk7Zy5wdXNoKHtyZWY6aSxkYXRhOmMuam9pbigiIil9KX0oe3hyZWY6YSxhY3JvRm9ybTpjLGFjcm9Gb3JtUmVmOm8saGFzWGZhOnMsaGFzWGZhRGF0YXNldHNFbnRyeTpuLHhmYURhdGFzZXRzUmVmOnIsbmVlZEFwcGVhcmFuY2VzOmcsbmV3UmVmczppfSk7cyYmdXBkYXRlWEZBKHt4ZmFEYXRhOkMseGZhRGF0YXNldHNSZWY6cixuZXdSZWZzOmkseHJlZjphfSk7Y29uc3QgbD1bXTtsZXQgUT1lLmxlbmd0aDtjb25zdCBFPWUuYXQoLTEpO2lmKDEwIT09RSYmMTMhPT1FKXtsLnB1c2goIlxuIik7USs9MX1jb25zdCB1PWZ1bmN0aW9uIGdldFRyYWlsZXJEaWN0KGUsdCxpKXtjb25zdCBhPW5ldyBEaWN0KG51bGwpO2Euc2V0KCJQcmV2IixlLnN0YXJ0WFJlZik7Y29uc3Qgcz1lLm5ld1JlZjtpZihpKXt0LnB1c2goe3JlZjpzLGRhdGE6IiJ9KTthLnNldCgiU2l6ZSIscy5udW0rMSk7YS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYUmVmIikpfWVsc2UgYS5zZXQoIlNpemUiLHMubnVtKTtudWxsIT09ZS5yb290UmVmJiZhLnNldCgiUm9vdCIsZS5yb290UmVmKTtudWxsIT09ZS5pbmZvUmVmJiZhLnNldCgiSW5mbyIsZS5pbmZvUmVmKTtudWxsIT09ZS5lbmNyeXB0UmVmJiZhLnNldCgiRW5jcnlwdCIsZS5lbmNyeXB0UmVmKTtyZXR1cm4gYX0odCxpLGgpO2k9aS5zb3J0KCgoZSx0KT0+ZS5yZWYubnVtLXQucmVmLm51bSkpO2Zvcihjb25zdHtkYXRhOmV9b2YgaSludWxsIT09ZSYmbC5wdXNoKGUpO2F3YWl0KGg/YXN5bmMgZnVuY3Rpb24gZ2V0WFJlZlN0cmVhbVRhYmxlKGUsdCxpLGEscyl7Y29uc3Qgcj1bXTtsZXQgbj0wLGc9MDtmb3IoY29uc3R7cmVmOmUsZGF0YTphfW9mIGkpe2xldCBpO249TWF0aC5tYXgobix0KTtpZihudWxsIT09YSl7aT1NYXRoLm1pbihlLmdlbiw2NTUzNSk7ci5wdXNoKFsxLHQsaV0pO3QrPWEubGVuZ3RofWVsc2V7aT1NYXRoLm1pbihlLmdlbisxLDY1NTM1KTtyLnB1c2goWzAsMCxpXSl9Zz1NYXRoLm1heChnLGkpfWEuc2V0KCJJbmRleCIsZ2V0SW5kZXhlcyhpKSk7Y29uc3Qgbz1bMSxnZXRTaXplSW5CeXRlcyhuKSxnZXRTaXplSW5CeXRlcyhnKV07YS5zZXQoIlciLG8pO2NvbXB1dGVJRHModCxlLGEpO2NvbnN0IGM9by5yZWR1Y2UoKChlLHQpPT5lK3QpLDApLEM9bmV3IFVpbnQ4QXJyYXkoYypyLmxlbmd0aCksaD1uZXcgU3RyZWFtKEMpO2guZGljdD1hO2xldCBsPTA7Zm9yKGNvbnN0W2UsdCxpXW9mIHIpe2w9d3JpdGVJbnQoZSxvWzBdLGwsQyk7bD13cml0ZUludCh0LG9bMV0sbCxDKTtsPXdyaXRlSW50KGksb1syXSxsLEMpfWF3YWl0IHdyaXRlT2JqZWN0KGUubmV3UmVmLGgscyx7fSk7cy5wdXNoKCJzdGFydHhyZWZcbiIsdC50b1N0cmluZygpLCJcbiUlRU9GXG4iKX0odCxRLGksdSxsKTphc3luYyBmdW5jdGlvbiBnZXRYUmVmVGFibGUoZSx0LGksYSxzKXtzLnB1c2goInhyZWZcbiIpO2NvbnN0IHI9Z2V0SW5kZXhlcyhpKTtsZXQgbj0wO2Zvcihjb25zdHtyZWY6ZSxkYXRhOmF9b2YgaSl7aWYoZS5udW09PT1yW25dKXtzLnB1c2goYCR7cltuXX0gJHtyW24rMV19XG5gKTtuKz0yfWlmKG51bGwhPT1hKXtzLnB1c2goYCR7dC50b1N0cmluZygpLnBhZFN0YXJ0KDEwLCIwIil9ICR7TWF0aC5taW4oZS5nZW4sNjU1MzUpLnRvU3RyaW5nKCkucGFkU3RhcnQoNSwiMCIpfSBuXHJcbmApO3QrPWEubGVuZ3RofWVsc2Ugcy5wdXNoKGAwMDAwMDAwMDAwICR7TWF0aC5taW4oZS5nZW4rMSw2NTUzNSkudG9TdHJpbmcoKS5wYWRTdGFydCg1LCIwIil9IGZcclxuYCl9Y29tcHV0ZUlEcyh0LGUsYSk7cy5wdXNoKCJ0cmFpbGVyXG4iKTthd2FpdCB3cml0ZURpY3QoYSxzKTtzLnB1c2goIlxuc3RhcnR4cmVmXG4iLHQudG9TdHJpbmcoKSwiXG4lJUVPRlxuIil9KHQsUSxpLHUsbCkpO2NvbnN0IGQ9bC5yZWR1Y2UoKChlLHQpPT5lK3QubGVuZ3RoKSxlLmxlbmd0aCksZj1uZXcgVWludDhBcnJheShkKTtmLnNldChlKTtsZXQgcD1lLmxlbmd0aDtmb3IoY29uc3QgZSBvZiBsKXt3cml0ZVN0cmluZyhlLHAsZik7cCs9ZS5sZW5ndGh9cmV0dXJuIGZ9Y29uc3QgT3M9MSxXcz0yLGpzPTMsWHM9NCxacz01O2NsYXNzIFN0cnVjdFRyZWVSb290e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5kaWN0PWU7dGhpcy5yZWY9dCBpbnN0YW5jZW9mIFJlZj90Om51bGw7dGhpcy5yb2xlTWFwPW5ldyBNYXA7dGhpcy5zdHJ1Y3RQYXJlbnRJZHM9bnVsbH1pbml0KCl7dGhpcy5yZWFkUm9sZU1hcCgpfSNNKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBSZWYpfHx0PDApcmV0dXJuO3RoaXMuc3RydWN0UGFyZW50SWRzfHw9bmV3IFJlZlNldENhY2hlO2xldCBhPXRoaXMuc3RydWN0UGFyZW50SWRzLmdldChlKTtpZighYSl7YT1bXTt0aGlzLnN0cnVjdFBhcmVudElkcy5wdXQoZSxhKX1hLnB1c2goW3QsaV0pfWFkZEFubm90YXRpb25JZFRvUGFnZShlLHQpe3RoaXMuI00oZSx0LFhzKX1yZWFkUm9sZU1hcCgpe2NvbnN0IGU9dGhpcy5kaWN0LmdldCgiUm9sZU1hcCIpO2UgaW5zdGFuY2VvZiBEaWN0JiZlLmZvckVhY2goKChlLHQpPT57dCBpbnN0YW5jZW9mIE5hbWUmJnRoaXMucm9sZU1hcC5zZXQoZSx0Lm5hbWUpfSkpfXN0YXRpYyBhc3luYyBjYW5DcmVhdGVTdHJ1Y3R1cmVUcmVlKHtjYXRhbG9nUmVmOmUscGRmTWFuYWdlcjp0LG5ld0Fubm90YXRpb25zQnlQYWdlOml9KXtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXt3YXJuKCJDYW5ub3Qgc2F2ZSB0aGUgc3RydWN0IHRyZWU6IG5vIGNhdGFsb2cgcmVmZXJlbmNlLiIpO3JldHVybiExfWxldCBhPTAscz0hMDtmb3IoY29uc3RbZSxyXW9mIGkpe2NvbnN0e3JlZjppfT1hd2FpdCB0LmdldFBhZ2UoZSk7aWYoIShpIGluc3RhbmNlb2YgUmVmKSl7d2FybihgQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBwYWdlICR7ZX0gaGFzIG5vIHJlZi5gKTtzPSEwO2JyZWFrfWZvcihjb25zdCBlIG9mIHIpaWYoZS5hY2Nlc3NpYmlsaXR5RGF0YT8udHlwZSl7ZS5wYXJlbnRUcmVlSWQ9YSsrO3M9ITF9fWlmKHMpe2Zvcihjb25zdCBlIG9mIGkudmFsdWVzKCkpZm9yKGNvbnN0IHQgb2YgZSlkZWxldGUgdC5wYXJlbnRUcmVlSWQ7cmV0dXJuITF9cmV0dXJuITB9c3RhdGljIGFzeW5jIGNyZWF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmUseHJlZjp0LGNhdGFsb2dSZWY6aSxwZGZNYW5hZ2VyOmEsbmV3UmVmczpzfSl7Y29uc3Qgcj1hLmNhdGFsb2cuY2xvbmVEaWN0KCksbj1uZXcgUmVmU2V0Q2FjaGU7bi5wdXQoaSxyKTtjb25zdCBnPXQuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7ci5zZXQoIlN0cnVjdFRyZWVSb290IixnKTtjb25zdCBvPW5ldyBEaWN0KHQpO28uc2V0KCJUeXBlIixOYW1lLmdldCgiU3RydWN0VHJlZVJvb3QiKSk7Y29uc3QgYz10LmdldE5ld1RlbXBvcmFyeVJlZigpO28uc2V0KCJQYXJlbnRUcmVlIixjKTtjb25zdCBDPVtdO28uc2V0KCJLIixDKTtuLnB1dChnLG8pO2NvbnN0IGg9bmV3IERpY3QodCksbD1bXTtoLnNldCgiTnVtcyIsbCk7Y29uc3QgUT1hd2FpdCB0aGlzLiNMKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTplLHN0cnVjdFRyZWVSb290UmVmOmcsa2lkczpDLG51bXM6bCx4cmVmOnQscGRmTWFuYWdlcjphLGNhY2hlOm59KTtvLnNldCgiUGFyZW50VHJlZU5leHRLZXkiLFEpO24ucHV0KGMsaCk7Y29uc3QgRT1bXTtmb3IoY29uc3RbZSxpXW9mIG4uaXRlbXMoKSl7RS5sZW5ndGg9MDthd2FpdCB3cml0ZU9iamVjdChlLGksRSx0KTtzLnB1c2goe3JlZjplLGRhdGE6RS5qb2luKCIiKX0pfX1hc3luYyBjYW5VcGRhdGVTdHJ1Y3RUcmVlKHtwZGZNYW5hZ2VyOmUseHJlZjp0LG5ld0Fubm90YXRpb25zQnlQYWdlOml9KXtpZighdGhpcy5yZWYpe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBubyByb290IHJlZmVyZW5jZS4iKTtyZXR1cm4hMX1sZXQgYT10aGlzLmRpY3QuZ2V0KCJQYXJlbnRUcmVlTmV4dEtleSIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHxhPDApe3dhcm4oIkNhbm5vdCB1cGRhdGUgdGhlIHN0cnVjdCB0cmVlOiBpbnZhbGlkIG5leHQga2V5LiIpO3JldHVybiExfWNvbnN0IHM9dGhpcy5kaWN0LmdldCgiUGFyZW50VHJlZSIpO2lmKCEocyBpbnN0YW5jZW9mIERpY3QpKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogUGFyZW50VHJlZSBpc24ndCBhIGRpY3QuIik7cmV0dXJuITF9Y29uc3Qgcj1zLmdldCgiTnVtcyIpO2lmKCFBcnJheS5pc0FycmF5KHIpKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogbnVtcyBpc24ndCBhbiBhcnJheS4iKTtyZXR1cm4hMX1jb25zdCBuPW5ldyBOdW1iZXJUcmVlKHMsdCk7Zm9yKGNvbnN0IHQgb2YgaS5rZXlzKCkpe2NvbnN0e3BhZ2VEaWN0Oml9PWF3YWl0IGUuZ2V0UGFnZSh0KTtpZighaS5oYXMoIlN0cnVjdFBhcmVudHMiKSljb250aW51ZTtjb25zdCBhPWkuZ2V0KCJTdHJ1Y3RQYXJlbnRzIik7aWYoIU51bWJlci5pc0ludGVnZXIoYSl8fCFBcnJheS5pc0FycmF5KG4uZ2V0KGEpKSl7d2FybihgQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBwYWdlICR7dH0gaGFzIGEgd3JvbmcgaWQuYCk7cmV0dXJuITF9fWxldCBnPSEwO2Zvcihjb25zdFt0LHNdb2YgaSl7Y29uc3R7cGFnZURpY3Q6aX09YXdhaXQgZS5nZXRQYWdlKHQpO1N0cnVjdFRyZWVSb290LiNIKHtlbGVtZW50czpzLHhyZWY6dGhpcy5kaWN0LnhyZWYscGFnZURpY3Q6aSxudW1iZXJUcmVlOm59KTtmb3IoY29uc3QgZSBvZiBzKWlmKGUuYWNjZXNzaWJpbGl0eURhdGE/LnR5cGUpe2UucGFyZW50VHJlZUlkPWErKztnPSExfX1pZihnKXtmb3IoY29uc3QgZSBvZiBpLnZhbHVlcygpKWZvcihjb25zdCB0IG9mIGUpe2RlbGV0ZSB0LnBhcmVudFRyZWVJZDtkZWxldGUgdC5zdHJ1Y3RUcmVlUGFyZW50fXJldHVybiExfXJldHVybiEwfWFzeW5jIHVwZGF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmUscGRmTWFuYWdlcjp0LG5ld1JlZnM6aX0pe2NvbnN0IGE9dGhpcy5kaWN0LnhyZWYscz10aGlzLmRpY3QuY2xvbmUoKSxyPXRoaXMucmVmLG49bmV3IFJlZlNldENhY2hlO24ucHV0KHIscyk7bGV0IGcsbz1zLmdldFJhdygiUGFyZW50VHJlZSIpO2lmKG8gaW5zdGFuY2VvZiBSZWYpZz1hLmZldGNoKG8pO2Vsc2V7Zz1vO289YS5nZXROZXdUZW1wb3JhcnlSZWYoKTtzLnNldCgiUGFyZW50VHJlZSIsbyl9Zz1nLmNsb25lKCk7bi5wdXQobyxnKTtsZXQgYz1nLmdldFJhdygiTnVtcyIpLEM9bnVsbDtpZihjIGluc3RhbmNlb2YgUmVmKXtDPWM7Yz1hLmZldGNoKEMpfWM9Yy5zbGljZSgpO0N8fGcuc2V0KCJOdW1zIixjKTtjb25zdCBoPWF3YWl0IFN0cnVjdFRyZWVSb290LiNMKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTplLHN0cnVjdFRyZWVSb290UmVmOnIsa2lkczpudWxsLG51bXM6Yyx4cmVmOmEscGRmTWFuYWdlcjp0LGNhY2hlOm59KTtzLnNldCgiUGFyZW50VHJlZU5leHRLZXkiLGgpO0MmJm4ucHV0KEMsYyk7Y29uc3QgbD1bXTtmb3IoY29uc3RbZSx0XW9mIG4uaXRlbXMoKSl7bC5sZW5ndGg9MDthd2FpdCB3cml0ZU9iamVjdChlLHQsbCxhKTtpLnB1c2goe3JlZjplLGRhdGE6bC5qb2luKCIiKX0pfX1zdGF0aWMgYXN5bmMjTCh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjp0LGtpZHM6aSxudW1zOmEseHJlZjpzLHBkZk1hbmFnZXI6cixjYWNoZTpufSl7Y29uc3QgZz1OYW1lLmdldCgiT0JKUiIpO2xldCBvPS0xLzA7Zm9yKGNvbnN0W2MsQ11vZiBlKXtjb25zdHtyZWY6ZX09YXdhaXQgci5nZXRQYWdlKGMpLGg9ZSBpbnN0YW5jZW9mIFJlZjtmb3IoY29uc3R7YWNjZXNzaWJpbGl0eURhdGE6cixyZWY6YyxwYXJlbnRUcmVlSWQ6bCxzdHJ1Y3RUcmVlUGFyZW50OlF9b2YgQyl7aWYoIXI/LnR5cGUpY29udGludWU7Y29uc3R7dHlwZTpDLHRpdGxlOkUsbGFuZzp1LGFsdDpkLGV4cGFuZGVkOmYsYWN0dWFsVGV4dDpwfT1yO289TWF0aC5tYXgobyxsKTtjb25zdCBtPXMuZ2V0TmV3VGVtcG9yYXJ5UmVmKCkseT1uZXcgRGljdChzKTt5LnNldCgiUyIsTmFtZS5nZXQoQykpO0UmJnkuc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKEUpKTt1JiZ5LnNldCgiTGFuZyIsdSk7ZCYmeS5zZXQoIkFsdCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShkKSk7ZiYmeS5zZXQoIkUiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoZikpO3AmJnkuc2V0KCJBY3R1YWxUZXh0IixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKHApKTthd2FpdCB0aGlzLiNKKHtzdHJ1Y3RUcmVlUGFyZW50OlEsdGFnRGljdDp5LG5ld1RhZ1JlZjptLHN0cnVjdFRyZWVSb290UmVmOnQsZmFsbGJhY2tLaWRzOmkseHJlZjpzLGNhY2hlOm59KTtjb25zdCB3PW5ldyBEaWN0KHMpO3kuc2V0KCJLIix3KTt3LnNldCgiVHlwZSIsZyk7aCYmdy5zZXQoIlBnIixlKTt3LnNldCgiT2JqIixjKTtuLnB1dChtLHkpO2EucHVzaChsLG0pfX1yZXR1cm4gbysxfXN0YXRpYyNIKHtlbGVtZW50czplLHhyZWY6dCxwYWdlRGljdDppLG51bWJlclRyZWU6YX0pe2NvbnN0IHM9bmV3IE1hcDtmb3IoY29uc3QgdCBvZiBlKWlmKHQuc3RydWN0VHJlZVBhcmVudElkKXtjb25zdCBlPXBhcnNlSW50KHQuc3RydWN0VHJlZVBhcmVudElkLnNwbGl0KCJfbWMiKVsxXSwxMCk7bGV0IGk9cy5nZXQoZSk7aWYoIWkpe2k9W107cy5zZXQoZSxpKX1pLnB1c2godCl9Y29uc3Qgcj1pLmdldCgiU3RydWN0UGFyZW50cyIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpKXJldHVybjtjb25zdCBuPWEuZ2V0KHIpLHVwZGF0ZUVsZW1lbnQ9KGUsaSxhKT0+e2NvbnN0IHI9cy5nZXQoZSk7aWYocil7Y29uc3QgZT1pLmdldFJhdygiUCIpLHM9dC5mZXRjaElmUmVmKGUpO2lmKGUgaW5zdGFuY2VvZiBSZWYmJnMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXtyZWY6YSxkaWN0Oml9O2Zvcihjb25zdCB0IG9mIHIpdC5zdHJ1Y3RUcmVlUGFyZW50PWV9cmV0dXJuITB9cmV0dXJuITF9O2Zvcihjb25zdCBlIG9mIG4pe2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpY29udGludWU7Y29uc3QgaT10LmZldGNoKGUpLGE9aS5nZXQoIksiKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpKXVwZGF0ZUVsZW1lbnQoYSxpLGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlmb3IobGV0IHMgb2YgYSl7cz10LmZldGNoSWZSZWYocyk7aWYoTnVtYmVyLmlzSW50ZWdlcihzKSYmdXBkYXRlRWxlbWVudChzLGksZSkpYnJlYWs7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYoIWlzTmFtZShzLmdldCgiVHlwZSIpLCJNQ1IiKSlicmVhaztjb25zdCBhPXMuZ2V0KCJNQ0lEIik7aWYoTnVtYmVyLmlzSW50ZWdlcihhKSYmdXBkYXRlRWxlbWVudChhLGksZSkpYnJlYWt9fX1zdGF0aWMgYXN5bmMjSih7c3RydWN0VHJlZVBhcmVudDplLHRhZ0RpY3Q6dCxuZXdUYWdSZWY6aSxzdHJ1Y3RUcmVlUm9vdFJlZjphLGZhbGxiYWNrS2lkczpzLHhyZWY6cixjYWNoZTpufSl7bGV0IGcsbz1udWxsO2lmKGUpeyh7cmVmOm99PWUpO2c9ZS5kaWN0LmdldFJhdygiUCIpfHxhfWVsc2UgZz1hO3Quc2V0KCJQIixnKTtjb25zdCBjPXIuZmV0Y2hJZlJlZihnKTtpZighYyl7cy5wdXNoKGkpO3JldHVybn1sZXQgQz1uLmdldChnKTtpZighQyl7Qz1jLmNsb25lKCk7bi5wdXQoZyxDKX1jb25zdCBoPUMuZ2V0UmF3KCJLIik7bGV0IGw9aCBpbnN0YW5jZW9mIFJlZj9uLmdldChoKTpudWxsO2lmKCFsKXtsPXIuZmV0Y2hJZlJlZihoKTtsPUFycmF5LmlzQXJyYXkobCk/bC5zbGljZSgpOltoXTtjb25zdCBlPXIuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7Qy5zZXQoIksiLGUpO24ucHV0KGUsbCl9Y29uc3QgUT1sLmluZGV4T2Yobyk7bC5zcGxpY2UoUT49MD9RKzE6bC5sZW5ndGgsMCxpKX19Y2xhc3MgU3RydWN0RWxlbWVudE5vZGV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnRyZWU9ZTt0aGlzLmRpY3Q9dDt0aGlzLmtpZHM9W107dGhpcy5wYXJzZUtpZHMoKX1nZXQgcm9sZSgpe2NvbnN0IGU9dGhpcy5kaWN0LmdldCgiUyIpLHQ9ZSBpbnN0YW5jZW9mIE5hbWU/ZS5uYW1lOiIiLHtyb290Oml9PXRoaXMudHJlZTtyZXR1cm4gaS5yb2xlTWFwLmhhcyh0KT9pLnJvbGVNYXAuZ2V0KHQpOnR9cGFyc2VLaWRzKCl7bGV0IGU9bnVsbDtjb25zdCB0PXRoaXMuZGljdC5nZXRSYXcoIlBnIik7dCBpbnN0YW5jZW9mIFJlZiYmKGU9dC50b1N0cmluZygpKTtjb25zdCBpPXRoaXMuZGljdC5nZXQoIksiKTtpZihBcnJheS5pc0FycmF5KGkpKWZvcihjb25zdCB0IG9mIGkpe2NvbnN0IGk9dGhpcy5wYXJzZUtpZChlLHQpO2kmJnRoaXMua2lkcy5wdXNoKGkpfWVsc2V7Y29uc3QgdD10aGlzLnBhcnNlS2lkKGUsaSk7dCYmdGhpcy5raWRzLnB1c2godCl9fXBhcnNlS2lkKGUsdCl7aWYoTnVtYmVyLmlzSW50ZWdlcih0KSlyZXR1cm4gdGhpcy50cmVlLnBhZ2VEaWN0Lm9iaklkIT09ZT9udWxsOm5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOk9zLG1jaWQ6dCxwYWdlT2JqSWQ6ZX0pO2xldCBpPW51bGw7dCBpbnN0YW5jZW9mIFJlZj9pPXRoaXMuZGljdC54cmVmLmZldGNoKHQpOnQgaW5zdGFuY2VvZiBEaWN0JiYoaT10KTtpZighaSlyZXR1cm4gbnVsbDtjb25zdCBhPWkuZ2V0UmF3KCJQZyIpO2EgaW5zdGFuY2VvZiBSZWYmJihlPWEudG9TdHJpbmcoKSk7Y29uc3Qgcz1pLmdldCgiVHlwZSIpaW5zdGFuY2VvZiBOYW1lP2kuZ2V0KCJUeXBlIikubmFtZTpudWxsO2lmKCJNQ1IiPT09cyl7aWYodGhpcy50cmVlLnBhZ2VEaWN0Lm9iaklkIT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWkuZ2V0UmF3KCJTdG0iKTtyZXR1cm4gbmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6V3MscmVmT2JqSWQ6dCBpbnN0YW5jZW9mIFJlZj90LnRvU3RyaW5nKCk6bnVsbCxwYWdlT2JqSWQ6ZSxtY2lkOmkuZ2V0KCJNQ0lEIil9KX1pZigiT0JKUiI9PT1zKXtpZih0aGlzLnRyZWUucGFnZURpY3Qub2JqSWQhPT1lKXJldHVybiBudWxsO2NvbnN0IHQ9aS5nZXRSYXcoIk9iaiIpO3JldHVybiBuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpqcyxyZWZPYmpJZDp0IGluc3RhbmNlb2YgUmVmP3QudG9TdHJpbmcoKTpudWxsLHBhZ2VPYmpJZDplfSl9cmV0dXJuIG5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOlpzLGRpY3Q6aX0pfX1jbGFzcyBTdHJ1Y3RFbGVtZW50e2NvbnN0cnVjdG9yKHt0eXBlOmUsZGljdDp0PW51bGwsbWNpZDppPW51bGwscGFnZU9iaklkOmE9bnVsbCxyZWZPYmpJZDpzPW51bGx9KXt0aGlzLnR5cGU9ZTt0aGlzLmRpY3Q9dDt0aGlzLm1jaWQ9aTt0aGlzLnBhZ2VPYmpJZD1hO3RoaXMucmVmT2JqSWQ9czt0aGlzLnBhcmVudE5vZGU9bnVsbH19Y2xhc3MgU3RydWN0VHJlZVBhZ2V7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnJvb3Q9ZTt0aGlzLnJvb3REaWN0PWU/ZS5kaWN0Om51bGw7dGhpcy5wYWdlRGljdD10O3RoaXMubm9kZXM9W119cGFyc2UoZSl7aWYoIXRoaXMucm9vdHx8IXRoaXMucm9vdERpY3QpcmV0dXJuO2NvbnN0IHQ9dGhpcy5yb290RGljdC5nZXQoIlBhcmVudFRyZWUiKTtpZighdClyZXR1cm47Y29uc3QgaT10aGlzLnBhZ2VEaWN0LmdldCgiU3RydWN0UGFyZW50cyIpLGE9ZSBpbnN0YW5jZW9mIFJlZiYmdGhpcy5yb290LnN0cnVjdFBhcmVudElkcz8uZ2V0KGUpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpJiYhYSlyZXR1cm47Y29uc3Qgcz1uZXcgTWFwLHI9bmV3IE51bWJlclRyZWUodCx0aGlzLnJvb3REaWN0LnhyZWYpO2lmKE51bWJlci5pc0ludGVnZXIoaSkpe2NvbnN0IGU9ci5nZXQoaSk7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgdCBvZiBlKXQgaW5zdGFuY2VvZiBSZWYmJnRoaXMuYWRkTm9kZSh0aGlzLnJvb3REaWN0LnhyZWYuZmV0Y2godCkscyl9aWYoYSlmb3IoY29uc3RbZSx0XW9mIGEpe2NvbnN0IGk9ci5nZXQoZSk7aWYoaSl7Y29uc3QgZT10aGlzLmFkZE5vZGUodGhpcy5yb290RGljdC54cmVmLmZldGNoSWZSZWYoaSkscyk7MT09PWU/LmtpZHM/Lmxlbmd0aCYmZS5raWRzWzBdLnR5cGU9PT1qcyYmKGUua2lkc1swXS50eXBlPXQpfX19YWRkTm9kZShlLHQsaT0wKXtpZihpPjQwKXt3YXJuKCJTdHJ1Y3RUcmVlIE1BWF9ERVBUSCByZWFjaGVkLiIpO3JldHVybiBudWxsfWlmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2lmKHQuaGFzKGUpKXJldHVybiB0LmdldChlKTtjb25zdCBhPW5ldyBTdHJ1Y3RFbGVtZW50Tm9kZSh0aGlzLGUpO3Quc2V0KGUsYSk7Y29uc3Qgcz1lLmdldCgiUCIpO2lmKCFzfHxpc05hbWUocy5nZXQoIlR5cGUiKSwiU3RydWN0VHJlZVJvb3QiKSl7dGhpcy5hZGRUb3BMZXZlbE5vZGUoZSxhKXx8dC5kZWxldGUoZSk7cmV0dXJuIGF9Y29uc3Qgcj10aGlzLmFkZE5vZGUocyx0LGkrMSk7aWYoIXIpcmV0dXJuIGE7bGV0IG49ITE7Zm9yKGNvbnN0IHQgb2Ygci5raWRzKWlmKHQudHlwZT09PVpzJiZ0LmRpY3Q9PT1lKXt0LnBhcmVudE5vZGU9YTtuPSEwfW58fHQuZGVsZXRlKGUpO3JldHVybiBhfWFkZFRvcExldmVsTm9kZShlLHQpe2NvbnN0IGk9dGhpcy5yb290RGljdC5nZXQoIksiKTtpZighaSlyZXR1cm4hMTtpZihpIGluc3RhbmNlb2YgRGljdCl7aWYoaS5vYmpJZCE9PWUub2JqSWQpcmV0dXJuITE7dGhpcy5ub2Rlc1swXT10O3JldHVybiEwfWlmKCFBcnJheS5pc0FycmF5KGkpKXJldHVybiEwO2xldCBhPSExO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXtjb25zdCByPWlbc107aWYocj8udG9TdHJpbmcoKT09PWUub2JqSWQpe3RoaXMubm9kZXNbc109dDthPSEwfX1yZXR1cm4gYX1nZXQgc2VyaWFsaXphYmxlKCl7ZnVuY3Rpb24gbm9kZVRvU2VyaWFsaXphYmxlKGUsdCxpPTApe2lmKGk+NDApe3dhcm4oIlN0cnVjdFRyZWUgdG9vIGRlZXAgdG8gYmUgZnVsbHkgc2VyaWFsaXplZC4iKTtyZXR1cm59Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2Eucm9sZT1lLnJvbGU7YS5jaGlsZHJlbj1bXTt0LmNoaWxkcmVuLnB1c2goYSk7Y29uc3Qgcz1lLmRpY3QuZ2V0KCJBbHQiKTsic3RyaW5nIj09dHlwZW9mIHMmJihhLmFsdD1zdHJpbmdUb1BERlN0cmluZyhzKSk7Y29uc3Qgcj1lLmRpY3QuZ2V0KCJMYW5nIik7InN0cmluZyI9PXR5cGVvZiByJiYoYS5sYW5nPXN0cmluZ1RvUERGU3RyaW5nKHIpKTtmb3IoY29uc3QgdCBvZiBlLmtpZHMpe2NvbnN0IGU9dC50eXBlPT09WnM/dC5wYXJlbnROb2RlOm51bGw7ZT9ub2RlVG9TZXJpYWxpemFibGUoZSxhLGkrMSk6dC50eXBlPT09T3N8fHQudHlwZT09PVdzP2EuY2hpbGRyZW4ucHVzaCh7dHlwZToiY29udGVudCIsaWQ6YHAke3QucGFnZU9iaklkfV9tYyR7dC5tY2lkfWB9KTp0LnR5cGU9PT1qcz9hLmNoaWxkcmVuLnB1c2goe3R5cGU6Im9iamVjdCIsaWQ6dC5yZWZPYmpJZH0pOnQudHlwZT09PVhzJiZhLmNoaWxkcmVuLnB1c2goe3R5cGU6ImFubm90YXRpb24iLGlkOmBwZGZqc19pbnRlcm5hbF9pZF8ke3QucmVmT2JqSWR9YH0pfX1jb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCk7ZS5jaGlsZHJlbj1bXTtlLnJvbGU9IlJvb3QiO2Zvcihjb25zdCB0IG9mIHRoaXMubm9kZXMpdCYmbm9kZVRvU2VyaWFsaXphYmxlKHQsZSk7cmV0dXJuIGV9fWZ1bmN0aW9uIGlzVmFsaWRFeHBsaWNpdERlc3QoZSl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fGUubGVuZ3RoPDIpcmV0dXJuITE7Y29uc3RbdCxpLC4uLmFdPWU7aWYoISh0IGluc3RhbmNlb2YgUmVmfHxOdW1iZXIuaXNJbnRlZ2VyKHQpKSlyZXR1cm4hMTtpZighKGkgaW5zdGFuY2VvZiBOYW1lKSlyZXR1cm4hMTtjb25zdCBzPWEubGVuZ3RoO2xldCByPSEwO3N3aXRjaChpLm5hbWUpe2Nhc2UiWFlaIjppZihzPDJ8fHM+MylyZXR1cm4hMTticmVhaztjYXNlIkZpdCI6Y2FzZSJGaXRCIjpyZXR1cm4gMD09PXM7Y2FzZSJGaXRIIjpjYXNlIkZpdEJIIjpjYXNlIkZpdFYiOmNhc2UiRml0QlYiOmlmKHM+MSlyZXR1cm4hMTticmVhaztjYXNlIkZpdFIiOmlmKDQhPT1zKXJldHVybiExO3I9ITE7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMX1mb3IoY29uc3QgZSBvZiBhKWlmKCEoIm51bWJlciI9PXR5cGVvZiBlfHxyJiZudWxsPT09ZSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZmV0Y2hEZXN0KGUpe2UgaW5zdGFuY2VvZiBEaWN0JiYoZT1lLmdldCgiRCIpKTtyZXR1cm4gaXNWYWxpZEV4cGxpY2l0RGVzdChlKT9lOm51bGx9ZnVuY3Rpb24gZmV0Y2hSZW1vdGVEZXN0KGUpe2xldCB0PWUuZ2V0KCJEIik7aWYodCl7dCBpbnN0YW5jZW9mIE5hbWUmJih0PXQubmFtZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBzdHJpbmdUb1BERlN0cmluZyh0KTtpZihpc1ZhbGlkRXhwbGljaXREZXN0KHQpKXJldHVybiBKU09OLnN0cmluZ2lmeSh0KX1yZXR1cm4gbnVsbH1jbGFzcyBDYXRhbG9ne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy54cmVmPXQ7dGhpcy5fY2F0RGljdD10LmdldENhdGFsb2dPYmooKTtpZighKHRoaXMuX2NhdERpY3QgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkNhdGFsb2cgb2JqZWN0IGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7dGhpcy50b3BsZXZlbFBhZ2VzRGljdDt0aGlzLl9hY3R1YWxOdW1QYWdlcz1udWxsO3RoaXMuZm9udENhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9bmV3IE1hcDt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1uZXcgTWFwO3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZT1uZXcgR2xvYmFsSW1hZ2VDYWNoZTt0aGlzLnBhZ2VLaWRzQ291bnRDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5wYWdlSW5kZXhDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5wYWdlRGljdENhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLm5vbkJsZW5kTW9kZXNTZXQ9bmV3IFJlZlNldDt0aGlzLnN5c3RlbUZvbnRDYWNoZT1uZXcgTWFwfWNsb25lRGljdCgpe3JldHVybiB0aGlzLl9jYXREaWN0LmNsb25lKCl9Z2V0IHZlcnNpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJWZXJzaW9uIik7aWYoZSBpbnN0YW5jZW9mIE5hbWUpe2lmKGt0LnRlc3QoZS5uYW1lKSlyZXR1cm4gc2hhZG93KHRoaXMsInZlcnNpb24iLGUubmFtZSk7d2FybihgSW52YWxpZCBQREYgY2F0YWxvZyB2ZXJzaW9uOiAke2UubmFtZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsInZlcnNpb24iLG51bGwpfWdldCBsYW5nKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTGFuZyIpO3JldHVybiBzaGFkb3codGhpcywibGFuZyIsZSYmInN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGwpfWdldCBuZWVkc1JlbmRlcmluZygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5lZWRzUmVuZGVyaW5nIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJuZWVkc1JlbmRlcmluZyIsImJvb2xlYW4iPT10eXBlb2YgZSYmZSl9Z2V0IGNvbGxlY3Rpb24oKXtsZXQgZT1udWxsO3RyeXtjb25zdCB0PXRoaXMuX2NhdERpY3QuZ2V0KCJDb2xsZWN0aW9uIik7dCBpbnN0YW5jZW9mIERpY3QmJnQuc2l6ZT4wJiYoZT10KX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJDYW5ub3QgZmV0Y2ggQ29sbGVjdGlvbiBlbnRyeTsgYXNzdW1pbmcgbm8gY29sbGVjdGlvbiBpcyBwcmVzZW50LiIpfXJldHVybiBzaGFkb3codGhpcywiY29sbGVjdGlvbiIsZSl9Z2V0IGFjcm9Gb3JtKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiQWNyb0Zvcm0iKTt0IGluc3RhbmNlb2YgRGljdCYmdC5zaXplPjAmJihlPXQpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIkNhbm5vdCBmZXRjaCBBY3JvRm9ybSBlbnRyeTsgYXNzdW1pbmcgbm8gZm9ybXMgYXJlIHByZXNlbnQuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybSIsZSl9Z2V0IGFjcm9Gb3JtUmVmKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiQWNyb0Zvcm0iKTtyZXR1cm4gc2hhZG93KHRoaXMsImFjcm9Gb3JtUmVmIixlIGluc3RhbmNlb2YgUmVmP2U6bnVsbCl9Z2V0IG1ldGFkYXRhKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiTWV0YWRhdGEiKTtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXJldHVybiBzaGFkb3codGhpcywibWV0YWRhdGEiLG51bGwpO2xldCB0PW51bGw7dHJ5e2NvbnN0IGk9dGhpcy54cmVmLmZldGNoKGUsIXRoaXMueHJlZi5lbmNyeXB0Py5lbmNyeXB0TWV0YWRhdGEpO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiZpLmRpY3QgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPWkuZGljdC5nZXQoIlR5cGUiKSxhPWkuZGljdC5nZXQoIlN1YnR5cGUiKTtpZihpc05hbWUoZSwiTWV0YWRhdGEiKSYmaXNOYW1lKGEsIlhNTCIpKXtjb25zdCBlPXN0cmluZ1RvVVRGOFN0cmluZyhpLmdldFN0cmluZygpKTtlJiYodD1uZXcgTWV0YWRhdGFQYXJzZXIoZSkuc2VyaWFsaXphYmxlKX19fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oYFNraXBwaW5nIGludmFsaWQgTWV0YWRhdGE6ICIke2V9Ii5gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm1ldGFkYXRhIix0KX1nZXQgbWFya0luZm8oKXtsZXQgZT1udWxsO3RyeXtlPXRoaXMuX3JlYWRNYXJrSW5mbygpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIlVuYWJsZSB0byByZWFkIG1hcmsgaW5mby4iKX1yZXR1cm4gc2hhZG93KHRoaXMsIm1hcmtJbmZvIixlKX1fcmVhZE1hcmtJbmZvKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTWFya0luZm8iKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtjb25zdCB0PXtNYXJrZWQ6ITEsVXNlclByb3BlcnRpZXM6ITEsU3VzcGVjdHM6ITF9O2Zvcihjb25zdCBpIGluIHQpe2NvbnN0IGE9ZS5nZXQoaSk7ImJvb2xlYW4iPT10eXBlb2YgYSYmKHRbaV09YSl9cmV0dXJuIHR9Z2V0IHN0cnVjdFRyZWVSb290KCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkU3RydWN0VHJlZVJvb3QoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgcmVhZCB0byBzdHJ1Y3RUcmVlUm9vdCBpbmZvLiIpfXJldHVybiBzaGFkb3codGhpcywic3RydWN0VHJlZVJvb3QiLGUpfV9yZWFkU3RydWN0VHJlZVJvb3QoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0UmF3KCJTdHJ1Y3RUcmVlUm9vdCIpLHQ9dGhpcy54cmVmLmZldGNoSWZSZWYoZSk7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgaT1uZXcgU3RydWN0VHJlZVJvb3QodCxlKTtpLmluaXQoKTtyZXR1cm4gaX1nZXQgdG9wbGV2ZWxQYWdlc0RpY3QoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlcyIpO2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCB0b3AtbGV2ZWwgcGFnZXMgZGljdGlvbmFyeS4iKTtyZXR1cm4gc2hhZG93KHRoaXMsInRvcGxldmVsUGFnZXNEaWN0IixlKX1nZXQgZG9jdW1lbnRPdXRsaW5lKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkRG9jdW1lbnRPdXRsaW5lKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgZG9jdW1lbnQgb3V0bGluZS4iKX1yZXR1cm4gc2hhZG93KHRoaXMsImRvY3VtZW50T3V0bGluZSIsZSl9X3JlYWREb2N1bWVudE91dGxpbmUoKXtsZXQgZT10aGlzLl9jYXREaWN0LmdldCgiT3V0bGluZXMiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtlPWUuZ2V0UmF3KCJGaXJzdCIpO2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIG51bGw7Y29uc3QgdD17aXRlbXM6W119LGk9W3tvYmo6ZSxwYXJlbnQ6dH1dLGE9bmV3IFJlZlNldDthLnB1dChlKTtjb25zdCBzPXRoaXMueHJlZixyPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKTtmb3IoO2kubGVuZ3RoPjA7KXtjb25zdCB0PWkuc2hpZnQoKSxuPXMuZmV0Y2hJZlJlZih0Lm9iaik7aWYobnVsbD09PW4pY29udGludWU7bi5oYXMoIlRpdGxlIil8fHdhcm4oIkludmFsaWQgb3V0bGluZSBpdGVtIGVuY291bnRlcmVkLiIpO2NvbnN0IGc9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDpuLHJlc3VsdE9iajpnLGRvY0Jhc2VVcmw6dGhpcy5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOnRoaXMuYXR0YWNobWVudHN9KTtjb25zdCBvPW4uZ2V0KCJUaXRsZSIpLGM9bi5nZXQoIkYiKXx8MCxDPW4uZ2V0QXJyYXkoIkMiKSxoPW4uZ2V0KCJDb3VudCIpO2xldCBsPXI7IWlzTnVtYmVyQXJyYXkoQywzKXx8MD09PUNbMF0mJjA9PT1DWzFdJiYwPT09Q1syXXx8KGw9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoQywwKSk7Y29uc3QgUT17YWN0aW9uOmcuYWN0aW9uLGF0dGFjaG1lbnQ6Zy5hdHRhY2htZW50LGRlc3Q6Zy5kZXN0LHVybDpnLnVybCx1bnNhZmVVcmw6Zy51bnNhZmVVcmwsbmV3V2luZG93OmcubmV3V2luZG93LHNldE9DR1N0YXRlOmcuc2V0T0NHU3RhdGUsdGl0bGU6InN0cmluZyI9PXR5cGVvZiBvP3N0cmluZ1RvUERGU3RyaW5nKG8pOiIiLGNvbG9yOmwsY291bnQ6TnVtYmVyLmlzSW50ZWdlcihoKT9oOnZvaWQgMCxib2xkOiEhKDImYyksaXRhbGljOiEhKDEmYyksaXRlbXM6W119O3QucGFyZW50Lml0ZW1zLnB1c2goUSk7ZT1uLmdldFJhdygiRmlyc3QiKTtpZihlIGluc3RhbmNlb2YgUmVmJiYhYS5oYXMoZSkpe2kucHVzaCh7b2JqOmUscGFyZW50OlF9KTthLnB1dChlKX1lPW4uZ2V0UmF3KCJOZXh0Iik7aWYoZSBpbnN0YW5jZW9mIFJlZiYmIWEuaGFzKGUpKXtpLnB1c2goe29iajplLHBhcmVudDp0LnBhcmVudH0pO2EucHV0KGUpfX1yZXR1cm4gdC5pdGVtcy5sZW5ndGg+MD90Lml0ZW1zOm51bGx9Z2V0IHBlcm1pc3Npb25zKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkUGVybWlzc2lvbnMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwZXJtaXNzaW9ucy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBlcm1pc3Npb25zIixlKX1fcmVhZFBlcm1pc3Npb25zKCl7Y29uc3QgZT10aGlzLnhyZWYudHJhaWxlci5nZXQoIkVuY3J5cHQiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtsZXQgdD1lLmdldCgiUCIpO2lmKCJudW1iZXIiIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0Kz0yKiozMjtjb25zdCBpPVtdO2Zvcihjb25zdCBlIGluIHkpe2NvbnN0IGE9eVtlXTt0JmEmJmkucHVzaChhKX1yZXR1cm4gaX1nZXQgb3B0aW9uYWxDb250ZW50Q29uZmlnKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiT0NQcm9wZXJ0aWVzIik7aWYoIXQpcmV0dXJuIHNoYWRvdyh0aGlzLCJvcHRpb25hbENvbnRlbnRDb25maWciLG51bGwpO2NvbnN0IGk9dC5nZXQoIkQiKTtpZighaSlyZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsbnVsbCk7Y29uc3QgYT10LmdldCgiT0NHcyIpO2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixudWxsKTtjb25zdCBzPVtdLHI9bmV3IFJlZlNldDtmb3IoY29uc3QgZSBvZiBhKWlmKGUgaW5zdGFuY2VvZiBSZWYmJiFyLmhhcyhlKSl7ci5wdXQoZSk7cy5wdXNoKHRoaXMuI1koZSkpfWU9dGhpcy4jdihpLHIpO2UuZ3JvdXBzPXN9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgVW5hYmxlIHRvIHJlYWQgb3B0aW9uYWwgY29udGVudCBjb25maWc6ICR7ZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsZSl9I1koZSl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2goZSksaT17aWQ6ZS50b1N0cmluZygpLG5hbWU6bnVsbCxpbnRlbnQ6bnVsbCx1c2FnZTp7cHJpbnQ6bnVsbCx2aWV3Om51bGx9fSxhPXQuZ2V0KCJOYW1lIik7InN0cmluZyI9PXR5cGVvZiBhJiYoaS5uYW1lPXN0cmluZ1RvUERGU3RyaW5nKGEpKTtsZXQgcz10LmdldEFycmF5KCJJbnRlbnQiKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO3MuZXZlcnkoKGU9PmUgaW5zdGFuY2VvZiBOYW1lKSkmJihpLmludGVudD1zLm1hcCgoZT0+ZS5uYW1lKSkpO2NvbnN0IHI9dC5nZXQoIlVzYWdlIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGk7Y29uc3Qgbj1pLnVzYWdlLGc9ci5nZXQoIlByaW50Iik7aWYoZyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9Zy5nZXQoIlByaW50U3RhdGUiKTtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIk9OIjpjYXNlIk9GRiI6bi5wcmludD17cHJpbnRTdGF0ZTplLm5hbWV9fX1jb25zdCBvPXIuZ2V0KCJWaWV3Iik7aWYobyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9by5nZXQoIlZpZXdTdGF0ZSIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiT04iOmNhc2UiT0ZGIjpuLnZpZXc9e3ZpZXdTdGF0ZTplLm5hbWV9fX1yZXR1cm4gaX0jdihlLHQpe2Z1bmN0aW9uIHBhcnNlT25PZmYoZSl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCBhIG9mIGUpYSBpbnN0YW5jZW9mIFJlZiYmdC5oYXMoYSkmJmkucHVzaChhLnRvU3RyaW5nKCkpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlT3JkZXIoZSxpPTApe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBudWxsO2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSl7aWYociBpbnN0YW5jZW9mIFJlZiYmdC5oYXMocikpe2EucHV0KHIpO3MucHVzaChyLnRvU3RyaW5nKCkpO2NvbnRpbnVlfWNvbnN0IGU9cGFyc2VOZXN0ZWRPcmRlcihyLGkpO2UmJnMucHVzaChlKX1pZihpPjApcmV0dXJuIHM7Y29uc3Qgcj1bXTtmb3IoY29uc3QgZSBvZiB0KWEuaGFzKGUpfHxyLnB1c2goZS50b1N0cmluZygpKTtyLmxlbmd0aCYmcy5wdXNoKHtuYW1lOm51bGwsb3JkZXI6cn0pO3JldHVybiBzfWZ1bmN0aW9uIHBhcnNlTmVzdGVkT3JkZXIoZSx0KXtpZigrK3Q+cyl7d2FybigicGFyc2VOZXN0ZWRPcmRlciAtIHJlYWNoZWQgTUFYX05FU1RFRF9MRVZFTFMuIik7cmV0dXJuIG51bGx9Y29uc3QgYT1pLmZldGNoSWZSZWYoZSk7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIG51bGw7Y29uc3Qgcj1pLmZldGNoSWZSZWYoYVswXSk7aWYoInN0cmluZyIhPXR5cGVvZiByKXJldHVybiBudWxsO2NvbnN0IG49cGFyc2VPcmRlcihhLnNsaWNlKDEpLHQpO3JldHVybiBuJiZuLmxlbmd0aD97bmFtZTpzdHJpbmdUb1BERlN0cmluZyhyKSxvcmRlcjpufTpudWxsfWNvbnN0IGk9dGhpcy54cmVmLGE9bmV3IFJlZlNldCxzPTEwO3JldHVybntuYW1lOiJzdHJpbmciPT10eXBlb2YgZS5nZXQoIk5hbWUiKT9zdHJpbmdUb1BERlN0cmluZyhlLmdldCgiTmFtZSIpKTpudWxsLGNyZWF0b3I6InN0cmluZyI9PXR5cGVvZiBlLmdldCgiQ3JlYXRvciIpP3N0cmluZ1RvUERGU3RyaW5nKGUuZ2V0KCJDcmVhdG9yIikpOm51bGwsYmFzZVN0YXRlOmUuZ2V0KCJCYXNlU3RhdGUiKWluc3RhbmNlb2YgTmFtZT9lLmdldCgiQmFzZVN0YXRlIikubmFtZTpudWxsLG9uOnBhcnNlT25PZmYoZS5nZXQoIk9OIikpLG9mZjpwYXJzZU9uT2ZmKGUuZ2V0KCJPRkYiKSksb3JkZXI6cGFyc2VPcmRlcihlLmdldCgiT3JkZXIiKSksZ3JvdXBzOm51bGx9fXNldEFjdHVhbE51bVBhZ2VzKGU9bnVsbCl7dGhpcy5fYWN0dWFsTnVtUGFnZXM9ZX1nZXQgaGFzQWN0dWFsTnVtUGFnZXMoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdHVhbE51bVBhZ2VzfWdldCBfcGFnZXNDb3VudCgpe2NvbnN0IGU9dGhpcy50b3BsZXZlbFBhZ2VzRGljdC5nZXQoIkNvdW50Iik7aWYoIU51bWJlci5pc0ludGVnZXIoZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGluIHRvcC1sZXZlbCBwYWdlcyBkaWN0aW9uYXJ5IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO3JldHVybiBzaGFkb3codGhpcywiX3BhZ2VzQ291bnQiLGUpfWdldCBudW1QYWdlcygpe3JldHVybiB0aGlzLmhhc0FjdHVhbE51bVBhZ2VzP3RoaXMuX2FjdHVhbE51bVBhZ2VzOnRoaXMuX3BhZ2VzQ291bnR9Z2V0IGRlc3RpbmF0aW9ucygpe2NvbnN0IGU9dGhpcy5fcmVhZERlc3RzKCksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBOYW1lVHJlZSlmb3IoY29uc3RbaSxhXW9mIGUuZ2V0QWxsKCkpe2NvbnN0IGU9ZmV0Y2hEZXN0KGEpO2UmJih0W3N0cmluZ1RvUERGU3RyaW5nKGkpXT1lKX1lbHNlIGUgaW5zdGFuY2VvZiBEaWN0JiZlLmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7Y29uc3QgYT1mZXRjaERlc3QoaSk7YSYmKHRbZV09YSl9KSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXN0aW5hdGlvbnMiLHQpfWdldERlc3RpbmF0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcmVhZERlc3RzKCk7aWYodCBpbnN0YW5jZW9mIE5hbWVUcmVlKXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaTtjb25zdCBhPXRoaXMuZGVzdGluYXRpb25zW2VdO2lmKGEpe3dhcm4oYEZvdW5kICIke2V9IiBhdCBhbiBpbmNvcnJlY3QgcG9zaXRpb24gaW4gdGhlIE5hbWVUcmVlLmApO3JldHVybiBhfX1lbHNlIGlmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaX1yZXR1cm4gbnVsbH1fcmVhZERlc3RzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtyZXR1cm4gZT8uaGFzKCJEZXN0cyIpP25ldyBOYW1lVHJlZShlLmdldFJhdygiRGVzdHMiKSx0aGlzLnhyZWYpOnRoaXMuX2NhdERpY3QuaGFzKCJEZXN0cyIpP3RoaXMuX2NhdERpY3QuZ2V0KCJEZXN0cyIpOnZvaWQgMH1nZXQgcGFnZUxhYmVscygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBhZ2VMYWJlbHMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwYWdlIGxhYmVscy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYWJlbHMiLGUpfV9yZWFkUGFnZUxhYmVscygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VMYWJlbHMiKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBBcnJheSh0aGlzLm51bVBhZ2VzKTtsZXQgaT1udWxsLGE9IiI7Y29uc3Qgcz1uZXcgTnVtYmVyVHJlZShlLHRoaXMueHJlZikuZ2V0QWxsKCk7bGV0IHI9IiIsbj0xO2ZvcihsZXQgZT0wLGc9dGhpcy5udW1QYWdlcztlPGc7ZSsrKXtjb25zdCBnPXMuZ2V0KGUpO2lmKHZvaWQgMCE9PWcpe2lmKCEoZyBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZUxhYmVsIGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7aWYoZy5oYXMoIlR5cGUiKSYmIWlzTmFtZShnLmdldCgiVHlwZSIpLCJQYWdlTGFiZWwiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdHlwZSBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtpZihnLmhhcygiUyIpKXtjb25zdCBlPWcuZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHN0eWxlIGluIFBhZ2VMYWJlbCBkaWN0aW9uYXJ5LiIpO2k9ZS5uYW1lfWVsc2UgaT1udWxsO2lmKGcuaGFzKCJQIikpe2NvbnN0IGU9Zy5nZXQoIlAiKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHByZWZpeCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTthPXN0cmluZ1RvUERGU3RyaW5nKGUpfWVsc2UgYT0iIjtpZihnLmhhcygiU3QiKSl7Y29uc3QgZT1nLmdldCgiU3QiKTtpZighKE51bWJlci5pc0ludGVnZXIoZSkmJmU+PTEpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBzdGFydCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtuPWV9ZWxzZSBuPTF9c3dpdGNoKGkpe2Nhc2UiRCI6cj1uO2JyZWFrO2Nhc2UiUiI6Y2FzZSJyIjpyPXRvUm9tYW5OdW1lcmFscyhuLCJyIj09PWkpO2JyZWFrO2Nhc2UiQSI6Y2FzZSJhIjpjb25zdCBlPTI2LHQ9ImEiPT09aT85Nzo2NSxhPW4tMTtyPVN0cmluZy5mcm9tQ2hhckNvZGUodCthJWUpLnJlcGVhdChNYXRoLmZsb29yKGEvZSkrMSk7YnJlYWs7ZGVmYXVsdDppZihpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBzdHlsZSAiJHtpfSIgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuYCk7cj0iIn10W2VdPWErcjtuKyt9cmV0dXJuIHR9Z2V0IHBhZ2VMYXlvdXQoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTGF5b3V0Iik7bGV0IHQ9IiI7aWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJTaW5nbGVQYWdlIjpjYXNlIk9uZUNvbHVtbiI6Y2FzZSJUd29Db2x1bW5MZWZ0IjpjYXNlIlR3b0NvbHVtblJpZ2h0IjpjYXNlIlR3b1BhZ2VMZWZ0IjpjYXNlIlR3b1BhZ2VSaWdodCI6dD1lLm5hbWV9cmV0dXJuIHNoYWRvdyh0aGlzLCJwYWdlTGF5b3V0Iix0KX1nZXQgcGFnZU1vZGUoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTW9kZSIpO2xldCB0PSJVc2VOb25lIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIkZ1bGxTY3JlZW4iOmNhc2UiVXNlT0MiOmNhc2UiVXNlQXR0YWNobWVudHMiOnQ9ZS5uYW1lfXJldHVybiBzaGFkb3codGhpcywicGFnZU1vZGUiLHQpfWdldCB2aWV3ZXJQcmVmZXJlbmNlcygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIlZpZXdlclByZWZlcmVuY2VzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsbnVsbCk7bGV0IHQ9bnVsbDtmb3IoY29uc3QgaSBvZiBlLmdldEtleXMoKSl7Y29uc3QgYT1lLmdldChpKTtsZXQgcztzd2l0Y2goaSl7Y2FzZSJIaWRlVG9vbGJhciI6Y2FzZSJIaWRlTWVudWJhciI6Y2FzZSJIaWRlV2luZG93VUkiOmNhc2UiRml0V2luZG93IjpjYXNlIkNlbnRlcldpbmRvdyI6Y2FzZSJEaXNwbGF5RG9jVGl0bGUiOmNhc2UiUGlja1RyYXlCeVBERlNpemUiOiJib29sZWFuIj09dHlwZW9mIGEmJihzPWEpO2JyZWFrO2Nhc2UiTm9uRnVsbFNjcmVlblBhZ2VNb2RlIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIlVzZU9DIjpzPWEubmFtZTticmVhaztkZWZhdWx0OnM9IlVzZU5vbmUifWJyZWFrO2Nhc2UiRGlyZWN0aW9uIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIkwyUiI6Y2FzZSJSMkwiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iTDJSIn1icmVhaztjYXNlIlZpZXdBcmVhIjpjYXNlIlZpZXdDbGlwIjpjYXNlIlByaW50QXJlYSI6Y2FzZSJQcmludENsaXAiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiTWVkaWFCb3giOmNhc2UiQ3JvcEJveCI6Y2FzZSJCbGVlZEJveCI6Y2FzZSJUcmltQm94IjpjYXNlIkFydEJveCI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJDcm9wQm94In1icmVhaztjYXNlIlByaW50U2NhbGluZyI6aWYoYSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGEubmFtZSl7Y2FzZSJOb25lIjpjYXNlIkFwcERlZmF1bHQiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iQXBwRGVmYXVsdCJ9YnJlYWs7Y2FzZSJEdXBsZXgiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiU2ltcGxleCI6Y2FzZSJEdXBsZXhGbGlwU2hvcnRFZGdlIjpjYXNlIkR1cGxleEZsaXBMb25nRWRnZSI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJOb25lIn1icmVhaztjYXNlIlByaW50UGFnZVJhbmdlIjppZihBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aCUyPT0wKXthLmV2ZXJ5KCgoZSx0LGkpPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjAmJigwPT09dHx8ZT49aVt0LTFdKSYmZTw9dGhpcy5udW1QYWdlcykpJiYocz1hKX1icmVhaztjYXNlIk51bUNvcGllcyI6TnVtYmVyLmlzSW50ZWdlcihhKSYmYT4wJiYocz1hKTticmVhaztkZWZhdWx0Ondhcm4oYElnbm9yaW5nIG5vbi1zdGFuZGFyZCBrZXkgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7aX0uYCk7Y29udGludWV9aWYodm9pZCAwIT09cyl7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtpXT1zfWVsc2Ugd2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsdCl9Z2V0IG9wZW5BY3Rpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJPcGVuQWN0aW9uIiksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPW5ldyBEaWN0KHRoaXMueHJlZik7aS5zZXQoIkEiLGUpO2NvbnN0IGE9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDppLHJlc3VsdE9iajphfSk7QXJyYXkuaXNBcnJheShhLmRlc3QpP3QuZGVzdD1hLmRlc3Q6YS5hY3Rpb24mJih0LmFjdGlvbj1hLmFjdGlvbil9ZWxzZSBBcnJheS5pc0FycmF5KGUpJiYodC5kZXN0PWUpO3JldHVybiBzaGFkb3codGhpcywib3BlbkFjdGlvbiIsb2JqZWN0U2l6ZSh0KT4wP3Q6bnVsbCl9Z2V0IGF0dGFjaG1lbnRzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiRW1iZWRkZWRGaWxlcyIpKXtjb25zdCBpPW5ldyBOYW1lVHJlZShlLmdldFJhdygiRW1iZWRkZWRGaWxlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXtjb25zdCBpPW5ldyBGaWxlU3BlYyhhLHRoaXMueHJlZik7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtzdHJpbmdUb1BERlN0cmluZyhlKV09aS5zZXJpYWxpemFibGV9fXJldHVybiBzaGFkb3codGhpcywiYXR0YWNobWVudHMiLHQpfWdldCB4ZmFJbWFnZXMoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOYW1lcyIpO2xldCB0PW51bGw7aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUuaGFzKCJYRkFJbWFnZXMiKSl7Y29uc3QgaT1uZXcgTmFtZVRyZWUoZS5nZXRSYXcoIlhGQUltYWdlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXt0fHwodD1uZXcgRGljdCh0aGlzLnhyZWYpKTt0LnNldChzdHJpbmdUb1BERlN0cmluZyhlKSxhKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFJbWFnZXMiLHQpfV9jb2xsZWN0SmF2YVNjcmlwdCgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5hbWVzIik7bGV0IHQ9bnVsbDtmdW5jdGlvbiBhcHBlbmRJZkphdmFTY3JpcHREaWN0KGUsaSl7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2lmKCFpc05hbWUoaS5nZXQoIlMiKSwiSmF2YVNjcmlwdCIpKXJldHVybjtsZXQgYT1pLmdldCgiSlMiKTtpZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSlhPWEuZ2V0U3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuO2E9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiYodHx8PW5ldyBNYXApLnNldChlLGEpfWlmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiSmF2YVNjcmlwdCIpKXtjb25zdCB0PW5ldyBOYW1lVHJlZShlLmdldFJhdygiSmF2YVNjcmlwdCIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsaV1vZiB0LmdldEFsbCgpKWFwcGVuZElmSmF2YVNjcmlwdERpY3Qoc3RyaW5nVG9QREZTdHJpbmcoZSksaSl9Y29uc3QgaT10aGlzLl9jYXREaWN0LmdldCgiT3BlbkFjdGlvbiIpO2kmJmFwcGVuZElmSmF2YVNjcmlwdERpY3QoIk9wZW5BY3Rpb24iLGkpO3JldHVybiB0fWdldCBqc0FjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2NvbGxlY3RKYXZhU2NyaXB0KCk7bGV0IHQ9Y29sbGVjdEFjdGlvbnModGhpcy54cmVmLHRoaXMuX2NhdERpY3QsZkEpO2lmKGUpe3R8fD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgZSlpIGluIHQ/dFtpXS5wdXNoKGEpOnRbaV09W2FdfXJldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIix0KX1hc3luYyBmb250RmFsbGJhY2soZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKHRoaXMuZm9udENhY2hlKTtmb3IoY29uc3QgYSBvZiBpKWlmKGEubG9hZGVkTmFtZT09PWUpe2EuZmFsbGJhY2sodCk7cmV0dXJufX1hc3luYyBjbGVhbnVwKGU9ITEpe2NsZWFyR2xvYmFsQ2FjaGVzKCk7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLmNsZWFyKGUpO3RoaXMucGFnZUtpZHNDb3VudENhY2hlLmNsZWFyKCk7dGhpcy5wYWdlSW5kZXhDYWNoZS5jbGVhcigpO3RoaXMucGFnZURpY3RDYWNoZS5jbGVhcigpO3RoaXMubm9uQmxlbmRNb2Rlc1NldC5jbGVhcigpO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5mb250Q2FjaGUpO2Zvcihjb25zdHtkaWN0OmV9b2YgdClkZWxldGUgZS5jYWNoZUtleTt0aGlzLmZvbnRDYWNoZS5jbGVhcigpO3RoaXMuYnVpbHRJbkNNYXBDYWNoZS5jbGVhcigpO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmNsZWFyKCk7dGhpcy5zeXN0ZW1Gb250Q2FjaGUuY2xlYXIoKX1hc3luYyBnZXRQYWdlRGljdChlKXtjb25zdCB0PVt0aGlzLnRvcGxldmVsUGFnZXNEaWN0XSxpPW5ldyBSZWZTZXQsYT10aGlzLl9jYXREaWN0LmdldFJhdygiUGFnZXMiKTthIGluc3RhbmNlb2YgUmVmJiZpLnB1dChhKTtjb25zdCBzPXRoaXMueHJlZixyPXRoaXMucGFnZUtpZHNDb3VudENhY2hlLG49dGhpcy5wYWdlSW5kZXhDYWNoZSxnPXRoaXMucGFnZURpY3RDYWNoZTtsZXQgbz0wO2Zvcig7dC5sZW5ndGg7KXtjb25zdCBhPXQucG9wKCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7Y29uc3QgYz1yLmdldChhKTtpZihjPj0wJiZvK2M8PWUpe28rPWM7Y29udGludWV9aWYoaS5oYXMoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlcyB0cmVlIGNvbnRhaW5zIGNpcmN1bGFyIHJlZmVyZW5jZS4iKTtpLnB1dChhKTtjb25zdCBDPWF3YWl0KGcuZ2V0KGEpfHxzLmZldGNoQXN5bmMoYSkpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtsZXQgdD1DLmdldFJhdygiVHlwZSIpO3QgaW5zdGFuY2VvZiBSZWYmJih0PWF3YWl0IHMuZmV0Y2hBc3luYyh0KSk7aWYoaXNOYW1lKHQsIlBhZ2UiKXx8IUMuaGFzKCJLaWRzIikpe3IuaGFzKGEpfHxyLnB1dChhLDEpO24uaGFzKGEpfHxuLnB1dChhLG8pO2lmKG89PT1lKXJldHVybltDLGFdO28rKztjb250aW51ZX19dC5wdXNoKEMpO2NvbnRpbnVlfWlmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0LiIpO2NvbnN0e29iaklkOmN9PWE7bGV0IEM9YS5nZXRSYXcoIkNvdW50Iik7QyBpbnN0YW5jZW9mIFJlZiYmKEM9YXdhaXQgcy5mZXRjaEFzeW5jKEMpKTtpZihOdW1iZXIuaXNJbnRlZ2VyKEMpJiZDPj0wKXtjJiYhci5oYXMoYykmJnIucHV0KGMsQyk7aWYobytDPD1lKXtvKz1DO2NvbnRpbnVlfX1sZXQgaD1hLmdldFJhdygiS2lkcyIpO2ggaW5zdGFuY2VvZiBSZWYmJihoPWF3YWl0IHMuZmV0Y2hBc3luYyhoKSk7aWYoIUFycmF5LmlzQXJyYXkoaCkpe2xldCB0PWEuZ2V0UmF3KCJUeXBlIik7dCBpbnN0YW5jZW9mIFJlZiYmKHQ9YXdhaXQgcy5mZXRjaEFzeW5jKHQpKTtpZihpc05hbWUodCwiUGFnZSIpfHwhYS5oYXMoIktpZHMiKSl7aWYobz09PWUpcmV0dXJuW2EsbnVsbF07bysrO2NvbnRpbnVlfXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZHMgb2JqZWN0IGlzIG5vdCBhbiBhcnJheS4iKX1mb3IobGV0IGU9aC5sZW5ndGgtMTtlPj0wO2UtLSl7Y29uc3QgaT1oW2VdO3QucHVzaChpKTthPT09dGhpcy50b3BsZXZlbFBhZ2VzRGljdCYmaSBpbnN0YW5jZW9mIFJlZiYmIWcuaGFzKGkpJiZnLnB1dChpLHMuZmV0Y2hBc3luYyhpKSl9fXRocm93IG5ldyBFcnJvcihgUGFnZSBpbmRleCAke2V9IG5vdCBmb3VuZC5gKX1hc3luYyBnZXRBbGxQYWdlRGljdHMoZT0hMSl7Y29uc3R7aWdub3JlRXJyb3JzOnR9PXRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zLGk9W3tjdXJyZW50Tm9kZTp0aGlzLnRvcGxldmVsUGFnZXNEaWN0LHBvc0luS2lkczowfV0sYT1uZXcgUmVmU2V0LHM9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VzIik7cyBpbnN0YW5jZW9mIFJlZiYmYS5wdXQocyk7Y29uc3Qgcj1uZXcgTWFwLG49dGhpcy54cmVmLGc9dGhpcy5wYWdlSW5kZXhDYWNoZTtsZXQgbz0wO2Z1bmN0aW9uIGFkZFBhZ2VEaWN0KGUsdCl7dCYmIWcuaGFzKHQpJiZnLnB1dCh0LG8pO3Iuc2V0KG8rKyxbZSx0XSl9ZnVuY3Rpb24gYWRkUGFnZUVycm9yKGkpe2lmKGkgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IGk7aWYoZSYmdCYmMD09PW8pe3dhcm4oYGdldEFsbFBhZ2VEaWN0cyAtIFNraXBwaW5nIGludmFsaWQgZmlyc3QgcGFnZTogIiR7aX0iLmApO2k9RGljdC5lbXB0eX1yLnNldChvKyssW2ksbnVsbF0pfWZvcig7aS5sZW5ndGg+MDspe2NvbnN0IGU9aS5hdCgtMSkse2N1cnJlbnROb2RlOnQscG9zSW5LaWRzOnN9PWU7bGV0IHI9dC5nZXRSYXcoIktpZHMiKTtpZihyIGluc3RhbmNlb2YgUmVmKXRyeXtyPWF3YWl0IG4uZmV0Y2hBc3luYyhyKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9aWYoIUFycmF5LmlzQXJyYXkocikpe2FkZFBhZ2VFcnJvcihuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXkuIikpO2JyZWFrfWlmKHM+PXIubGVuZ3RoKXtpLnBvcCgpO2NvbnRpbnVlfWNvbnN0IGc9cltzXTtsZXQgbztpZihnIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhnKSl7YWRkUGFnZUVycm9yKG5ldyBGb3JtYXRFcnJvcigiUGFnZXMgdHJlZSBjb250YWlucyBjaXJjdWxhciByZWZlcmVuY2UuIikpO2JyZWFrfWEucHV0KGcpO3RyeXtvPWF3YWl0IG4uZmV0Y2hBc3luYyhnKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9fWVsc2Ugbz1nO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXthZGRQYWdlRXJyb3IobmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIikpO2JyZWFrfWxldCBjPW8uZ2V0UmF3KCJUeXBlIik7aWYoYyBpbnN0YW5jZW9mIFJlZil0cnl7Yz1hd2FpdCBuLmZldGNoQXN5bmMoYyl9Y2F0Y2goZSl7YWRkUGFnZUVycm9yKGUpO2JyZWFrfWlzTmFtZShjLCJQYWdlIil8fCFvLmhhcygiS2lkcyIpP2FkZFBhZ2VEaWN0KG8sZyBpbnN0YW5jZW9mIFJlZj9nOm51bGwpOmkucHVzaCh7Y3VycmVudE5vZGU6byxwb3NJbktpZHM6MH0pO2UucG9zSW5LaWRzKyt9cmV0dXJuIHJ9Z2V0UGFnZUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXhDYWNoZS5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO2NvbnN0IGk9dGhpcy54cmVmO2xldCBhPTA7Y29uc3QgbmV4dD10PT5mdW5jdGlvbiBwYWdlc0JlZm9yZVJlZih0KXtsZXQgYSxzPTA7cmV0dXJuIGkuZmV0Y2hBc3luYyh0KS50aGVuKChmdW5jdGlvbihpKXtpZihpc1JlZnNFcXVhbCh0LGUpJiYhaXNEaWN0KGksIlBhZ2UiKSYmIShpIGluc3RhbmNlb2YgRGljdCYmIWkuaGFzKCJUeXBlIikmJmkuaGFzKCJDb250ZW50cyIpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSByZWZlcmVuY2UgZG9lcyBub3QgcG9pbnQgdG8gYSAvUGFnZSBkaWN0aW9uYXJ5LiIpO2lmKCFpKXJldHVybiBudWxsO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTthPWkuZ2V0UmF3KCJQYXJlbnQiKTtyZXR1cm4gaS5nZXRBc3luYygiUGFyZW50Iil9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYXJlbnQgbXVzdCBiZSBhIGRpY3Rpb25hcnkuIik7cmV0dXJuIGUuZ2V0QXN5bmMoIktpZHMiKX0pKS50aGVuKChmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCByPVtdO2xldCBuPSExO2Zvcihjb25zdCBhIG9mIGUpe2lmKCEoYSBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbXVzdCBiZSBhIHJlZmVyZW5jZS4iKTtpZihpc1JlZnNFcXVhbChhLHQpKXtuPSEwO2JyZWFrfXIucHVzaChpLmZldGNoQXN5bmMoYSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtlLmhhcygiQ291bnQiKT9zKz1lLmdldCgiQ291bnQiKTpzKyt9KSkpfWlmKCFuKXRocm93IG5ldyBGb3JtYXRFcnJvcigiS2lkIHJlZmVyZW5jZSBub3QgZm91bmQgaW4gcGFyZW50J3Mga2lkcy4iKTtyZXR1cm4gUHJvbWlzZS5hbGwocikudGhlbigoZnVuY3Rpb24oKXtyZXR1cm5bcyxhXX0pKX0pKX0odCkudGhlbigodD0+e2lmKCF0KXt0aGlzLnBhZ2VJbmRleENhY2hlLnB1dChlLGEpO3JldHVybiBhfWNvbnN0W2ksc109dDthKz1pO3JldHVybiBuZXh0KHMpfSkpO3JldHVybiBuZXh0KGUpfWdldCBiYXNlVXJsKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVVJJIik7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9ZS5nZXQoIkJhc2UiKTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IGU9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybCh0LG51bGwse3RyeUNvbnZlcnRFbmNvZGluZzohMH0pO2lmKGUpcmV0dXJuIHNoYWRvdyh0aGlzLCJiYXNlVXJsIixlLmhyZWYpfX1yZXR1cm4gc2hhZG93KHRoaXMsImJhc2VVcmwiLHRoaXMucGRmTWFuYWdlci5kb2NCYXNlVXJsKX1zdGF0aWMgcGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6ZSxyZXN1bHRPYmo6dCxkb2NCYXNlVXJsOmk9bnVsbCxkb2NBdHRhY2htZW50czphPW51bGx9KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigicGFyc2VEZXN0RGljdGlvbmFyeTogYGRlc3REaWN0YCBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtyZXR1cm59bGV0IHMscixuPWUuZ2V0KCJBIik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpaWYoZS5oYXMoIkRlc3QiKSluPWUuZ2V0KCJEZXN0Iik7ZWxzZXtuPWUuZ2V0KCJBQSIpO24gaW5zdGFuY2VvZiBEaWN0JiYobi5oYXMoIkQiKT9uPW4uZ2V0KCJEIik6bi5oYXMoIlUiKSYmKG49bi5nZXQoIlUiKSkpfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW4uZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpe3dhcm4oInBhcnNlRGVzdERpY3Rpb25hcnk6IEludmFsaWQgdHlwZSBpbiBBY3Rpb24gZGljdGlvbmFyeS4iKTtyZXR1cm59Y29uc3QgaT1lLm5hbWU7c3dpdGNoKGkpe2Nhc2UiUmVzZXRGb3JtIjpjb25zdCBlPW4uZ2V0KCJGbGFncyIpLGc9MD09KDEmKCJudW1iZXIiPT10eXBlb2YgZT9lOjApKSxvPVtdLGM9W107Zm9yKGNvbnN0IGUgb2Ygbi5nZXQoIkZpZWxkcyIpfHxbXSllIGluc3RhbmNlb2YgUmVmP2MucHVzaChlLnRvU3RyaW5nKCkpOiJzdHJpbmciPT10eXBlb2YgZSYmby5wdXNoKHN0cmluZ1RvUERGU3RyaW5nKGUpKTt0LnJlc2V0Rm9ybT17ZmllbGRzOm8scmVmczpjLGluY2x1ZGU6Z307YnJlYWs7Y2FzZSJVUkkiOnM9bi5nZXQoIlVSSSIpO3MgaW5zdGFuY2VvZiBOYW1lJiYocz0iLyIrcy5uYW1lKTticmVhaztjYXNlIkdvVG8iOnI9bi5nZXQoIkQiKTticmVhaztjYXNlIkxhdW5jaCI6Y2FzZSJHb1RvUiI6Y29uc3QgQz1uLmdldCgiRiIpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW5ldyBGaWxlU3BlYyhDLG51bGwsITApLHtyYXdGaWxlbmFtZTp0fT1lLnNlcmlhbGl6YWJsZTtzPXR9ZWxzZSJzdHJpbmciPT10eXBlb2YgQyYmKHM9Qyk7Y29uc3QgaD1mZXRjaFJlbW90ZURlc3Qobik7aCYmInN0cmluZyI9PXR5cGVvZiBzJiYocz1zLnNwbGl0KCIjIiwxKVswXSsiIyIraCk7Y29uc3QgbD1uLmdldCgiTmV3V2luZG93Iik7ImJvb2xlYW4iPT10eXBlb2YgbCYmKHQubmV3V2luZG93PWwpO2JyZWFrO2Nhc2UiR29Ub0UiOmNvbnN0IFE9bi5nZXQoIlQiKTtsZXQgRTtpZihhJiZRIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1RLmdldCgiUiIpLHQ9US5nZXQoIk4iKTtpc05hbWUoZSwiQyIpJiYic3RyaW5nIj09dHlwZW9mIHQmJihFPWFbc3RyaW5nVG9QREZTdHJpbmcodCldKX1pZihFKXt0LmF0dGFjaG1lbnQ9RTtjb25zdCBlPWZldGNoUmVtb3RlRGVzdChuKTtlJiYodC5hdHRhY2htZW50RGVzdD1lKX1lbHNlIHdhcm4oJ3BhcnNlRGVzdERpY3Rpb25hcnkgLSB1bmltcGxlbWVudGVkICJHb1RvRSIgYWN0aW9uLicpO2JyZWFrO2Nhc2UiTmFtZWQiOmNvbnN0IHU9bi5nZXQoIk4iKTt1IGluc3RhbmNlb2YgTmFtZSYmKHQuYWN0aW9uPXUubmFtZSk7YnJlYWs7Y2FzZSJTZXRPQ0dTdGF0ZSI6Y29uc3QgZD1uLmdldCgiU3RhdGUiKSxmPW4uZ2V0KCJQcmVzZXJ2ZVJCIik7aWYoIUFycmF5LmlzQXJyYXkoZCl8fDA9PT1kLmxlbmd0aClicmVhaztjb25zdCBwPVtdO2Zvcihjb25zdCBlIG9mIGQpaWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJPTiI6Y2FzZSJPRkYiOmNhc2UiVG9nZ2xlIjpwLnB1c2goZS5uYW1lKX1lbHNlIGUgaW5zdGFuY2VvZiBSZWYmJnAucHVzaChlLnRvU3RyaW5nKCkpO2lmKHAubGVuZ3RoIT09ZC5sZW5ndGgpYnJlYWs7dC5zZXRPQ0dTdGF0ZT17c3RhdGU6cCxwcmVzZXJ2ZVJCOiJib29sZWFuIiE9dHlwZW9mIGZ8fGZ9O2JyZWFrO2Nhc2UiSmF2YVNjcmlwdCI6Y29uc3QgbT1uLmdldCgiSlMiKTtsZXQgeTttIGluc3RhbmNlb2YgQmFzZVN0cmVhbT95PW0uZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiBtJiYoeT1tKTtjb25zdCB3PXkmJnJlY292ZXJKc1VSTChzdHJpbmdUb1BERlN0cmluZyh5KSk7aWYodyl7cz13LnVybDt0Lm5ld1dpbmRvdz13Lm5ld1dpbmRvdzticmVha31kZWZhdWx0OmlmKCJKYXZhU2NyaXB0Ij09PWl8fCJTdWJtaXRGb3JtIj09PWkpYnJlYWs7d2FybihgcGFyc2VEZXN0RGljdGlvbmFyeSAtIHVuc3VwcG9ydGVkIGFjdGlvbjogIiR7aX0iLmApfX1lbHNlIGUuaGFzKCJEZXN0IikmJihyPWUuZ2V0KCJEZXN0IikpO2lmKCJzdHJpbmciPT10eXBlb2Ygcyl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKHMsaSx7YWRkRGVmYXVsdFByb3RvY29sOiEwLHRyeUNvbnZlcnRFbmNvZGluZzohMH0pO2UmJih0LnVybD1lLmhyZWYpO3QudW5zYWZlVXJsPXN9aWYocil7ciBpbnN0YW5jZW9mIE5hbWUmJihyPXIubmFtZSk7InN0cmluZyI9PXR5cGVvZiByP3QuZGVzdD1zdHJpbmdUb1BERlN0cmluZyhyKTppc1ZhbGlkRXhwbGljaXREZXN0KHIpJiYodC5kZXN0PXIpfX19ZnVuY3Rpb24gYWRkQ2hpbGRyZW4oZSx0KXtpZihlIGluc3RhbmNlb2YgRGljdCllPWUuZ2V0UmF3VmFsdWVzKCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSllPWUuZGljdC5nZXRSYXdWYWx1ZXMoKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybjtmb3IoY29uc3QgYSBvZiBlKSgoaT1hKWluc3RhbmNlb2YgUmVmfHxpIGluc3RhbmNlb2YgRGljdHx8aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW18fEFycmF5LmlzQXJyYXkoaSkpJiZ0LnB1c2goYSk7dmFyIGl9Y2xhc3MgT2JqZWN0TG9hZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRpY3Q9ZTt0aGlzLmtleXM9dDt0aGlzLnhyZWY9aTt0aGlzLnJlZlNldD1udWxsfWFzeW5jIGxvYWQoKXtpZih0aGlzLnhyZWYuc3RyZWFtLmlzRGF0YUxvYWRlZClyZXR1cm47Y29uc3R7a2V5czplLGRpY3Q6dH09dGhpczt0aGlzLnJlZlNldD1uZXcgUmVmU2V0O2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZSl7Y29uc3QgZT10LmdldFJhdyhhKTt2b2lkIDAhPT1lJiZpLnB1c2goZSl9cmV0dXJuIHRoaXMuX3dhbGsoaSl9YXN5bmMgX3dhbGsoZSl7Y29uc3QgdD1bXSxpPVtdO2Zvcig7ZS5sZW5ndGg7KXtsZXQgYT1lLnBvcCgpO2lmKGEgaW5zdGFuY2VvZiBSZWYpe2lmKHRoaXMucmVmU2V0LmhhcyhhKSljb250aW51ZTt0cnl7dGhpcy5yZWZTZXQucHV0KGEpO2E9dGhpcy54cmVmLmZldGNoKGEpfWNhdGNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl7d2FybihgT2JqZWN0TG9hZGVyLl93YWxrIC0gcmVxdWVzdGluZyBhbGwgZGF0YTogIiR7ZX0iLmApO3RoaXMucmVmU2V0PW51bGw7Y29uc3R7bWFuYWdlcjp0fT10aGlzLnhyZWYuc3RyZWFtO3JldHVybiB0LnJlcXVlc3RBbGxDaHVua3MoKX10LnB1c2goYSk7aS5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pfX1pZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1hLmdldEJhc2VTdHJlYW1zKCk7aWYoZSl7bGV0IHM9ITE7Zm9yKGNvbnN0IHQgb2YgZSlpZighdC5pc0RhdGFMb2FkZWQpe3M9ITA7aS5wdXNoKHtiZWdpbjp0LnN0YXJ0LGVuZDp0LmVuZH0pfXMmJnQucHVzaChhKX19YWRkQ2hpbGRyZW4oYSxlKX1pZihpLmxlbmd0aCl7YXdhaXQgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMoaSk7Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnJlZlNldC5yZW1vdmUoZSk7cmV0dXJuIHRoaXMuX3dhbGsodCl9dGhpcy5yZWZTZXQ9bnVsbH19Y29uc3QgVnM9U3ltYm9sKCksenM9U3ltYm9sKCksX3M9U3ltYm9sKCksJHM9U3ltYm9sKCksQXI9U3ltYm9sKCksZXI9U3ltYm9sKCksdHI9U3ltYm9sKCksaXI9U3ltYm9sKCksYXI9U3ltYm9sKCksc3I9U3ltYm9sKCJjb250ZW50IikscnI9U3ltYm9sKCJkYXRhIiksbnI9U3ltYm9sKCksZ3I9U3ltYm9sKCJleHRyYSIpLG9yPVN5bWJvbCgpLElyPVN5bWJvbCgpLGNyPVN5bWJvbCgpLENyPVN5bWJvbCgpLGhyPVN5bWJvbCgpLGxyPVN5bWJvbCgpLFFyPVN5bWJvbCgpLEVyPVN5bWJvbCgpLHVyPVN5bWJvbCgpLGRyPVN5bWJvbCgpLGZyPVN5bWJvbCgpLHByPVN5bWJvbCgpLG1yPVN5bWJvbCgpLHlyPVN5bWJvbCgpLHdyPVN5bWJvbCgpLERyPVN5bWJvbCgpLGJyPVN5bWJvbCgpLEZyPVN5bWJvbCgpLFNyPVN5bWJvbCgpLGtyPVN5bWJvbCgpLFJyPVN5bWJvbCgpLE5yPVN5bWJvbCgpLEdyPVN5bWJvbCgpLHhyPVN5bWJvbCgpLFVyPVN5bWJvbCgpLE1yPVN5bWJvbCgpLExyPVN5bWJvbCgpLEhyPVN5bWJvbCgpLEpyPVN5bWJvbCgpLFlyPVN5bWJvbCgpLHZyPVN5bWJvbCgpLEtyPVN5bWJvbCgpLFRyPVN5bWJvbCgibmFtZXNwYWNlSWQiKSxxcj1TeW1ib2woIm5vZGVOYW1lIiksT3I9U3ltYm9sKCksUHI9U3ltYm9sKCksV3I9U3ltYm9sKCksanI9U3ltYm9sKCksWHI9U3ltYm9sKCksWnI9U3ltYm9sKCksVnI9U3ltYm9sKCksenI9U3ltYm9sKCksX3I9U3ltYm9sKCJyb290IiksJHI9U3ltYm9sKCksQW49U3ltYm9sKCksZW49U3ltYm9sKCksdG49U3ltYm9sKCksYW49U3ltYm9sKCksc249U3ltYm9sKCkscm49U3ltYm9sKCksbm49U3ltYm9sKCksZ249U3ltYm9sKCksb249U3ltYm9sKCksSW49U3ltYm9sKCksY249U3ltYm9sKCJ1aWQiKSxDbj1TeW1ib2woKSxobj17Y29uZmlnOntpZDowLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94Y2kvIil9LGNvbm5lY3Rpb25TZXQ6e2lkOjEsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1jb25uZWN0aW9uLXNldC8iKX0sZGF0YXNldHM6e2lkOjIsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1kYXRhLyIpfSxmb3JtOntpZDozLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZm9ybS8iKX0sbG9jYWxlU2V0OntpZDo0LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtbG9jYWxlLXNldC8iKX0scGRmOntpZDo1LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC9wZGYvIj09PWV9LHNpZ25hdHVyZTp7aWQ6NixjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI9PT1lfSxzb3VyY2VTZXQ6e2lkOjcsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1zb3VyY2Utc2V0LyIpfSxzdHlsZXNoZWV0OntpZDo4LGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPT09ZX0sdGVtcGxhdGU6e2lkOjksY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS10ZW1wbGF0ZS8iKX0seGRjOntpZDoxMCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGRjLyIpfSx4ZHA6e2lkOjExLGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC8iPT09ZX0seGZkZjp7aWQ6MTIsY2hlY2s6ZT0+Imh0dHA6Ly9ucy5hZG9iZS5jb20veGZkZi8iPT09ZX0seGh0bWw6e2lkOjEzLGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWV9LHhtcG1ldGE6e2lkOjE0LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3htcG1ldGEvIj09PWV9fSxCbj17cHQ6ZT0+ZSxjbTplPT5lLzIuNTQqNzIsbW06ZT0+ZS8yNS40KjcyLGluOmU9PjcyKmUscHg6ZT0+ZX0sbG49LyhbKy1dP1xkK1wuP1xkKikoLiopLztmdW5jdGlvbiBzdHJpcFF1b3RlcyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCInIil8fGUuc3RhcnRzV2l0aCgnIicpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnZXRJbnRlZ2VyKHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4oYSkmJmkoYSk/YTp0fWZ1bmN0aW9uIGdldEZsb2F0KHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUZsb2F0KGUpO3JldHVybiFpc05hTihhKSYmaShhKT9hOnR9ZnVuY3Rpb24gZ2V0S2V5d29yZCh7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOml9KXtyZXR1cm4gZSYmaShlPWUudHJpbSgpKT9lOnR9ZnVuY3Rpb24gZ2V0U3RyaW5nT3B0aW9uKGUsdCl7cmV0dXJuIGdldEtleXdvcmQoe2RhdGE6ZSxkZWZhdWx0VmFsdWU6dFswXSx2YWxpZGF0ZTplPT50LmluY2x1ZGVzKGUpfSl9ZnVuY3Rpb24gZ2V0TWVhc3VyZW1lbnQoZSx0PSIwIil7dHx8PSIwIjtpZighZSlyZXR1cm4gZ2V0TWVhc3VyZW1lbnQodCk7Y29uc3QgaT1lLnRyaW0oKS5tYXRjaChsbik7aWYoIWkpcmV0dXJuIGdldE1lYXN1cmVtZW50KHQpO2NvbnN0WyxhLHNdPWkscj1wYXJzZUZsb2F0KGEpO2lmKGlzTmFOKHIpKXJldHVybiBnZXRNZWFzdXJlbWVudCh0KTtpZigwPT09cilyZXR1cm4gMDtjb25zdCBuPUJuW3NdO3JldHVybiBuP24ocik6cn1mdW5jdGlvbiBnZXRSYXRpbyhlKXtpZighZSlyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0IHQ9ZS50cmltKCkuc3BsaXQoL1xzKjpccyovKS5tYXAoKGU9PnBhcnNlRmxvYXQoZSkpKS5maWx0ZXIoKGU9PiFpc05hTihlKSkpOzE9PT10Lmxlbmd0aCYmdC5wdXNoKDEpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0W2ksYV09dDtyZXR1cm57bnVtOmksZGVuOmF9fWZ1bmN0aW9uIGdldFJlbGV2YW50KGUpe3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9Pih7ZXhjbHVkZWQ6Ii0iPT09ZVswXSx2aWV3bmFtZTplLnN1YnN0cmluZygxKX0pKSk6W119Y2xhc3MgSFRNTFJlc3VsdHtzdGF0aWMgZ2V0IEZBSUxVUkUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkZBSUxVUkUiLG5ldyBIVE1MUmVzdWx0KCExLG51bGwsbnVsbCxudWxsKSl9c3RhdGljIGdldCBFTVBUWSgpe3JldHVybiBzaGFkb3codGhpcywiRU1QVFkiLG5ldyBIVE1MUmVzdWx0KCEwLG51bGwsbnVsbCxudWxsKSl9Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5zdWNjZXNzPWU7dGhpcy5odG1sPXQ7dGhpcy5iYm94PWk7dGhpcy5icmVha05vZGU9YX1pc0JyZWFrKCl7cmV0dXJuISF0aGlzLmJyZWFrTm9kZX1zdGF0aWMgYnJlYWtOb2RlKGUpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMSxudWxsLG51bGwsZSl9c3RhdGljIHN1Y2Nlc3MoZSx0PW51bGwpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMCxlLHQsbnVsbCl9fWNsYXNzIEZvbnRGaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250cz1uZXcgTWFwO3RoaXMuY2FjaGU9bmV3IE1hcDt0aGlzLndhcm5lZD1uZXcgU2V0O3RoaXMuZGVmYXVsdEZvbnQ9bnVsbDt0aGlzLmFkZChlKX1hZGQoZSx0PW51bGwpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGRQZGZGb250KHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuZm9udHMudmFsdWVzKCkpZS5yZWd1bGFyfHwoZS5yZWd1bGFyPWUuaXRhbGljfHxlLmJvbGR8fGUuYm9sZGl0YWxpYyk7aWYoIXR8fDA9PT10LnNpemUpcmV0dXJuO2NvbnN0IGk9dGhpcy5mb250cy5nZXQoIlBkZkpTLUZhbGxiYWNrLVBkZkpTLVhGQSIpO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5mb250cy5zZXQoZSxpKX1hZGRQZGZGb250KGUpe2NvbnN0IHQ9ZS5jc3NGb250SW5mbyxpPXQuZm9udEZhbWlseTtsZXQgYT10aGlzLmZvbnRzLmdldChpKTtpZighYSl7YT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuZm9udHMuc2V0KGksYSk7dGhpcy5kZWZhdWx0Rm9udHx8KHRoaXMuZGVmYXVsdEZvbnQ9YSl9bGV0IHM9IiI7Y29uc3Qgcj1wYXJzZUZsb2F0KHQuZm9udFdlaWdodCk7MCE9PXBhcnNlRmxvYXQodC5pdGFsaWNBbmdsZSk/cz1yPj03MDA/ImJvbGRpdGFsaWMiOiJpdGFsaWMiOnI+PTcwMCYmKHM9ImJvbGQiKTtpZighcyl7KGUubmFtZS5pbmNsdWRlcygiQm9sZCIpfHxlLnBzTmFtZT8uaW5jbHVkZXMoIkJvbGQiKSkmJihzPSJib2xkIik7KGUubmFtZS5pbmNsdWRlcygiSXRhbGljIil8fGUubmFtZS5lbmRzV2l0aCgiSXQiKXx8ZS5wc05hbWU/LmluY2x1ZGVzKCJJdGFsaWMiKXx8ZS5wc05hbWU/LmVuZHNXaXRoKCJJdCIpKSYmKHMrPSJpdGFsaWMiKX1zfHwocz0icmVndWxhciIpO2Fbc109ZX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuZGVmYXVsdEZvbnR9ZmluZChlLHQ9ITApe2xldCBpPXRoaXMuZm9udHMuZ2V0KGUpfHx0aGlzLmNhY2hlLmdldChlKTtpZihpKXJldHVybiBpO2NvbnN0IGE9Lyx8LXxffCB8Ym9sZGl0YWxpY3xib2xkfGl0YWxpY3xyZWd1bGFyfGl0L2dpO2xldCBzPWUucmVwbGFjZUFsbChhLCIiKTtpPXRoaXMuZm9udHMuZ2V0KHMpO2lmKGkpe3RoaXMuY2FjaGUuc2V0KGUsaSk7cmV0dXJuIGl9cz1zLnRvTG93ZXJDYXNlKCk7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZSx0XW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVwbGFjZUFsbChhLCIiKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocykmJnIucHVzaCh0KTtpZigwPT09ci5sZW5ndGgpZm9yKGNvbnN0WyxlXW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKDA9PT1yLmxlbmd0aCl7cz1zLnJlcGxhY2VBbGwoL3BzbXR8bXQvZ2ksIiIpO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5mb250cy5lbnRyaWVzKCkpZS5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKHQpfWlmKDA9PT1yLmxlbmd0aClmb3IoY29uc3QgZSBvZiB0aGlzLmZvbnRzLnZhbHVlcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKHIubGVuZ3RoPj0xKXsxIT09ci5sZW5ndGgmJnQmJndhcm4oYFhGQSAtIFRvbyBtYW55IGNob2ljZXMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZm9udDogJHtlfWApO3RoaXMuY2FjaGUuc2V0KGUsclswXSk7cmV0dXJuIHJbMF19aWYodCYmIXRoaXMud2FybmVkLmhhcyhlKSl7dGhpcy53YXJuZWQuYWRkKGUpO3dhcm4oYFhGQSAtIENhbm5vdCBmaW5kIHRoZSBmb250OiAke2V9YCl9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHNlbGVjdEZvbnQoZSx0KXtyZXR1cm4iaXRhbGljIj09PWUucG9zdHVyZT8iYm9sZCI9PT1lLndlaWdodD90LmJvbGRpdGFsaWM6dC5pdGFsaWM6ImJvbGQiPT09ZS53ZWlnaHQ/dC5ib2xkOnQucmVndWxhcn1jbGFzcyBGb250SW5mb3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmxpbmVIZWlnaHQ9aTt0aGlzLnBhcmFNYXJnaW49dHx8e3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowfTtpZighZSl7W3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSk7cmV0dXJufXRoaXMueGZhRm9udD17dHlwZWZhY2U6ZS50eXBlZmFjZSxwb3N0dXJlOmUucG9zdHVyZSx3ZWlnaHQ6ZS53ZWlnaHQsc2l6ZTplLnNpemUsbGV0dGVyU3BhY2luZzplLmxldHRlclNwYWNpbmd9O2NvbnN0IHM9YS5maW5kKGUudHlwZWZhY2UpO2lmKHMpe3RoaXMucGRmRm9udD1zZWxlY3RGb250KGUscyk7dGhpcy5wZGZGb250fHwoW3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSkpfWVsc2VbdGhpcy5wZGZGb250LHRoaXMueGZhRm9udF09dGhpcy5kZWZhdWx0Rm9udChhKX1kZWZhdWx0Rm9udChlKXtjb25zdCB0PWUuZmluZCgiSGVsdmV0aWNhIiwhMSl8fGUuZmluZCgiTXlyaWFkIFBybyIsITEpfHxlLmZpbmQoIkFyaWFsIiwhMSl8fGUuZ2V0RGVmYXVsdCgpO2lmKHQ/LnJlZ3VsYXIpe2NvbnN0IGU9dC5yZWd1bGFyO3JldHVybltlLHt0eXBlZmFjZTplLmNzc0ZvbnRJbmZvLmZvbnRGYW1pbHkscG9zdHVyZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCIsc2l6ZToxMCxsZXR0ZXJTcGFjaW5nOjB9XX1yZXR1cm5bbnVsbCx7dHlwZWZhY2U6IkNvdXJpZXIiLHBvc3R1cmU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHNpemU6MTAsbGV0dGVyU3BhY2luZzowfV19fWNsYXNzIEZvbnRTZWxlY3Rvcntjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmZvbnRGaW5kZXI9YTt0aGlzLnN0YWNrPVtuZXcgRm9udEluZm8oZSx0LGksYSldfXB1c2hEYXRhKGUsdCxpKXtjb25zdCBhPXRoaXMuc3RhY2suYXQoLTEpO2Zvcihjb25zdCB0IG9mWyJ0eXBlZmFjZSIsInBvc3R1cmUiLCJ3ZWlnaHQiLCJzaXplIiwibGV0dGVyU3BhY2luZyJdKWVbdF18fChlW3RdPWEueGZhRm9udFt0XSk7Zm9yKGNvbnN0IGUgb2ZbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdKWlzTmFOKHRbZV0pJiYodFtlXT1hLnBhcmFNYXJnaW5bZV0pO2NvbnN0IHM9bmV3IEZvbnRJbmZvKGUsdCxpfHxhLmxpbmVIZWlnaHQsdGhpcy5mb250RmluZGVyKTtzLnBkZkZvbnR8fChzLnBkZkZvbnQ9YS5wZGZGb250KTt0aGlzLnN0YWNrLnB1c2gocyl9cG9wRm9udCgpe3RoaXMuc3RhY2sucG9wKCl9dG9wRm9udCgpe3JldHVybiB0aGlzLnN0YWNrLmF0KC0xKX19Y2xhc3MgVGV4dE1lYXN1cmV7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5nbHlwaHM9W107dGhpcy5mb250U2VsZWN0b3I9bmV3IEZvbnRTZWxlY3RvcihlLHQsaSxhKTt0aGlzLmV4dHJhSGVpZ2h0PTB9cHVzaERhdGEoZSx0LGkpe3RoaXMuZm9udFNlbGVjdG9yLnB1c2hEYXRhKGUsdCxpKX1wb3BGb250KGUpe3JldHVybiB0aGlzLmZvbnRTZWxlY3Rvci5wb3BGb250KCl9YWRkUGFyYSgpe2NvbnN0IGU9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpO3RoaXMuZXh0cmFIZWlnaHQrPWUucGFyYU1hcmdpbi50b3ArZS5wYXJhTWFyZ2luLmJvdHRvbX1hZGRTdHJpbmcoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpLGk9dC54ZmFGb250LnNpemU7aWYodC5wZGZGb250KXtjb25zdCBhPXQueGZhRm9udC5sZXR0ZXJTcGFjaW5nLHM9dC5wZGZGb250LHI9cy5saW5lSGVpZ2h0fHwxLjIsbj10LmxpbmVIZWlnaHR8fE1hdGgubWF4KDEuMixyKSppLGc9ci0odm9pZCAwPT09cy5saW5lR2FwPy4yOnMubGluZUdhcCksbz1NYXRoLm1heCgxLGcpKmksYz1pLzFlMyxDPXMuZGVmYXVsdFdpZHRofHxzLmNoYXJzVG9HbHlwaHMoIiAiKVswXS53aWR0aDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2NvbnN0IGU9cy5lbmNvZGVTdHJpbmcodCkuam9pbigiIiksaT1zLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgdD1lLndpZHRofHxDO3RoaXMuZ2x5cGhzLnB1c2goW3QqYythLG4sbyxlLnVuaWNvZGUsITFdKX10aGlzLmdseXBocy5wdXNoKFswLDAsMCwiXG4iLCEwXSl9dGhpcy5nbHlwaHMucG9wKCl9ZWxzZXtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIiIpKXRoaXMuZ2x5cGhzLnB1c2goW2ksMS4yKmksaSxlLCExXSk7dGhpcy5nbHlwaHMucHVzaChbMCwwLDAsIlxuIiwhMF0pfXRoaXMuZ2x5cGhzLnBvcCgpfX1jb21wdXRlKGUpe2xldCB0PS0xLGk9MCxhPTAscz0wLHI9MCxuPTAsZz0hMSxvPSEwO2ZvcihsZXQgYz0wLEM9dGhpcy5nbHlwaHMubGVuZ3RoO2M8QztjKyspe2NvbnN0W0MsaCxsLFEsRV09dGhpcy5nbHlwaHNbY10sdT0iICI9PT1RLGQ9bz9sOmg7aWYoRSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtvPSExfWVsc2UgaWYodSlpZihyK0M+ZSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtnPSEwO289ITF9ZWxzZXtuPU1hdGgubWF4KGQsbik7aT1yO3IrPUM7dD1jfWVsc2UgaWYocitDPmUpe3MrPW47bj1kO2lmKC0xIT09dCl7Yz10O2E9TWF0aC5tYXgoYSxpKTtyPTA7dD0tMTtpPTB9ZWxzZXthPU1hdGgubWF4KGEscik7cj1DfWc9ITA7bz0hMX1lbHNle3IrPUM7bj1NYXRoLm1heChkLG4pfX1hPU1hdGgubWF4KGEscik7cys9bit0aGlzLmV4dHJhSGVpZ2h0O3JldHVybnt3aWR0aDoxLjAyKmEsaGVpZ2h0OnMsaXNCcm9rZW46Z319fWNvbnN0IFFuPS9eW14uW10rLyxFbj0vXlteXF1dKy8sdW49e2RvdDowLGRvdERvdDoxLGRvdEhhc2g6Mixkb3RCcmFja2V0OjMsZG90UGFyZW46NH0sZG49bmV3IE1hcChbWyIkZGF0YSIsKGUsdCk9PmUuZGF0YXNldHM/ZS5kYXRhc2V0cy5kYXRhOmVdLFsiJHJlY29yZCIsKGUsdCk9PihlLmRhdGFzZXRzP2UuZGF0YXNldHMuZGF0YTplKVtwcl0oKVswXV0sWyIkdGVtcGxhdGUiLChlLHQpPT5lLnRlbXBsYXRlXSxbIiRjb25uZWN0aW9uU2V0IiwoZSx0KT0+ZS5jb25uZWN0aW9uU2V0XSxbIiRmb3JtIiwoZSx0KT0+ZS5mb3JtXSxbIiRsYXlvdXQiLChlLHQpPT5lLmxheW91dF0sWyIkaG9zdCIsKGUsdCk9PmUuaG9zdF0sWyIkZGF0YVdpbmRvdyIsKGUsdCk9PmUuZGF0YVdpbmRvd10sWyIkZXZlbnQiLChlLHQpPT5lLmV2ZW50XSxbIiEiLChlLHQpPT5lLmRhdGFzZXRzXSxbIiR4ZmEiLChlLHQpPT5lXSxbInhmYSIsKGUsdCk9PmVdLFsiJCIsKGUsdCk9PnRdXSksZm49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKGUsdCxpPSEwKXtsZXQgYT1lLm1hdGNoKFFuKTtpZighYSlyZXR1cm4gbnVsbDtsZXRbc109YTtjb25zdCByPVt7bmFtZTpzLGNhY2hlTmFtZToiLiIrcyxpbmRleDowLGpzOm51bGwsZm9ybUNhbGM6bnVsbCxvcGVyYXRvcjp1bi5kb3R9XTtsZXQgbj1zLmxlbmd0aDtmb3IoO248ZS5sZW5ndGg7KXtjb25zdCBvPW47aWYoIlsiPT09ZS5jaGFyQXQobisrKSl7YT1lLnNsaWNlKG4pLm1hdGNoKEVuKTtpZighYSl7d2FybigiWEZBIC0gSW52YWxpZCBpbmRleCBpbiBTT00gZXhwcmVzc2lvbiIpO3JldHVybiBudWxsfXIuYXQoLTEpLmluZGV4PSIqIj09PShnPShnPWFbMF0pLnRyaW0oKSk/MS8wOnBhcnNlSW50KGcsMTApfHwwO24rPWFbMF0ubGVuZ3RoKzE7Y29udGludWV9bGV0IGM7c3dpdGNoKGUuY2hhckF0KG4pKXtjYXNlIi4iOmlmKCF0KXJldHVybiBudWxsO24rKztjPXVuLmRvdERvdDticmVhaztjYXNlIiMiOm4rKztjPXVuLmRvdEhhc2g7YnJlYWs7Y2FzZSJbIjppZihpKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEZvcm1DYWxjIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBmb3Igbm93LiIpO3JldHVybiBudWxsfWM9dW4uZG90QnJhY2tldDticmVhaztjYXNlIigiOmlmKGkpe3dhcm4oIlhGQSAtIFNPTSBleHByZXNzaW9uIGNvbnRhaW5zIGEgSmF2YVNjcmlwdCBzdWJleHByZXNzaW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG5vdy4iKTtyZXR1cm4gbnVsbH1jPXVuLmRvdFBhcmVuO2JyZWFrO2RlZmF1bHQ6Yz11bi5kb3R9YT1lLnNsaWNlKG4pLm1hdGNoKFFuKTtpZighYSlicmVhaztbc109YTtuKz1zLmxlbmd0aDtyLnB1c2goe25hbWU6cyxjYWNoZU5hbWU6ZS5zbGljZShvLG4pLG9wZXJhdG9yOmMsaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGx9KX12YXIgZztyZXR1cm4gcn1mdW5jdGlvbiBzZWFyY2hOb2RlKGUsdCxpLGE9ITAscz0hMCl7Y29uc3Qgcj1wYXJzZUV4cHJlc3Npb24oaSxhKTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBuPWRuLmdldChyWzBdLm5hbWUpO2xldCBnLG89MDtpZihuKXtnPSEwO2U9W24oZSx0KV07bz0xfWVsc2V7Zz1udWxsPT09dDtlPVt0fHxlXX1mb3IobGV0IGk9ci5sZW5ndGg7bzxpO28rKyl7Y29uc3R7bmFtZTppLGNhY2hlTmFtZTphLG9wZXJhdG9yOm4saW5kZXg6Y309cltvXSxDPVtdO2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmlzWEZBT2JqZWN0KWNvbnRpbnVlO2xldCBlLHI7aWYocyl7cj1mbi5nZXQodCk7aWYoIXIpe3I9bmV3IE1hcDtmbi5zZXQodCxyKX1lPXIuZ2V0KGEpfWlmKCFlKXtzd2l0Y2gobil7Y2FzZSB1bi5kb3Q6ZT10W1FyXShpLCExKTticmVhaztjYXNlIHVuLmRvdERvdDplPXRbUXJdKGksITApO2JyZWFrO2Nhc2UgdW4uZG90SGFzaDplPXRbbHJdKGkpO2U9ZS5pc1hGQU9iamVjdEFycmF5P2UuY2hpbGRyZW46W2VdfXMmJnIuc2V0KGEsZSl9ZS5sZW5ndGg+MCYmQy5wdXNoKGUpfWlmKDAhPT1DLmxlbmd0aHx8Z3x8MCE9PW8pZT1pc0Zpbml0ZShjKT9DLmZpbHRlcigoZT0+YzxlLmxlbmd0aCkpLm1hcCgoZT0+ZVtjXSkpOkMuZmxhdCgpO2Vsc2V7Y29uc3QgaT10W0RyXSgpO2lmKCEodD1pKSlyZXR1cm4gbnVsbDtvPS0xO2U9W3RdfX1yZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZX1mdW5jdGlvbiBjcmVhdGVEYXRhTm9kZShlLHQsaSl7Y29uc3QgYT1wYXJzZUV4cHJlc3Npb24oaSk7aWYoIWEpcmV0dXJuIG51bGw7aWYoYS5zb21lKChlPT5lLm9wZXJhdG9yPT09dW4uZG90RG90KSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1kbi5nZXQoYVswXS5uYW1lKTtsZXQgcj0wO2lmKHMpe2U9cyhlLHQpO3I9MX1lbHNlIGU9dHx8ZTtmb3IobGV0IHQ9YS5sZW5ndGg7cjx0O3IrKyl7Y29uc3R7bmFtZTp0LG9wZXJhdG9yOmksaW5kZXg6c309YVtyXTtpZighaXNGaW5pdGUocykpe2Fbcl0uaW5kZXg9MDtyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKX1sZXQgbjtzd2l0Y2goaSl7Y2FzZSB1bi5kb3Q6bj1lW1FyXSh0LCExKTticmVhaztjYXNlIHVuLmRvdERvdDpuPWVbUXJdKHQsITApO2JyZWFrO2Nhc2UgdW4uZG90SGFzaDpuPWVbbHJdKHQpO249bi5pc1hGQU9iamVjdEFycmF5P24uY2hpbGRyZW46W25dfWlmKDA9PT1uLmxlbmd0aClyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKTtpZighKHM8bi5sZW5ndGgpKXthW3JdLmluZGV4PXMtbi5sZW5ndGg7cmV0dXJuIGUuY3JlYXRlTm9kZXMoYS5zbGljZShyKSl9e2NvbnN0IHQ9bltzXTtpZighdC5pc1hGQU9iamVjdCl7d2FybigiWEZBIC0gQ2Fubm90IGNyZWF0ZSBhIG5vZGUuIik7cmV0dXJuIG51bGx9ZT10fX1yZXR1cm4gbnVsbH1jb25zdCBwbj1TeW1ib2woKSxtbj1TeW1ib2woKSx5bj1TeW1ib2woKSx3bj1TeW1ib2woIl9jaGlsZHJlbiIpLERuPVN5bWJvbCgpLGJuPVN5bWJvbCgpLEZuPVN5bWJvbCgpLFNuPVN5bWJvbCgpLGtuPVN5bWJvbCgpLFJuPVN5bWJvbCgpLE5uPVN5bWJvbCgpLEduPVN5bWJvbCgpLHhuPVN5bWJvbCgpLFVuPVN5bWJvbCgicGFyZW50IiksTW49U3ltYm9sKCksTG49U3ltYm9sKCksSG49U3ltYm9sKCk7bGV0IEpuPTA7Y29uc3QgWW49aG4uZGF0YXNldHMuaWQ7Y2xhc3MgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCxpPSExKXt0aGlzW1RyXT1lO3RoaXNbcXJdPXQ7dGhpc1tObl09aTt0aGlzW1VuXT1udWxsO3RoaXNbd25dPVtdO3RoaXNbY25dPWAke3R9JHtKbisrfWA7dGhpc1tGcl09bnVsbH1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMH1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiExfWNyZWF0ZU5vZGVzKGUpe2xldCB0PXRoaXMsaT1udWxsO2Zvcihjb25zdHtuYW1lOmEsaW5kZXg6c31vZiBlKXtmb3IobGV0IGU9MCxyPWlzRmluaXRlKHMpP3M6MDtlPD1yO2UrKyl7Y29uc3QgZT10W1RyXT09PVluPy0xOnRbVHJdO2k9bmV3IFhtbE9iamVjdChlLGEpO3RbX3NdKGkpfXQ9aX1yZXR1cm4gaX1bUHJdKGUpe2lmKCF0aGlzW05uXXx8IXRoaXNbV3JdKGUpKXJldHVybiExO2NvbnN0IHQ9ZVtxcl0saT10aGlzW3RdO2lmKCEoaSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSl7bnVsbCE9PWkmJnRoaXNbenJdKGkpO3RoaXNbdF09ZTt0aGlzW19zXShlKTtyZXR1cm4hMH1pZihpLnB1c2goZSkpe3RoaXNbX3NdKGUpO3JldHVybiEwfWxldCBhPSIiO3RoaXMuaWQ/YT1gIChpZDogJHt0aGlzLmlkfSlgOnRoaXMubmFtZSYmKGE9YCAobmFtZTogJHt0aGlzLm5hbWV9ICR7dGhpcy5oLnZhbHVlfSlgKTt3YXJuKGBYRkEgLSBub2RlICIke3RoaXNbcXJdfSIke2F9IGhhcyBhbHJlYWR5IGVub3VnaCAiJHt0fSIhYCk7cmV0dXJuITF9W1dyXShlKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShlW3FyXSkmJmVbVHJdPT09dGhpc1tUcl19W0xyXSgpe3JldHVybiExfVtWc10oKXtyZXR1cm4hMX1bR3JdKCl7cmV0dXJuITF9W3hyXSgpe3JldHVybiExfVtacl0oKXt0aGlzLnBhcmEmJnRoaXNbYnJdKClbZ3JdLnBhcmFTdGFjay5wb3AoKX1bVnJdKCl7dGhpc1ticl0oKVtncl0ucGFyYVN0YWNrLnB1c2godGhpcy5wYXJhKX1bZW5dKGUpe3RoaXMuaWQmJnRoaXNbVHJdPT09aG4udGVtcGxhdGUuaWQmJmUuc2V0KHRoaXMuaWQsdGhpcyl9W2JyXSgpe3JldHVybiB0aGlzW0ZyXS50ZW1wbGF0ZX1bSHJdKCl7cmV0dXJuITF9W0pyXSgpe3JldHVybiExfVtfc10oZSl7ZVtVbl09dGhpczt0aGlzW3duXS5wdXNoKGUpOyFlW0ZyXSYmdGhpc1tGcl0mJihlW0ZyXT10aGlzW0ZyXSl9W3pyXShlKXtjb25zdCB0PXRoaXNbd25dLmluZGV4T2YoZSk7dGhpc1t3bl0uc3BsaWNlKHQsMSl9W1NyXSgpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfVthbl0oZSl7fVtqcl0oZSl7fVtvcl0oKXt9W0FyXShlKXtkZWxldGUgdGhpc1tObl07aWYodGhpc1t0cl0pe2UuY2xlYW4odGhpc1t0cl0pO2RlbGV0ZSB0aGlzW3RyXX19W1JyXShlKXtyZXR1cm4gdGhpc1t3bl0uaW5kZXhPZihlKX1bTnJdKGUsdCl7dFtVbl09dGhpczt0aGlzW3duXS5zcGxpY2UoZSwwLHQpOyF0W0ZyXSYmdGhpc1tGcl0mJih0W0ZyXT10aGlzW0ZyXSl9W1lyXSgpe3JldHVybiF0aGlzLm5hbWV9W0tyXSgpe3JldHVybiIifVtybl0oKXtyZXR1cm4gMD09PXRoaXNbd25dLmxlbmd0aD90aGlzW3NyXTp0aGlzW3duXS5tYXAoKGU9PmVbcm5dKCkpKS5qb2luKCIiKX1nZXRbeW5dKCl7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoIWUuX2F0dHJpYnV0ZXMpe2NvbnN0IHQ9ZS5fYXR0cmlidXRlcz1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZihudWxsPT09dGhpc1tlXXx8dGhpc1tlXWluc3RhbmNlb2YgWEZBT2JqZWN0fHx0aGlzW2VdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSlicmVhazt0LmFkZChlKX19cmV0dXJuIHNoYWRvdyh0aGlzLHluLGUuX2F0dHJpYnV0ZXMpfVtNcl0oZSl7bGV0IHQ9dGhpcztmb3IoO3Q7KXtpZih0PT09ZSlyZXR1cm4hMDt0PXRbRHJdKCl9cmV0dXJuITF9W0RyXSgpe3JldHVybiB0aGlzW1VuXX1bd3JdKCl7cmV0dXJuIHRoaXNbRHJdKCl9W3ByXShlPW51bGwpe3JldHVybiBlP3RoaXNbZV06dGhpc1t3bl19W25yXSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzW3NyXSYmKGUuJGNvbnRlbnQ9dGhpc1tzcl0pO2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBpPXRoaXNbdF07bnVsbCE9PWkmJihpIGluc3RhbmNlb2YgWEZBT2JqZWN0P2VbdF09aVtucl0oKTppIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXk/aS5pc0VtcHR5KCl8fChlW3RdPWkuZHVtcCgpKTplW3RdPWkpfXJldHVybiBlfVtJbl0oKXtyZXR1cm4gbnVsbH1bZ25dKCl7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Klttcl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzW3ByXSgpKXlpZWxkIGV9KltTbl0oZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzW21yXSgpKWlmKCFlfHx0PT09ZS5oYXMoaVtxcl0pKXtjb25zdCBlPXRoaXNbaHJdKCksdD1pW2duXShlKTt0LnN1Y2Nlc3N8fCh0aGlzW2dyXS5mYWlsaW5nTm9kZT1pKTt5aWVsZCB0fX1bSXJdKCl7cmV0dXJuIG51bGx9W3pzXShlLHQpe3RoaXNbZ3JdLmNoaWxkcmVuLnB1c2goZSl9W2hyXSgpe31bJHNdKHtmaWx0ZXI6ZT1udWxsLGluY2x1ZGU6dD0hMH0pe2lmKHRoaXNbZ3JdLmdlbmVyYXRvcil7Y29uc3QgZT10aGlzW2hyXSgpLHQ9dGhpc1tncl0uZmFpbGluZ05vZGVbZ25dKGUpO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW3pzXSh0Lmh0bWwsdC5iYm94KTtkZWxldGUgdGhpc1tncl0uZmFpbGluZ05vZGV9ZWxzZSB0aGlzW2dyXS5nZW5lcmF0b3I9dGhpc1tTbl0oZSx0KTtmb3IoOzspe2NvbnN0IGU9dGhpc1tncl0uZ2VuZXJhdG9yLm5leHQoKTtpZihlLmRvbmUpYnJlYWs7Y29uc3QgdD1lLnZhbHVlO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW3pzXSh0Lmh0bWwsdC5iYm94KX10aGlzW2dyXS5nZW5lcmF0b3I9bnVsbDtyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1bdG5dKGUpe3RoaXNbTG5dPW5ldyBTZXQoT2JqZWN0LmtleXMoZSkpfVtSbl0oZSl7Y29uc3QgdD10aGlzW3luXSxpPXRoaXNbTG5dO3JldHVyblsuLi5lXS5maWx0ZXIoKGU9PnQuaGFzKGUpJiYhaS5oYXMoZSkpKX1bJHJdKGUsdD1uZXcgU2V0KXtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSlpW01uXShlLHQpfVtNbl0oZSx0KXtjb25zdCBpPXRoaXNba25dKGUsdCk7aT90aGlzW3BuXShpLGUsdCk6dGhpc1skcl0oZSx0KX1ba25dKGUsdCl7Y29uc3R7dXNlOmksdXNlaHJlZjphfT10aGlzO2lmKCFpJiYhYSlyZXR1cm4gbnVsbDtsZXQgcz1udWxsLHI9bnVsbCxuPW51bGwsZz1pO2lmKGEpe2c9YTthLnN0YXJ0c1dpdGgoIiNzb20oIikmJmEuZW5kc1dpdGgoIikiKT9yPWEuc2xpY2UoNSwtMSk6YS5zdGFydHNXaXRoKCIuI3NvbSgiKSYmYS5lbmRzV2l0aCgiKSIpP3I9YS5zbGljZSg2LC0xKTphLnN0YXJ0c1dpdGgoIiMiKT9uPWEuc2xpY2UoMSk6YS5zdGFydHNXaXRoKCIuIyIpJiYobj1hLnNsaWNlKDIpKX1lbHNlIGkuc3RhcnRzV2l0aCgiIyIpP249aS5zbGljZSgxKTpyPWk7dGhpcy51c2U9dGhpcy51c2VocmVmPSIiO2lmKG4pcz1lLmdldChuKTtlbHNle3M9c2VhcmNoTm9kZShlLmdldChfciksdGhpcyxyLCEwLCExKTtzJiYocz1zWzBdKX1pZighcyl7d2FybihgWEZBIC0gSW52YWxpZCBwcm90b3R5cGUgcmVmZXJlbmNlOiAke2d9LmApO3JldHVybiBudWxsfWlmKHNbcXJdIT09dGhpc1txcl0pe3dhcm4oYFhGQSAtIEluY29tcGF0aWJsZSBwcm90b3R5cGU6ICR7c1txcl19ICE9PSAke3RoaXNbcXJdfS5gKTtyZXR1cm4gbnVsbH1pZih0LmhhcyhzKSl7d2FybigiWEZBIC0gQ3ljbGUgZGV0ZWN0ZWQgaW4gcHJvdG90eXBlcyB1c2UuIik7cmV0dXJuIG51bGx9dC5hZGQocyk7Y29uc3Qgbz1zW2tuXShlLHQpO28mJnNbcG5dKG8sZSx0KTtzWyRyXShlLHQpO3QuZGVsZXRlKHMpO3JldHVybiBzfVtwbl0oZSx0LGkpe2lmKGkuaGFzKGUpKXt3YXJuKCJYRkEgLSBDeWNsZSBkZXRlY3RlZCBpbiBwcm90b3R5cGVzIHVzZS4iKTtyZXR1cm59IXRoaXNbc3JdJiZlW3NyXSYmKHRoaXNbc3JdPWVbc3JdKTtuZXcgU2V0KGkpLmFkZChlKTtmb3IoY29uc3QgdCBvZiB0aGlzW1JuXShlW0xuXSkpe3RoaXNbdF09ZVt0XTt0aGlzW0xuXSYmdGhpc1tMbl0uYWRkKHQpfWZvcihjb25zdCBhIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZih0aGlzW3luXS5oYXMoYSkpY29udGludWU7Y29uc3Qgcz10aGlzW2FdLHI9ZVthXTtpZihzIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpe2Zvcihjb25zdCBlIG9mIHNbd25dKWVbTW5dKHQsaSk7Zm9yKGxldCBhPXNbd25dLmxlbmd0aCxuPXJbd25dLmxlbmd0aDthPG47YSsrKXtjb25zdCByPWVbd25dW2FdW2lyXSgpO2lmKCFzLnB1c2gocikpYnJlYWs7cltVbl09dGhpczt0aGlzW3duXS5wdXNoKHIpO3JbTW5dKHQsaSl9fWVsc2UgaWYobnVsbD09PXMpe2lmKG51bGwhPT1yKXtjb25zdCBlPXJbaXJdKCk7ZVtVbl09dGhpczt0aGlzW2FdPWU7dGhpc1t3bl0ucHVzaChlKTtlW01uXSh0LGkpfX1lbHNle3NbJHJdKHQsaSk7ciYmc1twbl0ocix0LGkpfX19c3RhdGljW0RuXShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcCgoZT0+WEZBT2JqZWN0W0RuXShlKSkpOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWU/T2JqZWN0LmFzc2lnbih7fSxlKTplfVtpcl0oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRoaXMpKXRyeXtlW3RdPXRoaXNbdF19Y2F0Y2h7c2hhZG93KGUsdCx0aGlzW3RdKX1lW2NuXT1gJHtlW3FyXX0ke0puKyt9YDtlW3duXT1bXTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYodGhpc1t5bl0uaGFzKHQpKXtlW3RdPVhGQU9iamVjdFtEbl0odGhpc1t0XSk7Y29udGludWV9Y29uc3QgaT10aGlzW3RdO2VbdF09aSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5P25ldyBYRkFPYmplY3RBcnJheShpW0duXSk6bnVsbH1mb3IoY29uc3QgdCBvZiB0aGlzW3duXSl7Y29uc3QgaT10W3FyXSxhPXRbaXJdKCk7ZVt3bl0ucHVzaChhKTthW1VuXT1lO251bGw9PT1lW2ldP2VbaV09YTplW2ldW3duXS5wdXNoKGEpfXJldHVybiBlfVtwcl0oZT1udWxsKXtyZXR1cm4gZT90aGlzW3duXS5maWx0ZXIoKHQ9PnRbcXJdPT09ZSkpOnRoaXNbd25dfVtscl0oZSl7cmV0dXJuIHRoaXNbZV19W1FyXShlLHQsaT0hMCl7cmV0dXJuIEFycmF5LmZyb20odGhpc1tFcl0oZSx0LGkpKX0qW0VyXShlLHQsaT0hMCl7aWYoInBhcmVudCIhPT1lKXtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSl7aVtxcl09PT1lJiYoeWllbGQgaSk7aS5uYW1lPT09ZSYmKHlpZWxkIGkpOyh0fHxpW1lyXSgpKSYmKHlpZWxkKmlbRXJdKGUsdCwhMSkpfWkmJnRoaXNbeW5dLmhhcyhlKSYmKHlpZWxkIG5ldyBYRkFBdHRyaWJ1dGUodGhpcyxlLHRoaXNbZV0pKX1lbHNlIHlpZWxkIHRoaXNbVW5dfX1jbGFzcyBYRkFPYmplY3RBcnJheXtjb25zdHJ1Y3RvcihlPTEvMCl7dGhpc1tHbl09ZTt0aGlzW3duXT1bXX1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMX1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiEwfXB1c2goZSl7aWYodGhpc1t3bl0ubGVuZ3RoPD10aGlzW0duXSl7dGhpc1t3bl0ucHVzaChlKTtyZXR1cm4hMH13YXJuKGBYRkEgLSBub2RlICIke2VbcXJdfSIgYWNjZXB0cyBubyBtb3JlIHRoYW4gJHt0aGlzW0duXX0gY2hpbGRyZW5gKTtyZXR1cm4hMX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzW3duXS5sZW5ndGh9ZHVtcCgpe3JldHVybiAxPT09dGhpc1t3bl0ubGVuZ3RoP3RoaXNbd25dWzBdW25yXSgpOnRoaXNbd25dLm1hcCgoZT0+ZVtucl0oKSkpfVtpcl0oKXtjb25zdCBlPW5ldyBYRkFPYmplY3RBcnJheSh0aGlzW0duXSk7ZVt3bl09dGhpc1t3bl0ubWFwKChlPT5lW2lyXSgpKSk7cmV0dXJuIGV9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXNbd25dfWNsZWFyKCl7dGhpc1t3bl0ubGVuZ3RoPTB9fWNsYXNzIFhGQUF0dHJpYnV0ZXtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpc1tVbl09ZTt0aGlzW3FyXT10O3RoaXNbc3JdPWk7dGhpc1thcl09ITE7dGhpc1tjbl09ImF0dHJpYnV0ZSIrSm4rK31bRHJdKCl7cmV0dXJuIHRoaXNbVW5dfVtVcl0oKXtyZXR1cm4hMH1bdXJdKCl7cmV0dXJuIHRoaXNbc3JdLnRyaW0oKX1bYW5dKGUpe2U9ZS52YWx1ZXx8IiI7dGhpc1tzcl09ZS50b1N0cmluZygpfVtybl0oKXtyZXR1cm4gdGhpc1tzcl19W01yXShlKXtyZXR1cm4gdGhpc1tVbl09PT1lfHx0aGlzW1VuXVtNcl0oZSl9fWNsYXNzIFhtbE9iamVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaT17fSl7c3VwZXIoZSx0KTt0aGlzW3NyXT0iIjt0aGlzW2JuXT1udWxsO2lmKCIjdGV4dCIhPT10KXtjb25zdCBlPW5ldyBNYXA7dGhpc1ttbl09ZTtmb3IoY29uc3RbdCxhXW9mIE9iamVjdC5lbnRyaWVzKGkpKWUuc2V0KHQsbmV3IFhGQUF0dHJpYnV0ZSh0aGlzLHQsYSkpO2lmKGkuaGFzT3duUHJvcGVydHkoT3IpKXtjb25zdCBlPWlbT3JdLnhmYS5kYXRhTm9kZTt2b2lkIDAhPT1lJiYoImRhdGFHcm91cCI9PT1lP3RoaXNbYm5dPSExOiJkYXRhVmFsdWUiPT09ZSYmKHRoaXNbYm5dPSEwKSl9fXRoaXNbYXJdPSExfVtvbl0oZSl7Y29uc3QgdD10aGlzW3FyXTtpZigiI3RleHQiPT09dCl7ZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXNbc3JdKSk7cmV0dXJufWNvbnN0IGk9dXRmOFN0cmluZ1RvU3RyaW5nKHQpLGE9dGhpc1tUcl09PT1Zbj8ieGZhOiI6IiI7ZS5wdXNoKGA8JHthfSR7aX1gKTtmb3IoY29uc3RbdCxpXW9mIHRoaXNbbW5dLmVudHJpZXMoKSl7Y29uc3QgYT11dGY4U3RyaW5nVG9TdHJpbmcodCk7ZS5wdXNoKGAgJHthfT0iJHtlbmNvZGVUb1htbFN0cmluZyhpW3NyXSl9ImApfW51bGwhPT10aGlzW2JuXSYmKHRoaXNbYm5dP2UucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YVZhbHVlIicpOmUucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YUdyb3VwIicpKTtpZih0aGlzW3NyXXx8MCE9PXRoaXNbd25dLmxlbmd0aCl7ZS5wdXNoKCI+Iik7aWYodGhpc1tzcl0pInN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXT9lLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpc1tzcl0pKTp0aGlzW3NyXVtvbl0oZSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3duXSl0W29uXShlKTtlLnB1c2goYDwvJHthfSR7aX0+YCl9ZWxzZSBlLnB1c2goIi8+Iil9W1ByXShlKXtpZih0aGlzW3NyXSl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbVHJdLCIjdGV4dCIpO3RoaXNbX3NdKGUpO2Vbc3JdPXRoaXNbc3JdO3RoaXNbc3JdPSIifXRoaXNbX3NdKGUpO3JldHVybiEwfVtqcl0oZSl7dGhpc1tzcl0rPWV9W29yXSgpe2lmKHRoaXNbc3JdJiZ0aGlzW3duXS5sZW5ndGg+MCl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbVHJdLCIjdGV4dCIpO3RoaXNbX3NdKGUpO2Vbc3JdPXRoaXNbc3JdO2RlbGV0ZSB0aGlzW3NyXX19W2duXSgpe3JldHVybiIjdGV4dCI9PT10aGlzW3FyXT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6IiN0ZXh0Iix2YWx1ZTp0aGlzW3NyXX0pOkhUTUxSZXN1bHQuRU1QVFl9W3ByXShlPW51bGwpe3JldHVybiBlP3RoaXNbd25dLmZpbHRlcigodD0+dFtxcl09PT1lKSk6dGhpc1t3bl19W0NyXSgpe3JldHVybiB0aGlzW21uXX1bbHJdKGUpe2NvbnN0IHQ9dGhpc1ttbl0uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dGhpc1twcl0oZSl9KltFcl0oZSx0KXtjb25zdCBpPXRoaXNbbW5dLmdldChlKTtpJiYoeWllbGQgaSk7Zm9yKGNvbnN0IGkgb2YgdGhpc1t3bl0pe2lbcXJdPT09ZSYmKHlpZWxkIGkpO3QmJih5aWVsZCppW0VyXShlLHQpKX19Kltjcl0oZSx0KXtjb25zdCBpPXRoaXNbbW5dLmdldChlKTshaXx8dCYmaVthcl18fCh5aWVsZCBpKTtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSl5aWVsZCppW2NyXShlLHQpfSpbZnJdKGUsdCxpKXtmb3IoY29uc3QgYSBvZiB0aGlzW3duXSl7YVtxcl0hPT1lfHxpJiZhW2FyXXx8KHlpZWxkIGEpO3QmJih5aWVsZCphW2ZyXShlLHQsaSkpfX1bVXJdKCl7cmV0dXJuIG51bGw9PT10aGlzW2JuXT8wPT09dGhpc1t3bl0ubGVuZ3RofHx0aGlzW3duXVswXVtUcl09PT1obi54aHRtbC5pZDp0aGlzW2JuXX1bdXJdKCl7cmV0dXJuIG51bGw9PT10aGlzW2JuXT8wPT09dGhpc1t3bl0ubGVuZ3RoP3RoaXNbc3JdLnRyaW0oKTp0aGlzW3duXVswXVtUcl09PT1obi54aHRtbC5pZD90aGlzW3duXVswXVtybl0oKS50cmltKCk6bnVsbDp0aGlzW3NyXS50cmltKCl9W2FuXShlKXtlPWUudmFsdWV8fCIiO3RoaXNbc3JdPWUudG9TdHJpbmcoKX1bbnJdKGU9ITEpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtlJiYodC4kbnM9dGhpc1tUcl0pO3RoaXNbc3JdJiYodC4kY29udGVudD10aGlzW3NyXSk7dC4kbmFtZT10aGlzW3FyXTt0LmNoaWxkcmVuPVtdO2Zvcihjb25zdCBpIG9mIHRoaXNbd25dKXQuY2hpbGRyZW4ucHVzaChpW25yXShlKSk7dC5hdHRyaWJ1dGVzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2UsaV1vZiB0aGlzW21uXSl0LmF0dHJpYnV0ZXNbZV09aVtzcl07cmV0dXJuIHR9fWNsYXNzIENvbnRlbnRPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO3RoaXNbc3JdPSIifVtqcl0oZSl7dGhpc1tzcl0rPWV9W29yXSgpe319Y2xhc3MgT3B0aW9uT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0KTt0aGlzW3huXT1pfVtvcl0oKXt0aGlzW3NyXT1nZXRLZXl3b3JkKHtkYXRhOnRoaXNbc3JdLGRlZmF1bHRWYWx1ZTp0aGlzW3huXVswXSx2YWxpZGF0ZTplPT50aGlzW3huXS5pbmNsdWRlcyhlKX0pfVtBcl0oZSl7c3VwZXJbQXJdKGUpO2RlbGV0ZSB0aGlzW3huXX19Y2xhc3MgU3RyaW5nT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtbb3JdKCl7dGhpc1tzcl09dGhpc1tzcl0udHJpbSgpfX1jbGFzcyBJbnRlZ2VyT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihlLHQpO3RoaXNbRm5dPWk7dGhpc1tIbl09YX1bb3JdKCl7dGhpc1tzcl09Z2V0SW50ZWdlcih7ZGF0YTp0aGlzW3NyXSxkZWZhdWx0VmFsdWU6dGhpc1tGbl0sdmFsaWRhdGU6dGhpc1tIbl19KX1bQXJdKGUpe3N1cGVyW0FyXShlKTtkZWxldGUgdGhpc1tGbl07ZGVsZXRlIHRoaXNbSG5dfX1jbGFzcyBPcHRpb24wMSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsMCwoZT0+MT09PWUpKX19Y2xhc3MgT3B0aW9uMTAgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LDEsKGU9PjA9PT1lKSl9fWZ1bmN0aW9uIG1lYXN1cmVUb1N0cmluZyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/IjBweCI6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtlfXB4YDpgJHtlLnRvRml4ZWQoMil9cHhgfWNvbnN0IHZuPXthbmNob3JUeXBlKGUsdCl7Y29uc3QgaT1lW3dyXSgpO2lmKGkmJighaS5sYXlvdXR8fCJwb3NpdGlvbiI9PT1pLmxheW91dCkpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTtzd2l0Y2goZS5hbmNob3JUeXBlKXtjYXNlImJvdHRvbUNlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwgLTEwMCUpIjticmVhaztjYXNlImJvdHRvbUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTEwMCUpIjticmVhaztjYXNlImJvdHRvbVJpZ2h0Ijp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtMTAwJSwtMTAwJSkiO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtNTAlLC01MCUpIjticmVhaztjYXNlIm1pZGRsZUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTUwJSkiO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKC0xMDAlLC01MCUpIjticmVhaztjYXNlInRvcENlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwwKSI7YnJlYWs7Y2FzZSJ0b3BSaWdodCI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTEwMCUsMCkifX19LGRpbWVuc2lvbnMoZSx0KXtjb25zdCBpPWVbd3JdKCk7bGV0IGE9ZS53O2NvbnN0IHM9ZS5oO2lmKGkubGF5b3V0Py5pbmNsdWRlcygicm93Iikpe2NvbnN0IHQ9aVtncl0scz1lLmNvbFNwYW47bGV0IHI7aWYoLTE9PT1zKXtyPXQuY29sdW1uV2lkdGhzLnNsaWNlKHQuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTt0LmN1cnJlbnRDb2x1bW49MH1lbHNle3I9dC5jb2x1bW5XaWR0aHMuc2xpY2UodC5jdXJyZW50Q29sdW1uLHQuY3VycmVudENvbHVtbitzKS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApO3QuY3VycmVudENvbHVtbj0odC5jdXJyZW50Q29sdW1uK2UuY29sU3BhbikldC5jb2x1bW5XaWR0aHMubGVuZ3RofWlzTmFOKHIpfHwoYT1lLnc9cil9dC53aWR0aD0iIiE9PWE/bWVhc3VyZVRvU3RyaW5nKGEpOiJhdXRvIjt0LmhlaWdodD0iIiE9PXM/bWVhc3VyZVRvU3RyaW5nKHMpOiJhdXRvIn0scG9zaXRpb24oZSx0KXtjb25zdCBpPWVbd3JdKCk7aWYoIWk/LmxheW91dHx8InBvc2l0aW9uIj09PWkubGF5b3V0KXt0LnBvc2l0aW9uPSJhYnNvbHV0ZSI7dC5sZWZ0PW1lYXN1cmVUb1N0cmluZyhlLngpO3QudG9wPW1lYXN1cmVUb1N0cmluZyhlLnkpfX0scm90YXRlKGUsdCl7aWYoZS5yb3RhdGUpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTt0LnRyYW5zZm9ybSs9YHJvdGF0ZSgtJHtlLnJvdGF0ZX1kZWcpYDt0LnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQifX0scHJlc2VuY2UoZSx0KXtzd2l0Y2goZS5wcmVzZW5jZSl7Y2FzZSJpbnZpc2libGUiOnQudmlzaWJpbGl0eT0iaGlkZGVuIjticmVhaztjYXNlImhpZGRlbiI6Y2FzZSJpbmFjdGl2ZSI6dC5kaXNwbGF5PSJub25lIn19LGhBbGlnbihlLHQpe2lmKCJwYXJhIj09PWVbcXJdKXN3aXRjaChlLmhBbGlnbil7Y2FzZSJqdXN0aWZ5QWxsIjp0LnRleHRBbGlnbj0ianVzdGlmeS1hbGwiO2JyZWFrO2Nhc2UicmFkaXgiOnQudGV4dEFsaWduPSJsZWZ0IjticmVhaztkZWZhdWx0OnQudGV4dEFsaWduPWUuaEFsaWdufWVsc2Ugc3dpdGNoKGUuaEFsaWduKXtjYXNlImxlZnQiOnQuYWxpZ25TZWxmPSJzdGFydCI7YnJlYWs7Y2FzZSJjZW50ZXIiOnQuYWxpZ25TZWxmPSJjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOnQuYWxpZ25TZWxmPSJlbmQifX0sbWFyZ2luKGUsdCl7ZS5tYXJnaW4mJih0Lm1hcmdpbj1lLm1hcmdpbltJbl0oKS5tYXJnaW4pfX07ZnVuY3Rpb24gc2V0TWluTWF4RGltZW5zaW9ucyhlLHQpe2lmKCJwb3NpdGlvbiI9PT1lW3dyXSgpLmxheW91dCl7ZS5taW5XPjAmJih0Lm1pbldpZHRoPW1lYXN1cmVUb1N0cmluZyhlLm1pblcpKTtlLm1heFc+MCYmKHQubWF4V2lkdGg9bWVhc3VyZVRvU3RyaW5nKGUubWF4VykpO2UubWluSD4wJiYodC5taW5IZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWluSCkpO2UubWF4SD4wJiYodC5tYXhIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWF4SCkpfX1mdW5jdGlvbiBsYXlvdXRUZXh0KGUsdCxpLGEscyxyKXtjb25zdCBuPW5ldyBUZXh0TWVhc3VyZSh0LGksYSxzKTsic3RyaW5nIj09dHlwZW9mIGU/bi5hZGRTdHJpbmcoZSk6ZVtYcl0obik7cmV0dXJuIG4uY29tcHV0ZShyKX1mdW5jdGlvbiBsYXlvdXROb2RlKGUsdCl7bGV0IGk9bnVsbCxhPW51bGwscz0hMTtpZigoIWUud3x8IWUuaCkmJmUudmFsdWUpe2xldCByPTAsbj0wO2lmKGUubWFyZ2luKXtyPWUubWFyZ2luLmxlZnRJbnNldCtlLm1hcmdpbi5yaWdodEluc2V0O249ZS5tYXJnaW4udG9wSW5zZXQrZS5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IGc9bnVsbCxvPW51bGw7aWYoZS5wYXJhKXtvPU9iamVjdC5jcmVhdGUobnVsbCk7Zz0iIj09PWUucGFyYS5saW5lSGVpZ2h0P251bGw6ZS5wYXJhLmxpbmVIZWlnaHQ7by50b3A9IiI9PT1lLnBhcmEuc3BhY2VBYm92ZT8wOmUucGFyYS5zcGFjZUFib3ZlO28uYm90dG9tPSIiPT09ZS5wYXJhLnNwYWNlQmVsb3c/MDplLnBhcmEuc3BhY2VCZWxvdztvLmxlZnQ9IiI9PT1lLnBhcmEubWFyZ2luTGVmdD8wOmUucGFyYS5tYXJnaW5MZWZ0O28ucmlnaHQ9IiI9PT1lLnBhcmEubWFyZ2luUmlnaHQ/MDplLnBhcmEubWFyZ2luUmlnaHR9bGV0IGM9ZS5mb250O2lmKCFjKXtjb25zdCB0PWVbYnJdKCk7bGV0IGk9ZVtEcl0oKTtmb3IoO2kmJmkhPT10Oyl7aWYoaS5mb250KXtjPWkuZm9udDticmVha31pPWlbRHJdKCl9fWNvbnN0IEM9KGUud3x8dC53aWR0aCktcixoPWVbRnJdLmZvbnRGaW5kZXI7aWYoZS52YWx1ZS5leERhdGEmJmUudmFsdWUuZXhEYXRhW3NyXSYmInRleHQvaHRtbCI9PT1lLnZhbHVlLmV4RGF0YS5jb250ZW50VHlwZSl7Y29uc3QgdD1sYXlvdXRUZXh0KGUudmFsdWUuZXhEYXRhW3NyXSxjLG8sZyxoLEMpO2E9dC53aWR0aDtpPXQuaGVpZ2h0O3M9dC5pc0Jyb2tlbn1lbHNle2NvbnN0IHQ9ZS52YWx1ZVtybl0oKTtpZih0KXtjb25zdCBlPWxheW91dFRleHQodCxjLG8sZyxoLEMpO2E9ZS53aWR0aDtpPWUuaGVpZ2h0O3M9ZS5pc0Jyb2tlbn19bnVsbD09PWF8fGUud3x8KGErPXIpO251bGw9PT1pfHxlLmh8fChpKz1uKX1yZXR1cm57dzphLGg6aSxpc0Jyb2tlbjpzfX1mdW5jdGlvbiBjb21wdXRlQmJveChlLHQsaSl7bGV0IGE7aWYoIiIhPT1lLncmJiIiIT09ZS5oKWE9W2UueCxlLnksZS53LGUuaF07ZWxzZXtpZighaSlyZXR1cm4gbnVsbDtsZXQgcz1lLnc7aWYoIiI9PT1zKXtpZigwPT09ZS5tYXhXKXtjb25zdCB0PWVbd3JdKCk7cz0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC53PzA6ZS5taW5XfWVsc2Ugcz1NYXRoLm1pbihlLm1heFcsaS53aWR0aCk7dC5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoPW1lYXN1cmVUb1N0cmluZyhzKX1sZXQgcj1lLmg7aWYoIiI9PT1yKXtpZigwPT09ZS5tYXhIKXtjb25zdCB0PWVbd3JdKCk7cj0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC5oPzA6ZS5taW5IfWVsc2Ugcj1NYXRoLm1pbihlLm1heEgsaS5oZWlnaHQpO3QuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHIpfWE9W2UueCxlLnkscyxyXX1yZXR1cm4gYX1mdW5jdGlvbiBmaXhEaW1lbnNpb25zKGUpe2NvbnN0IHQ9ZVt3cl0oKTtpZih0LmxheW91dD8uaW5jbHVkZXMoInJvdyIpKXtjb25zdCBpPXRbZ3JdLGE9ZS5jb2xTcGFuO2xldCBzO3M9LTE9PT1hP2kuY29sdW1uV2lkdGhzLnNsaWNlKGkuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTppLmNvbHVtbldpZHRocy5zbGljZShpLmN1cnJlbnRDb2x1bW4saS5jdXJyZW50Q29sdW1uK2EpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCk7aXNOYU4ocyl8fChlLnc9cyl9dC5sYXlvdXQmJiJwb3NpdGlvbiIhPT10LmxheW91dCYmKGUueD1lLnk9MCk7InRhYmxlIj09PWUubGF5b3V0JiYiIj09PWUudyYmQXJyYXkuaXNBcnJheShlLmNvbHVtbldpZHRocykmJihlLnc9ZS5jb2x1bW5XaWR0aHMucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSl9ZnVuY3Rpb24gbGF5b3V0Q2xhc3MoZSl7c3dpdGNoKGUubGF5b3V0KXtjYXNlInBvc2l0aW9uIjpkZWZhdWx0OnJldHVybiJ4ZmFQb3NpdGlvbiI7Y2FzZSJsci10YiI6cmV0dXJuInhmYUxyVGIiO2Nhc2Uicmwtcm93IjpyZXR1cm4ieGZhUmxSb3ciO2Nhc2UicmwtdGIiOnJldHVybiJ4ZmFSbFRiIjtjYXNlInJvdyI6cmV0dXJuInhmYVJvdyI7Y2FzZSJ0YWJsZSI6cmV0dXJuInhmYVRhYmxlIjtjYXNlInRiIjpyZXR1cm4ieGZhVGIifX1mdW5jdGlvbiB0b1N0eWxlKGUsLi4udCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIHQpe2NvbnN0IHQ9ZVthXTtpZihudWxsIT09dClpZih2bi5oYXNPd25Qcm9wZXJ0eShhKSl2blthXShlLGkpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7Y29uc3QgZT10W0luXSgpO2U/T2JqZWN0LmFzc2lnbihpLGUpOndhcm4oYChERUJVRykgLSBYRkEgLSBzdHlsZSBmb3IgJHthfSBub3QgaW1wbGVtZW50ZWQgeWV0YCl9fXJldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZVdyYXBwZXIoZSx0KXtjb25zdHthdHRyaWJ1dGVzOml9PXQse3N0eWxlOmF9PWkscz17bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVdyYXBwZXIiXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbXX07aS5jbGFzcy5wdXNoKCJ4ZmFXcmFwcGVkIik7aWYoZS5ib3JkZXIpe2NvbnN0e3dpZHRoczppLGluc2V0czpyfT1lLmJvcmRlcltncl07bGV0IG4sZyxvPXJbMF0sYz1yWzNdO2NvbnN0IEM9clswXStyWzJdLGg9clsxXStyWzNdO3N3aXRjaChlLmJvcmRlci5oYW5kKXtjYXNlImV2ZW4iOm8tPWlbMF0vMjtjLT1pWzNdLzI7bj1gY2FsYygxMDAlICsgJHsoaVsxXStpWzNdKS8yLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAkeyhpWzBdK2lbMl0pLzItQ31weClgO2JyZWFrO2Nhc2UibGVmdCI6by09aVswXTtjLT1pWzNdO249YGNhbGMoMTAwJSArICR7aVsxXStpWzNdLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAke2lbMF0raVsyXS1DfXB4KWA7YnJlYWs7Y2FzZSJyaWdodCI6bj1oP2BjYWxjKDEwMCUgLSAke2h9cHgpYDoiMTAwJSI7Zz1DP2BjYWxjKDEwMCUgLSAke0N9cHgpYDoiMTAwJSJ9Y29uc3QgbD1bInhmYUJvcmRlciJdO2lzUHJpbnRPbmx5KGUuYm9yZGVyKSYmbC5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBRPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOmwsc3R5bGU6e3RvcDpgJHtvfXB4YCxsZWZ0OmAke2N9cHhgLHdpZHRoOm4saGVpZ2h0Omd9fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2ZbImJvcmRlciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSJdKWlmKHZvaWQgMCE9PWFbZV0pe1EuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuY2hpbGRyZW4ucHVzaChRLHQpfWVsc2Ugcy5jaGlsZHJlbi5wdXNoKHQpO2Zvcihjb25zdCBlIG9mWyJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENsaXAiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmlzaWJpbGl0eSJdKWlmKHZvaWQgMCE9PWFbZV0pe3MuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09YS5wb3NpdGlvbj8iYWJzb2x1dGUiOiJyZWxhdGl2ZSI7ZGVsZXRlIGEucG9zaXRpb247aWYoYS5hbGlnblNlbGYpe3MuYXR0cmlidXRlcy5zdHlsZS5hbGlnblNlbGY9YS5hbGlnblNlbGY7ZGVsZXRlIGEuYWxpZ25TZWxmfXJldHVybiBzfWZ1bmN0aW9uIGZpeFRleHRJbmRlbnQoZSl7Y29uc3QgdD1nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBweCIpO2lmKHQ+PTApcmV0dXJuO2NvbnN0IGk9InBhZGRpbmciKygibGVmdCI9PT0oInJpZ2h0Ij09PWUudGV4dEFsaWduPyJyaWdodCI6ImxlZnQiKT8iTGVmdCI6IlJpZ2h0IiksYT1nZXRNZWFzdXJlbWVudChlW2ldLCIwcHgiKTtlW2ldPWEtdCsicHgifWZ1bmN0aW9uIHNldEFjY2VzcyhlLHQpe3N3aXRjaChlLmFjY2Vzcyl7Y2FzZSJub25JbnRlcmFjdGl2ZSI6dC5wdXNoKCJ4ZmFOb25JbnRlcmFjdGl2ZSIpO2JyZWFrO2Nhc2UicmVhZE9ubHkiOnQucHVzaCgieGZhUmVhZE9ubHkiKTticmVhaztjYXNlInByb3RlY3RlZCI6dC5wdXNoKCJ4ZmFEaXNhYmxlZCIpfX1mdW5jdGlvbiBpc1ByaW50T25seShlKXtyZXR1cm4gZS5yZWxldmFudC5sZW5ndGg+MCYmIWUucmVsZXZhbnRbMF0uZXhjbHVkZWQmJiJwcmludCI9PT1lLnJlbGV2YW50WzBdLnZpZXduYW1lfWZ1bmN0aW9uIGdldEN1cnJlbnRQYXJhKGUpe2NvbnN0IHQ9ZVticl0oKVtncl0ucGFyYVN0YWNrO3JldHVybiB0Lmxlbmd0aD90LmF0KC0xKTpudWxsfWZ1bmN0aW9uIHNldFBhcmEoZSx0LGkpe2lmKGkuYXR0cmlidXRlcy5jbGFzcz8uaW5jbHVkZXMoInhmYVJpY2giKSl7aWYodCl7IiI9PT1lLmgmJih0LmhlaWdodD0iYXV0byIpOyIiPT09ZS53JiYodC53aWR0aD0iYXV0byIpfWNvbnN0IGE9Z2V0Q3VycmVudFBhcmEoZSk7aWYoYSl7Y29uc3QgZT1pLmF0dHJpYnV0ZXMuc3R5bGU7ZS5kaXNwbGF5PSJmbGV4IjtlLmZsZXhEaXJlY3Rpb249ImNvbHVtbiI7c3dpdGNoKGEudkFsaWduKXtjYXNlInRvcCI6ZS5qdXN0aWZ5Q29udGVudD0ic3RhcnQiO2JyZWFrO2Nhc2UiYm90dG9tIjplLmp1c3RpZnlDb250ZW50PSJlbmQiO2JyZWFrO2Nhc2UibWlkZGxlIjplLmp1c3RpZnlDb250ZW50PSJjZW50ZXIifWNvbnN0IHQ9YVtJbl0oKTtmb3IoY29uc3RbaSxhXW9mIE9iamVjdC5lbnRyaWVzKHQpKWkgaW4gZXx8KGVbaV09YSl9fX1mdW5jdGlvbiBzZXRGb250RmFtaWx5KGUsdCxpLGEpe2lmKCFpKXtkZWxldGUgYS5mb250RmFtaWx5O3JldHVybn1jb25zdCBzPXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpO2EuZm9udEZhbWlseT1gIiR7c30iYDtjb25zdCByPWkuZmluZChzKTtpZihyKXtjb25zdHtmb250RmFtaWx5Oml9PXIucmVndWxhci5jc3NGb250SW5mbztpIT09cyYmKGEuZm9udEZhbWlseT1gIiR7aX0iYCk7Y29uc3Qgbj1nZXRDdXJyZW50UGFyYSh0KTtpZihuJiYiIiE9PW4ubGluZUhlaWdodClyZXR1cm47aWYoYS5saW5lSGVpZ2h0KXJldHVybjtjb25zdCBnPXNlbGVjdEZvbnQoZSxyKTtnJiYoYS5saW5lSGVpZ2h0PU1hdGgubWF4KDEuMixnLmxpbmVIZWlnaHQpKX19ZnVuY3Rpb24gZml4VVJMKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLG51bGwse2FkZERlZmF1bHRQcm90b2NvbDohMCx0cnlDb252ZXJ0RW5jb2Rpbmc6ITB9KTtyZXR1cm4gdD90LmhyZWY6bnVsbH1mdW5jdGlvbiBjcmVhdGVMaW5lKGUsdCl7cmV0dXJue25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJsci10YiI9PT1lLmxheW91dD8ieGZhTHIiOiJ4ZmFSbCJdfSxjaGlsZHJlbjp0fX1mdW5jdGlvbiBmbHVzaEhUTUwoZSl7aWYoIWVbZ3JdKXJldHVybiBudWxsO2NvbnN0IHQ9e25hbWU6ImRpdiIsYXR0cmlidXRlczplW2dyXS5hdHRyaWJ1dGVzLGNoaWxkcmVuOmVbZ3JdLmNoaWxkcmVufTtpZihlW2dyXS5mYWlsaW5nTm9kZSl7Y29uc3QgaT1lW2dyXS5mYWlsaW5nTm9kZVtJcl0oKTtpJiYoZS5sYXlvdXQuZW5kc1dpdGgoIi10YiIpP3QuY2hpbGRyZW4ucHVzaChjcmVhdGVMaW5lKGUsW2ldKSk6dC5jaGlsZHJlbi5wdXNoKGkpKX1yZXR1cm4gMD09PXQuY2hpbGRyZW4ubGVuZ3RoP251bGw6dH1mdW5jdGlvbiBhZGRIVE1MKGUsdCxpKXtjb25zdCBhPWVbZ3JdLHM9YS5hdmFpbGFibGVTcGFjZSxbcixuLGcsb109aTtzd2l0Y2goZS5sYXlvdXQpe2Nhc2UicG9zaXRpb24iOmEud2lkdGg9TWF0aC5tYXgoYS53aWR0aCxyK2cpO2EuaGVpZ2h0PU1hdGgubWF4KGEuaGVpZ2h0LG4rbyk7YS5jaGlsZHJlbi5wdXNoKHQpO2JyZWFrO2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOmlmKCFhLmxpbmV8fDE9PT1hLmF0dGVtcHQpe2EubGluZT1jcmVhdGVMaW5lKGUsW10pO2EuY2hpbGRyZW4ucHVzaChhLmxpbmUpO2EubnVtYmVySW5MaW5lPTB9YS5udW1iZXJJbkxpbmUrPTE7YS5saW5lLmNoaWxkcmVuLnB1c2godCk7aWYoMD09PWEuYXR0ZW1wdCl7YS5jdXJyZW50V2lkdGgrPWc7YS5oZWlnaHQ9TWF0aC5tYXgoYS5oZWlnaHQsYS5wcmV2SGVpZ2h0K28pfWVsc2V7YS5jdXJyZW50V2lkdGg9ZzthLnByZXZIZWlnaHQ9YS5oZWlnaHQ7YS5oZWlnaHQrPW87YS5hdHRlbXB0PTB9YS53aWR0aD1NYXRoLm1heChhLndpZHRoLGEuY3VycmVudFdpZHRoKTticmVhaztjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnthLmNoaWxkcmVuLnB1c2godCk7YS53aWR0aCs9ZzthLmhlaWdodD1NYXRoLm1heChhLmhlaWdodCxvKTtjb25zdCBlPW1lYXN1cmVUb1N0cmluZyhhLmhlaWdodCk7Zm9yKGNvbnN0IHQgb2YgYS5jaGlsZHJlbil0LmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PWU7YnJlYWt9Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6YS53aWR0aD1NYXRoLm1pbihzLndpZHRoLE1hdGgubWF4KGEud2lkdGgsZykpO2EuaGVpZ2h0Kz1vO2EuY2hpbGRyZW4ucHVzaCh0KX19ZnVuY3Rpb24gZ2V0QXZhaWxhYmxlU3BhY2UoZSl7Y29uc3QgdD1lW2dyXS5hdmFpbGFibGVTcGFjZSxpPWUubWFyZ2luP2UubWFyZ2luLnRvcEluc2V0K2UubWFyZ2luLmJvdHRvbUluc2V0OjAsYT1lLm1hcmdpbj9lLm1hcmdpbi5sZWZ0SW5zZXQrZS5tYXJnaW4ucmlnaHRJbnNldDowO3N3aXRjaChlLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1lW2dyXS5hdHRlbXB0P3t3aWR0aDp0LndpZHRoLWEtZVtncl0uY3VycmVudFdpZHRoLGhlaWdodDp0LmhlaWdodC1pLWVbZ3JdLnByZXZIZWlnaHR9Ont3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtncl0uaGVpZ2h0fTtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybnt3aWR0aDplW2dyXS5jb2x1bW5XaWR0aHMuc2xpY2UoZVtncl0uY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSksaGVpZ2h0OnQuaGVpZ2h0LWF9O2Nhc2UidGFibGUiOmNhc2UidGIiOnJldHVybnt3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtncl0uaGVpZ2h0fTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBjaGVja0RpbWVuc2lvbnMoZSx0KXtpZihudWxsPT09ZVticl0oKVtncl0uZmlyc3RVbnNwbGl0dGFibGUpcmV0dXJuITA7aWYoMD09PWUud3x8MD09PWUuaClyZXR1cm4hMDtjb25zdCBpPWVbd3JdKCksYT1pW2dyXT8uYXR0ZW1wdHx8MCxbLHMscixuXT1mdW5jdGlvbiBnZXRUcmFuc2Zvcm1lZEJCb3goZSl7bGV0IHQsaSxhPSIiPT09ZS53P05hTjplLncscz0iIj09PWUuaD9OYU46ZS5oLFtyLG5dPVswLDBdO3N3aXRjaChlLmFuY2hvclR5cGV8fCIiKXtjYXNlImJvdHRvbUNlbnRlciI6W3Isbl09W2EvMixzXTticmVhaztjYXNlImJvdHRvbUxlZnQiOltyLG5dPVswLHNdO2JyZWFrO2Nhc2UiYm90dG9tUmlnaHQiOltyLG5dPVthLHNdO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjpbcixuXT1bYS8yLHMvMl07YnJlYWs7Y2FzZSJtaWRkbGVMZWZ0IjpbcixuXT1bMCxzLzJdO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOltyLG5dPVthLHMvMl07YnJlYWs7Y2FzZSJ0b3BDZW50ZXIiOltyLG5dPVthLzIsMF07YnJlYWs7Y2FzZSJ0b3BSaWdodCI6W3Isbl09W2EsMF19c3dpdGNoKGUucm90YXRlfHwwKXtjYXNlIDA6W3QsaV09Wy1yLC1uXTticmVhaztjYXNlIDkwOlt0LGldPVstbixyXTtbYSxzXT1bcywtYV07YnJlYWs7Y2FzZSAxODA6W3QsaV09W3Isbl07W2Esc109Wy1hLC1zXTticmVhaztjYXNlIDI3MDpbdCxpXT1bbiwtcl07W2Esc109Wy1zLGFdfXJldHVybltlLngrdCtNYXRoLm1pbigwLGEpLGUueStpK01hdGgubWluKDAscyksTWF0aC5hYnMoYSksTWF0aC5hYnMocyldfShlKTtzd2l0Y2goaS5sYXlvdXQpe2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOnJldHVybiAwPT09YT9lW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmU/IiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yOnQud2lkdGg+MjohKCIiIT09ZS5oJiZNYXRoLnJvdW5kKG4tdC5oZWlnaHQpPjIpJiYoIiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwwPT09aVtncl0ubnVtYmVySW5MaW5lJiZ0LmhlaWdodD4yOnQud2lkdGg+Mik6ISFlW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmV8fCEoIiIhPT1lLmgmJk1hdGgucm91bmQobi10LmhlaWdodCk+MikmJigoIiI9PT1lLnd8fE1hdGgucm91bmQoci10LndpZHRoKTw9Mnx8IWlbSnJdKCkpJiZ0LmhlaWdodD4yKTtjYXNlInRhYmxlIjpjYXNlInRiIjpyZXR1cm4hIWVbYnJdKClbZ3JdLm5vTGF5b3V0RmFpbHVyZXx8KCIiPT09ZS5ofHxlW0hyXSgpPygiIj09PWUud3x8TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwhaVtKcl0oKSkmJnQuaGVpZ2h0PjI6TWF0aC5yb3VuZChuLXQuaGVpZ2h0KTw9Mik7Y2FzZSJwb3NpdGlvbiI6aWYoZVticl0oKVtncl0ubm9MYXlvdXRGYWlsdXJlKXJldHVybiEwO2lmKCIiPT09ZS5ofHxNYXRoLnJvdW5kKG4rcy10LmhlaWdodCk8PTIpcmV0dXJuITA7cmV0dXJuIG4rcz5lW2JyXSgpW2dyXS5jdXJyZW50Q29udGVudEFyZWEuaDtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybiEhZVticl0oKVtncl0ubm9MYXlvdXRGYWlsdXJlfHwoIiI9PT1lLmh8fE1hdGgucm91bmQobi10LmhlaWdodCk8PTIpO2RlZmF1bHQ6cmV0dXJuITB9fWNvbnN0IEtuPWhuLnRlbXBsYXRlLmlkLFRuPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIscW49L15IKFxkKykkLyxPbj1uZXcgU2V0KFsiaW1hZ2UvZ2lmIiwiaW1hZ2UvanBlZyIsImltYWdlL2pwZyIsImltYWdlL3BqcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvYXBuZyIsImltYWdlL3gtcG5nIiwiaW1hZ2UvYm1wIiwiaW1hZ2UveC1tcy1ibXAiLCJpbWFnZS90aWZmIiwiaW1hZ2UvdGlmIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIl0pLFBuPVtbWzY2LDc3XSwiaW1hZ2UvYm1wIl0sW1syNTUsMjE2LDI1NV0sImltYWdlL2pwZWciXSxbWzczLDczLDQyLDBdLCJpbWFnZS90aWZmIl0sW1s3Nyw3NywwLDQyXSwiaW1hZ2UvdGlmZiJdLFtbNzEsNzMsNzAsNTYsNTcsOTddLCJpbWFnZS9naWYiXSxbWzEzNyw4MCw3OCw3MSwxMywxMCwyNiwxMF0sImltYWdlL3BuZyJdXTtmdW5jdGlvbiBnZXRCb3JkZXJEaW1zKGUpe2lmKCFlfHwhZS5ib3JkZXIpcmV0dXJue3c6MCxoOjB9O2NvbnN0IHQ9ZS5ib3JkZXJbZHJdKCk7cmV0dXJuIHQ/e3c6dC53aWR0aHNbMF0rdC53aWR0aHNbMl0rdC5pbnNldHNbMF0rdC5pbnNldHNbMl0saDp0LndpZHRoc1sxXSt0LndpZHRoc1szXSt0Lmluc2V0c1sxXSt0Lmluc2V0c1szXX06e3c6MCxoOjB9fWZ1bmN0aW9uIGhhc01hcmdpbihlKXtyZXR1cm4gZS5tYXJnaW4mJihlLm1hcmdpbi50b3BJbnNldHx8ZS5tYXJnaW4ucmlnaHRJbnNldHx8ZS5tYXJnaW4uYm90dG9tSW5zZXR8fGUubWFyZ2luLmxlZnRJbnNldCl9ZnVuY3Rpb24gX3NldFZhbHVlKGUsdCl7aWYoIWUudmFsdWUpe2NvbnN0IHQ9bmV3IFZhbHVlKHt9KTtlW19zXSh0KTtlLnZhbHVlPXR9ZS52YWx1ZVthbl0odCl9ZnVuY3Rpb24qZ2V0Q29udGFpbmVkQ2hpbGRyZW4oZSl7Zm9yKGNvbnN0IHQgb2YgZVtwcl0oKSl0IGluc3RhbmNlb2YgU3ViZm9ybVNldD95aWVsZCp0W21yXSgpOnlpZWxkIHR9ZnVuY3Rpb24gaXNSZXF1aXJlZChlKXtyZXR1cm4iZXJyb3IiPT09ZS52YWxpZGF0ZT8ubnVsbFRlc3R9ZnVuY3Rpb24gc2V0VGFiSW5kZXgoZSl7Zm9yKDtlOyl7aWYoIWUudHJhdmVyc2FsKXtlW3NuXT1lW0RyXSgpW3NuXTtyZXR1cm59aWYoZVtzbl0pcmV0dXJuO2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgZS50cmF2ZXJzYWxbcHJdKCkpaWYoIm5leHQiPT09aS5vcGVyYXRpb24pe3Q9aTticmVha31pZighdHx8IXQucmVmKXtlW3NuXT1lW0RyXSgpW3NuXTtyZXR1cm59Y29uc3QgaT1lW2JyXSgpO2Vbc25dPSsraVtzbl07Y29uc3QgYT1pW0FuXSh0LnJlZixlKTtpZighYSlyZXR1cm47ZT1hWzBdfX1mdW5jdGlvbiBhcHBseUFzc2lzdChlLHQpe2NvbnN0IGk9ZS5hc3Npc3Q7aWYoaSl7Y29uc3QgZT1pW2duXSgpO2UmJih0LnRpdGxlPWUpO2NvbnN0IGE9aS5yb2xlLm1hdGNoKHFuKTtpZihhKXtjb25zdCBlPSJoZWFkaW5nIixpPWFbMV07dC5yb2xlPWU7dFsiYXJpYS1sZXZlbCJdPWl9fWlmKCJ0YWJsZSI9PT1lLmxheW91dCl0LnJvbGU9InRhYmxlIjtlbHNlIGlmKCJyb3ciPT09ZS5sYXlvdXQpdC5yb2xlPSJyb3ciO2Vsc2V7Y29uc3QgaT1lW0RyXSgpOyJyb3ciPT09aS5sYXlvdXQmJih0LnJvbGU9IlRIIj09PWkuYXNzaXN0Py5yb2xlPyJjb2x1bW5oZWFkZXIiOiJjZWxsIil9fWZ1bmN0aW9uIGFyaWFMYWJlbChlKXtpZighZS5hc3Npc3QpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmFzc2lzdDtyZXR1cm4gdC5zcGVhayYmIiIhPT10LnNwZWFrW3NyXT90LnNwZWFrW3NyXTp0LnRvb2xUaXA/dC50b29sVGlwW3NyXTpudWxsfWZ1bmN0aW9uIHZhbHVlVG9IdG1sKGUpe3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6T2JqZWN0LmNyZWF0ZShudWxsKX0sY2hpbGRyZW46W3tuYW1lOiJzcGFuIixhdHRyaWJ1dGVzOntzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSx2YWx1ZTplfV19KX1mdW5jdGlvbiBzZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbYnJdKCk7aWYobnVsbD09PXRbZ3JdLmZpcnN0VW5zcGxpdHRhYmxlKXt0W2dyXS5maXJzdFVuc3BsaXR0YWJsZT1lO3RbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMH19ZnVuY3Rpb24gdW5zZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbYnJdKCk7dFtncl0uZmlyc3RVbnNwbGl0dGFibGU9PT1lJiYodFtncl0ubm9MYXlvdXRGYWlsdXJlPSExKX1mdW5jdGlvbiBoYW5kbGVCcmVhayhlKXtpZihlW2dyXSlyZXR1cm4hMTtlW2dyXT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSlyZXR1cm4hMTtjb25zdCB0PWVbYnJdKCk7bGV0IGk9bnVsbDtpZihlLnRhcmdldCl7aT10W0FuXShlLnRhcmdldCxlW0RyXSgpKTtpZighaSlyZXR1cm4hMTtpPWlbMF19Y29uc3R7Y3VycmVudFBhZ2VBcmVhOmEsY3VycmVudENvbnRlbnRBcmVhOnN9PXRbZ3JdO2lmKCJwYWdlQXJlYSI9PT1lLnRhcmdldFR5cGUpe2kgaW5zdGFuY2VvZiBQYWdlQXJlYXx8KGk9bnVsbCk7aWYoZS5zdGFydE5ldyl7ZVtncl0udGFyZ2V0PWl8fGE7cmV0dXJuITB9aWYoaSYmaSE9PWEpe2VbZ3JdLnRhcmdldD1pO3JldHVybiEwfXJldHVybiExfWkgaW5zdGFuY2VvZiBDb250ZW50QXJlYXx8KGk9bnVsbCk7Y29uc3Qgcj1pJiZpW0RyXSgpO2xldCBuLGc9cjtpZihlLnN0YXJ0TmV3KWlmKGkpe2NvbnN0IGU9ci5jb250ZW50QXJlYS5jaGlsZHJlbix0PWUuaW5kZXhPZihzKSxhPWUuaW5kZXhPZihpKTstMSE9PXQmJnQ8YSYmKGc9bnVsbCk7bj1hLTF9ZWxzZSBuPWEuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihzKTtlbHNle2lmKCFpfHxpPT09cylyZXR1cm4hMTtuPXIuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihpKS0xO2c9cj09PWE/bnVsbDpyfWVbZ3JdLnRhcmdldD1nO2VbZ3JdLmluZGV4PW47cmV0dXJuITB9ZnVuY3Rpb24gaGFuZGxlT3ZlcmZsb3coZSx0LGkpe2NvbnN0IGE9ZVticl0oKSxzPWFbZ3JdLm5vTGF5b3V0RmFpbHVyZSxyPXRbd3JdO3Rbd3JdPSgpPT5lO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMDtjb25zdCBuPXRbZ25dKGkpO2VbenNdKG4uaHRtbCxuLmJib3gpO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT1zO3Rbd3JdPXJ9Y2xhc3MgQXBwZWFyYW5jZUZpbHRlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYXBwZWFyYW5jZUZpbHRlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQXJjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJhcmMiLCEwKTt0aGlzLmNpcmN1bGFyPWdldEludGVnZXIoe2RhdGE6ZS5jaXJjdWxhcixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc3RhcnRBbmdsZT1nZXRGbG9hdCh7ZGF0YTplLnN0YXJ0QW5nbGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnN3ZWVwQW5nbGU9Z2V0RmxvYXQoe2RhdGE6ZS5zd2VlcEFuZ2xlLGRlZmF1bHRWYWx1ZTozNjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGw7dGhpcy5maWxsPW51bGx9W2duXSgpe2NvbnN0IGU9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksdD1lW0luXSgpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlP09iamVjdC5hc3NpZ24oaSx0aGlzLmZpbGxbSW5dKCkpOmkuZmlsbD0idHJhbnNwYXJlbnQiO2kuc3Ryb2tlV2lkdGg9bWVhc3VyZVRvU3RyaW5nKCJ2aXNpYmxlIj09PWUucHJlc2VuY2U/ZS50aGlja25lc3M6MCk7aS5zdHJva2U9dC5jb2xvcjtsZXQgYTtjb25zdCBzPXt4bWxuczpUbixzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6InZpc2libGUifX07aWYoMzYwPT09dGhpcy5zd2VlcEFuZ2xlKWE9e25hbWU6ImVsbGlwc2UiLGF0dHJpYnV0ZXM6e3htbG5zOlRuLGN4OiI1MCUiLGN5OiI1MCUiLHJ4OiI1MCUiLHJ5OiI1MCUiLHN0eWxlOml9fTtlbHNle2NvbnN0IGU9dGhpcy5zdGFydEFuZ2xlKk1hdGguUEkvMTgwLHQ9dGhpcy5zd2VlcEFuZ2xlKk1hdGguUEkvMTgwLHI9dGhpcy5zd2VlcEFuZ2xlPjE4MD8xOjAsW24sZyxvLGNdPVs1MCooMStNYXRoLmNvcyhlKSksNTAqKDEtTWF0aC5zaW4oZSkpLDUwKigxK01hdGguY29zKGUrdCkpLDUwKigxLU1hdGguc2luKGUrdCkpXTthPXtuYW1lOiJwYXRoIixhdHRyaWJ1dGVzOnt4bWxuczpUbixkOmBNICR7bn0gJHtnfSBBIDUwIDUwIDAgJHtyfSAwICR7b30gJHtjfWAsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOml9fTtPYmplY3QuYXNzaWduKHMse3ZpZXdCb3g6IjAgMCAxMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0pfWNvbnN0IHI9e25hbWU6InN2ZyIsY2hpbGRyZW46W2FdLGF0dHJpYnV0ZXM6c307aWYoaGFzTWFyZ2luKHRoaXNbRHJdKClbRHJdKCkpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6e2Rpc3BsYXk6ImlubGluZSIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fSxjaGlsZHJlbjpbcl19KTtyLmF0dHJpYnV0ZXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIpfX1jbGFzcyBBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJhcmVhIiwhMCk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtZcl0oKXtyZXR1cm4hMH1beHJdKCl7cmV0dXJuITB9W3pzXShlLHQpe2NvbnN0W2ksYSxzLHJdPXQ7dGhpc1tncl0ud2lkdGg9TWF0aC5tYXgodGhpc1tncl0ud2lkdGgsaStzKTt0aGlzW2dyXS5oZWlnaHQ9TWF0aC5tYXgodGhpc1tncl0uaGVpZ2h0LGErcik7dGhpc1tncl0uY2hpbGRyZW4ucHVzaChlKX1baHJdKCl7cmV0dXJuIHRoaXNbZ3JdLmF2YWlsYWJsZVNwYWNlfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsInBvc2l0aW9uIiksaT17c3R5bGU6dCxpZDp0aGlzW2NuXSxjbGFzczpbInhmYUFyZWEiXX07aXNQcmludE9ubHkodGhpcykmJmkuY2xhc3MucHVzaCgieGZhUHJpbnRPbmx5Iik7dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgYT1bXTt0aGlzW2dyXT17Y2hpbGRyZW46YSx3aWR0aDowLGhlaWdodDowLGF2YWlsYWJsZVNwYWNlOmV9O2NvbnN0IHM9dGhpc1skc10oe2ZpbHRlcjpuZXcgU2V0KFsiYXJlYSIsImRyYXciLCJmaWVsZCIsImV4Y2xHcm91cCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pLGluY2x1ZGU6ITB9KTtpZighcy5zdWNjZXNzKXtpZihzLmlzQnJlYWsoKSlyZXR1cm4gcztkZWxldGUgdGhpc1tncl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX10LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzW2dyXS53aWR0aCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXNbZ3JdLmhlaWdodCk7Y29uc3Qgcj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmksY2hpbGRyZW46YX0sbj1bdGhpcy54LHRoaXMueSx0aGlzW2dyXS53aWR0aCx0aGlzW2dyXS5oZWlnaHRdO2RlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIsbil9fWNsYXNzIEFzc2lzdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYXNzaXN0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJvbGU9ZS5yb2xlfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zcGVhaz1udWxsO3RoaXMudG9vbFRpcD1udWxsfVtnbl0oKXtyZXR1cm4gdGhpcy50b29sVGlwPy5bc3JdfHxudWxsfX1jbGFzcyBCYXJjb2RlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJiYXJjb2RlIiwhMCk7dGhpcy5jaGFyRW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLmNoYXJFbmNvZGluZz9lLmNoYXJFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy5jaGVja3N1bT1nZXRTdHJpbmdPcHRpb24oZS5jaGVja3N1bSxbIm5vbmUiLCIxbW9kMTAiLCIxbW9kMTBfMW1vZDExIiwiMm1vZDEwIiwiYXV0byJdKTt0aGlzLmRhdGFDb2x1bW5Db3VudD1nZXRJbnRlZ2VyKHtkYXRhOmUuZGF0YUNvbHVtbkNvdW50LGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhTGVuZ3RoPWdldEludGVnZXIoe2RhdGE6ZS5kYXRhTGVuZ3RoLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhUHJlcD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhUHJlcCxbIm5vbmUiLCJmbGF0ZUNvbXByZXNzIl0pO3RoaXMuZGF0YVJvd0NvdW50PWdldEludGVnZXIoe2RhdGE6ZS5kYXRhUm93Q291bnQsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmVuZENoYXI9ZS5lbmRDaGFyfHwiIjt0aGlzLmVycm9yQ29ycmVjdGlvbkxldmVsPWdldEludGVnZXIoe2RhdGE6ZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9OH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tb2R1bGVIZWlnaHQ9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVIZWlnaHQsIjVtbSIpO3RoaXMubW9kdWxlV2lkdGg9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVXaWR0aCwiMC4yNW1tIik7dGhpcy5wcmludENoZWNrRGlnaXQ9Z2V0SW50ZWdlcih7ZGF0YTplLnByaW50Q2hlY2tEaWdpdCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucm93Q29sdW1uUmF0aW89Z2V0UmF0aW8oZS5yb3dDb2x1bW5SYXRpbyk7dGhpcy5zdGFydENoYXI9ZS5zdGFydENoYXJ8fCIiO3RoaXMudGV4dExvY2F0aW9uPWdldFN0cmluZ09wdGlvbihlLnRleHRMb2NhdGlvbixbImJlbG93IiwiYWJvdmUiLCJhYm92ZUVtYmVkZGVkIiwiYmVsb3dFbWJlZGRlZCIsIm5vbmUiXSk7dGhpcy50cnVuY2F0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUudHJ1bmNhdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZT9lLnR5cGUudG9Mb3dlckNhc2UoKToiIixbImF6dGVjIiwiY29kYWJhciIsImNvZGUyb2Y1aW5kdXN0cmlhbCIsImNvZGUyb2Y1aW50ZXJsZWF2ZWQiLCJjb2RlMm9mNW1hdHJpeCIsImNvZGUyb2Y1c3RhbmRhcmQiLCJjb2RlM29mOSIsImNvZGUzb2Y5ZXh0ZW5kZWQiLCJjb2RlMTEiLCJjb2RlNDkiLCJjb2RlOTMiLCJjb2RlMTI4IiwiY29kZTEyOGEiLCJjb2RlMTI4YiIsImNvZGUxMjhjIiwiY29kZTEyOHNzY2MiLCJkYXRhbWF0cml4IiwiZWFuOCIsImVhbjhhZGQyIiwiZWFuOGFkZDUiLCJlYW4xMyIsImVhbjEzYWRkMiIsImVhbjEzYWRkNSIsImVhbjEzcHdjZCIsImZpbSIsImxvZ21hcnMiLCJtYXhpY29kZSIsIm1zaSIsInBkZjQxNyIsInBkZjQxN21hY3JvIiwicGxlc3NleSIsInBvc3RhdXNjdXN0MiIsInBvc3RhdXNjdXN0MyIsInBvc3RhdXNyZXBseXBhaWQiLCJwb3N0YXVzc3RhbmRhcmQiLCJwb3N0dWtybTRzY2MiLCJwb3N0dXNkcGJjIiwicG9zdHVzaW1iIiwicG9zdHVzc3RhbmRhcmQiLCJwb3N0dXM1emlwIiwicXJjb2RlIiwicmZpZCIsInJzczE0IiwicnNzMTRleHBhbmRlZCIsInJzczE0bGltaXRlZCIsInJzczE0c3RhY2tlZCIsInJzczE0c3RhY2tlZG9tbmkiLCJyc3MxNHRydW5jYXRlZCIsInRlbGVwZW4iLCJ1Y2MxMjgiLCJ1Y2MxMjhyYW5kb20iLCJ1Y2MxMjhzc2NjIiwidXBjYSIsInVwY2FhZGQyIiwidXBjYWFkZDUiLCJ1cGNhcHdjZCIsInVwY2UiLCJ1cGNlYWRkMiIsInVwY2VhZGQ1IiwidXBjZWFuMiIsInVwY2VhbjUiLCJ1cHNtYXhpY29kZSJdKTt0aGlzLnVwc01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUudXBzTW9kZSxbInVzQ2FycmllciIsImludGVybmF0aW9uYWxDYXJyaWVyIiwic2VjdXJlU3ltYm9sIiwic3RhbmRhcmRTeW1ib2wiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMud2lkZU5hcnJvd1JhdGlvPWdldFJhdGlvKGUud2lkZU5hcnJvd1JhdGlvKTt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBCaW5kIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJiaW5kIiwhMCk7dGhpcy5tYXRjaD1nZXRTdHJpbmdPcHRpb24oZS5tYXRjaCxbIm9uY2UiLCJkYXRhUmVmIiwiZ2xvYmFsIiwibm9uZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIEJpbmRJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYmluZEl0ZW1zIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5sYWJlbFJlZj1lLmxhYmVsUmVmfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy52YWx1ZVJlZj1lLnZhbHVlUmVmfHwiIn19Y2xhc3MgQm9va2VuZCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYm9va2VuZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQm9vbGVhbkVsZW1lbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYm9vbGVhbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKDE9PT10aGlzW3NyXT8iMSI6IjAiKX19Y2xhc3MgQm9yZGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJib3JkZXIiLCEwKTt0aGlzLmJyZWFrPWdldFN0cmluZ09wdGlvbihlLmJyZWFrLFsiY2xvc2UiLCJvcGVuIl0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZpbGw9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtkcl0oKXtpZighdGhpc1tncl0pe2NvbnN0IGU9dGhpcy5lZGdlLmNoaWxkcmVuLnNsaWNlKCk7aWYoZS5sZW5ndGg8NCl7Y29uc3QgdD1lLmF0KC0xKXx8bmV3IEVkZ2Uoe30pO2ZvcihsZXQgaT1lLmxlbmd0aDtpPDQ7aSsrKWUucHVzaCh0KX1jb25zdCB0PWUubWFwKChlPT5lLnRoaWNrbmVzcykpLGk9WzAsMCwwLDBdO2lmKHRoaXMubWFyZ2luKXtpWzBdPXRoaXMubWFyZ2luLnRvcEluc2V0O2lbMV09dGhpcy5tYXJnaW4ucmlnaHRJbnNldDtpWzJdPXRoaXMubWFyZ2luLmJvdHRvbUluc2V0O2lbM109dGhpcy5tYXJnaW4ubGVmdEluc2V0fXRoaXNbZ3JdPXt3aWR0aHM6dCxpbnNldHM6aSxlZGdlczplfX1yZXR1cm4gdGhpc1tncl19W0luXSgpe2NvbnN0e2VkZ2VzOmV9PXRoaXNbZHJdKCksdD1lLm1hcCgoZT0+e2NvbnN0IHQ9ZVtJbl0oKTt0LmNvbG9yfHw9IiMwMDAwMDAiO3JldHVybiB0fSkpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLm1hcmdpbiYmT2JqZWN0LmFzc2lnbihpLHRoaXMubWFyZ2luW0luXSgpKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlJiZPYmplY3QuYXNzaWduKGksdGhpcy5maWxsW0luXSgpKTtpZih0aGlzLmNvcm5lci5jaGlsZHJlbi5zb21lKChlPT4wIT09ZS5yYWRpdXMpKSl7Y29uc3QgZT10aGlzLmNvcm5lci5jaGlsZHJlbi5tYXAoKGU9PmVbSW5dKCkpKTtpZigyPT09ZS5sZW5ndGh8fDM9PT1lLmxlbmd0aCl7Y29uc3QgdD1lLmF0KC0xKTtmb3IobGV0IGk9ZS5sZW5ndGg7aTw0O2krKyllLnB1c2godCl9aS5ib3JkZXJSYWRpdXM9ZS5tYXAoKGU9PmUucmFkaXVzKSkuam9pbigiICIpfXN3aXRjaCh0aGlzLnByZXNlbmNlKXtjYXNlImludmlzaWJsZSI6Y2FzZSJoaWRkZW4iOmkuYm9yZGVyU3R5bGU9IiI7YnJlYWs7Y2FzZSJpbmFjdGl2ZSI6aS5ib3JkZXJTdHlsZT0ibm9uZSI7YnJlYWs7ZGVmYXVsdDppLmJvcmRlclN0eWxlPXQubWFwKChlPT5lLnN0eWxlKSkuam9pbigiICIpfWkuYm9yZGVyV2lkdGg9dC5tYXAoKGU9PmUud2lkdGgpKS5qb2luKCIgIik7aS5ib3JkZXJDb2xvcj10Lm1hcCgoZT0+ZS5jb2xvcikpLmpvaW4oIiAiKTtyZXR1cm4gaX19Y2xhc3MgQnJlYWsgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImJyZWFrIiwhMCk7dGhpcy5hZnRlcj1nZXRTdHJpbmdPcHRpb24oZS5hZnRlcixbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIiwicGFnZUV2ZW4iLCJwYWdlT2RkIl0pO3RoaXMuYWZ0ZXJUYXJnZXQ9ZS5hZnRlclRhcmdldHx8IiI7dGhpcy5iZWZvcmU9Z2V0U3RyaW5nT3B0aW9uKGUuYmVmb3JlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiLCJwYWdlRXZlbiIsInBhZ2VPZGQiXSk7dGhpcy5iZWZvcmVUYXJnZXQ9ZS5iZWZvcmVUYXJnZXR8fCIiO3RoaXMuYm9va2VuZExlYWRlcj1lLmJvb2tlbmRMZWFkZXJ8fCIiO3RoaXMuYm9va2VuZFRyYWlsZXI9ZS5ib29rZW5kVHJhaWxlcnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJmbG93TGVhZGVyPWUub3ZlcmZsb3dMZWFkZXJ8fCIiO3RoaXMub3ZlcmZsb3dUYXJnZXQ9ZS5vdmVyZmxvd1RhcmdldHx8IiI7dGhpcy5vdmVyZmxvd1RyYWlsZXI9ZS5vdmVyZmxvd1RyYWlsZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEJyZWFrQWZ0ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImJyZWFrQWZ0ZXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfX1jbGFzcyBCcmVha0JlZm9yZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYnJlYWtCZWZvcmUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfVtnbl0oZSl7dGhpc1tncl09e307cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX19Y2xhc3MgQnV0dG9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJidXR0b24iLCEwKTt0aGlzLmhpZ2hsaWdodD1nZXRTdHJpbmdPcHRpb24oZS5oaWdobGlnaHQsWyJpbnZlcnRlZCIsIm5vbmUiLCJvdXRsaW5lIiwicHVzaCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtnbl0oZSl7Y29uc3QgdD10aGlzW0RyXSgpW0RyXSgpLGk9e25hbWU6ImJ1dHRvbiIsYXR0cmlidXRlczp7aWQ6dGhpc1tjbl0sY2xhc3M6WyJ4ZmFCdXR0b24iXSxzdHlsZTp7fX0sY2hpbGRyZW46W119O2Zvcihjb25zdCBlIG9mIHQuZXZlbnQuY2hpbGRyZW4pe2lmKCJjbGljayIhPT1lLmFjdGl2aXR5fHwhZS5zY3JpcHQpY29udGludWU7Y29uc3QgdD1yZWNvdmVySnNVUkwoZS5zY3JpcHRbc3JdKTtpZighdCljb250aW51ZTtjb25zdCBhPWZpeFVSTCh0LnVybCk7YSYmaS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJhIixhdHRyaWJ1dGVzOntpZDoibGluayIrdGhpc1tjbl0saHJlZjphLG5ld1dpbmRvdzp0Lm5ld1dpbmRvdyxjbGFzczpbInhmYUxpbmsiXSxzdHlsZTp7fX0sY2hpbGRyZW46W119KX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGkpfX1jbGFzcyBDYWxjdWxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNhbGN1bGF0ZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vdmVycmlkZT1nZXRTdHJpbmdPcHRpb24oZS5vdmVycmlkZSxbImRpc2FibGVkIiwiZXJyb3IiLCJpZ25vcmUiLCJ3YXJuaW5nIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVzc2FnZT1udWxsO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIENhcHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNhcHRpb24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGxhY2VtZW50PWdldFN0cmluZ09wdGlvbihlLnBsYWNlbWVudCxbImxlZnQiLCJib3R0b20iLCJpbmxpbmUiLCJyaWdodCIsInRvcCJdKTt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVzZXJ2ZT1NYXRoLmNlaWwoZ2V0TWVhc3VyZW1lbnQoZS5yZXNlcnZlKSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5mb250PW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnZhbHVlPW51bGx9W2FuXShlKXtfc2V0VmFsdWUodGhpcyxlKX1bZHJdKGUpe2lmKCF0aGlzW2dyXSl7bGV0e3dpZHRoOnQsaGVpZ2h0Oml9PWU7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0PXRoaXMucmVzZXJ2ZTw9MD90OnRoaXMucmVzZXJ2ZTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmk9dGhpcy5yZXNlcnZlPD0wP2k6dGhpcy5yZXNlcnZlfXRoaXNbZ3JdPWxheW91dE5vZGUodGhpcyx7d2lkdGg6dCxoZWlnaHQ6aX0pfXJldHVybiB0aGlzW2dyXX1bZ25dKGUpe2lmKCF0aGlzLnZhbHVlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLnZhbHVlW2duXShlKS5odG1sO2lmKCF0KXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IGk9dGhpcy5yZXNlcnZlO2lmKHRoaXMucmVzZXJ2ZTw9MCl7Y29uc3R7dzp0LGg6aX09dGhpc1tkcl0oZSk7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0aGlzLnJlc2VydmU9dDticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOnRoaXMucmVzZXJ2ZT1pfX1jb25zdCBhPVtdOyJzdHJpbmciPT10eXBlb2YgdD9hLnB1c2goe25hbWU6IiN0ZXh0Iix2YWx1ZTp0fSk6YS5wdXNoKHQpO2NvbnN0IHM9dG9TdHlsZSh0aGlzLCJmb250IiwibWFyZ2luIiwidmlzaWJpbGl0eSIpO3N3aXRjaCh0aGlzLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0Ijp0aGlzLnJlc2VydmU+MCYmKHMud2lkdGg9bWVhc3VyZVRvU3RyaW5nKHRoaXMucmVzZXJ2ZSkpO2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6dGhpcy5yZXNlcnZlPjAmJihzLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5yZXNlcnZlKSl9c2V0UGFyYSh0aGlzLG51bGwsdCk7dGhpc1tacl0oKTt0aGlzLnJlc2VydmU9aTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOnMsY2xhc3M6WyJ4ZmFDYXB0aW9uIl19LGNoaWxkcmVuOmF9KX19Y2xhc3MgQ2VydGlmaWNhdGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNlcnRpZmljYXRlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIENlcnRpZmljYXRlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY2VydGlmaWNhdGVzIiwhMCk7dGhpcy5jcmVkZW50aWFsU2VydmVyUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmNyZWRlbnRpYWxTZXJ2ZXJQb2xpY3ksWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51cmw9ZS51cmx8fCIiO3RoaXMudXJsUG9saWN5PWUudXJsUG9saWN5fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5pc3N1ZXJzPW51bGw7dGhpcy5rZXlVc2FnZT1udWxsO3RoaXMub2lkcz1udWxsO3RoaXMuc2lnbmluZz1udWxsO3RoaXMuc3ViamVjdEROcz1udWxsfX1jbGFzcyBDaGVja0J1dHRvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY2hlY2tCdXR0b24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWFyaz1nZXRTdHJpbmdPcHRpb24oZS5tYXJrLFsiZGVmYXVsdCIsImNoZWNrIiwiY2lyY2xlIiwiY3Jvc3MiLCJkaWFtb25kIiwic3F1YXJlIiwic3RhciJdKTt0aGlzLnNoYXBlPWdldFN0cmluZ09wdGlvbihlLnNoYXBlLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bZ25dKGUpe2NvbnN0IHQ9dG9TdHlsZSgibWFyZ2luIiksaT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zaXplKTt0LndpZHRoPXQuaGVpZ2h0PWk7bGV0IGEscyxyO2NvbnN0IG49dGhpc1tEcl0oKVtEcl0oKSxnPW4uaXRlbXMuY2hpbGRyZW4ubGVuZ3RoJiZuLml0ZW1zLmNoaWxkcmVuWzBdW2duXSgpLmh0bWx8fFtdLG89e29uOih2b2lkIDAhPT1nWzBdP2dbMF06Im9uIikudG9TdHJpbmcoKSxvZmY6KHZvaWQgMCE9PWdbMV0/Z1sxXToib2ZmIikudG9TdHJpbmcoKX0sYz0obi52YWx1ZT8uW3JuXSgpfHwib2ZmIik9PT1vLm9ufHx2b2lkIDAsQz1uW3dyXSgpLGg9bltjbl07bGV0IGw7aWYoQyBpbnN0YW5jZW9mIEV4Y2xHcm91cCl7cj1DW2NuXTthPSJyYWRpbyI7cz0ieGZhUmFkaW8iO2w9Q1tycl0/Lltjbl18fENbY25dfWVsc2V7YT0iY2hlY2tib3giO3M9InhmYUNoZWNrYm94IjtsPW5bcnJdPy5bY25dfHxuW2NuXX1jb25zdCBRPXtuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7Y2xhc3M6W3NdLHN0eWxlOnQsZmllbGRJZDpoLGRhdGFJZDpsLHR5cGU6YSxjaGVja2VkOmMseGZhT246by5vbix4ZmFPZmY6by5vZmYsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChuKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtyJiYoUS5hdHRyaWJ1dGVzLm5hbWU9cik7aWYoaXNSZXF1aXJlZChuKSl7US5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7US5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltRXX0pfX1jbGFzcyBDaG9pY2VMaXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjaG9pY2VMaXN0IiwhMCk7dGhpcy5jb21taXRPbj1nZXRTdHJpbmdPcHRpb24oZS5jb21taXRPbixbInNlbGVjdCIsImV4aXQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZW49Z2V0U3RyaW5nT3B0aW9uKGUub3BlbixbInVzZXJDb250cm9sIiwiYWx3YXlzIiwibXVsdGlTZWxlY3QiLCJvbkVudHJ5Il0pO3RoaXMudGV4dEVudHJ5PWdldEludGVnZXIoe2RhdGE6ZS50ZXh0RW50cnksZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2duXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwibWFyZ2luIiksaT10aGlzW0RyXSgpW0RyXSgpLGE9e2ZvbnRTaXplOmBjYWxjKCR7aS5mb250Py5zaXplfHwxMH1weCAqIHZhcigtLXNjYWxlLWZhY3RvcikpYH0scz1bXTtpZihpLml0ZW1zLmNoaWxkcmVuLmxlbmd0aD4wKXtjb25zdCBlPWkuaXRlbXM7bGV0IHQ9MCxyPTA7aWYoMj09PWUuY2hpbGRyZW4ubGVuZ3RoKXt0PWUuY2hpbGRyZW5bMF0uc2F2ZTtyPTEtdH1jb25zdCBuPWUuY2hpbGRyZW5bdF1bZ25dKCkuaHRtbCxnPWUuY2hpbGRyZW5bcl1bZ25dKCkuaHRtbDtsZXQgbz0hMTtjb25zdCBjPWkudmFsdWU/Lltybl0oKXx8IiI7Zm9yKGxldCBlPTAsdD1uLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PXtuYW1lOiJvcHRpb24iLGF0dHJpYnV0ZXM6e3ZhbHVlOmdbZV18fG5bZV0sc3R5bGU6YX0sdmFsdWU6bltlXX07Z1tlXT09PWMmJih0LmF0dHJpYnV0ZXMuc2VsZWN0ZWQ9bz0hMCk7cy5wdXNoKHQpfW98fHMuc3BsaWNlKDAsMCx7bmFtZToib3B0aW9uIixhdHRyaWJ1dGVzOntoaWRkZW46ITAsc2VsZWN0ZWQ6ITB9LHZhbHVlOiIgIn0pfWNvbnN0IHI9e2NsYXNzOlsieGZhU2VsZWN0Il0sZmllbGRJZDppW2NuXSxkYXRhSWQ6aVtycl0/Lltjbl18fGlbY25dLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9O2lmKGlzUmVxdWlyZWQoaSkpe3JbImFyaWEtcmVxdWlyZWQiXT0hMDtyLnJlcXVpcmVkPSEwfSJtdWx0aVNlbGVjdCI9PT10aGlzLm9wZW4mJihyLm11bHRpcGxlPSEwKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbe25hbWU6InNlbGVjdCIsY2hpbGRyZW46cyxhdHRyaWJ1dGVzOnJ9XX0pfX1jbGFzcyBDb2xvciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29sb3IiLCEwKTt0aGlzLmNTcGFjZT1nZXRTdHJpbmdPcHRpb24oZS5jU3BhY2UsWyJTUkdCIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudmFsdWU9ZS52YWx1ZT9mdW5jdGlvbiBnZXRDb2xvcihlLHQ9WzAsMCwwXSl7bGV0W2ksYSxzXT10O2lmKCFlKXJldHVybntyOmksZzphLGI6c307Y29uc3Qgcj1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUludChlLnRyaW0oKSwxMCkpLDI1NSkpKS5tYXAoKGU9PmlzTmFOKGUpPzA6ZSkpO2lmKHIubGVuZ3RoPDMpcmV0dXJue3I6aSxnOmEsYjpzfTtbaSxhLHNdPXI7cmV0dXJue3I6aSxnOmEsYjpzfX0oZS52YWx1ZSk6IiI7dGhpcy5leHRyYXM9bnVsbH1bU3JdKCl7cmV0dXJuITF9W0luXSgpe3JldHVybiB0aGlzLnZhbHVlP1V0aWwubWFrZUhleENvbG9yKHRoaXMudmFsdWUucix0aGlzLnZhbHVlLmcsdGhpcy52YWx1ZS5iKTpudWxsfX1jbGFzcyBDb21iIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjb21iIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm51bWJlck9mQ2VsbHM9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlck9mQ2VsbHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQ29ubmVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29ubmVjdCIsITApO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNhZ2U9Z2V0U3RyaW5nT3B0aW9uKGUudXNhZ2UsWyJleHBvcnRBbmRJbXBvcnQiLCJleHBvcnRPbmx5IiwiaW1wb3J0T25seSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIENvbnRlbnRBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjb250ZW50QXJlYSIsITApO3RoaXMuaD1nZXRNZWFzdXJlbWVudChlLmgpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWdldE1lYXN1cmVtZW50KGUudyk7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bZ25dKGUpe2NvbnN0IHQ9e2xlZnQ6bWVhc3VyZVRvU3RyaW5nKHRoaXMueCksdG9wOm1lYXN1cmVUb1N0cmluZyh0aGlzLnkpLHdpZHRoOm1lYXN1cmVUb1N0cmluZyh0aGlzLncpLGhlaWdodDptZWFzdXJlVG9TdHJpbmcodGhpcy5oKX0saT1bInhmYUNvbnRlbnRhcmVhIl07aXNQcmludE9ubHkodGhpcykmJmkucHVzaCgieGZhUHJpbnRPbmx5Iik7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOntzdHlsZTp0LGNsYXNzOmksaWQ6dGhpc1tjbl19fSl9fWNsYXNzIENvcm5lciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29ybmVyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmludmVydGVkPWdldEludGVnZXIoe2RhdGE6ZS5pbnZlcnRlZCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuam9pbj1nZXRTdHJpbmdPcHRpb24oZS5qb2luLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJhZGl1cz1nZXRNZWFzdXJlbWVudChlLnJhZGl1cyk7dGhpcy5zdHJva2U9Z2V0U3RyaW5nT3B0aW9uKGUuc3Ryb2tlLFsic29saWQiLCJkYXNoRG90IiwiZGFzaERvdERvdCIsImRhc2hlZCIsImRvdHRlZCIsImVtYm9zc2VkIiwiZXRjaGVkIiwibG93ZXJlZCIsInJhaXNlZCJdKTt0aGlzLnRoaWNrbmVzcz1nZXRNZWFzdXJlbWVudChlLnRoaWNrbmVzcywiMC41cHQiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJ2aXNpYmlsaXR5Iik7ZS5yYWRpdXM9bWVhc3VyZVRvU3RyaW5nKCJzcXVhcmUiPT09dGhpcy5qb2luPzA6dGhpcy5yYWRpdXMpO3JldHVybiBlfX1jbGFzcyBEYXRlRWxlbWVudCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRhdGUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT10aGlzW3NyXS50cmltKCk7dGhpc1tzcl09ZT9uZXcgRGF0ZShlKTpudWxsfVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbc3JdP3RoaXNbc3JdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEYXRlVGltZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRhdGVUaW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpO3RoaXNbc3JdPWU/bmV3IERhdGUoZSk6bnVsbH1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGF0ZVRpbWVFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkYXRlVGltZUVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGlja2VyPWdldFN0cmluZ09wdGlvbihlLnBpY2tlcixbImhvc3QiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bZ25dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW0RyXSgpW0RyXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbY25dLGRhdGFJZDppW3JyXT8uW2NuXXx8aVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBEZWNpbWFsIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZGVjaW1hbCIpO3RoaXMuZnJhY0RpZ2l0cz1nZXRJbnRlZ2VyKHtkYXRhOmUuZnJhY0RpZ2l0cyxkZWZhdWx0VmFsdWU6Mix2YWxpZGF0ZTplPT4hMH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkRGlnaXRzPWdldEludGVnZXIoe2RhdGE6ZS5sZWFkRGlnaXRzLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT1wYXJzZUZsb2F0KHRoaXNbc3JdLnRyaW0oKSk7dGhpc1tzcl09aXNOYU4oZSk/bnVsbDplfVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKG51bGwhPT10aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGVmYXVsdFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkZWZhdWx0VWkiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBEZXNjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkZXNjIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEaWdlc3RNZXRob2QgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRpZ2VzdE1ldGhvZCIsWyIiLCJTSEExIiwiU0hBMjU2IiwiU0hBNTEyIiwiUklQRU1EMTYwIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBEaWdlc3RNZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkaWdlc3RNZXRob2RzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRHJhdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZHJhdyIsITApO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYXB0aW9uPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmtlZXA9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy51aT1udWxsO3RoaXMudmFsdWU9bnVsbDt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bYW5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLncsaT10aGlzLmgse3c6YSxoOnMsaXNCcm9rZW46cn09bGF5b3V0Tm9kZSh0aGlzLGUpO2lmKGEmJiIiPT09dGhpcy53KXtpZihyJiZ0aGlzW3dyXSgpW0pyXSgpKXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dGhpcy53PWF9cyYmIiI9PT10aGlzLmgmJih0aGlzLmg9cyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBuPXRvU3R5bGUodGhpcywiZm9udCIsImhBbGlnbiIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwicm90YXRlIiwiYW5jaG9yVHlwZSIsImJvcmRlciIsIm1hcmdpbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxuKTtpZihuLm1hcmdpbil7bi5wYWRkaW5nPW4ubWFyZ2luO2RlbGV0ZSBuLm1hcmdpbn1jb25zdCBnPVsieGZhRHJhdyJdO3RoaXMuZm9udCYmZy5wdXNoKCJ4ZmFGb250Iik7aXNQcmludE9ubHkodGhpcykmJmcucHVzaCgieGZhUHJpbnRPbmx5Iik7Y29uc3Qgbz17c3R5bGU6bixpZDp0aGlzW2NuXSxjbGFzczpnfTt0aGlzLm5hbWUmJihvLnhmYU5hbWU9dGhpcy5uYW1lKTtjb25zdCBjPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6byxjaGlsZHJlbjpbXX07YXBwbHlBc3Npc3QodGhpcyxvKTtjb25zdCBDPWNvbXB1dGVCYm94KHRoaXMsYyxlKSxoPXRoaXMudmFsdWU/dGhpcy52YWx1ZVtnbl0oZSkuaHRtbDpudWxsO2lmKG51bGw9PT1oKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfWMuY2hpbGRyZW4ucHVzaChoKTtzZXRQYXJhKHRoaXMsbixoKTt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfX1jbGFzcyBFZGdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlZGdlIiwhMCk7dGhpcy5jYXA9Z2V0U3RyaW5nT3B0aW9uKGUuY2FwLFsic3F1YXJlIiwiYnV0dCIsInJvdW5kIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnN0cm9rZT1nZXRTdHJpbmdPcHRpb24oZS5zdHJva2UsWyJzb2xpZCIsImRhc2hEb3QiLCJkYXNoRG90RG90IiwiZGFzaGVkIiwiZG90dGVkIiwiZW1ib3NzZWQiLCJldGNoZWQiLCJsb3dlcmVkIiwicmFpc2VkIl0pO3RoaXMudGhpY2tuZXNzPWdldE1lYXN1cmVtZW50KGUudGhpY2tuZXNzLCIwLjVwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bSW5dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsInZpc2liaWxpdHkiKTtPYmplY3QuYXNzaWduKGUse2xpbmVjYXA6dGhpcy5jYXAsd2lkdGg6bWVhc3VyZVRvU3RyaW5nKHRoaXMudGhpY2tuZXNzKSxjb2xvcjp0aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiLHN0eWxlOiIifSk7aWYoInZpc2libGUiIT09dGhpcy5wcmVzZW5jZSllLnN0eWxlPSJub25lIjtlbHNlIHN3aXRjaCh0aGlzLnN0cm9rZSl7Y2FzZSJzb2xpZCI6ZS5zdHlsZT0ic29saWQiO2JyZWFrO2Nhc2UiZGFzaERvdCI6Y2FzZSJkYXNoRG90RG90IjpjYXNlImRhc2hlZCI6ZS5zdHlsZT0iZGFzaGVkIjticmVhaztjYXNlImRvdHRlZCI6ZS5zdHlsZT0iZG90dGVkIjticmVhaztjYXNlImVtYm9zc2VkIjplLnN0eWxlPSJyaWRnZSI7YnJlYWs7Y2FzZSJldGNoZWQiOmUuc3R5bGU9Imdyb292ZSI7YnJlYWs7Y2FzZSJsb3dlcmVkIjplLnN0eWxlPSJpbnNldCI7YnJlYWs7Y2FzZSJyYWlzZWQiOmUuc3R5bGU9Im91dHNldCJ9cmV0dXJuIGV9fWNsYXNzIEVuY29kaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNvZGluZyIsWyJhZGJlLng1MDkucnNhX3NoYTEiLCJhZGJlLnBrY3M3LmRldGFjaGVkIiwiYWRiZS5wa2NzNy5zaGExIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFbmNvZGluZ3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImVuY29kaW5ncyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRW5jcnlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZW5jcnlwdCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bnVsbH19Y2xhc3MgRW5jcnlwdERhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImVuY3J5cHREYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJlbmNyeXB0IiwiZGVjcnlwdCJdKTt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsfX1jbGFzcyBFbmNyeXB0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFbmNyeXB0aW9uTWV0aG9kIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uTWV0aG9kIixbIiIsIkFFUzI1Ni1DQkMiLCJUUklQTEVERVMtQ0JDIiwiQUVTMTI4LUNCQyIsIkFFUzE5Mi1DQkMiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVuY3J5cHRpb25NZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uTWV0aG9kcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY3J5cHRpb25NZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFdmVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZXZlbnQiLCEwKTt0aGlzLmFjdGl2aXR5PWdldFN0cmluZ09wdGlvbihlLmFjdGl2aXR5LFsiY2xpY2siLCJjaGFuZ2UiLCJkb2NDbG9zZSIsImRvY1JlYWR5IiwiZW50ZXIiLCJleGl0IiwiZnVsbCIsImluZGV4Q2hhbmdlIiwiaW5pdGlhbGl6ZSIsIm1vdXNlRG93biIsIm1vdXNlRW50ZXIiLCJtb3VzZUV4aXQiLCJtb3VzZVVwIiwicG9zdEV4ZWN1dGUiLCJwb3N0T3BlbiIsInBvc3RQcmludCIsInBvc3RTYXZlIiwicG9zdFNpZ24iLCJwb3N0U3VibWl0IiwicHJlRXhlY3V0ZSIsInByZU9wZW4iLCJwcmVQcmludCIsInByZVNhdmUiLCJwcmVTaWduIiwicHJlU3VibWl0IiwicmVhZHkiLCJ2YWxpZGF0aW9uU3RhdGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxpc3Rlbj1nZXRTdHJpbmdPcHRpb24oZS5saXN0ZW4sWyJyZWZPbmx5IiwicmVmQW5kRGVzY2VuZGVudHMiXSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZW5jcnlwdERhdGE9bnVsbDt0aGlzLmV4ZWN1dGU9bnVsbDt0aGlzLnNjcmlwdD1udWxsO3RoaXMuc2lnbkRhdGE9bnVsbDt0aGlzLnN1Ym1pdD1udWxsfX1jbGFzcyBFeERhdGEgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleERhdGEiKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXhMZW5ndGg9Z2V0SW50ZWdlcih7ZGF0YTplLm1heExlbmd0aCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49LTF9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJub25lIiwiYmFzZTY0IiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W0dyXSgpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZX1bUHJdKGUpe2lmKCJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmZVtUcl09PT1obi54aHRtbC5pZCl7dGhpc1tzcl09ZTtyZXR1cm4hMH1pZigidGV4dC94bWwiPT09dGhpcy5jb250ZW50VHlwZSl7dGhpc1tzcl09ZTtyZXR1cm4hMH1yZXR1cm4hMX1bZ25dKGUpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmdGhpc1tzcl0/dGhpc1tzcl1bZ25dKGUpOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEV4T2JqZWN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleE9iamVjdCIsITApO3RoaXMuYXJjaGl2ZT1lLmFyY2hpdmV8fCIiO3RoaXMuY2xhc3NJZD1lLmNsYXNzSWR8fCIiO3RoaXMuY29kZUJhc2U9ZS5jb2RlQmFzZXx8IiI7dGhpcy5jb2RlVHlwZT1lLmNvZGVUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRXhjbEdyb3VwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleGNsR3JvdXAiLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFjY2Vzc0tleT1lLmFjY2Vzc0tleXx8IiI7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sYXlvdXQ9Z2V0U3RyaW5nT3B0aW9uKGUubGF5b3V0LFsicG9zaXRpb24iLCJsci10YiIsInJsLXJvdyIsInJsLXRiIiwicm93IiwidGFibGUiLCJ0YiJdKTt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1beHJdKCl7cmV0dXJuITB9W1NyXSgpe3JldHVybiEwfVthbl0oZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5maWVsZC5jaGlsZHJlbil7aWYoIXQudmFsdWUpe2NvbnN0IGU9bmV3IFZhbHVlKHt9KTt0W19zXShlKTt0LnZhbHVlPWV9dC52YWx1ZVthbl0oZSl9fVtKcl0oKXtyZXR1cm4gdGhpcy5sYXlvdXQuZW5kc1dpdGgoIi10YiIpJiYwPT09dGhpc1tncl0uYXR0ZW1wdCYmdGhpc1tncl0ubnVtYmVySW5MaW5lPjB8fHRoaXNbRHJdKClbSnJdKCl9W0hyXSgpe2NvbnN0IGU9dGhpc1t3cl0oKTtpZighZVtIcl0oKSlyZXR1cm4hMTtpZih2b2lkIDAhPT10aGlzW2dyXS5faXNTcGxpdHRhYmxlKXJldHVybiB0aGlzW2dyXS5faXNTcGxpdHRhYmxlO2lmKCJwb3NpdGlvbiI9PT10aGlzLmxheW91dHx8dGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXt0aGlzW2dyXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKGUubGF5b3V0Py5lbmRzV2l0aCgiLXRiIikmJjAhPT1lW2dyXS5udW1iZXJJbkxpbmUpcmV0dXJuITE7dGhpc1tncl0uX2lzU3BsaXR0YWJsZT0hMDtyZXR1cm4hMH1bSXJdKCl7cmV0dXJuIGZsdXNoSFRNTCh0aGlzKX1benNdKGUsdCl7YWRkSFRNTCh0aGlzLGUsdCl9W2hyXSgpe3JldHVybiBnZXRBdmFpbGFibGVTcGFjZSh0aGlzKX1bZ25dKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2V8fDA9PT10aGlzLmh8fDA9PT10aGlzLncpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Zml4RGltZW5zaW9ucyh0aGlzKTtjb25zdCB0PVtdLGk9e2lkOnRoaXNbY25dLGNsYXNzOltdfTtzZXRBY2Nlc3ModGhpcyxpLmNsYXNzKTt0aGlzW2dyXXx8KHRoaXNbZ3JdPU9iamVjdC5jcmVhdGUobnVsbCkpO09iamVjdC5hc3NpZ24odGhpc1tncl0se2NoaWxkcmVuOnQsYXR0cmlidXRlczppLGF0dGVtcHQ6MCxsaW5lOm51bGwsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3QgYT10aGlzW0hyXSgpO2F8fHNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSlyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFO2NvbnN0IHM9bmV3IFNldChbImZpZWxkIl0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW3dyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW2dyXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW2dyXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IHI9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxuPVsieGZhRXhjbGdyb3VwIl0sZz1sYXlvdXRDbGFzcyh0aGlzKTtnJiZuLnB1c2goZyk7aXNQcmludE9ubHkodGhpcykmJm4ucHVzaCgieGZhUHJpbnRPbmx5Iik7aS5zdHlsZT1yO2kuY2xhc3M9bjt0aGlzLm5hbWUmJihpLnhmYU5hbWU9dGhpcy5uYW1lKTt0aGlzW1ZyXSgpO2NvbnN0IG89ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsYz1vPzI6MTtmb3IoO3RoaXNbZ3JdLmF0dGVtcHQ8Yzt0aGlzW2dyXS5hdHRlbXB0Kyspe28mJjE9PT10aGlzW2dyXS5hdHRlbXB0JiYodGhpc1tncl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1skc10oe2ZpbHRlcjpzLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbWnJdKCk7cmV0dXJuIGV9aWYobyYmMD09PXRoaXNbZ3JdLmF0dGVtcHQmJjA9PT10aGlzW2dyXS5udW1iZXJJbkxpbmUmJiF0aGlzW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbZ3JdLmF0dGVtcHQ9YzticmVha319dGhpc1tacl0oKTthfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKHRoaXNbZ3JdLmF0dGVtcHQ9PT1jKXthfHxkZWxldGUgdGhpc1tncl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX1sZXQgQz0wLGg9MDtpZih0aGlzLm1hcmdpbil7Qz10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtoPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IGw9TWF0aC5tYXgodGhpc1tncl0ud2lkdGgrQyx0aGlzLnd8fDApLFE9TWF0aC5tYXgodGhpc1tncl0uaGVpZ2h0K2gsdGhpcy5ofHwwKSxFPVt0aGlzLngsdGhpcy55LGwsUV07IiI9PT10aGlzLncmJihyLndpZHRoPW1lYXN1cmVUb1N0cmluZyhsKSk7IiI9PT10aGlzLmgmJihyLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcoUSkpO2NvbnN0IHU9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7ZGVsZXRlIHRoaXNbZ3JdO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLHUpLEUpfX1jbGFzcyBFeGVjdXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleGVjdXRlIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5leGVjdXRlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5leGVjdXRlVHlwZSxbImltcG9ydCIsInJlbWVyZ2UiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJ1bkF0PWdldFN0cmluZ09wdGlvbihlLnJ1bkF0LFsiY2xpZW50IiwiYm90aCIsInNlcnZlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEV4dHJhcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZXh0cmFzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRmllbGQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZpZWxkIiwhMCk7dGhpcy5hY2Nlc3M9Z2V0U3RyaW5nT3B0aW9uKGUuYWNjZXNzLFsib3BlbiIsIm5vbkludGVyYWN0aXZlIiwicHJvdGVjdGVkIiwicmVhZE9ubHkiXSk7dGhpcy5hY2Nlc3NLZXk9ZS5hY2Nlc3NLZXl8fCIiO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9ybWF0PW51bGw7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudWk9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YWx1ZT1udWxsO3RoaXMuYmluZEl0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVt4cl0oKXtyZXR1cm4hMH1bYW5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoIXRoaXMudWkpe3RoaXMudWk9bmV3IFVpKHt9KTt0aGlzLnVpW0ZyXT10aGlzW0ZyXTt0aGlzW19zXSh0aGlzLnVpKTtsZXQgZTtzd2l0Y2godGhpcy5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2Nhc2UgMDplPW5ldyBUZXh0RWRpdCh7fSk7dGhpcy51aS50ZXh0RWRpdD1lO2JyZWFrO2Nhc2UgMTplPW5ldyBDaGVja0J1dHRvbih7fSk7dGhpcy51aS5jaGVja0J1dHRvbj1lO2JyZWFrO2Nhc2UgMjplPW5ldyBDaG9pY2VMaXN0KHt9KTt0aGlzLnVpLmNob2ljZUxpc3Q9ZX10aGlzLnVpW19zXShlKX1pZighdGhpcy51aXx8ImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZXx8MD09PXRoaXMuaHx8MD09PXRoaXMudylyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTt0aGlzLmNhcHRpb24mJmRlbGV0ZSB0aGlzLmNhcHRpb25bZ3JdO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLmNhcHRpb24/dGhpcy5jYXB0aW9uW2duXShlKS5odG1sOm51bGwsaT10aGlzLncsYT10aGlzLmg7bGV0IHM9MCxyPTA7aWYodGhpcy5tYXJnaW4pe3M9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7cj10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1sZXQgbj1udWxsO2lmKCIiPT09dGhpcy53fHwiIj09PXRoaXMuaCl7bGV0IHQ9bnVsbCxpPW51bGwsYT0wLGc9MDtpZih0aGlzLnVpLmNoZWNrQnV0dG9uKWE9Zz10aGlzLnVpLmNoZWNrQnV0dG9uLnNpemU7ZWxzZXtjb25zdHt3OnQsaDppfT1sYXlvdXROb2RlKHRoaXMsZSk7aWYobnVsbCE9PXQpe2E9dDtnPWl9ZWxzZSBnPWZ1bmN0aW9uIGZvbnRzX2dldE1ldHJpY3MoZSx0PSExKXtsZXQgaT1udWxsO2lmKGUpe2NvbnN0IHQ9c3RyaXBRdW90ZXMoZS50eXBlZmFjZSksYT1lW0ZyXS5mb250RmluZGVyLmZpbmQodCk7aT1zZWxlY3RGb250KGUsYSl9aWYoIWkpcmV0dXJue2xpbmVIZWlnaHQ6MTIsbGluZUdhcDoyLGxpbmVOb0dhcDoxMH07Y29uc3QgYT1lLnNpemV8fDEwLHM9aS5saW5lSGVpZ2h0P01hdGgubWF4KHQ/MDoxLjIsaS5saW5lSGVpZ2h0KToxLjIscj12b2lkIDA9PT1pLmxpbmVHYXA/LjI6aS5saW5lR2FwO3JldHVybntsaW5lSGVpZ2h0OnMqYSxsaW5lR2FwOnIqYSxsaW5lTm9HYXA6TWF0aC5tYXgoMSxzLXIpKmF9fSh0aGlzLmZvbnQsITApLmxpbmVOb0dhcH1uPWdldEJvcmRlckRpbXModGhpcy51aVtkcl0oKSk7YSs9bi53O2crPW4uaDtpZih0aGlzLmNhcHRpb24pe2NvbnN0e3c6cyxoOnIsaXNCcm9rZW46bn09dGhpcy5jYXB0aW9uW2RyXShlKTtpZihuJiZ0aGlzW3dyXSgpW0pyXSgpKXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dD1zO2k9cjtzd2l0Y2godGhpcy5jYXB0aW9uLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0IjpjYXNlImlubGluZSI6dCs9YTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmkrPWd9fWVsc2V7dD1hO2k9Z31pZih0JiYiIj09PXRoaXMudyl7dCs9czt0aGlzLnc9TWF0aC5taW4odGhpcy5tYXhXPD0wPzEvMDp0aGlzLm1heFcsdGhpcy5taW5XKzE8dD90OnRoaXMubWluVyl9aWYoaSYmIiI9PT10aGlzLmgpe2krPXI7dGhpcy5oPU1hdGgubWluKHRoaXMubWF4SDw9MD8xLzA6dGhpcy5tYXhILHRoaXMubWluSCsxPGk/aTp0aGlzLm1pbkgpfX10aGlzW1pyXSgpO2ZpeERpbWVuc2lvbnModGhpcyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9aTt0aGlzLmg9YTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBnPXRvU3R5bGUodGhpcywiZm9udCIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInJvdGF0ZSIsImFuY2hvclR5cGUiLCJwcmVzZW5jZSIsIm1hcmdpbiIsImhBbGlnbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxnKTtjb25zdCBvPVsieGZhRmllbGQiXTt0aGlzLmZvbnQmJm8ucHVzaCgieGZhRm9udCIpO2lzUHJpbnRPbmx5KHRoaXMpJiZvLnB1c2goInhmYVByaW50T25seSIpO2NvbnN0IGM9e3N0eWxlOmcsaWQ6dGhpc1tjbl0sY2xhc3M6b307aWYoZy5tYXJnaW4pe2cucGFkZGluZz1nLm1hcmdpbjtkZWxldGUgZy5tYXJnaW59c2V0QWNjZXNzKHRoaXMsbyk7dGhpcy5uYW1lJiYoYy54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgQz1bXSxoPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YyxjaGlsZHJlbjpDfTthcHBseUFzc2lzdCh0aGlzLGMpO2NvbnN0IGw9dGhpcy5ib3JkZXI/dGhpcy5ib3JkZXJbSW5dKCk6bnVsbCxRPWNvbXB1dGVCYm94KHRoaXMsaCxlKSxFPXRoaXMudWlbZ25dKCkuaHRtbDtpZighRSl7T2JqZWN0LmFzc2lnbihnLGwpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfXRoaXNbc25dJiYoRS5jaGlsZHJlbj8uWzBdP0UuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy50YWJpbmRleD10aGlzW3NuXTpFLmF0dHJpYnV0ZXMudGFiaW5kZXg9dGhpc1tzbl0pO0UuYXR0cmlidXRlcy5zdHlsZXx8KEUuYXR0cmlidXRlcy5zdHlsZT1PYmplY3QuY3JlYXRlKG51bGwpKTtsZXQgdT1udWxsO2lmKHRoaXMudWkuYnV0dG9uKXsxPT09RS5jaGlsZHJlbi5sZW5ndGgmJihbdV09RS5jaGlsZHJlbi5zcGxpY2UoMCwxKSk7T2JqZWN0LmFzc2lnbihFLmF0dHJpYnV0ZXMuc3R5bGUsbCl9ZWxzZSBPYmplY3QuYXNzaWduKGcsbCk7Qy5wdXNoKEUpO2lmKHRoaXMudmFsdWUpaWYodGhpcy51aS5pbWFnZUVkaXQpRS5jaGlsZHJlbi5wdXNoKHRoaXMudmFsdWVbZ25dKCkuaHRtbCk7ZWxzZSBpZighdGhpcy51aS5idXR0b24pe2xldCBlPSIiO2lmKHRoaXMudmFsdWUuZXhEYXRhKWU9dGhpcy52YWx1ZS5leERhdGFbcm5dKCk7ZWxzZSBpZih0aGlzLnZhbHVlLnRleHQpZT10aGlzLnZhbHVlLnRleHRbZHJdKCk7ZWxzZXtjb25zdCB0PXRoaXMudmFsdWVbZ25dKCkuaHRtbDtudWxsIT09dCYmKGU9dC5jaGlsZHJlblswXS52YWx1ZSl9dGhpcy51aS50ZXh0RWRpdCYmdGhpcy52YWx1ZS50ZXh0Py5tYXhDaGFycyYmKEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5tYXhMZW5ndGg9dGhpcy52YWx1ZS50ZXh0Lm1heENoYXJzKTtpZihlKXtpZih0aGlzLnVpLm51bWVyaWNFZGl0KXtlPXBhcnNlRmxvYXQoZSk7ZT1pc05hTihlKT8iIjplLnRvU3RyaW5nKCl9InRleHRhcmVhIj09PUUuY2hpbGRyZW5bMF0ubmFtZT9FLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudGV4dENvbnRlbnQ9ZTpFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudmFsdWU9ZX19aWYoIXRoaXMudWkuaW1hZ2VFZGl0JiZFLmNoaWxkcmVuPy5bMF0mJnRoaXMuaCl7bj1ufHxnZXRCb3JkZXJEaW1zKHRoaXMudWlbZHJdKCkpO2xldCB0PTA7aWYodGhpcy5jYXB0aW9uJiZbInRvcCIsImJvdHRvbSJdLmluY2x1ZGVzKHRoaXMuY2FwdGlvbi5wbGFjZW1lbnQpKXt0PXRoaXMuY2FwdGlvbi5yZXNlcnZlO3Q8PTAmJih0PXRoaXMuY2FwdGlvbltkcl0oZSkuaCk7Y29uc3QgaT10aGlzLmgtdC1yLW4uaDtFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyhpKX1lbHNlIEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9IjEwMCUifXUmJkUuY2hpbGRyZW4ucHVzaCh1KTtpZighdCl7RS5hdHRyaWJ1dGVzLmNsYXNzJiZFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO3RoaXMudz1pO3RoaXMuaD1hO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfWlmKHRoaXMudWkuYnV0dG9uKXtnLnBhZGRpbmcmJmRlbGV0ZSBnLnBhZGRpbmc7ImRpdiI9PT10Lm5hbWUmJih0Lm5hbWU9InNwYW4iKTtFLmNoaWxkcmVuLnB1c2godCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoLFEpfXRoaXMudWkuY2hlY2tCdXR0b24mJih0LmF0dHJpYnV0ZXMuY2xhc3NbMF09InhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiIpO0UuYXR0cmlidXRlcy5jbGFzc3x8KEUuYXR0cmlidXRlcy5jbGFzcz1bXSk7RS5jaGlsZHJlbi5zcGxpY2UoMCwwLHQpO3N3aXRjaCh0aGlzLmNhcHRpb24ucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UiaW5saW5lIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO2JyZWFrO2Nhc2UicmlnaHQiOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFSaWdodCIpO2JyZWFrO2Nhc2UidG9wIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhVG9wIik7YnJlYWs7Y2FzZSJib3R0b20iOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFCb3R0b20iKX10aGlzLnc9aTt0aGlzLmg9YTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxoKSxRKX19Y2xhc3MgRmlsbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZmlsbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5saW5lYXI9bnVsbDt0aGlzLnBhdHRlcm49bnVsbDt0aGlzLnJhZGlhbD1udWxsO3RoaXMuc29saWQ9bnVsbDt0aGlzLnN0aXBwbGU9bnVsbH1bSW5dKCl7Y29uc3QgZT10aGlzW0RyXSgpLHQ9ZVtEcl0oKVtEcl0oKSxpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9ImNvbG9yIixzPWE7aWYoZSBpbnN0YW5jZW9mIEJvcmRlcil7YT0iYmFja2dyb3VuZC1jb2xvciI7cz0iYmFja2dyb3VuZCI7dCBpbnN0YW5jZW9mIFVpJiYoaS5iYWNrZ3JvdW5kQ29sb3I9IndoaXRlIil9aWYoZSBpbnN0YW5jZW9mIFJlY3RhbmdsZXx8ZSBpbnN0YW5jZW9mIEFyYyl7YT1zPSJmaWxsIjtpLmZpbGw9IndoaXRlIn1mb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwiY29sb3IiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYoISh0IGluc3RhbmNlb2YgWEZBT2JqZWN0KSljb250aW51ZTtjb25zdCByPXRbSW5dKHRoaXMuY29sb3IpO3ImJihpW3Iuc3RhcnRzV2l0aCgiIyIpP2E6c109cik7cmV0dXJuIGl9aWYodGhpcy5jb2xvcj8udmFsdWUpe2NvbnN0IGU9dGhpcy5jb2xvcltJbl0oKTtpW2Uuc3RhcnRzV2l0aCgiIyIpP2E6c109ZX1yZXR1cm4gaX19Y2xhc3MgRmlsdGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJmaWx0ZXIiLCEwKTt0aGlzLmFkZFJldm9jYXRpb25JbmZvPWdldFN0cmluZ09wdGlvbihlLmFkZFJldm9jYXRpb25JbmZvLFsiIiwicmVxdWlyZWQiLCJvcHRpb25hbCIsIm5vbmUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52ZXJzaW9uPWdldEludGVnZXIoe2RhdGE6dGhpcy52ZXJzaW9uLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTEmJmU8PTV9KTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bnVsbDt0aGlzLmNlcnRpZmljYXRlcz1udWxsO3RoaXMuZGlnZXN0TWV0aG9kcz1udWxsO3RoaXMuZW5jb2RpbmdzPW51bGw7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1udWxsO3RoaXMuaGFuZGxlcj1udWxsO3RoaXMubG9ja0RvY3VtZW50PW51bGw7dGhpcy5tZHA9bnVsbDt0aGlzLnJlYXNvbnM9bnVsbDt0aGlzLnRpbWVTdGFtcD1udWxsfX1jbGFzcyBGbG9hdCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZsb2F0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzW3NyXS50cmltKCkpO3RoaXNbc3JdPWlzTmFOKGUpP251bGw6ZX1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tzcl0/dGhpc1tzcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIHRlbXBsYXRlX0ZvbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZvbnQiLCEwKTt0aGlzLmJhc2VsaW5lU2hpZnQ9Z2V0TWVhc3VyZW1lbnQoZS5iYXNlbGluZVNoaWZ0KTt0aGlzLmZvbnRIb3Jpem9udGFsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250SG9yaXpvbnRhbFNjYWxlLGRlZmF1bHRWYWx1ZToxMDAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZm9udFZlcnRpY2FsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250VmVydGljYWxTY2FsZSxkZWZhdWx0VmFsdWU6MTAwLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2VybmluZ01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUua2VybmluZ01vZGUsWyJub25lIiwicGFpciJdKTt0aGlzLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQoZS5sZXR0ZXJTcGFjaW5nLCIwIik7dGhpcy5saW5lVGhyb3VnaD1nZXRJbnRlZ2VyKHtkYXRhOmUubGluZVRocm91Z2gsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5saW5lVGhyb3VnaFBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5saW5lVGhyb3VnaFBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5vdmVybGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5vdmVybGluZVBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5vdmVybGluZVBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5wb3N0dXJlPWdldFN0cmluZ09wdGlvbihlLnBvc3R1cmUsWyJub3JtYWwiLCJpdGFsaWMiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudHlwZWZhY2U9ZS50eXBlZmFjZXx8IkNvdXJpZXIiO3RoaXMudW5kZXJsaW5lPWdldEludGVnZXIoe2RhdGE6ZS51bmRlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy51bmRlcmxpbmVQZXJpb2Q9Z2V0U3RyaW5nT3B0aW9uKGUudW5kZXJsaW5lUGVyaW9kLFsiYWxsIiwid29yZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53ZWlnaHQ9Z2V0U3RyaW5nT3B0aW9uKGUud2VpZ2h0LFsibm9ybWFsIiwiYm9sZCJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsfVtBcl0oZSl7c3VwZXJbQXJdKGUpO3RoaXNbRnJdLnVzZWRUeXBlZmFjZXMuYWRkKHRoaXMudHlwZWZhY2UpfVtJbl0oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiZmlsbCIpLHQ9ZS5jb2xvcjtpZih0KWlmKCIjMDAwMDAwIj09PXQpZGVsZXRlIGUuY29sb3I7ZWxzZSBpZighdC5zdGFydHNXaXRoKCIjIikpe2UuYmFja2dyb3VuZD10O2UuYmFja2dyb3VuZENsaXA9InRleHQiO2UuY29sb3I9InRyYW5zcGFyZW50In10aGlzLmJhc2VsaW5lU2hpZnQmJihlLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKHRoaXMuYmFzZWxpbmVTaGlmdCkpO2UuZm9udEtlcm5pbmc9Im5vbmUiPT09dGhpcy5rZXJuaW5nTW9kZT8ibm9uZSI6Im5vcm1hbCI7ZS5sZXR0ZXJTcGFjaW5nPW1lYXN1cmVUb1N0cmluZyh0aGlzLmxldHRlclNwYWNpbmcpO2lmKDAhPT10aGlzLmxpbmVUaHJvdWdoKXtlLnRleHREZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giOzI9PT10aGlzLmxpbmVUaHJvdWdoJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1pZigwIT09dGhpcy5vdmVybGluZSl7ZS50ZXh0RGVjb3JhdGlvbj0ib3ZlcmxpbmUiOzI9PT10aGlzLm92ZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRTdHlsZT10aGlzLnBvc3R1cmU7ZS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoLjk5KnRoaXMuc2l6ZSk7c2V0Rm9udEZhbWlseSh0aGlzLHRoaXMsdGhpc1tGcl0uZm9udEZpbmRlcixlKTtpZigwIT09dGhpcy51bmRlcmxpbmUpe2UudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Mj09PXRoaXMudW5kZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRXZWlnaHQ9dGhpcy53ZWlnaHQ7cmV0dXJuIGV9fWNsYXNzIEZvcm1hdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZm9ybWF0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgSGFuZGxlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiaGFuZGxlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgSHlwaGVuYXRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImh5cGhlbmF0aW9uIik7dGhpcy5leGNsdWRlQWxsQ2Fwcz1nZXRJbnRlZ2VyKHtkYXRhOmUuZXhjbHVkZUFsbENhcHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmV4Y2x1ZGVJbml0aWFsQ2FwPWdldEludGVnZXIoe2RhdGE6ZS5leGNsdWRlSW5pdGlhbENhcCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaHlwaGVuYXRlPWdldEludGVnZXIoe2RhdGE6ZS5oeXBoZW5hdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHVzaENoYXJhY3RlckNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5wdXNoQ2hhcmFjdGVyQ291bnQsZGVmYXVsdFZhbHVlOjMsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucmVtYWluQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLnJlbWFpbkNoYXJhY3RlckNvdW50LGRlZmF1bHRWYWx1ZTozLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53b3JkQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLndvcmRDaGFyYWN0ZXJDb3VudCxkZWZhdWx0VmFsdWU6Nyx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIEltYWdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJpbWFnZSIpO3RoaXMuYXNwZWN0PWdldFN0cmluZ09wdGlvbihlLmFzcGVjdCxbImZpdCIsImFjdHVhbCIsImhlaWdodCIsIm5vbmUiLCJ3aWR0aCJdKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJiYXNlNjQiLCJub25lIiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2duXSgpe2lmKHRoaXMuY29udGVudFR5cGUmJiFPbi5oYXModGhpcy5jb250ZW50VHlwZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgZT10aGlzW0ZyXS5pbWFnZXMmJnRoaXNbRnJdLmltYWdlcy5nZXQodGhpcy5ocmVmKTtpZighZSYmKHRoaXMuaHJlZnx8IXRoaXNbc3JdKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtlfHwiYmFzZTY0IiE9PXRoaXMudHJhbnNmZXJFbmNvZGluZ3x8KGU9c3RyaW5nVG9CeXRlcyhhdG9iKHRoaXNbc3JdKSkpO2lmKCFlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2lmKCF0aGlzLmNvbnRlbnRUeXBlKXtmb3IoY29uc3RbdCxpXW9mIFBuKWlmKGUubGVuZ3RoPnQubGVuZ3RoJiZ0LmV2ZXJ5KCgodCxpKT0+dD09PWVbaV0pKSl7dGhpcy5jb250ZW50VHlwZT1pO2JyZWFrfWlmKCF0aGlzLmNvbnRlbnRUeXBlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IHQ9bmV3IEJsb2IoW2VdLHt0eXBlOnRoaXMuY29udGVudFR5cGV9KTtsZXQgaTtzd2l0Y2godGhpcy5hc3BlY3Qpe2Nhc2UiZml0IjpjYXNlImFjdHVhbCI6YnJlYWs7Y2FzZSJoZWlnaHQiOmk9e2hlaWdodDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn07YnJlYWs7Y2FzZSJub25lIjppPXt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixvYmplY3RGaXQ6ImZpbGwifTticmVhaztjYXNlIndpZHRoIjppPXt3aWR0aDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn19Y29uc3QgYT10aGlzW0RyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImltZyIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFJbWFnZSJdLHN0eWxlOmksc3JjOlVSTC5jcmVhdGVPYmplY3RVUkwodCksYWx0OmE/YXJpYUxhYmVsKGFbRHJdKCkpOm51bGx9fSl9fWNsYXNzIEltYWdlRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiaW1hZ2VFZGl0IiwhMCk7dGhpcy5kYXRhPWdldFN0cmluZ09wdGlvbihlLmRhdGEsWyJsaW5rIiwiZW1iZWQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2duXShlKXtyZXR1cm4iZW1iZWQiPT09dGhpcy5kYXRhP0hUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fSk6SFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgSW50ZWdlciBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImludGVnZXIiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT1wYXJzZUludCh0aGlzW3NyXS50cmltKCksMTApO3RoaXNbc3JdPWlzTmFOKGUpP251bGw6ZX1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tzcl0/dGhpc1tzcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIElzc3VlcnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImlzc3VlcnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEl0ZW1zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJpdGVtcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5zYXZlPWdldEludGVnZXIoe2RhdGE6ZS5zYXZlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX1bZ25dKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzW3ByXSgpKWUucHVzaCh0W3JuXSgpKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfX1jbGFzcyBLZWVwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJrZWVwIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjtjb25zdCB0PVsibm9uZSIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiXTt0aGlzLmludGFjdD1nZXRTdHJpbmdPcHRpb24oZS5pbnRhY3QsdCk7dGhpcy5uZXh0PWdldFN0cmluZ09wdGlvbihlLm5leHQsdCk7dGhpcy5wcmV2aW91cz1nZXRTdHJpbmdPcHRpb24oZS5wcmV2aW91cyx0KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH19Y2xhc3MgS2V5VXNhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImtleVVzYWdlIik7Y29uc3QgdD1bIiIsInllcyIsIm5vIl07dGhpcy5jcmxTaWduPWdldFN0cmluZ09wdGlvbihlLmNybFNpZ24sdCk7dGhpcy5kYXRhRW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmRhdGFFbmNpcGhlcm1lbnQsdCk7dGhpcy5kZWNpcGhlck9ubHk9Z2V0U3RyaW5nT3B0aW9uKGUuZGVjaXBoZXJPbmx5LHQpO3RoaXMuZGlnaXRhbFNpZ25hdHVyZT1nZXRTdHJpbmdPcHRpb24oZS5kaWdpdGFsU2lnbmF0dXJlLHQpO3RoaXMuZW5jaXBoZXJPbmx5PWdldFN0cmluZ09wdGlvbihlLmVuY2lwaGVyT25seSx0KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2V5QWdyZWVtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUFncmVlbWVudCx0KTt0aGlzLmtleUNlcnRTaWduPWdldFN0cmluZ09wdGlvbihlLmtleUNlcnRTaWduLHQpO3RoaXMua2V5RW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUVuY2lwaGVybWVudCx0KTt0aGlzLm5vblJlcHVkaWF0aW9uPWdldFN0cmluZ09wdGlvbihlLm5vblJlcHVkaWF0aW9uLHQpO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIExpbmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImxpbmUiLCEwKTt0aGlzLmhhbmQ9Z2V0U3RyaW5nT3B0aW9uKGUuaGFuZCxbImV2ZW4iLCJsZWZ0IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnNsb3BlPWdldFN0cmluZ09wdGlvbihlLnNsb3BlLFsiXFwiLCIvIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVkZ2U9bnVsbH1bZ25dKCl7Y29uc3QgZT10aGlzW0RyXSgpW0RyXSgpLHQ9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksaT10W0luXSgpLGE9T2JqZWN0LmNyZWF0ZShudWxsKSxzPSJ2aXNpYmxlIj09PXQucHJlc2VuY2U/dC50aGlja25lc3M6MDthLnN0cm9rZVdpZHRoPW1lYXN1cmVUb1N0cmluZyhzKTthLnN0cm9rZT1pLmNvbG9yO2xldCByLG4sZyxvLGM9IjEwMCUiLEM9IjEwMCUiO2lmKGUudzw9cyl7W3IsbixnLG9dPVsiNTAlIiwwLCI1MCUiLCIxMDAlIl07Yz1hLnN0cm9rZVdpZHRofWVsc2UgaWYoZS5oPD1zKXtbcixuLGcsb109WzAsIjUwJSIsIjEwMCUiLCI1MCUiXTtDPWEuc3Ryb2tlV2lkdGh9ZWxzZSJcXCI9PT10aGlzLnNsb3BlP1tyLG4sZyxvXT1bMCwwLCIxMDAlIiwiMTAwJSJdOltyLG4sZyxvXT1bMCwiMTAwJSIsIjEwMCUiLDBdO2NvbnN0IGg9e25hbWU6InN2ZyIsY2hpbGRyZW46W3tuYW1lOiJsaW5lIixhdHRyaWJ1dGVzOnt4bWxuczpUbix4MTpyLHkxOm4seDI6Zyx5MjpvLHN0eWxlOmF9fV0sYXR0cmlidXRlczp7eG1sbnM6VG4sd2lkdGg6YyxoZWlnaHQ6QyxzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifX19O2lmKGhhc01hcmdpbihlKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W2hdfSk7aC5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoKX19Y2xhc3MgTGluZWFyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJsaW5lYXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsidG9SaWdodCIsInRvQm90dG9tIiwidG9MZWZ0IiwidG9Ub3AiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtJbl0oZSl7ZT1lP2VbSW5dKCk6IiNGRkZGRkYiO3JldHVybmBsaW5lYXItZ3JhZGllbnQoJHt0aGlzLnR5cGUucmVwbGFjZSgvKFtSQkxUXSkvLCIgJDEiKS50b0xvd2VyQ2FzZSgpfSwgJHtlfSwgJHt0aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAifSlgfX1jbGFzcyBMb2NrRG9jdW1lbnQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJsb2NrRG9jdW1lbnQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe3RoaXNbc3JdPWdldFN0cmluZ09wdGlvbih0aGlzW3NyXSxbImF1dG8iLCIwIiwiMSJdKX19Y2xhc3MgTWFuaWZlc3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1hbmlmZXN0IiwhMCk7dGhpcy5hY3Rpb249Z2V0U3RyaW5nT3B0aW9uKGUuYWN0aW9uLFsiaW5jbHVkZSIsImFsbCIsImV4Y2x1ZGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnJlZj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1hcmdpbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwibWFyZ2luIiwhMCk7dGhpcy5ib3R0b21JbnNldD1nZXRNZWFzdXJlbWVudChlLmJvdHRvbUluc2V0LCIwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlZnRJbnNldD1nZXRNZWFzdXJlbWVudChlLmxlZnRJbnNldCwiMCIpO3RoaXMucmlnaHRJbnNldD1nZXRNZWFzdXJlbWVudChlLnJpZ2h0SW5zZXQsIjAiKTt0aGlzLnRvcEluc2V0PWdldE1lYXN1cmVtZW50KGUudG9wSW5zZXQsIjAiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bSW5dKCl7cmV0dXJue21hcmdpbjptZWFzdXJlVG9TdHJpbmcodGhpcy50b3BJbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLnJpZ2h0SW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5ib3R0b21JbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLmxlZnRJbnNldCl9fX1jbGFzcyBNZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1kcCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wZXJtaXNzaW9ucz1nZXRJbnRlZ2VyKHtkYXRhOmUucGVybWlzc2lvbnMsZGVmYXVsdFZhbHVlOjIsdmFsaWRhdGU6ZT0+MT09PWV8fDM9PT1lfSk7dGhpcy5zaWduYXR1cmVUeXBlPWdldFN0cmluZ09wdGlvbihlLnNpZ25hdHVyZVR5cGUsWyJmaWxsZXIiLCJhdXRob3IiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBNZWRpdW0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1lZGl1bSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbWFnaW5nQkJveD1mdW5jdGlvbiBnZXRCQm94KGUpe2NvbnN0IHQ9LTE7aWYoIWUpcmV0dXJue3g6dCx5OnQsd2lkdGg6dCxoZWlnaHQ6dH07Y29uc3QgaT1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+Z2V0TWVhc3VyZW1lbnQoZSwiLTEiKSkpO2lmKGkubGVuZ3RoPDR8fGlbMl08MHx8aVszXTwwKXJldHVybnt4OnQseTp0LHdpZHRoOnQsaGVpZ2h0OnR9O2NvbnN0W2EscyxyLG5dPWk7cmV0dXJue3g6YSx5OnMsd2lkdGg6cixoZWlnaHQ6bn19KGUuaW1hZ2luZ0JCb3gpO3RoaXMubG9uZz1nZXRNZWFzdXJlbWVudChlLmxvbmcpO3RoaXMub3JpZW50YXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3JpZW50YXRpb24sWyJwb3J0cmFpdCIsImxhbmRzY2FwZSJdKTt0aGlzLnNob3J0PWdldE1lYXN1cmVtZW50KGUuc2hvcnQpO3RoaXMuc3RvY2s9ZS5zdG9ja3x8IiI7dGhpcy50cmF5SW49Z2V0U3RyaW5nT3B0aW9uKGUudHJheUluLFsiYXV0byIsImRlbGVnYXRlIiwicGFnZUZyb250Il0pO3RoaXMudHJheU91dD1nZXRTdHJpbmdPcHRpb24oZS50cmF5T3V0LFsiYXV0byIsImRlbGVnYXRlIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgTWVzc2FnZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwibWVzc2FnZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE51bWVyaWNFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJudW1lcmljRWRpdCIsITApO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKSxpPXRoaXNbRHJdKClbRHJdKCksYT17bmFtZToiaW5wdXQiLGF0dHJpYnV0ZXM6e3R5cGU6InRleHQiLGZpZWxkSWQ6aVtjbl0sZGF0YUlkOmlbcnJdPy5bY25dfHxpW2NuXSxjbGFzczpbInhmYVRleHRmaWVsZCJdLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtpZihpc1JlcXVpcmVkKGkpKXthLmF0dHJpYnV0ZXNbImFyaWEtcmVxdWlyZWQiXT0hMDthLmF0dHJpYnV0ZXMucmVxdWlyZWQ9ITB9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToibGFiZWwiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhTGFiZWwiXX0sY2hpbGRyZW46W2FdfSl9fWNsYXNzIE9jY3VyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJvY2N1ciIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbml0aWFsPSIiIT09ZS5pbml0aWFsP2dldEludGVnZXIoe2RhdGE6ZS5pbml0aWFsLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMubWF4PSIiIT09ZS5tYXg/Z2V0SW50ZWdlcih7ZGF0YTplLm1heCxkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMubWluPSIiIT09ZS5taW4/Z2V0SW50ZWdlcih7ZGF0YTplLm1pbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtBcl0oKXtjb25zdCBlPXRoaXNbRHJdKCksdD10aGlzLm1pbjsiIj09PXRoaXMubWluJiYodGhpcy5taW49ZSBpbnN0YW5jZW9mIFBhZ2VBcmVhfHxlIGluc3RhbmNlb2YgUGFnZVNldD8wOjEpOyIiPT09dGhpcy5tYXgmJih0aGlzLm1heD0iIj09PXQ/ZSBpbnN0YW5jZW9mIFBhZ2VBcmVhfHxlIGluc3RhbmNlb2YgUGFnZVNldD8tMToxOnRoaXMubWluKTstMSE9PXRoaXMubWF4JiZ0aGlzLm1heDx0aGlzLm1pbiYmKHRoaXMubWF4PXRoaXMubWluKTsiIj09PXRoaXMuaW5pdGlhbCYmKHRoaXMuaW5pdGlhbD1lIGluc3RhbmNlb2YgVGVtcGxhdGU/MTp0aGlzLm1pbil9fWNsYXNzIE9pZCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwib2lkIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE9pZHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm9pZHMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5vaWQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBPdmVyZmxvdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwib3ZlcmZsb3ciKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy50cmFpbGVyPWUudHJhaWxlcnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtkcl0oKXtpZighdGhpc1tncl0pe2NvbnN0IGU9dGhpc1tEcl0oKSx0PXRoaXNbYnJdKCksaT10W0FuXSh0aGlzLnRhcmdldCxlKSxhPXRbQW5dKHRoaXMubGVhZGVyLGUpLHM9dFtBbl0odGhpcy50cmFpbGVyLGUpO3RoaXNbZ3JdPXt0YXJnZXQ6aT8uWzBdfHxudWxsLGxlYWRlcjphPy5bMF18fG51bGwsdHJhaWxlcjpzPy5bMF18fG51bGwsYWRkTGVhZGVyOiExLGFkZFRyYWlsZXI6ITF9fXJldHVybiB0aGlzW2dyXX19Y2xhc3MgUGFnZUFyZWEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhZ2VBcmVhIiwhMCk7dGhpcy5ibGFua09yTm90Qmxhbms9Z2V0U3RyaW5nT3B0aW9uKGUuYmxhbmtPck5vdEJsYW5rLFsiYW55IiwiYmxhbmsiLCJub3RCbGFuayJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5pdGlhbE51bWJlcj1nZXRJbnRlZ2VyKHtkYXRhOmUuaW5pdGlhbE51bWJlcixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMubnVtYmVyZWQ9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlcmVkLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy5vZGRPckV2ZW49Z2V0U3RyaW5nT3B0aW9uKGUub2RkT3JFdmVuLFsiYW55IiwiZXZlbiIsIm9kZCJdKTt0aGlzLnBhZ2VQb3NpdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5wYWdlUG9zaXRpb24sWyJhbnkiLCJmaXJzdCIsImxhc3QiLCJvbmx5IiwicmVzdCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVkaXVtPW51bGw7dGhpcy5vY2N1cj1udWxsO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb250ZW50QXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheX1bdnJdKCl7aWYoIXRoaXNbZ3JdKXt0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MH07cmV0dXJuITB9cmV0dXJuIXRoaXMub2NjdXJ8fC0xPT09dGhpcy5vY2N1ci5tYXh8fHRoaXNbZ3JdLm51bWJlck9mVXNlPHRoaXMub2NjdXIubWF4fVtlcl0oKXtkZWxldGUgdGhpc1tncl19W3lyXSgpe3RoaXNbZ3JdfHwodGhpc1tncl09e251bWJlck9mVXNlOjB9KTtjb25zdCBlPXRoaXNbRHJdKCk7aWYoIm9yZGVyZWRPY2N1cnJlbmNlIj09PWUucmVsYXRpb24mJnRoaXNbdnJdKCkpe3RoaXNbZ3JdLm51bWJlck9mVXNlKz0xO3JldHVybiB0aGlzfXJldHVybiBlW3lyXSgpfVtocl0oKXtyZXR1cm4gdGhpc1tncl0uc3BhY2V8fHt3aWR0aDowLGhlaWdodDowfX1bZ25dKCl7dGhpc1tncl18fCh0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MX0pO2NvbnN0IGU9W107dGhpc1tncl0uY2hpbGRyZW49ZTtjb25zdCB0PU9iamVjdC5jcmVhdGUobnVsbCk7aWYodGhpcy5tZWRpdW0mJnRoaXMubWVkaXVtLnNob3J0JiZ0aGlzLm1lZGl1bS5sb25nKXt0LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzLm1lZGl1bS5zaG9ydCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWVkaXVtLmxvbmcpO3RoaXNbZ3JdLnNwYWNlPXt3aWR0aDp0aGlzLm1lZGl1bS5zaG9ydCxoZWlnaHQ6dGhpcy5tZWRpdW0ubG9uZ307aWYoImxhbmRzY2FwZSI9PT10aGlzLm1lZGl1bS5vcmllbnRhdGlvbil7Y29uc3QgZT10LndpZHRoO3Qud2lkdGg9dC5oZWlnaHQ7dC5oZWlnaHQ9ZTt0aGlzW2dyXS5zcGFjZT17d2lkdGg6dGhpcy5tZWRpdW0ubG9uZyxoZWlnaHQ6dGhpcy5tZWRpdW0uc2hvcnR9fX1lbHNlIHdhcm4oIlhGQSAtIE5vIG1lZGl1bSBzcGVjaWZpZWQgaW4gcGFnZUFyZWE6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3RoaXNbJHNdKHtmaWx0ZXI6bmV3IFNldChbImFyZWEiLCJkcmF3IiwiZmllbGQiLCJzdWJmb3JtIl0pLGluY2x1ZGU6ITB9KTt0aGlzWyRzXSh7ZmlsdGVyOm5ldyBTZXQoWyJjb250ZW50QXJlYSJdKSxpbmNsdWRlOiEwfSk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjplLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhUGFnZSJdLGlkOnRoaXNbY25dLHN0eWxlOnQseGZhTmFtZTp0aGlzLm5hbWV9fSl9fWNsYXNzIFBhZ2VTZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhZ2VTZXQiLCEwKTt0aGlzLmR1cGxleEltcG9zaXRpb249Z2V0U3RyaW5nT3B0aW9uKGUuZHVwbGV4SW1wb3NpdGlvbixbImxvbmdFZGdlIiwic2hvcnRFZGdlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5yZWxhdGlvbixbIm9yZGVyZWRPY2N1cnJlbmNlIiwiZHVwbGV4UGFnaW5hdGVkIiwic2ltcGxleFBhZ2luYXRlZCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5fVtlcl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuKWVbZXJdKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5wYWdlU2V0LmNoaWxkcmVuKWVbZXJdKCl9W3ZyXSgpe3JldHVybiF0aGlzLm9jY3VyfHwtMT09PXRoaXMub2NjdXIubWF4fHx0aGlzW2dyXS5udW1iZXJPZlVzZTx0aGlzLm9jY3VyLm1heH1beXJdKCl7dGhpc1tncl18fCh0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MSxwYWdlSW5kZXg6LTEscGFnZVNldEluZGV4Oi0xfSk7aWYoIm9yZGVyZWRPY2N1cnJlbmNlIj09PXRoaXMucmVsYXRpb24pe2lmKHRoaXNbZ3JdLnBhZ2VJbmRleCsxPHRoaXMucGFnZUFyZWEuY2hpbGRyZW4ubGVuZ3RoKXt0aGlzW2dyXS5wYWdlSW5kZXgrPTE7cmV0dXJuIHRoaXMucGFnZUFyZWEuY2hpbGRyZW5bdGhpc1tncl0ucGFnZUluZGV4XVt5cl0oKX1pZih0aGlzW2dyXS5wYWdlU2V0SW5kZXgrMTx0aGlzLnBhZ2VTZXQuY2hpbGRyZW4ubGVuZ3RoKXt0aGlzW2dyXS5wYWdlU2V0SW5kZXgrPTE7cmV0dXJuIHRoaXMucGFnZVNldC5jaGlsZHJlblt0aGlzW2dyXS5wYWdlU2V0SW5kZXhdW3lyXSgpfWlmKHRoaXNbdnJdKCkpe3RoaXNbZ3JdLm51bWJlck9mVXNlKz0xO3RoaXNbZ3JdLnBhZ2VJbmRleD0tMTt0aGlzW2dyXS5wYWdlU2V0SW5kZXg9LTE7cmV0dXJuIHRoaXNbeXJdKCl9Y29uc3QgZT10aGlzW0RyXSgpO2lmKGUgaW5zdGFuY2VvZiBQYWdlU2V0KXJldHVybiBlW3lyXSgpO3RoaXNbZXJdKCk7cmV0dXJuIHRoaXNbeXJdKCl9Y29uc3QgZT10aGlzW2JyXSgpW2dyXS5wYWdlTnVtYmVyLHQ9ZSUyPT0wPyJldmVuIjoib2RkIixpPTA9PT1lPyJmaXJzdCI6InJlc3QiO2xldCBhPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ZS5vZGRPckV2ZW49PT10JiZlLnBhZ2VQb3NpdGlvbj09PWkpKTtpZihhKXJldHVybiBhO2E9dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5maW5kKChlPT4iYW55Ij09PWUub2RkT3JFdmVuJiZlLnBhZ2VQb3NpdGlvbj09PWkpKTtpZihhKXJldHVybiBhO2E9dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5maW5kKChlPT4iYW55Ij09PWUub2RkT3JFdmVuJiYiYW55Ij09PWUucGFnZVBvc2l0aW9uKSk7cmV0dXJuIGF8fHRoaXMucGFnZUFyZWEuY2hpbGRyZW5bMF19fWNsYXNzIFBhcmEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhcmEiLCEwKTt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5saW5lSGVpZ2h0PWUubGluZUhlaWdodD9nZXRNZWFzdXJlbWVudChlLmxpbmVIZWlnaHQsIjBwdCIpOiIiO3RoaXMubWFyZ2luTGVmdD1lLm1hcmdpbkxlZnQ/Z2V0TWVhc3VyZW1lbnQoZS5tYXJnaW5MZWZ0LCIwcHQiKToiIjt0aGlzLm1hcmdpblJpZ2h0PWUubWFyZ2luUmlnaHQ/Z2V0TWVhc3VyZW1lbnQoZS5tYXJnaW5SaWdodCwiMHB0Iik6IiI7dGhpcy5vcnBoYW5zPWdldEludGVnZXIoe2RhdGE6ZS5vcnBoYW5zLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnByZXNlcnZlPWUucHJlc2VydmV8fCIiO3RoaXMucmFkaXhPZmZzZXQ9ZS5yYWRpeE9mZnNldD9nZXRNZWFzdXJlbWVudChlLnJhZGl4T2Zmc2V0LCIwcHQiKToiIjt0aGlzLnNwYWNlQWJvdmU9ZS5zcGFjZUFib3ZlP2dldE1lYXN1cmVtZW50KGUuc3BhY2VBYm92ZSwiMHB0Iik6IiI7dGhpcy5zcGFjZUJlbG93PWUuc3BhY2VCZWxvdz9nZXRNZWFzdXJlbWVudChlLnNwYWNlQmVsb3csIjBwdCIpOiIiO3RoaXMudGFiRGVmYXVsdD1lLnRhYkRlZmF1bHQ/Z2V0TWVhc3VyZW1lbnQodGhpcy50YWJEZWZhdWx0KToiIjt0aGlzLnRhYlN0b3BzPShlLnRhYlN0b3BzfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKChlLHQpPT50JTI9PTE/Z2V0TWVhc3VyZW1lbnQoZSk6ZSkpO3RoaXMudGV4dEluZGVudD1lLnRleHRJbmRlbnQ/Z2V0TWVhc3VyZW1lbnQoZS50ZXh0SW5kZW50LCIwcHQiKToiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52QWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUudkFsaWduLFsidG9wIiwiYm90dG9tIiwibWlkZGxlIl0pO3RoaXMud2lkb3dzPWdldEludGVnZXIoe2RhdGE6ZS53aWRvd3MsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuaHlwaGVuYXRpb249bnVsbH1bSW5dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsImhBbGlnbiIpOyIiIT09dGhpcy5tYXJnaW5MZWZ0JiYoZS5wYWRkaW5nTGVmdD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tYXJnaW5MZWZ0KSk7IiIhPT10aGlzLm1hcmdpblJpZ2h0JiYoZS5wYWRkaW5naWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tYXJnaW5SaWdodCkpOyIiIT09dGhpcy5zcGFjZUFib3ZlJiYoZS5wYWRkaW5nVG9wPW1lYXN1cmVUb1N0cmluZyh0aGlzLnNwYWNlQWJvdmUpKTsiIiE9PXRoaXMuc3BhY2VCZWxvdyYmKGUucGFkZGluZ0JvdHRvbT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zcGFjZUJlbG93KSk7aWYoIiIhPT10aGlzLnRleHRJbmRlbnQpe2UudGV4dEluZGVudD1tZWFzdXJlVG9TdHJpbmcodGhpcy50ZXh0SW5kZW50KTtmaXhUZXh0SW5kZW50KGUpfXRoaXMubGluZUhlaWdodD4wJiYoZS5saW5lSGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLmxpbmVIZWlnaHQpKTsiIiE9PXRoaXMudGFiRGVmYXVsdCYmKGUudGFiU2l6ZT1tZWFzdXJlVG9TdHJpbmcodGhpcy50YWJEZWZhdWx0KSk7dGhpcy50YWJTdG9wcy5sZW5ndGg7dGhpcy5oeXBoZW5hdGF0aW9uJiZPYmplY3QuYXNzaWduKGUsdGhpcy5oeXBoZW5hdGF0aW9uW0luXSgpKTtyZXR1cm4gZX19Y2xhc3MgUGFzc3dvcmRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwYXNzd29yZEVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGFzc3dvcmRDaGFyPWUucGFzc3dvcmRDaGFyfHwiKiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfX1jbGFzcyB0ZW1wbGF0ZV9QYXR0ZXJuIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwYXR0ZXJuIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbImNyb3NzSGF0Y2giLCJjcm9zc0RpYWdvbmFsIiwiZGlhZ29uYWxMZWZ0IiwiZGlhZ29uYWxSaWdodCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtlPWU/ZVtJbl0oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiLGk9InJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLGE9YCR7ZX0sJHtlfSA1cHgsJHt0fSA1cHgsJHt0fSAxMHB4YDtzd2l0Y2godGhpcy50eXBlKXtjYXNlImNyb3NzSGF0Y2giOnJldHVybmAke2l9KHRvIHRvcCwke2F9KSAke2l9KHRvIHJpZ2h0LCR7YX0pYDtjYXNlImNyb3NzRGlhZ29uYWwiOnJldHVybmAke2l9KDQ1ZGVnLCR7YX0pICR7aX0oLTQ1ZGVnLCR7YX0pYDtjYXNlImRpYWdvbmFsTGVmdCI6cmV0dXJuYCR7aX0oNDVkZWcsJHthfSlgO2Nhc2UiZGlhZ29uYWxSaWdodCI6cmV0dXJuYCR7aX0oLTQ1ZGVnLCR7YX0pYDtjYXNlImhvcml6b250YWwiOnJldHVybmAke2l9KHRvIHRvcCwke2F9KWA7Y2FzZSJ2ZXJ0aWNhbCI6cmV0dXJuYCR7aX0odG8gcmlnaHQsJHthfSlgfXJldHVybiIifX1jbGFzcyBQaWN0dXJlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwaWN0dXJlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFByb3RvIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwcm90byIsITApO3RoaXMuYXBwZWFyYW5jZUZpbHRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hcmM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hc3Npc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYmFyY29kZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5iaW5kSXRlbXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYm9va2VuZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJvcmRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0FmdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQmVmb3JlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJ1dHRvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jYWxjdWxhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2FwdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hlY2tCdXR0b249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hvaWNlTGlzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb2xvcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb21iPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29udGVudEFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWVFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFVpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlc2M9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRpZ2VzdE1ldGhvZHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lZGdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5ncz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHREYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdGlvbk1ldGhvZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ldmVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhPYmplY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhjbEdyb3VwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4ZWN1dGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpbGw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmlsdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZvbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZm9ybWF0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmhhbmRsZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaHlwaGVuYXRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2VFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaXNzdWVycz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5rZWVwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmtleVVzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxpbmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubGluZWFyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxvY2tEb2N1bWVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYW5pZmVzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYXJnaW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWRwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1lZGl1bT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm51bWVyaWNFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9jY3VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9pZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vaWRzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm92ZXJmbG93PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFyYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYXNzd29yZEVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5waWN0dXJlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJhZGlhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWFzb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVhc29ucz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWN0YW5nbGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVmPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduRGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduYXR1cmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbmluZz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zb2xpZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zcGVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdGlwcGxlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybVNldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJqZWN0RE49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViamVjdEROcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0RWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWVTdGFtcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50b29sVGlwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRyYXZlcnNhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy51aT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWxpZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWx1ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YXJpYWJsZXM9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBSYWRpYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInJhZGlhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJ0b0VkZ2UiLCJ0b0NlbnRlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtlPWU/ZVtJbl0oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiO3JldHVybmByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGNlbnRlciwgJHsidG9FZGdlIj09PXRoaXMudHlwZT9gJHtlfSwke3R9YDpgJHt0fSwke2V9YH0pYH19Y2xhc3MgUmVhc29uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJyZWFzb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUmVhc29ucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVhc29ucyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnJlYXNvbj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFJlY3RhbmdsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVjdGFuZ2xlIiwhMCk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheSg0KTt0aGlzLmVkZ2U9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZmlsbD1udWxsfVtnbl0oKXtjb25zdCBlPXRoaXMuZWRnZS5jaGlsZHJlbi5sZW5ndGg/dGhpcy5lZGdlLmNoaWxkcmVuWzBdOm5ldyBFZGdlKHt9KSx0PWVbSW5dKCksaT1PYmplY3QuY3JlYXRlKG51bGwpOyJ2aXNpYmxlIj09PXRoaXMuZmlsbD8ucHJlc2VuY2U/T2JqZWN0LmFzc2lnbihpLHRoaXMuZmlsbFtJbl0oKSk6aS5maWxsPSJ0cmFuc3BhcmVudCI7aS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcoInZpc2libGUiPT09ZS5wcmVzZW5jZT9lLnRoaWNrbmVzczowKTtpLnN0cm9rZT10LmNvbG9yO2NvbnN0IGE9KHRoaXMuY29ybmVyLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNvcm5lci5jaGlsZHJlblswXTpuZXcgQ29ybmVyKHt9KSlbSW5dKCkscz17bmFtZToic3ZnIixjaGlsZHJlbjpbe25hbWU6InJlY3QiLGF0dHJpYnV0ZXM6e3htbG5zOlRuLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHg6MCx5OjAscng6YS5yYWRpdXMscnk6YS5yYWRpdXMsc3R5bGU6aX19XSxhdHRyaWJ1dGVzOnt4bWxuczpUbixzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifSx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19O2lmKGhhc01hcmdpbih0aGlzW0RyXSgpW0RyXSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W3NdfSk7cy5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhzKX19Y2xhc3MgUmVmRWxlbWVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVmIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNjcmlwdCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic2NyaXB0Iik7dGhpcy5iaW5kaW5nPWUuYmluZGluZ3x8IiI7dGhpcy5jb250ZW50VHlwZT1lLmNvbnRlbnRUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucnVuQXQ9Z2V0U3RyaW5nT3B0aW9uKGUucnVuQXQsWyJjbGllbnQiLCJib3RoIiwic2VydmVyIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU2V0UHJvcGVydHkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNldFByb3BlcnR5Iik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIn19Y2xhc3MgU2lnbkRhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNpZ25EYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJzaWduIiwiY2xlYXIiLCJ2ZXJpZnkiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5maWx0ZXI9bnVsbDt0aGlzLm1hbmlmZXN0PW51bGx9fWNsYXNzIFNpZ25hdHVyZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic2lnbmF0dXJlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIlBERjEuMyIsIlBERjEuNiJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsO3RoaXMubWFyZ2luPW51bGx9fWNsYXNzIFNpZ25pbmcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNpZ25pbmciLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFNvbGlkIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJzb2xpZCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtyZXR1cm4gZT9lW0luXSgpOiIjRkZGRkZGIn19Y2xhc3MgU3BlYWsgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNwZWFrIik7dGhpcy5kaXNhYmxlPWdldEludGVnZXIoe2RhdGE6ZS5kaXNhYmxlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnByaW9yaXR5PWdldFN0cmluZ09wdGlvbihlLnByaW9yaXR5LFsiY3VzdG9tIiwiY2FwdGlvbiIsIm5hbWUiLCJ0b29sVGlwIl0pO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFN0aXBwbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN0aXBwbGUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucmF0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUucmF0ZSxkZWZhdWx0VmFsdWU6NTAsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9MTAwfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtJbl0oZSl7Y29uc3QgdD10aGlzLnJhdGUvMTAwO3JldHVybiBVdGlsLm1ha2VIZXhDb2xvcihNYXRoLnJvdW5kKGUudmFsdWUuciooMS10KSt0aGlzLnZhbHVlLnIqdCksTWF0aC5yb3VuZChlLnZhbHVlLmcqKDEtdCkrdGhpcy52YWx1ZS5nKnQpLE1hdGgucm91bmQoZS52YWx1ZS5iKigxLXQpK3RoaXMudmFsdWUuYip0KSl9fWNsYXNzIFN1YmZvcm0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmZvcm0iLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFsbG93TWFjcm89Z2V0SW50ZWdlcih7ZGF0YTplLmFsbG93TWFjcm8sZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmFuY2hvclR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuYW5jaG9yVHlwZSxbInRvcExlZnQiLCJib3R0b21DZW50ZXIiLCJib3R0b21MZWZ0IiwiYm90dG9tUmlnaHQiLCJtaWRkbGVDZW50ZXIiLCJtaWRkbGVMZWZ0IiwibWlkZGxlUmlnaHQiLCJ0b3BDZW50ZXIiLCJ0b3BSaWdodCJdKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5jb2x1bW5XaWR0aHM9KGUuY29sdW1uV2lkdGhzfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PiItMSI9PT1lPy0xOmdldE1lYXN1cmVtZW50KGUpKSk7dGhpcy5oPWUuaD9nZXRNZWFzdXJlbWVudChlLmgpOiIiO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxheW91dD1nZXRTdHJpbmdPcHRpb24oZS5sYXlvdXQsWyJwb3NpdGlvbiIsImxyLXRiIiwicmwtcm93IiwicmwtdGIiLCJyb3ciLCJ0YWJsZSIsInRiIl0pO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1lcmdlTW9kZT1nZXRTdHJpbmdPcHRpb24oZS5tZXJnZU1vZGUsWyJjb25zdW1lRGF0YSIsIm1hdGNoVGVtcGxhdGUiXSk7dGhpcy5taW5IPWdldE1lYXN1cmVtZW50KGUubWluSCwiMHB0Iik7dGhpcy5taW5XPWdldE1lYXN1cmVtZW50KGUubWluVywiMHB0Iik7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMucmVzdG9yZVN0YXRlPWdldFN0cmluZ09wdGlvbihlLnJlc3RvcmVTdGF0ZSxbIm1hbnVhbCIsImF1dG8iXSk7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbIm5hbWUiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnc9ZS53P2dldE1lYXN1cmVtZW50KGUudyk6IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5hc3Npc3Q9bnVsbDt0aGlzLmJpbmQ9bnVsbDt0aGlzLmJvb2tlbmQ9bnVsbDt0aGlzLmJvcmRlcj1udWxsO3RoaXMuYnJlYWs9bnVsbDt0aGlzLmNhbGN1bGF0ZT1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5vdmVyZmxvdz1udWxsO3RoaXMucGFnZVNldD1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMudmFyaWFibGVzPW51bGw7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ubmVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcm90bz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fVt3cl0oKXtjb25zdCBlPXRoaXNbRHJdKCk7cmV0dXJuIGUgaW5zdGFuY2VvZiBTdWJmb3JtU2V0P2Vbd3JdKCk6ZX1beHJdKCl7cmV0dXJuITB9W0pyXSgpe3JldHVybiB0aGlzLmxheW91dC5lbmRzV2l0aCgiLXRiIikmJjA9PT10aGlzW2dyXS5hdHRlbXB0JiZ0aGlzW2dyXS5udW1iZXJJbkxpbmU+MHx8dGhpc1tEcl0oKVtKcl0oKX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtJcl0oKXtyZXR1cm4gZmx1c2hIVE1MKHRoaXMpfVt6c10oZSx0KXthZGRIVE1MKHRoaXMsZSx0KX1baHJdKCl7cmV0dXJuIGdldEF2YWlsYWJsZVNwYWNlKHRoaXMpfVtIcl0oKXtjb25zdCBlPXRoaXNbd3JdKCk7aWYoIWVbSHJdKCkpcmV0dXJuITE7aWYodm9pZCAwIT09dGhpc1tncl0uX2lzU3BsaXR0YWJsZSlyZXR1cm4gdGhpc1tncl0uX2lzU3BsaXR0YWJsZTtpZigicG9zaXRpb24iPT09dGhpcy5sYXlvdXR8fHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7dGhpc1tncl0uX2lzU3BsaXR0YWJsZT0hMTtyZXR1cm4hMX1pZih0aGlzLmtlZXAmJiJub25lIiE9PXRoaXMua2VlcC5pbnRhY3Qpe3RoaXNbZ3JdLl9pc1NwbGl0dGFibGU9ITE7cmV0dXJuITF9aWYoZS5sYXlvdXQ/LmVuZHNXaXRoKCItdGIiKSYmMCE9PWVbZ3JdLm51bWJlckluTGluZSlyZXR1cm4hMTt0aGlzW2dyXS5faXNTcGxpdHRhYmxlPSEwO3JldHVybiEwfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYodGhpcy5icmVhayl7aWYoImF1dG8iIT09dGhpcy5icmVhay5hZnRlcnx8IiIhPT10aGlzLmJyZWFrLmFmdGVyVGFyZ2V0KXtjb25zdCBlPW5ldyBCcmVha0FmdGVyKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYWZ0ZXIsdGFyZ2V0OnRoaXMuYnJlYWsuYWZ0ZXJUYXJnZXQsc3RhcnROZXc6dGhpcy5icmVhay5zdGFydE5ldy50b1N0cmluZygpfSk7ZVtGcl09dGhpc1tGcl07dGhpc1tfc10oZSk7dGhpcy5icmVha0FmdGVyLnB1c2goZSl9aWYoImF1dG8iIT09dGhpcy5icmVhay5iZWZvcmV8fCIiIT09dGhpcy5icmVhay5iZWZvcmVUYXJnZXQpe2NvbnN0IGU9bmV3IEJyZWFrQmVmb3JlKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYmVmb3JlLHRhcmdldDp0aGlzLmJyZWFrLmJlZm9yZVRhcmdldCxzdGFydE5ldzp0aGlzLmJyZWFrLnN0YXJ0TmV3LnRvU3RyaW5nKCl9KTtlW0ZyXT10aGlzW0ZyXTt0aGlzW19zXShlKTt0aGlzLmJyZWFrQmVmb3JlLnB1c2goZSl9aWYoIiIhPT10aGlzLmJyZWFrLm92ZXJmbG93VGFyZ2V0KXtjb25zdCBlPW5ldyBPdmVyZmxvdyh7dGFyZ2V0OnRoaXMuYnJlYWsub3ZlcmZsb3dUYXJnZXQsbGVhZGVyOnRoaXMuYnJlYWsub3ZlcmZsb3dMZWFkZXIsdHJhaWxlcjp0aGlzLmJyZWFrLm92ZXJmbG93VHJhaWxlcn0pO2VbRnJdPXRoaXNbRnJdO3RoaXNbX3NdKGUpO3RoaXMub3ZlcmZsb3cucHVzaChlKX10aGlzW3pyXSh0aGlzLmJyZWFrKTt0aGlzLmJyZWFrPW51bGx9aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTsodGhpcy5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+MXx8dGhpcy5icmVha0FmdGVyLmNoaWxkcmVuLmxlbmd0aD4xKSYmd2FybigiWEZBIC0gU2V2ZXJhbCBicmVha0JlZm9yZSBvciBicmVha0FmdGVyIGluIHN1YmZvcm1zOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTtpZih0aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7Y29uc3QgZT10aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO2lmKGhhbmRsZUJyZWFrKGUpKXJldHVybiBIVE1MUmVzdWx0LmJyZWFrTm9kZShlKX1pZih0aGlzW2dyXT8uYWZ0ZXJCcmVha0FmdGVyKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2ZpeERpbWVuc2lvbnModGhpcyk7Y29uc3QgdD1bXSxpPXtpZDp0aGlzW2NuXSxjbGFzczpbXX07c2V0QWNjZXNzKHRoaXMsaS5jbGFzcyk7dGhpc1tncl18fCh0aGlzW2dyXT1PYmplY3QuY3JlYXRlKG51bGwpKTtPYmplY3QuYXNzaWduKHRoaXNbZ3JdLHtjaGlsZHJlbjp0LGxpbmU6bnVsbCxhdHRyaWJ1dGVzOmksYXR0ZW1wdDowLG51bWJlckluTGluZTowLGF2YWlsYWJsZVNwYWNlOnt3aWR0aDpNYXRoLm1pbih0aGlzLnd8fDEvMCxlLndpZHRoKSxoZWlnaHQ6TWF0aC5taW4odGhpcy5ofHwxLzAsZS5oZWlnaHQpfSx3aWR0aDowLGhlaWdodDowLHByZXZIZWlnaHQ6MCxjdXJyZW50V2lkdGg6MH0pO2NvbnN0IGE9dGhpc1ticl0oKSxzPWFbZ3JdLm5vTGF5b3V0RmFpbHVyZSxyPXRoaXNbSHJdKCk7cnx8c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXJldHVybiBIVE1MUmVzdWx0LkZBSUxVUkU7Y29uc3Qgbj1uZXcgU2V0KFsiYXJlYSIsImRyYXciLCJleGNsR3JvdXAiLCJmaWVsZCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW3dyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW2dyXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW2dyXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IGc9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxvPVsieGZhU3ViZm9ybSJdLGM9bGF5b3V0Q2xhc3ModGhpcyk7YyYmby5wdXNoKGMpO2kuc3R5bGU9ZztpLmNsYXNzPW87dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7aWYodGhpcy5vdmVyZmxvdyl7Y29uc3QgdD10aGlzLm92ZXJmbG93W2RyXSgpO2lmKHQuYWRkTGVhZGVyKXt0LmFkZExlYWRlcj0hMTtoYW5kbGVPdmVyZmxvdyh0aGlzLHQubGVhZGVyLGUpfX10aGlzW1ZyXSgpO2NvbnN0IEM9ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsaD1DPzI6MTtmb3IoO3RoaXNbZ3JdLmF0dGVtcHQ8aDt0aGlzW2dyXS5hdHRlbXB0Kyspe0MmJjE9PT10aGlzW2dyXS5hdHRlbXB0JiYodGhpc1tncl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1skc10oe2ZpbHRlcjpuLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbWnJdKCk7cmV0dXJuIGV9aWYoQyYmMD09PXRoaXNbZ3JdLmF0dGVtcHQmJjA9PT10aGlzW2dyXS5udW1iZXJJbkxpbmUmJiFhW2dyXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbZ3JdLmF0dGVtcHQ9aDticmVha319dGhpc1tacl0oKTtyfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT1zO2lmKHRoaXNbZ3JdLmF0dGVtcHQ9PT1oKXt0aGlzLm92ZXJmbG93JiYodGhpc1ticl0oKVtncl0ub3ZlcmZsb3dOb2RlPXRoaXMub3ZlcmZsb3cpO3J8fGRlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfWlmKHRoaXMub3ZlcmZsb3cpe2NvbnN0IHQ9dGhpcy5vdmVyZmxvd1tkcl0oKTtpZih0LmFkZFRyYWlsZXIpe3QuYWRkVHJhaWxlcj0hMTtoYW5kbGVPdmVyZmxvdyh0aGlzLHQudHJhaWxlcixlKX19bGV0IGw9MCxRPTA7aWYodGhpcy5tYXJnaW4pe2w9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7UT10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1jb25zdCBFPU1hdGgubWF4KHRoaXNbZ3JdLndpZHRoK2wsdGhpcy53fHwwKSx1PU1hdGgubWF4KHRoaXNbZ3JdLmhlaWdodCtRLHRoaXMuaHx8MCksZD1bdGhpcy54LHRoaXMueSxFLHVdOyIiPT09dGhpcy53JiYoZy53aWR0aD1tZWFzdXJlVG9TdHJpbmcoRSkpOyIiPT09dGhpcy5oJiYoZy5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHUpKTtpZigoIjBweCI9PT1nLndpZHRofHwiMHB4Ij09PWcuaGVpZ2h0KSYmMD09PXQubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2NvbnN0IGY9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7Y29uc3QgcD1IVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGYpLGQpO2lmKHRoaXMuYnJlYWtBZnRlci5jaGlsZHJlbi5sZW5ndGg+PTEpe2NvbnN0IGU9dGhpcy5icmVha0FmdGVyLmNoaWxkcmVuWzBdO2lmKGhhbmRsZUJyZWFrKGUpKXt0aGlzW2dyXS5hZnRlckJyZWFrQWZ0ZXI9cDtyZXR1cm4gSFRNTFJlc3VsdC5icmVha05vZGUoZSl9fWRlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gcH19Y2xhc3MgU3ViZm9ybVNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic3ViZm9ybVNldCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5yZWxhdGlvbixbIm9yZGVyZWQiLCJjaG9pY2UiLCJ1bm9yZGVyZWQiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29rZW5kPW51bGw7dGhpcy5icmVhaz1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5vY2N1cj1udWxsO3RoaXMub3ZlcmZsb3c9bnVsbDt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVt3cl0oKXtsZXQgZT10aGlzW0RyXSgpO2Zvcig7IShlIGluc3RhbmNlb2YgU3ViZm9ybSk7KWU9ZVtEcl0oKTtyZXR1cm4gZX1beHJdKCl7cmV0dXJuITB9fWNsYXNzIFN1YmplY3RETiBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmplY3RETiIpO3RoaXMuZGVsaW1pdGVyPWUuZGVsaW1pdGVyfHwiLCI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe3RoaXNbc3JdPW5ldyBNYXAodGhpc1tzcl0uc3BsaXQodGhpcy5kZWxpbWl0ZXIpLm1hcCgoZT0+eyhlPWUuc3BsaXQoIj0iLDIpKVswXT1lWzBdLnRyaW0oKTtyZXR1cm4gZX0pKSl9fWNsYXNzIFN1YmplY3RETnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmplY3RETnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zdWJqZWN0RE49bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBTdWJtaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1Ym1pdCIsITApO3RoaXMuZW1iZWRQREY9Z2V0SW50ZWdlcih7ZGF0YTplLmVtYmVkUERGLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5mb3JtYXQ9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0LFsieGRwIiwiZm9ybWRhdGEiLCJwZGYiLCJ1cmxlbmNvZGVkIiwieGZkIiwieG1sIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudGV4dEVuY29kaW5nPWdldEtleXdvcmQoe2RhdGE6ZS50ZXh0RW5jb2Rpbmc/ZS50ZXh0RW5jb2RpbmcudG9Mb3dlckNhc2UoKToiIixkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+WyJ1dGYtOCIsImJpZy1maXZlIiwiZm9udHNwZWNpZmljIiwiZ2JrIiwiZ2ItMTgwMzAiLCJnYi0yMzEyIiwia3NjLTU2MDEiLCJub25lIiwic2hpZnQtamlzIiwidWNzLTIiLCJ1dGYtMTYiXS5pbmNsdWRlcyhlKXx8ZS5tYXRjaCgvaXNvLTg4NTktXGR7Mn0vKX0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnhkcENvbnRlbnQ9ZS54ZHBDb250ZW50fHwiIjt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmVuY3J5cHREYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNpZ25EYXRhPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgVGVtcGxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInRlbXBsYXRlIiwhMCk7dGhpcy5iYXNlUHJvZmlsZT1nZXRTdHJpbmdPcHRpb24oZS5iYXNlUHJvZmlsZSxbImZ1bGwiLCJpbnRlcmFjdGl2ZUZvcm1zIl0pO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheX1bb3JdKCl7MD09PXRoaXMuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGgmJndhcm4oIlhGQSAtIE5vIHN1YmZvcm1zIGluIHRlbXBsYXRlIG5vZGUuIik7dGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MiYmd2FybigiWEZBIC0gU2V2ZXJhbCBzdWJmb3JtcyBpbiB0ZW1wbGF0ZSBub2RlOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTt0aGlzW3NuXT01ZTN9W0hyXSgpe3JldHVybiEwfVtBbl0oZSx0KXtyZXR1cm4gZS5zdGFydHNXaXRoKCIjIik/W3RoaXNba3JdLmdldChlLnNsaWNlKDEpKV06c2VhcmNoTm9kZSh0aGlzLHQsZSwhMCwhMCl9Kltubl0oKXtpZighdGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGNoaWxkcmVuOltdfSk7dGhpc1tncl09e292ZXJmbG93Tm9kZTpudWxsLGZpcnN0VW5zcGxpdHRhYmxlOm51bGwsY3VycmVudENvbnRlbnRBcmVhOm51bGwsY3VycmVudFBhZ2VBcmVhOm51bGwsbm9MYXlvdXRGYWlsdXJlOiExLHBhZ2VOdW1iZXI6MSxwYWdlUG9zaXRpb246ImZpcnN0IixvZGRPckV2ZW46Im9kZCIsYmxhbmtPck5vdEJsYW5rOiJub25CbGFuayIscGFyYVN0YWNrOltdfTtjb25zdCBlPXRoaXMuc3ViZm9ybS5jaGlsZHJlblswXTtlLnBhZ2VTZXRbZXJdKCk7Y29uc3QgdD1lLnBhZ2VTZXQucGFnZUFyZWEuY2hpbGRyZW4saT17bmFtZToiZGl2IixjaGlsZHJlbjpbXX07bGV0IGE9bnVsbCxzPW51bGwscj1udWxsO2lmKGUuYnJlYWtCZWZvcmUuY2hpbGRyZW4ubGVuZ3RoPj0xKXtzPWUuYnJlYWtCZWZvcmUuY2hpbGRyZW5bMF07cj1zLnRhcmdldH1lbHNlIGlmKGUuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGg+PTEmJmUuc3ViZm9ybS5jaGlsZHJlblswXS5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+PTEpe3M9ZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO3I9cy50YXJnZXR9ZWxzZSBpZihlLmJyZWFrPy5iZWZvcmVUYXJnZXQpe3M9ZS5icmVhaztyPXMuYmVmb3JlVGFyZ2V0fWVsc2UgaWYoZS5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MSYmZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrPy5iZWZvcmVUYXJnZXQpe3M9ZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrO3I9cy5iZWZvcmVUYXJnZXR9aWYocyl7Y29uc3QgZT10aGlzW0FuXShyLHNbRHJdKCkpO2lmKGUgaW5zdGFuY2VvZiBQYWdlQXJlYSl7YT1lO3NbZ3JdPXt9fX1hfHwoYT10WzBdKTthW2dyXT17bnVtYmVyT2ZVc2U6MX07Y29uc3Qgbj1hW0RyXSgpO25bZ3JdPXtudW1iZXJPZlVzZToxLHBhZ2VJbmRleDpuLnBhZ2VBcmVhLmNoaWxkcmVuLmluZGV4T2YoYSkscGFnZVNldEluZGV4OjB9O2xldCBnLG89bnVsbCxjPW51bGwsQz0hMCxoPTAsbD0wO2Zvcig7Oyl7aWYoQyloPTA7ZWxzZXtpLmNoaWxkcmVuLnBvcCgpO2lmKDM9PSsraCl7d2FybigiWEZBIC0gU29tZXRoaW5nIGdvZXMgd3Jvbmc6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3JldHVybiBpfX1nPW51bGw7dGhpc1tncl0uY3VycmVudFBhZ2VBcmVhPWE7Y29uc3QgdD1hW2duXSgpLmh0bWw7aS5jaGlsZHJlbi5wdXNoKHQpO2lmKG8pe3RoaXNbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMDt0LmNoaWxkcmVuLnB1c2gob1tnbl0oYVtncl0uc3BhY2UpLmh0bWwpO289bnVsbH1pZihjKXt0aGlzW2dyXS5ub0xheW91dEZhaWx1cmU9ITA7dC5jaGlsZHJlbi5wdXNoKGNbZ25dKGFbZ3JdLnNwYWNlKS5odG1sKTtjPW51bGx9Y29uc3Qgcz1hLmNvbnRlbnRBcmVhLmNoaWxkcmVuLHI9dC5jaGlsZHJlbi5maWx0ZXIoKGU9PmUuYXR0cmlidXRlcy5jbGFzcy5pbmNsdWRlcygieGZhQ29udGVudGFyZWEiKSkpO0M9ITE7dGhpc1tncl0uZmlyc3RVbnNwbGl0dGFibGU9bnVsbDt0aGlzW2dyXS5ub0xheW91dEZhaWx1cmU9ITE7Y29uc3QgZmx1c2g9dD0+e2NvbnN0IGk9ZVtJcl0oKTtpZihpKXtDfHw9aS5jaGlsZHJlbj8ubGVuZ3RoPjA7clt0XS5jaGlsZHJlbi5wdXNoKGkpfX07Zm9yKGxldCB0PWwsYT1zLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPXRoaXNbZ3JdLmN1cnJlbnRDb250ZW50QXJlYT1zW3RdLG49e3dpZHRoOmEudyxoZWlnaHQ6YS5ofTtsPTA7aWYobyl7clt0XS5jaGlsZHJlbi5wdXNoKG9bZ25dKG4pLmh0bWwpO289bnVsbH1pZihjKXtyW3RdLmNoaWxkcmVuLnB1c2goY1tnbl0obikuaHRtbCk7Yz1udWxsfWNvbnN0IGg9ZVtnbl0obik7aWYoaC5zdWNjZXNzKXtpZihoLmh0bWwpe0N8fD1oLmh0bWwuY2hpbGRyZW4/Lmxlbmd0aD4wO3JbdF0uY2hpbGRyZW4ucHVzaChoLmh0bWwpfWVsc2UhQyYmaS5jaGlsZHJlbi5sZW5ndGg+MSYmaS5jaGlsZHJlbi5wb3AoKTtyZXR1cm4gaX1pZihoLmlzQnJlYWsoKSl7Y29uc3QgZT1oLmJyZWFrTm9kZTtmbHVzaCh0KTtpZigiYXV0byI9PT1lLnRhcmdldFR5cGUpY29udGludWU7aWYoZS5sZWFkZXIpe289dGhpc1tBbl0oZS5sZWFkZXIsZVtEcl0oKSk7bz1vP29bMF06bnVsbH1pZihlLnRyYWlsZXIpe2M9dGhpc1tBbl0oZS50cmFpbGVyLGVbRHJdKCkpO2M9Yz9jWzBdOm51bGx9aWYoInBhZ2VBcmVhIj09PWUudGFyZ2V0VHlwZSl7Zz1lW2dyXS50YXJnZXQ7dD0xLzB9ZWxzZSBpZihlW2dyXS50YXJnZXQpe2c9ZVtncl0udGFyZ2V0O2w9ZVtncl0uaW5kZXgrMTt0PTEvMH1lbHNlIHQ9ZVtncl0uaW5kZXh9ZWxzZSBpZih0aGlzW2dyXS5vdmVyZmxvd05vZGUpe2NvbnN0IGU9dGhpc1tncl0ub3ZlcmZsb3dOb2RlO3RoaXNbZ3JdLm92ZXJmbG93Tm9kZT1udWxsO2NvbnN0IGk9ZVtkcl0oKSxhPWkudGFyZ2V0O2kuYWRkTGVhZGVyPW51bGwhPT1pLmxlYWRlcjtpLmFkZFRyYWlsZXI9bnVsbCE9PWkudHJhaWxlcjtmbHVzaCh0KTtjb25zdCByPXQ7dD0xLzA7aWYoYSBpbnN0YW5jZW9mIFBhZ2VBcmVhKWc9YTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBDb250ZW50QXJlYSl7Y29uc3QgZT1zLmluZGV4T2YoYSk7aWYoLTEhPT1lKWU+cj90PWUtMTpsPWU7ZWxzZXtnPWFbRHJdKCk7bD1nLmNvbnRlbnRBcmVhLmNoaWxkcmVuLmluZGV4T2YoYSl9fX1lbHNlIGZsdXNoKHQpfXRoaXNbZ3JdLnBhZ2VOdW1iZXIrPTE7ZyYmKGdbdnJdKCk/Z1tncl0ubnVtYmVyT2ZVc2UrPTE6Zz1udWxsKTthPWd8fGFbeXJdKCk7eWllbGQgbnVsbH19fWNsYXNzIFRleHQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0ZXh0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm1heENoYXJzPWdldEludGVnZXIoe2RhdGE6ZS5tYXhDaGFycyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yaWQ9ZS5yaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bVnNdKCl7cmV0dXJuITB9W1ByXShlKXtpZihlW1RyXT09PWhuLnhodG1sLmlkKXt0aGlzW3NyXT1lO3JldHVybiEwfXdhcm4oYFhGQSAtIEludmFsaWQgY29udGVudCBpbiBUZXh0OiAke2VbcXJdfS5gKTtyZXR1cm4hMX1banJdKGUpe3RoaXNbc3JdaW5zdGFuY2VvZiBYRkFPYmplY3R8fHN1cGVyW2pyXShlKX1bb3JdKCl7InN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXSYmKHRoaXNbc3JdPXRoaXNbc3JdLnJlcGxhY2VBbGwoIlxyXG4iLCJcbiIpKX1bZHJdKCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXT90aGlzW3NyXS5zcGxpdCgvW1x1MjAyOVx1MjAyOFxuXS8pLnJlZHVjZSgoKGUsdCk9Pnt0JiZlLnB1c2godCk7cmV0dXJuIGV9KSxbXSkuam9pbigiXG4iKTp0aGlzW3NyXVtybl0oKX1bZ25dKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgdGhpc1tzcl0pe2NvbnN0IGU9dmFsdWVUb0h0bWwodGhpc1tzcl0pLmh0bWw7aWYodGhpc1tzcl0uaW5jbHVkZXMoIlx1MjAyOSIpKXtlLm5hbWU9ImRpdiI7ZS5jaGlsZHJlbj1bXTt0aGlzW3NyXS5zcGxpdCgiXHUyMDI5IikubWFwKChlPT5lLnNwbGl0KC9bXHUyMDI4XG5dLykucmVkdWNlKCgoZSx0KT0+e2UucHVzaCh7bmFtZToic3BhbiIsdmFsdWU6dH0se25hbWU6ImJyIn0pO3JldHVybiBlfSksW10pKSkuZm9yRWFjaCgodD0+e2UuY2hpbGRyZW4ucHVzaCh7bmFtZToicCIsY2hpbGRyZW46dH0pfSkpfWVsc2UgaWYoL1tcdTIwMjhcbl0vLnRlc3QodGhpc1tzcl0pKXtlLm5hbWU9ImRpdiI7ZS5jaGlsZHJlbj1bXTt0aGlzW3NyXS5zcGxpdCgvW1x1MjAyOFxuXS8pLmZvckVhY2goKHQ9PntlLmNoaWxkcmVuLnB1c2goe25hbWU6InNwYW4iLHZhbHVlOnR9LHtuYW1lOiJiciJ9KX0pKX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfXJldHVybiB0aGlzW3NyXVtnbl0oZSl9fWNsYXNzIFRleHRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0ZXh0RWRpdCIsITApO3RoaXMuYWxsb3dSaWNoVGV4dD1nZXRJbnRlZ2VyKHtkYXRhOmUuYWxsb3dSaWNoVGV4dCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tdWx0aUxpbmU9Z2V0SW50ZWdlcih7ZGF0YTplLm11bHRpTGluZSxkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+MD09PWV8fDE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudlNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS52U2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKTtsZXQgaTtjb25zdCBhPXRoaXNbRHJdKClbRHJdKCk7IiI9PT10aGlzLm11bHRpTGluZSYmKHRoaXMubXVsdGlMaW5lPWEgaW5zdGFuY2VvZiBEcmF3PzE6MCk7aT0xPT09dGhpcy5tdWx0aUxpbmU/e25hbWU6InRleHRhcmVhIixhdHRyaWJ1dGVzOntkYXRhSWQ6YVtycl0/Lltjbl18fGFbY25dLGZpZWxkSWQ6YVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoYSksImFyaWEtcmVxdWlyZWQiOiExfX06e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixkYXRhSWQ6YVtycl0/Lltjbl18fGFbY25dLGZpZWxkSWQ6YVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoYSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChhKSl7aS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7aS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltpXX0pfX1jbGFzcyBUaW1lIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0aW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpO3RoaXNbc3JdPWU/bmV3IERhdGUoZSk6bnVsbH1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgVGltZVN0YW1wIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0aW1lU3RhbXAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc2VydmVyPWUuc2VydmVyfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUb29sVGlwIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0b29sVGlwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUcmF2ZXJzYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInRyYXZlcnNhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRyYXZlcnNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0cmF2ZXJzZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vcGVyYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3BlcmF0aW9uLFsibmV4dCIsImJhY2siLCJkb3duIiwiZmlyc3QiLCJsZWZ0IiwicmlnaHQiLCJ1cCJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH1nZXQgbmFtZSgpe3JldHVybiB0aGlzLm9wZXJhdGlvbn1bWXJdKCl7cmV0dXJuITF9fWNsYXNzIFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ1aSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5iYXJjb2RlPW51bGw7dGhpcy5idXR0b249bnVsbDt0aGlzLmNoZWNrQnV0dG9uPW51bGw7dGhpcy5jaG9pY2VMaXN0PW51bGw7dGhpcy5kYXRlVGltZUVkaXQ9bnVsbDt0aGlzLmRlZmF1bHRVaT1udWxsO3RoaXMuaW1hZ2VFZGl0PW51bGw7dGhpcy5udW1lcmljRWRpdD1udWxsO3RoaXMucGFzc3dvcmRFZGl0PW51bGw7dGhpcy5zaWduYXR1cmU9bnVsbDt0aGlzLnRleHRFZGl0PW51bGx9W2RyXSgpe2lmKHZvaWQgMD09PXRoaXNbZ3JdKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwicGljdHVyZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXt0aGlzW2dyXT10O3JldHVybiB0fX10aGlzW2dyXT1udWxsfXJldHVybiB0aGlzW2dyXX1bZ25dKGUpe2NvbnN0IHQ9dGhpc1tkcl0oKTtyZXR1cm4gdD90W2duXShlKTpIVE1MUmVzdWx0LkVNUFRZfX1jbGFzcyBWYWxpZGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwidmFsaWRhdGUiLCEwKTt0aGlzLmZvcm1hdFRlc3Q9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0VGVzdCxbIndhcm5pbmciLCJkaXNhYmxlZCIsImVycm9yIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5udWxsVGVzdD1nZXRTdHJpbmdPcHRpb24oZS5udWxsVGVzdCxbImRpc2FibGVkIiwiZXJyb3IiLCJ3YXJuaW5nIl0pO3RoaXMuc2NyaXB0VGVzdD1nZXRTdHJpbmdPcHRpb24oZS5zY3JpcHRUZXN0LFsiZXJyb3IiLCJkaXNhYmxlZCIsIndhcm5pbmciXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tZXNzYWdlPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH19Y2xhc3MgVmFsdWUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInZhbHVlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJyaWRlPWdldEludGVnZXIoe2RhdGE6ZS5vdmVycmlkZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYXJjPW51bGw7dGhpcy5ib29sZWFuPW51bGw7dGhpcy5kYXRlPW51bGw7dGhpcy5kYXRlVGltZT1udWxsO3RoaXMuZGVjaW1hbD1udWxsO3RoaXMuZXhEYXRhPW51bGw7dGhpcy5mbG9hdD1udWxsO3RoaXMuaW1hZ2U9bnVsbDt0aGlzLmludGVnZXI9bnVsbDt0aGlzLmxpbmU9bnVsbDt0aGlzLnJlY3RhbmdsZT1udWxsO3RoaXMudGV4dD1udWxsO3RoaXMudGltZT1udWxsfVthbl0oZSl7Y29uc3QgdD10aGlzW0RyXSgpO2lmKHQgaW5zdGFuY2VvZiBGaWVsZCYmdC51aT8uaW1hZ2VFZGl0KXtpZighdGhpcy5pbWFnZSl7dGhpcy5pbWFnZT1uZXcgSW1hZ2Uoe30pO3RoaXNbX3NdKHRoaXMuaW1hZ2UpfXRoaXMuaW1hZ2Vbc3JdPWVbc3JdO3JldHVybn1jb25zdCBpPWVbcXJdO2lmKG51bGw9PT10aGlzW2ldKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7Y29uc3QgdD10aGlzW2VdO2lmKHQgaW5zdGFuY2VvZiBYRkFPYmplY3Qpe3RoaXNbZV09bnVsbDt0aGlzW3pyXSh0KX19dGhpc1tlW3FyXV09ZTt0aGlzW19zXShlKX1lbHNlIHRoaXNbaV1bc3JdPWVbc3JdfVtybl0oKXtpZih0aGlzLmV4RGF0YSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXMuZXhEYXRhW3NyXT90aGlzLmV4RGF0YVtzcl0udHJpbSgpOnRoaXMuZXhEYXRhW3NyXVtybl0oKS50cmltKCk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2lmKCJpbWFnZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybih0W3NyXXx8IiIpLnRvU3RyaW5nKCkudHJpbSgpfXJldHVybiBudWxsfVtnbl0oZSl7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2NvbnN0IGk9dGhpc1t0XTtpZihpIGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybiBpW2duXShlKX1yZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgVmFyaWFibGVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ2YXJpYWJsZXMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1hbmlmZXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fVtZcl0oKXtyZXR1cm4hMH19Y2xhc3MgVGVtcGxhdGVOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKFRlbXBsYXRlTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXtjb25zdCBpPVRlbXBsYXRlTmFtZXNwYWNlW2VdKHQpO2lbdG5dKHQpO3JldHVybiBpfX1zdGF0aWMgYXBwZWFyYW5jZUZpbHRlcihlKXtyZXR1cm4gbmV3IEFwcGVhcmFuY2VGaWx0ZXIoZSl9c3RhdGljIGFyYyhlKXtyZXR1cm4gbmV3IEFyYyhlKX1zdGF0aWMgYXJlYShlKXtyZXR1cm4gbmV3IEFyZWEoZSl9c3RhdGljIGFzc2lzdChlKXtyZXR1cm4gbmV3IEFzc2lzdChlKX1zdGF0aWMgYmFyY29kZShlKXtyZXR1cm4gbmV3IEJhcmNvZGUoZSl9c3RhdGljIGJpbmQoZSl7cmV0dXJuIG5ldyBCaW5kKGUpfXN0YXRpYyBiaW5kSXRlbXMoZSl7cmV0dXJuIG5ldyBCaW5kSXRlbXMoZSl9c3RhdGljIGJvb2tlbmQoZSl7cmV0dXJuIG5ldyBCb29rZW5kKGUpfXN0YXRpYyBib29sZWFuKGUpe3JldHVybiBuZXcgQm9vbGVhbkVsZW1lbnQoZSl9c3RhdGljIGJvcmRlcihlKXtyZXR1cm4gbmV3IEJvcmRlcihlKX1zdGF0aWMgYnJlYWsoZSl7cmV0dXJuIG5ldyBCcmVhayhlKX1zdGF0aWMgYnJlYWtBZnRlcihlKXtyZXR1cm4gbmV3IEJyZWFrQWZ0ZXIoZSl9c3RhdGljIGJyZWFrQmVmb3JlKGUpe3JldHVybiBuZXcgQnJlYWtCZWZvcmUoZSl9c3RhdGljIGJ1dHRvbihlKXtyZXR1cm4gbmV3IEJ1dHRvbihlKX1zdGF0aWMgY2FsY3VsYXRlKGUpe3JldHVybiBuZXcgQ2FsY3VsYXRlKGUpfXN0YXRpYyBjYXB0aW9uKGUpe3JldHVybiBuZXcgQ2FwdGlvbihlKX1zdGF0aWMgY2VydGlmaWNhdGUoZSl7cmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShlKX1zdGF0aWMgY2VydGlmaWNhdGVzKGUpe3JldHVybiBuZXcgQ2VydGlmaWNhdGVzKGUpfXN0YXRpYyBjaGVja0J1dHRvbihlKXtyZXR1cm4gbmV3IENoZWNrQnV0dG9uKGUpfXN0YXRpYyBjaG9pY2VMaXN0KGUpe3JldHVybiBuZXcgQ2hvaWNlTGlzdChlKX1zdGF0aWMgY29sb3IoZSl7cmV0dXJuIG5ldyBDb2xvcihlKX1zdGF0aWMgY29tYihlKXtyZXR1cm4gbmV3IENvbWIoZSl9c3RhdGljIGNvbm5lY3QoZSl7cmV0dXJuIG5ldyBDb25uZWN0KGUpfXN0YXRpYyBjb250ZW50QXJlYShlKXtyZXR1cm4gbmV3IENvbnRlbnRBcmVhKGUpfXN0YXRpYyBjb3JuZXIoZSl7cmV0dXJuIG5ldyBDb3JuZXIoZSl9c3RhdGljIGRhdGUoZSl7cmV0dXJuIG5ldyBEYXRlRWxlbWVudChlKX1zdGF0aWMgZGF0ZVRpbWUoZSl7cmV0dXJuIG5ldyBEYXRlVGltZShlKX1zdGF0aWMgZGF0ZVRpbWVFZGl0KGUpe3JldHVybiBuZXcgRGF0ZVRpbWVFZGl0KGUpfXN0YXRpYyBkZWNpbWFsKGUpe3JldHVybiBuZXcgRGVjaW1hbChlKX1zdGF0aWMgZGVmYXVsdFVpKGUpe3JldHVybiBuZXcgRGVmYXVsdFVpKGUpfXN0YXRpYyBkZXNjKGUpe3JldHVybiBuZXcgRGVzYyhlKX1zdGF0aWMgZGlnZXN0TWV0aG9kKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kKGUpfXN0YXRpYyBkaWdlc3RNZXRob2RzKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kcyhlKX1zdGF0aWMgZHJhdyhlKXtyZXR1cm4gbmV3IERyYXcoZSl9c3RhdGljIGVkZ2UoZSl7cmV0dXJuIG5ldyBFZGdlKGUpfXN0YXRpYyBlbmNvZGluZyhlKXtyZXR1cm4gbmV3IEVuY29kaW5nKGUpfXN0YXRpYyBlbmNvZGluZ3MoZSl7cmV0dXJuIG5ldyBFbmNvZGluZ3MoZSl9c3RhdGljIGVuY3J5cHQoZSl7cmV0dXJuIG5ldyBFbmNyeXB0KGUpfXN0YXRpYyBlbmNyeXB0RGF0YShlKXtyZXR1cm4gbmV3IEVuY3J5cHREYXRhKGUpfXN0YXRpYyBlbmNyeXB0aW9uKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbihlKX1zdGF0aWMgZW5jcnlwdGlvbk1ldGhvZChlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25NZXRob2QoZSl9c3RhdGljIGVuY3J5cHRpb25NZXRob2RzKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbk1ldGhvZHMoZSl9c3RhdGljIGV2ZW50KGUpe3JldHVybiBuZXcgRXZlbnQoZSl9c3RhdGljIGV4RGF0YShlKXtyZXR1cm4gbmV3IEV4RGF0YShlKX1zdGF0aWMgZXhPYmplY3QoZSl7cmV0dXJuIG5ldyBFeE9iamVjdChlKX1zdGF0aWMgZXhjbEdyb3VwKGUpe3JldHVybiBuZXcgRXhjbEdyb3VwKGUpfXN0YXRpYyBleGVjdXRlKGUpe3JldHVybiBuZXcgRXhlY3V0ZShlKX1zdGF0aWMgZXh0cmFzKGUpe3JldHVybiBuZXcgRXh0cmFzKGUpfXN0YXRpYyBmaWVsZChlKXtyZXR1cm4gbmV3IEZpZWxkKGUpfXN0YXRpYyBmaWxsKGUpe3JldHVybiBuZXcgRmlsbChlKX1zdGF0aWMgZmlsdGVyKGUpe3JldHVybiBuZXcgRmlsdGVyKGUpfXN0YXRpYyBmbG9hdChlKXtyZXR1cm4gbmV3IEZsb2F0KGUpfXN0YXRpYyBmb250KGUpe3JldHVybiBuZXcgdGVtcGxhdGVfRm9udChlKX1zdGF0aWMgZm9ybWF0KGUpe3JldHVybiBuZXcgRm9ybWF0KGUpfXN0YXRpYyBoYW5kbGVyKGUpe3JldHVybiBuZXcgSGFuZGxlcihlKX1zdGF0aWMgaHlwaGVuYXRpb24oZSl7cmV0dXJuIG5ldyBIeXBoZW5hdGlvbihlKX1zdGF0aWMgaW1hZ2UoZSl7cmV0dXJuIG5ldyBJbWFnZShlKX1zdGF0aWMgaW1hZ2VFZGl0KGUpe3JldHVybiBuZXcgSW1hZ2VFZGl0KGUpfXN0YXRpYyBpbnRlZ2VyKGUpe3JldHVybiBuZXcgSW50ZWdlcihlKX1zdGF0aWMgaXNzdWVycyhlKXtyZXR1cm4gbmV3IElzc3VlcnMoZSl9c3RhdGljIGl0ZW1zKGUpe3JldHVybiBuZXcgSXRlbXMoZSl9c3RhdGljIGtlZXAoZSl7cmV0dXJuIG5ldyBLZWVwKGUpfXN0YXRpYyBrZXlVc2FnZShlKXtyZXR1cm4gbmV3IEtleVVzYWdlKGUpfXN0YXRpYyBsaW5lKGUpe3JldHVybiBuZXcgTGluZShlKX1zdGF0aWMgbGluZWFyKGUpe3JldHVybiBuZXcgTGluZWFyKGUpfXN0YXRpYyBsb2NrRG9jdW1lbnQoZSl7cmV0dXJuIG5ldyBMb2NrRG9jdW1lbnQoZSl9c3RhdGljIG1hbmlmZXN0KGUpe3JldHVybiBuZXcgTWFuaWZlc3QoZSl9c3RhdGljIG1hcmdpbihlKXtyZXR1cm4gbmV3IE1hcmdpbihlKX1zdGF0aWMgbWRwKGUpe3JldHVybiBuZXcgTWRwKGUpfXN0YXRpYyBtZWRpdW0oZSl7cmV0dXJuIG5ldyBNZWRpdW0oZSl9c3RhdGljIG1lc3NhZ2UoZSl7cmV0dXJuIG5ldyBNZXNzYWdlKGUpfXN0YXRpYyBudW1lcmljRWRpdChlKXtyZXR1cm4gbmV3IE51bWVyaWNFZGl0KGUpfXN0YXRpYyBvY2N1cihlKXtyZXR1cm4gbmV3IE9jY3VyKGUpfXN0YXRpYyBvaWQoZSl7cmV0dXJuIG5ldyBPaWQoZSl9c3RhdGljIG9pZHMoZSl7cmV0dXJuIG5ldyBPaWRzKGUpfXN0YXRpYyBvdmVyZmxvdyhlKXtyZXR1cm4gbmV3IE92ZXJmbG93KGUpfXN0YXRpYyBwYWdlQXJlYShlKXtyZXR1cm4gbmV3IFBhZ2VBcmVhKGUpfXN0YXRpYyBwYWdlU2V0KGUpe3JldHVybiBuZXcgUGFnZVNldChlKX1zdGF0aWMgcGFyYShlKXtyZXR1cm4gbmV3IFBhcmEoZSl9c3RhdGljIHBhc3N3b3JkRWRpdChlKXtyZXR1cm4gbmV3IFBhc3N3b3JkRWRpdChlKX1zdGF0aWMgcGF0dGVybihlKXtyZXR1cm4gbmV3IHRlbXBsYXRlX1BhdHRlcm4oZSl9c3RhdGljIHBpY3R1cmUoZSl7cmV0dXJuIG5ldyBQaWN0dXJlKGUpfXN0YXRpYyBwcm90byhlKXtyZXR1cm4gbmV3IFByb3RvKGUpfXN0YXRpYyByYWRpYWwoZSl7cmV0dXJuIG5ldyBSYWRpYWwoZSl9c3RhdGljIHJlYXNvbihlKXtyZXR1cm4gbmV3IFJlYXNvbihlKX1zdGF0aWMgcmVhc29ucyhlKXtyZXR1cm4gbmV3IFJlYXNvbnMoZSl9c3RhdGljIHJlY3RhbmdsZShlKXtyZXR1cm4gbmV3IFJlY3RhbmdsZShlKX1zdGF0aWMgcmVmKGUpe3JldHVybiBuZXcgUmVmRWxlbWVudChlKX1zdGF0aWMgc2NyaXB0KGUpe3JldHVybiBuZXcgU2NyaXB0KGUpfXN0YXRpYyBzZXRQcm9wZXJ0eShlKXtyZXR1cm4gbmV3IFNldFByb3BlcnR5KGUpfXN0YXRpYyBzaWduRGF0YShlKXtyZXR1cm4gbmV3IFNpZ25EYXRhKGUpfXN0YXRpYyBzaWduYXR1cmUoZSl7cmV0dXJuIG5ldyBTaWduYXR1cmUoZSl9c3RhdGljIHNpZ25pbmcoZSl7cmV0dXJuIG5ldyBTaWduaW5nKGUpfXN0YXRpYyBzb2xpZChlKXtyZXR1cm4gbmV3IFNvbGlkKGUpfXN0YXRpYyBzcGVhayhlKXtyZXR1cm4gbmV3IFNwZWFrKGUpfXN0YXRpYyBzdGlwcGxlKGUpe3JldHVybiBuZXcgU3RpcHBsZShlKX1zdGF0aWMgc3ViZm9ybShlKXtyZXR1cm4gbmV3IFN1YmZvcm0oZSl9c3RhdGljIHN1YmZvcm1TZXQoZSl7cmV0dXJuIG5ldyBTdWJmb3JtU2V0KGUpfXN0YXRpYyBzdWJqZWN0RE4oZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE4oZSl9c3RhdGljIHN1YmplY3RETnMoZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE5zKGUpfXN0YXRpYyBzdWJtaXQoZSl7cmV0dXJuIG5ldyBTdWJtaXQoZSl9c3RhdGljIHRlbXBsYXRlKGUpe3JldHVybiBuZXcgVGVtcGxhdGUoZSl9c3RhdGljIHRleHQoZSl7cmV0dXJuIG5ldyBUZXh0KGUpfXN0YXRpYyB0ZXh0RWRpdChlKXtyZXR1cm4gbmV3IFRleHRFZGl0KGUpfXN0YXRpYyB0aW1lKGUpe3JldHVybiBuZXcgVGltZShlKX1zdGF0aWMgdGltZVN0YW1wKGUpe3JldHVybiBuZXcgVGltZVN0YW1wKGUpfXN0YXRpYyB0b29sVGlwKGUpe3JldHVybiBuZXcgVG9vbFRpcChlKX1zdGF0aWMgdHJhdmVyc2FsKGUpe3JldHVybiBuZXcgVHJhdmVyc2FsKGUpfXN0YXRpYyB0cmF2ZXJzZShlKXtyZXR1cm4gbmV3IFRyYXZlcnNlKGUpfXN0YXRpYyB1aShlKXtyZXR1cm4gbmV3IFVpKGUpfXN0YXRpYyB2YWxpZGF0ZShlKXtyZXR1cm4gbmV3IFZhbGlkYXRlKGUpfXN0YXRpYyB2YWx1ZShlKXtyZXR1cm4gbmV3IFZhbHVlKGUpfXN0YXRpYyB2YXJpYWJsZXMoZSl7cmV0dXJuIG5ldyBWYXJpYWJsZXMoZSl9fWNvbnN0IFduPWhuLmRhdGFzZXRzLmlkO2Z1bmN0aW9uIGNyZWF0ZVRleHQoZSl7Y29uc3QgdD1uZXcgVGV4dCh7fSk7dFtzcl09ZTtyZXR1cm4gdH1jbGFzcyBCaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5yb290PWU7dGhpcy5kYXRhc2V0cz1lLmRhdGFzZXRzO3RoaXMuZGF0YT1lLmRhdGFzZXRzPy5kYXRhfHxuZXcgWG1sT2JqZWN0KGhuLmRhdGFzZXRzLmlkLCJkYXRhIik7dGhpcy5lbXB0eU1lcmdlPTA9PT10aGlzLmRhdGFbcHJdKCkubGVuZ3RoO3RoaXMucm9vdC5mb3JtPXRoaXMuZm9ybT1lLnRlbXBsYXRlW2lyXSgpfV9pc0NvbnN1bWVEYXRhKCl7cmV0dXJuIXRoaXMuZW1wdHlNZXJnZSYmdGhpcy5fbWVyZ2VNb2RlfV9pc01hdGNoVGVtcGxhdGUoKXtyZXR1cm4hdGhpcy5faXNDb25zdW1lRGF0YSgpfWJpbmQoKXt0aGlzLl9iaW5kRWxlbWVudCh0aGlzLmZvcm0sdGhpcy5kYXRhKTtyZXR1cm4gdGhpcy5mb3JtfWdldERhdGEoKXtyZXR1cm4gdGhpcy5kYXRhfV9iaW5kVmFsdWUoZSx0LGkpe2VbcnJdPXQ7aWYoZVtTcl0oKSlpZih0W1VyXSgpKXtjb25zdCBpPXRbdXJdKCk7ZVthbl0oY3JlYXRlVGV4dChpKSl9ZWxzZSBpZihlIGluc3RhbmNlb2YgRmllbGQmJiJtdWx0aVNlbGVjdCI9PT1lLnVpPy5jaG9pY2VMaXN0Py5vcGVuKXtjb25zdCBpPXRbcHJdKCkubWFwKChlPT5lW3NyXS50cmltKCkpKS5qb2luKCJcbiIpO2VbYW5dKGNyZWF0ZVRleHQoaSkpfWVsc2UgdGhpcy5faXNDb25zdW1lRGF0YSgpJiZ3YXJuKCJYRkEgLSBOb2RlcyBoYXZlbid0IHRoZSBzYW1lIHR5cGUuIik7ZWxzZSF0W1VyXSgpfHx0aGlzLl9pc01hdGNoVGVtcGxhdGUoKT90aGlzLl9iaW5kRWxlbWVudChlLHQpOndhcm4oIlhGQSAtIE5vZGVzIGhhdmVuJ3QgdGhlIHNhbWUgdHlwZS4iKX1fZmluZERhdGFCeU5hbWVUb0NvbnN1bWUoZSx0LGksYSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHMscjtmb3IobGV0IGE9MDthPDM7YSsrKXtzPWlbZnJdKGUsITEsITApO2Zvcig7Oyl7cj1zLm5leHQoKS52YWx1ZTtpZighcilicmVhaztpZih0PT09cltVcl0oKSlyZXR1cm4gcn1pZihpW1RyXT09PWhuLmRhdGFzZXRzLmlkJiYiZGF0YSI9PT1pW3FyXSlicmVhaztpPWlbRHJdKCl9aWYoIWEpcmV0dXJuIG51bGw7cz10aGlzLmRhdGFbZnJdKGUsITAsITEpO3I9cy5uZXh0KCkudmFsdWU7aWYocilyZXR1cm4gcjtzPXRoaXMuZGF0YVtjcl0oZSwhMCk7cj1zLm5leHQoKS52YWx1ZTtyZXR1cm4gcj8uW1VyXSgpP3I6bnVsbH1fc2V0UHJvcGVydGllcyhlLHQpe2lmKGUuaGFzT3duUHJvcGVydHkoInNldFByb3BlcnR5IikpZm9yKGNvbnN0e3JlZjppLHRhcmdldDphLGNvbm5lY3Rpb246c31vZiBlLnNldFByb3BlcnR5LmNoaWxkcmVuKXtpZihzKWNvbnRpbnVlO2lmKCFpKWNvbnRpbnVlO2NvbnN0IHI9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxpLCExLCExKTtpZighcil7d2FybihgWEZBIC0gSW52YWxpZCByZWZlcmVuY2U6ICR7aX0uYCk7Y29udGludWV9Y29uc3Rbbl09cjtpZighbltNcl0odGhpcy5kYXRhKSl7d2FybigiWEZBIC0gSW52YWxpZCBub2RlOiBtdXN0IGJlIGEgZGF0YSBub2RlLiIpO2NvbnRpbnVlfWNvbnN0IGc9c2VhcmNoTm9kZSh0aGlzLnJvb3QsZSxhLCExLCExKTtpZighZyl7d2FybihgWEZBIC0gSW52YWxpZCB0YXJnZXQ6ICR7YX0uYCk7Y29udGludWV9Y29uc3Rbb109ZztpZighb1tNcl0oZSkpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBtdXN0IGJlIGEgcHJvcGVydHkgb3Igc3VicHJvcGVydHkuIik7Y29udGludWV9Y29uc3QgYz1vW0RyXSgpO2lmKG8gaW5zdGFuY2VvZiBTZXRQcm9wZXJ0eXx8YyBpbnN0YW5jZW9mIFNldFByb3BlcnR5KXt3YXJuKCJYRkEgLSBJbnZhbGlkIHRhcmdldDogY2Fubm90IGJlIGEgc2V0UHJvcGVydHkgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWlmKG8gaW5zdGFuY2VvZiBCaW5kSXRlbXN8fGMgaW5zdGFuY2VvZiBCaW5kSXRlbXMpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBjYW5ub3QgYmUgYSBiaW5kSXRlbXMgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWNvbnN0IEM9bltybl0oKSxoPW9bcXJdO2lmKG8gaW5zdGFuY2VvZiBYRkFBdHRyaWJ1dGUpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtlW2hdPUM7Y29uc3QgdD1SZWZsZWN0LmNvbnN0cnVjdChPYmplY3QuZ2V0UHJvdG90eXBlT2YoYykuY29uc3RydWN0b3IsW2VdKTtjW2hdPXRbaF19ZWxzZSBpZihvLmhhc093blByb3BlcnR5KHNyKSl7b1tycl09bjtvW3NyXT1DO29bb3JdKCl9ZWxzZSB3YXJuKCJYRkEgLSBJbnZhbGlkIG5vZGUgdG8gdXNlIGluIHNldFByb3BlcnR5Iil9fV9iaW5kSXRlbXMoZSx0KXtpZighZS5oYXNPd25Qcm9wZXJ0eSgiaXRlbXMiKXx8IWUuaGFzT3duUHJvcGVydHkoImJpbmRJdGVtcyIpfHxlLmJpbmRJdGVtcy5pc0VtcHR5KCkpcmV0dXJuO2Zvcihjb25zdCB0IG9mIGUuaXRlbXMuY2hpbGRyZW4pZVt6cl0odCk7ZS5pdGVtcy5jbGVhcigpO2NvbnN0IGk9bmV3IEl0ZW1zKHt9KSxhPW5ldyBJdGVtcyh7fSk7ZVtfc10oaSk7ZS5pdGVtcy5wdXNoKGkpO2VbX3NdKGEpO2UuaXRlbXMucHVzaChhKTtmb3IoY29uc3R7cmVmOnMsbGFiZWxSZWY6cix2YWx1ZVJlZjpuLGNvbm5lY3Rpb246Z31vZiBlLmJpbmRJdGVtcy5jaGlsZHJlbil7aWYoZyljb250aW51ZTtpZighcyljb250aW51ZTtjb25zdCBlPXNlYXJjaE5vZGUodGhpcy5yb290LHQscywhMSwhMSk7aWYoZSlmb3IoY29uc3QgdCBvZiBlKXtpZighdFtNcl0odGhpcy5kYXRhc2V0cykpe3dhcm4oYFhGQSAtIEludmFsaWQgcmVmICgke3N9KTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLmApO2NvbnRpbnVlfWNvbnN0IGU9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxyLCEwLCExKTtpZighZSl7d2FybihgWEZBIC0gSW52YWxpZCBsYWJlbDogJHtyfS5gKTtjb250aW51ZX1jb25zdFtnXT1lO2lmKCFnW01yXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCBsYWJlbDogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IG89c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxuLCEwLCExKTtpZighbyl7d2FybihgWEZBIC0gSW52YWxpZCB2YWx1ZTogJHtufS5gKTtjb250aW51ZX1jb25zdFtjXT1vO2lmKCFjW01yXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCB2YWx1ZTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IEM9Y3JlYXRlVGV4dChnW3JuXSgpKSxoPWNyZWF0ZVRleHQoY1tybl0oKSk7aVtfc10oQyk7aS50ZXh0LnB1c2goQyk7YVtfc10oaCk7YS50ZXh0LnB1c2goaCl9ZWxzZSB3YXJuKGBYRkEgLSBJbnZhbGlkIHJlZmVyZW5jZTogJHtzfS5gKX19X2JpbmRPY2N1cnJlbmNlcyhlLHQsaSl7bGV0IGE7aWYodC5sZW5ndGg+MSl7YT1lW2lyXSgpO2FbenJdKGEub2NjdXIpO2Eub2NjdXI9bnVsbH10aGlzLl9iaW5kVmFsdWUoZSx0WzBdLGkpO3RoaXMuX3NldFByb3BlcnRpZXMoZSx0WzBdKTt0aGlzLl9iaW5kSXRlbXMoZSx0WzBdKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZVtEcl0oKSxyPWVbcXJdLG49c1tScl0oZSk7Zm9yKGxldCBlPTEsZz10Lmxlbmd0aDtlPGc7ZSsrKXtjb25zdCBnPXRbZV0sbz1hW2lyXSgpO3Nbcl0ucHVzaChvKTtzW05yXShuK2Usbyk7dGhpcy5fYmluZFZhbHVlKG8sZyxpKTt0aGlzLl9zZXRQcm9wZXJ0aWVzKG8sZyk7dGhpcy5fYmluZEl0ZW1zKG8sZyl9fV9jcmVhdGVPY2N1cnJlbmNlcyhlKXtpZighdGhpcy5lbXB0eU1lcmdlKXJldHVybjtjb25zdHtvY2N1cjp0fT1lO2lmKCF0fHx0LmluaXRpYWw8PTEpcmV0dXJuO2NvbnN0IGk9ZVtEcl0oKSxhPWVbcXJdO2lmKCEoaVthXWluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpKXJldHVybjtsZXQgcztzPWUubmFtZT9pW2FdLmNoaWxkcmVuLmZpbHRlcigodD0+dC5uYW1lPT09ZS5uYW1lKSkubGVuZ3RoOmlbYV0uY2hpbGRyZW4ubGVuZ3RoO2NvbnN0IHI9aVtScl0oZSkrMSxuPXQuaW5pdGlhbC1zO2lmKG4pe2NvbnN0IHQ9ZVtpcl0oKTt0W3pyXSh0Lm9jY3VyKTt0Lm9jY3VyPW51bGw7aVthXS5wdXNoKHQpO2lbTnJdKHIsdCk7Zm9yKGxldCBlPTE7ZTxuO2UrKyl7Y29uc3Qgcz10W2lyXSgpO2lbYV0ucHVzaChzKTtpW05yXShyK2Uscyl9fX1fZ2V0T2NjdXJJbmZvKGUpe2NvbnN0e25hbWU6dCxvY2N1cjppfT1lO2lmKCFpfHwhdClyZXR1cm5bMSwxXTtjb25zdCBhPS0xPT09aS5tYXg/MS8wOmkubWF4O3JldHVybltpLm1pbixhXX1fc2V0QW5kQmluZChlLHQpe3RoaXMuX3NldFByb3BlcnRpZXMoZSx0KTt0aGlzLl9iaW5kSXRlbXMoZSx0KTt0aGlzLl9iaW5kRWxlbWVudChlLHQpfV9iaW5kRWxlbWVudChlLHQpe2NvbnN0IGk9W107dGhpcy5fY3JlYXRlT2NjdXJyZW5jZXMoZSk7Zm9yKGNvbnN0IGEgb2YgZVtwcl0oKSl7aWYoYVtycl0pY29udGludWU7aWYodm9pZCAwPT09dGhpcy5fbWVyZ2VNb2RlJiYic3ViZm9ybSI9PT1hW3FyXSl7dGhpcy5fbWVyZ2VNb2RlPSJjb25zdW1lRGF0YSI9PT1hLm1lcmdlTW9kZTtjb25zdCBlPXRbcHJdKCk7aWYoZS5sZW5ndGg+MCl0aGlzLl9iaW5kT2NjdXJyZW5jZXMoYSxbZVswXV0sbnVsbCk7ZWxzZSBpZih0aGlzLmVtcHR5TWVyZ2Upe2NvbnN0IGU9dFtUcl09PT1Xbj8tMTp0W1RyXSxpPWFbcnJdPW5ldyBYbWxPYmplY3QoZSxhLm5hbWV8fCJyb290Iik7dFtfc10oaSk7dGhpcy5fYmluZEVsZW1lbnQoYSxpKX1jb250aW51ZX1pZighYVt4cl0oKSljb250aW51ZTtsZXQgZT0hMSxzPW51bGwscj1udWxsLG49bnVsbDtpZihhLmJpbmQpe3N3aXRjaChhLmJpbmQubWF0Y2gpe2Nhc2Uibm9uZSI6dGhpcy5fc2V0QW5kQmluZChhLHQpO2NvbnRpbnVlO2Nhc2UiZ2xvYmFsIjplPSEwO2JyZWFrO2Nhc2UiZGF0YVJlZiI6aWYoIWEuYmluZC5yZWYpe3dhcm4oYFhGQSAtIHJlZiBpcyBlbXB0eSBpbiBub2RlICR7YVtxcl19LmApO3RoaXMuX3NldEFuZEJpbmQoYSx0KTtjb250aW51ZX1yPWEuYmluZC5yZWZ9YS5iaW5kLnBpY3R1cmUmJihzPWEuYmluZC5waWN0dXJlW3NyXSl9Y29uc3RbZyxvXT10aGlzLl9nZXRPY2N1ckluZm8oYSk7aWYocil7bj1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LHIsITAsITEpO2lmKG51bGw9PT1uKXtuPWNyZWF0ZURhdGFOb2RlKHRoaXMuZGF0YSx0LHIpO2lmKCFuKWNvbnRpbnVlO3RoaXMuX2lzQ29uc3VtZURhdGEoKSYmKG5bYXJdPSEwKTt0aGlzLl9zZXRBbmRCaW5kKGEsbik7Y29udGludWV9dGhpcy5faXNDb25zdW1lRGF0YSgpJiYobj1uLmZpbHRlcigoZT0+IWVbYXJdKSkpO24ubGVuZ3RoPm8/bj1uLnNsaWNlKDAsbyk6MD09PW4ubGVuZ3RoJiYobj1udWxsKTtuJiZ0aGlzLl9pc0NvbnN1bWVEYXRhKCkmJm4uZm9yRWFjaCgoZT0+e2VbYXJdPSEwfSkpfWVsc2V7aWYoIWEubmFtZSl7dGhpcy5fc2V0QW5kQmluZChhLHQpO2NvbnRpbnVlfWlmKHRoaXMuX2lzQ29uc3VtZURhdGEoKSl7Y29uc3QgaT1bXTtmb3IoO2kubGVuZ3RoPG87KXtjb25zdCBzPXRoaXMuX2ZpbmREYXRhQnlOYW1lVG9Db25zdW1lKGEubmFtZSxhW1NyXSgpLHQsZSk7aWYoIXMpYnJlYWs7c1thcl09ITA7aS5wdXNoKHMpfW49aS5sZW5ndGg+MD9pOm51bGx9ZWxzZXtuPXRbZnJdKGEubmFtZSwhMSx0aGlzLmVtcHR5TWVyZ2UpLm5leHQoKS52YWx1ZTtpZighbil7aWYoMD09PWcpe2kucHVzaChhKTtjb250aW51ZX1jb25zdCBlPXRbVHJdPT09V24/LTE6dFtUcl07bj1hW3JyXT1uZXcgWG1sT2JqZWN0KGUsYS5uYW1lKTt0aGlzLmVtcHR5TWVyZ2UmJihuW2FyXT0hMCk7dFtfc10obik7dGhpcy5fc2V0QW5kQmluZChhLG4pO2NvbnRpbnVlfXRoaXMuZW1wdHlNZXJnZSYmKG5bYXJdPSEwKTtuPVtuXX19bj90aGlzLl9iaW5kT2NjdXJyZW5jZXMoYSxuLHMpOmc+MD90aGlzLl9zZXRBbmRCaW5kKGEsdCk6aS5wdXNoKGEpfWkuZm9yRWFjaCgoZT0+ZVtEcl0oKVt6cl0oZSkpKX19Y2xhc3MgRGF0YUhhbmRsZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRhdGE9dDt0aGlzLmRhdGFzZXQ9ZS5kYXRhc2V0c3x8bnVsbH1zZXJpYWxpemUoZSl7Y29uc3QgdD1bWy0xLHRoaXMuZGF0YVtwcl0oKV1dO2Zvcig7dC5sZW5ndGg+MDspe2NvbnN0IGk9dC5hdCgtMSksW2Esc109aTtpZihhKzE9PT1zLmxlbmd0aCl7dC5wb3AoKTtjb250aW51ZX1jb25zdCByPXNbKytpWzBdXSxuPWUuZ2V0KHJbY25dKTtpZihuKXJbYW5dKG4pO2Vsc2V7Y29uc3QgdD1yW0NyXSgpO2Zvcihjb25zdCBpIG9mIHQudmFsdWVzKCkpe2NvbnN0IHQ9ZS5nZXQoaVtjbl0pO2lmKHQpe2lbYW5dKHQpO2JyZWFrfX19Y29uc3QgZz1yW3ByXSgpO2cubGVuZ3RoPjAmJnQucHVzaChbLTEsZ10pfWNvbnN0IGk9Wyc8eGZhOmRhdGFzZXRzIHhtbG5zOnhmYT0iaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZGF0YS8xLjAvIj4nXTtpZih0aGlzLmRhdGFzZXQpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhc2V0W3ByXSgpKSJkYXRhIiE9PWVbcXJdJiZlW29uXShpKTt0aGlzLmRhdGFbb25dKGkpO2kucHVzaCgiPC94ZmE6ZGF0YXNldHM+Iik7cmV0dXJuIGkuam9pbigiIil9fWNvbnN0IGpuPWhuLmNvbmZpZy5pZDtjbGFzcyBBY3JvYmF0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhY3JvYmF0IiwhMCk7dGhpcy5hY3JvYmF0Nz1udWxsO3RoaXMuYXV0b1NhdmU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLnZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzPW51bGw7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBBY3JvYmF0NyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYWNyb2JhdDciLCEwKTt0aGlzLmR5bmFtaWNSZW5kZXI9bnVsbH19Y2xhc3MgQURCRV9KU0NvbnNvbGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIkFEQkVfSlNDb25zb2xlIixbImRlbGVnYXRlIiwiRW5hYmxlIiwiRGlzYWJsZSJdKX19Y2xhc3MgQURCRV9KU0RlYnVnZ2VyIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJBREJFX0pTRGVidWdnZXIiLFsiZGVsZWdhdGUiLCJFbmFibGUiLCJEaXNhYmxlIl0pfX1jbGFzcyBBZGRTaWxlbnRQcmludCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhZGRTaWxlbnRQcmludCIpfX1jbGFzcyBBZGRWaWV3ZXJQcmVmZXJlbmNlcyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhZGRWaWV3ZXJQcmVmZXJlbmNlcyIpfX1jbGFzcyBBZGp1c3REYXRhIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFkanVzdERhdGEiKX19Y2xhc3MgQWRvYmVFeHRlbnNpb25MZXZlbCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFkb2JlRXh0ZW5zaW9uTGV2ZWwiLDAsKGU9PmU+PTEmJmU8PTgpKX19Y2xhc3MgQWdlbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFnZW50IiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuY29tbW9uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQWx3YXlzRW1iZWQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhbHdheXNFbWJlZCIpfX1jbGFzcyBBbWQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFtZCIpfX1jbGFzcyBjb25maWdfQXJlYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYXJlYSIpO3RoaXMubGV2ZWw9Z2V0SW50ZWdlcih7ZGF0YTplLmxldmVsLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTEmJmU8PTN9KTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbIiIsImJhcmNvZGUiLCJjb3JlaW5pdCIsImRldmljZURyaXZlciIsImZvbnQiLCJnZW5lcmFsIiwibGF5b3V0IiwibWVyZ2UiLCJzY3JpcHQiLCJzaWduYXR1cmUiLCJzb3VyY2VTZXQiLCJ0ZW1wbGF0ZUNhY2hlIl0pfX1jbGFzcyBBdHRyaWJ1dGVzIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhdHRyaWJ1dGVzIixbInByZXNlcnZlIiwiZGVsZWdhdGUiLCJpZ25vcmUiXSl9fWNsYXNzIEF1dG9TYXZlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhdXRvU2F2ZSIsWyJkaXNhYmxlZCIsImVuYWJsZWQiXSl9fWNsYXNzIEJhc2UgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImJhc2UiKX19Y2xhc3MgQmF0Y2hPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImJhdGNoT3V0cHV0Iik7dGhpcy5mb3JtYXQ9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0LFsibm9uZSIsImNvbmNhdCIsInppcCIsInppcENvbXByZXNzIl0pfX1jbGFzcyBCZWhhdmlvck92ZXJyaWRlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYmVoYXZpb3JPdmVycmlkZSIpfVtvcl0oKXt0aGlzW3NyXT1uZXcgTWFwKHRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lLmluY2x1ZGVzKCI6IikpKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpfX1jbGFzcyBDYWNoZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY2FjaGUiLCEwKTt0aGlzLnRlbXBsYXRlQ2FjaGU9bnVsbH19Y2xhc3MgQ2hhbmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNoYW5nZSIpfX1jbGFzcyBDb21tb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbW1vbiIsITApO3RoaXMuZGF0YT1udWxsO3RoaXMubG9jYWxlPW51bGw7dGhpcy5sb2NhbGVTZXQ9bnVsbDt0aGlzLm1lc3NhZ2luZz1udWxsO3RoaXMuc3VwcHJlc3NCYW5uZXI9bnVsbDt0aGlzLnRlbXBsYXRlPW51bGw7dGhpcy52YWxpZGF0aW9uTWVzc2FnaW5nPW51bGw7dGhpcy52ZXJzaW9uQ29udHJvbD1udWxsO3RoaXMubG9nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQ29tcHJlc3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbXByZXNzIik7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbImltYWdlT25seSIsImRvY3VtZW50Il0pfX1jbGFzcyBDb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlIil9fWNsYXNzIENvbXByZXNzT2JqZWN0U3RyZWFtIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbXByZXNzT2JqZWN0U3RyZWFtIil9fWNsYXNzIENvbXByZXNzaW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb21wcmVzc2lvbiIsITApO3RoaXMuY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlPW51bGw7dGhpcy5jb21wcmVzc09iamVjdFN0cmVhbT1udWxsO3RoaXMubGV2ZWw9bnVsbDt0aGlzLnR5cGU9bnVsbH19Y2xhc3MgQ29uZmlnIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb25maWciLCEwKTt0aGlzLmFjcm9iYXQ9bnVsbDt0aGlzLnByZXNlbnQ9bnVsbDt0aGlzLnRyYWNlPW51bGw7dGhpcy5hZ2VudD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIENvbmZvcm1hbmNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb25mb3JtYW5jZSIsWyJBIiwiQiJdKX19Y2xhc3MgQ29udGVudENvcHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29udGVudENvcHkiKX19Y2xhc3MgQ29waWVzIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29waWVzIiwxLChlPT5lPj0xKSl9fWNsYXNzIENyZWF0b3IgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNyZWF0b3IiKX19Y2xhc3MgQ3VycmVudFBhZ2UgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjdXJyZW50UGFnZSIsMCwoZT0+ZT49MCkpfX1jbGFzcyBEYXRhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkYXRhIiwhMCk7dGhpcy5hZGp1c3REYXRhPW51bGw7dGhpcy5hdHRyaWJ1dGVzPW51bGw7dGhpcy5pbmNyZW1lbnRhbExvYWQ9bnVsbDt0aGlzLm91dHB1dFhTTD1udWxsO3RoaXMucmFuZ2U9bnVsbDt0aGlzLnJlY29yZD1udWxsO3RoaXMuc3RhcnROb2RlPW51bGw7dGhpcy51cmk9bnVsbDt0aGlzLndpbmRvdz1udWxsO3RoaXMueHNsPW51bGw7dGhpcy5leGNsdWRlTlM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudHJhbnNmb3JtPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRGVidWcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImRlYnVnIiwhMCk7dGhpcy51cmk9bnVsbH19Y2xhc3MgRGVmYXVsdFR5cGVmYWNlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZGVmYXVsdFR5cGVmYWNlIik7dGhpcy53cml0aW5nU2NyaXB0PWdldFN0cmluZ09wdGlvbihlLndyaXRpbmdTY3JpcHQsWyIqIiwiQXJhYmljIiwiQ3lyaWxsaWMiLCJFYXN0RXVyb3BlYW5Sb21hbiIsIkdyZWVrIiwiSGVicmV3IiwiSmFwYW5lc2UiLCJLb3JlYW4iLCJSb21hbiIsIlNpbXBsaWZpZWRDaGluZXNlIiwiVGhhaSIsIlRyYWRpdGlvbmFsQ2hpbmVzZSIsIlZpZXRuYW1lc2UiXSl9fWNsYXNzIERlc3RpbmF0aW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkZXN0aW5hdGlvbiIsWyJwZGYiLCJwY2wiLCJwcyIsIndlYkNsaWVudCIsInpwbCJdKX19Y2xhc3MgRG9jdW1lbnRBc3NlbWJseSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkb2N1bWVudEFzc2VtYmx5Iil9fWNsYXNzIERyaXZlciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZHJpdmVyIiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBEdXBsZXhPcHRpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImR1cGxleE9wdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4RmxpcExvbmdFZGdlIiwiZHVwbGV4RmxpcFNob3J0RWRnZSJdKX19Y2xhc3MgRHluYW1pY1JlbmRlciBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZHluYW1pY1JlbmRlciIsWyJmb3JiaWRkZW4iLCJyZXF1aXJlZCJdKX19Y2xhc3MgRW1iZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW1iZWQiKX19Y2xhc3MgY29uZmlnX0VuY3J5cHQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5jcnlwdCIpfX1jbGFzcyBjb25maWdfRW5jcnlwdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5jcnlwdGlvbiIsITApO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZW5jcnlwdGlvbkxldmVsPW51bGw7dGhpcy5wZXJtaXNzaW9ucz1udWxsfX1jbGFzcyBFbmNyeXB0aW9uTGV2ZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVuY3J5cHRpb25MZXZlbCIsWyI0MGJpdCIsIjEyOGJpdCJdKX19Y2xhc3MgRW5mb3JjZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5mb3JjZSIpfX1jbGFzcyBFcXVhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVxdWF0ZSIpO3RoaXMuZm9yY2U9Z2V0SW50ZWdlcih7ZGF0YTplLmZvcmNlLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PjA9PT1lfSk7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIn19Y2xhc3MgRXF1YXRlUmFuZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVxdWF0ZVJhbmdlIik7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIjt0aGlzLl91bmljb2RlUmFuZ2U9ZS51bmljb2RlUmFuZ2V8fCIifWdldCB1bmljb2RlUmFuZ2UoKXtjb25zdCBlPVtdLHQ9L1VcKyhbMC05YS1mQS1GXSspLyxpPXRoaXMuX3VuaWNvZGVSYW5nZTtmb3IobGV0IGEgb2YgaS5zcGxpdCgiLCIpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoKGU9PiEhZSkpKXthPWEuc3BsaXQoIi0iLDIpLm1hcCgoZT0+e2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT9wYXJzZUludChpWzFdLDE2KTowfSkpOzE9PT1hLmxlbmd0aCYmYS5wdXNoKGFbMF0pO2UucHVzaChhKX1yZXR1cm4gc2hhZG93KHRoaXMsInVuaWNvZGVSYW5nZSIsZSl9fWNsYXNzIEV4Y2x1ZGUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJleGNsdWRlIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lJiZbImNhbGN1bGF0ZSIsImNsb3NlIiwiZW50ZXIiLCJleGl0IiwiaW5pdGlhbGl6ZSIsInJlYWR5IiwidmFsaWRhdGUiXS5pbmNsdWRlcyhlKSkpfX1jbGFzcyBFeGNsdWRlTlMgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImV4Y2x1ZGVOUyIpfX1jbGFzcyBGbGlwTGFiZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZsaXBMYWJlbCIsWyJ1c2VQcmludGVyU2V0dGluZyIsIm9uIiwib2ZmIl0pfX1jbGFzcyBjb25maWdfRm9udEluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZvbnRJbmZvIiwhMCk7dGhpcy5lbWJlZD1udWxsO3RoaXMubWFwPW51bGw7dGhpcy5zdWJzZXRCZWxvdz1udWxsO3RoaXMuYWx3YXlzRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFR5cGVmYWNlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm5ldmVyRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBGb3JtRmllbGRGaWxsaW5nIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZvcm1GaWVsZEZpbGxpbmciKX19Y2xhc3MgR3JvdXBQYXJlbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImdyb3VwUGFyZW50Iil9fWNsYXNzIElmRW1wdHkgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImlmRW1wdHkiLFsiZGF0YVZhbHVlIiwiZGF0YUdyb3VwIiwiaWdub3JlIiwicmVtb3ZlIl0pfX1jbGFzcyBJbmNsdWRlWERQQ29udGVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiaW5jbHVkZVhEUENvbnRlbnQiKX19Y2xhc3MgSW5jcmVtZW50YWxMb2FkIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJpbmNyZW1lbnRhbExvYWQiLFsibm9uZSIsImZvcndhcmRPbmx5Il0pfX1jbGFzcyBJbmNyZW1lbnRhbE1lcmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImluY3JlbWVudGFsTWVyZ2UiKX19Y2xhc3MgSW50ZXJhY3RpdmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiaW50ZXJhY3RpdmUiKX19Y2xhc3MgSm9nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJqb2ciLFsidXNlUHJpbnRlclNldHRpbmciLCJub25lIiwicGFnZVNldCJdKX19Y2xhc3MgTGFiZWxQcmludGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsYWJlbFByaW50ZXIiLCEwKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbInpwbCIsImRwbCIsImlwbCIsInRjcGwiXSk7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZmxpcExhYmVsPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIExheW91dCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibGF5b3V0IixbInBhZ2luYXRlIiwicGFuZWwiXSl9fWNsYXNzIExldmVsIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibGV2ZWwiLDAsKGU9PmU+MCkpfX1jbGFzcyBMaW5lYXJpemVkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImxpbmVhcml6ZWQiKX19Y2xhc3MgTG9jYWxlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2NhbGUiKX19Y2xhc3MgTG9jYWxlU2V0IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2NhbGVTZXQiKX19Y2xhc3MgTG9nIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2ciLCEwKTt0aGlzLm1vZGU9bnVsbDt0aGlzLnRocmVzaG9sZD1udWxsO3RoaXMudG89bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBNYXBFbGVtZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtYXAiLCEwKTt0aGlzLmVxdWF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lcXVhdGVSYW5nZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1lZGl1bUluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm1lZGl1bUluZm8iLCEwKTt0aGlzLm1hcD1udWxsfX1jbGFzcyBjb25maWdfTWVzc2FnZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibWVzc2FnZSIsITApO3RoaXMubXNnSWQ9bnVsbDt0aGlzLnNldmVyaXR5PW51bGx9fWNsYXNzIE1lc3NhZ2luZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibWVzc2FnaW5nIiwhMCk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTW9kZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibW9kZSIsWyJhcHBlbmQiLCJvdmVyd3JpdGUiXSl9fWNsYXNzIE1vZGlmeUFubm90cyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtb2RpZnlBbm5vdHMiKX19Y2xhc3MgTXNnSWQgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtc2dJZCIsMSwoZT0+ZT49MSkpfX1jbGFzcyBOYW1lQXR0ciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibmFtZUF0dHIiKX19Y2xhc3MgTmV2ZXJFbWJlZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm5ldmVyRW1iZWQiKX19Y2xhc3MgTnVtYmVyT2ZDb3BpZXMgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJudW1iZXJPZkNvcGllcyIsbnVsbCwoZT0+ZT49MiYmZTw9NSkpfX1jbGFzcyBPcGVuQWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJvcGVuQWN0aW9uIiwhMCk7dGhpcy5kZXN0aW5hdGlvbj1udWxsfX1jbGFzcyBPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dCIsITApO3RoaXMudG89bnVsbDt0aGlzLnR5cGU9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBPdXRwdXRCaW4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dEJpbiIpfX1jbGFzcyBPdXRwdXRYU0wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dFhTTCIsITApO3RoaXMudXJpPW51bGx9fWNsYXNzIE92ZXJwcmludCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwib3ZlcnByaW50IixbIm5vbmUiLCJib3RoIiwiZHJhdyIsImZpZWxkIl0pfX1jbGFzcyBQYWNrZXRzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJwYWNrZXRzIil9W29yXSgpeyIqIiE9PXRoaXNbc3JdJiYodGhpc1tzcl09dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PlsiY29uZmlnIiwiZGF0YXNldHMiLCJ0ZW1wbGF0ZSIsInhmZGYiLCJ4c2x0Il0uaW5jbHVkZXMoZSkpKSl9fWNsYXNzIFBhZ2VPZmZzZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBhZ2VPZmZzZXQiKTt0aGlzLng9Z2V0SW50ZWdlcih7ZGF0YTplLngsZGVmYXVsdFZhbHVlOiJ1c2VYRENTZXR0aW5nIix2YWxpZGF0ZTplPT4hMH0pO3RoaXMueT1nZXRJbnRlZ2VyKHtkYXRhOmUueSxkZWZhdWx0VmFsdWU6InVzZVhEQ1NldHRpbmciLHZhbGlkYXRlOmU9PiEwfSl9fWNsYXNzIFBhZ2VSYW5nZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnZVJhbmdlIil9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PnBhcnNlSW50KGUsMTApKSksdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKz0yKXQucHVzaChlLnNsaWNlKGksaSsyKSk7dGhpc1tzcl09dH19Y2xhc3MgUGFnaW5hdGlvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnaW5hdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4U2hvcnRFZGdlIiwiZHVwbGV4TG9uZ0VkZ2UiXSl9fWNsYXNzIFBhZ2luYXRpb25PdmVycmlkZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnaW5hdGlvbk92ZXJyaWRlIixbIm5vbmUiLCJmb3JjZUR1cGxleCIsImZvcmNlRHVwbGV4TG9uZ0VkZ2UiLCJmb3JjZUR1cGxleFNob3J0RWRnZSIsImZvcmNlU2ltcGxleCJdKX19Y2xhc3MgUGFydCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBhcnQiLDEsKGU9PiExKSl9fWNsYXNzIFBjbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGNsIiwhMCk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLmpvZz1udWxsO3RoaXMubWVkaXVtSW5mbz1udWxsO3RoaXMub3V0cHV0QmluPW51bGw7dGhpcy5wYWdlT2Zmc2V0PW51bGw7dGhpcy5zdGFwbGU9bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBQZGYgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBkZiIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYWRvYmVFeHRlbnNpb25MZXZlbD1udWxsO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmNvbXByZXNzaW9uPW51bGw7dGhpcy5jcmVhdG9yPW51bGw7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMuaW50ZXJhY3RpdmU9bnVsbDt0aGlzLmxpbmVhcml6ZWQ9bnVsbDt0aGlzLm9wZW5BY3Rpb249bnVsbDt0aGlzLnBkZmE9bnVsbDt0aGlzLnByb2R1Y2VyPW51bGw7dGhpcy5yZW5kZXJQb2xpY3k9bnVsbDt0aGlzLnNjcmlwdE1vZGVsPW51bGw7dGhpcy5zaWxlbnRQcmludD1udWxsO3RoaXMuc3VibWl0Rm9ybWF0PW51bGw7dGhpcy50YWdnZWQ9bnVsbDt0aGlzLnZlcnNpb249bnVsbDt0aGlzLnZpZXdlclByZWZlcmVuY2VzPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUGRmYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGRmYSIsITApO3RoaXMuYW1kPW51bGw7dGhpcy5jb25mb3JtYW5jZT1udWxsO3RoaXMuaW5jbHVkZVhEUENvbnRlbnQ9bnVsbDt0aGlzLnBhcnQ9bnVsbH19Y2xhc3MgUGVybWlzc2lvbnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBlcm1pc3Npb25zIiwhMCk7dGhpcy5hY2Nlc3NpYmxlQ29udGVudD1udWxsO3RoaXMuY2hhbmdlPW51bGw7dGhpcy5jb250ZW50Q29weT1udWxsO3RoaXMuZG9jdW1lbnRBc3NlbWJseT1udWxsO3RoaXMuZm9ybUZpZWxkRmlsbGluZz1udWxsO3RoaXMubW9kaWZ5QW5ub3RzPW51bGw7dGhpcy5wbGFpbnRleHRNZXRhZGF0YT1udWxsO3RoaXMucHJpbnQ9bnVsbDt0aGlzLnByaW50SGlnaFF1YWxpdHk9bnVsbH19Y2xhc3MgUGlja1RyYXlCeVBERlNpemUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGlja1RyYXlCeVBERlNpemUiKX19Y2xhc3MgY29uZmlnX1BpY3R1cmUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBpY3R1cmUiKX19Y2xhc3MgUGxhaW50ZXh0TWV0YWRhdGEgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGxhaW50ZXh0TWV0YWRhdGEiKX19Y2xhc3MgUHJlc2VuY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByZXNlbmNlIixbInByZXNlcnZlIiwiZGlzc29sdmUiLCJkaXNzb2x2ZVN0cnVjdHVyZSIsImlnbm9yZSIsInJlbW92ZSJdKX19Y2xhc3MgUHJlc2VudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJlc2VudCIsITApO3RoaXMuYmVoYXZpb3JPdmVycmlkZT1udWxsO3RoaXMuY2FjaGU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMuY29waWVzPW51bGw7dGhpcy5kZXN0aW5hdGlvbj1udWxsO3RoaXMuaW5jcmVtZW50YWxNZXJnZT1udWxsO3RoaXMubGF5b3V0PW51bGw7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLm92ZXJwcmludD1udWxsO3RoaXMucGFnaW5hdGlvbj1udWxsO3RoaXMucGFnaW5hdGlvbk92ZXJyaWRlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy54ZHA9bnVsbDt0aGlzLmRyaXZlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5sYWJlbFByaW50ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGNsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBkZj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMud2ViQ2xpZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnpwbD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFByaW50IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByaW50Iil9fWNsYXNzIFByaW50SGlnaFF1YWxpdHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJpbnRIaWdoUXVhbGl0eSIpfX1jbGFzcyBQcmludFNjYWxpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByaW50U2NhbGluZyIsWyJhcHBkZWZhdWx0Iiwibm9TY2FsaW5nIl0pfX1jbGFzcyBQcmludGVyTmFtZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJpbnRlck5hbWUiKX19Y2xhc3MgUHJvZHVjZXIgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByb2R1Y2VyIil9fWNsYXNzIFBzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJwcyIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy5qb2c9bnVsbDt0aGlzLm1lZGl1bUluZm89bnVsbDt0aGlzLm91dHB1dEJpbj1udWxsO3RoaXMuc3RhcGxlPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUmFuZ2UgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJyYW5nZSIpfVtvcl0oKXt0aGlzW3NyXT10aGlzW3NyXS50cmltKCkuc3BsaXQoL1xzKixccyovLDIpLm1hcCgoZT0+ZS5zcGxpdCgiLSIpLm1hcCgoZT0+cGFyc2VJbnQoZS50cmltKCksMTApKSkpKS5maWx0ZXIoKGU9PmUuZXZlcnkoKGU9PiFpc05hTihlKSkpKSkubWFwKChlPT57MT09PWUubGVuZ3RoJiZlLnB1c2goZVswXSk7cmV0dXJuIGV9KSl9fWNsYXNzIFJlY29yZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInJlY29yZCIpfVtvcl0oKXt0aGlzW3NyXT10aGlzW3NyXS50cmltKCk7Y29uc3QgZT1wYXJzZUludCh0aGlzW3NyXSwxMCk7IWlzTmFOKGUpJiZlPj0wJiYodGhpc1tzcl09ZSl9fWNsYXNzIFJlbGV2YW50IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVsZXZhbnQiKX1bb3JdKCl7dGhpc1tzcl09dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKX19Y2xhc3MgUmVuYW1lIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVuYW1lIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKTsodGhpc1tzcl0udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCJ4bWwiKXx8bmV3IFJlZ0V4cCgiW1xccHtMfV9dW1xccHtMfVxcZC5fXFxwe019LV0qIiwidSIpLnRlc3QodGhpc1tzcl0pKSYmd2FybigiWEZBIC0gUmVuYW1lOiBpbnZhbGlkIFhGQSBuYW1lIil9fWNsYXNzIFJlbmRlclBvbGljeSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVuZGVyUG9saWN5IixbInNlcnZlciIsImNsaWVudCJdKX19Y2xhc3MgUnVuU2NyaXB0cyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicnVuU2NyaXB0cyIsWyJib3RoIiwiY2xpZW50Iiwibm9uZSIsInNlcnZlciJdKX19Y2xhc3MgY29uZmlnX1NjcmlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic2NyaXB0IiwhMCk7dGhpcy5jdXJyZW50UGFnZT1udWxsO3RoaXMuZXhjbHVkZT1udWxsO3RoaXMucnVuU2NyaXB0cz1udWxsfX1jbGFzcyBTY3JpcHRNb2RlbCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic2NyaXB0TW9kZWwiLFsiWEZBIiwibm9uZSJdKX19Y2xhc3MgU2V2ZXJpdHkgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInNldmVyaXR5IixbImlnbm9yZSIsImVycm9yIiwiaW5mb3JtYXRpb24iLCJ0cmFjZSIsIndhcm5pbmciXSl9fWNsYXNzIFNpbGVudFByaW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzaWxlbnRQcmludCIsITApO3RoaXMuYWRkU2lsZW50UHJpbnQ9bnVsbDt0aGlzLnByaW50ZXJOYW1lPW51bGx9fWNsYXNzIFN0YXBsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3RhcGxlIik7dGhpcy5tb2RlPWdldFN0cmluZ09wdGlvbihlLm1vZGUsWyJ1c2VQcmludGVyU2V0dGluZyIsIm9uIiwib2ZmIl0pfX1jbGFzcyBTdGFydE5vZGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInN0YXJ0Tm9kZSIpfX1jbGFzcyBTdGFydFBhZ2UgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdGFydFBhZ2UiLDAsKGU9PiEwKSl9fWNsYXNzIFN1Ym1pdEZvcm1hdCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3VibWl0Rm9ybWF0IixbImh0bWwiLCJkZWxlZ2F0ZSIsImZkZiIsInhtbCIsInBkZiJdKX19Y2xhc3MgU3VibWl0VXJsIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdWJtaXRVcmwiKX19Y2xhc3MgU3Vic2V0QmVsb3cgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdWJzZXRCZWxvdyIsMTAwLChlPT5lPj0wJiZlPD0xMDApKX19Y2xhc3MgU3VwcHJlc3NCYW5uZXIgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3VwcHJlc3NCYW5uZXIiKX19Y2xhc3MgVGFnZ2VkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRhZ2dlZCIpfX1jbGFzcyBjb25maWdfVGVtcGxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRlbXBsYXRlIiwhMCk7dGhpcy5iYXNlPW51bGw7dGhpcy5yZWxldmFudD1udWxsO3RoaXMuc3RhcnRQYWdlPW51bGw7dGhpcy51cmk9bnVsbDt0aGlzLnhzbD1udWxsfX1jbGFzcyBUaHJlc2hvbGQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRocmVzaG9sZCIsWyJ0cmFjZSIsImVycm9yIiwiaW5mb3JtYXRpb24iLCJ3YXJuaW5nIl0pfX1jbGFzcyBUbyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidG8iLFsibnVsbCIsIm1lbW9yeSIsInN0ZGVyciIsInN0ZG91dCIsInN5c3RlbSIsInVyaSJdKX19Y2xhc3MgVGVtcGxhdGVDYWNoZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidGVtcGxhdGVDYWNoZSIpO3RoaXMubWF4RW50cmllcz1nZXRJbnRlZ2VyKHtkYXRhOmUubWF4RW50cmllcyxkZWZhdWx0VmFsdWU6NSx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIFRyYWNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ0cmFjZSIsITApO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRyYW5zZm9ybSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidHJhbnNmb3JtIiwhMCk7dGhpcy5ncm91cFBhcmVudD1udWxsO3RoaXMuaWZFbXB0eT1udWxsO3RoaXMubmFtZUF0dHI9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbDt0aGlzLnByZXNlbmNlPW51bGw7dGhpcy5yZW5hbWU9bnVsbDt0aGlzLndoaXRlc3BhY2U9bnVsbH19Y2xhc3MgVHlwZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidHlwZSIsWyJub25lIiwiYXNjaWk4NSIsImFzY2lpSGV4IiwiY2NpdHRmYXgiLCJmbGF0ZSIsImx6dyIsInJ1bkxlbmd0aCIsIm5hdGl2ZSIsInhkcCIsIm1lcmdlZFhEUCJdKX19Y2xhc3MgVXJpIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ1cmkiKX19Y2xhc3MgY29uZmlnX1ZhbGlkYXRlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2YWxpZGF0ZSIsWyJwcmVTdWJtaXQiLCJwcmVQcmludCIsInByZUV4ZWN1dGUiLCJwcmVTYXZlIl0pfX1jbGFzcyBWYWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5bImRvY1JlYWR5IiwicG9zdFNpZ24iXS5pbmNsdWRlcyhlKSkpfX1jbGFzcyBWYWxpZGF0aW9uTWVzc2FnaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2YWxpZGF0aW9uTWVzc2FnaW5nIixbImFsbE1lc3NhZ2VzSW5kaXZpZHVhbGx5IiwiYWxsTWVzc2FnZXNUb2dldGhlciIsImZpcnN0TWVzc2FnZU9ubHkiLCJub01lc3NhZ2VzIl0pfX1jbGFzcyBWZXJzaW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2ZXJzaW9uIixbIjEuNyIsIjEuNiIsIjEuNSIsIjEuNCIsIjEuMyIsIjEuMiJdKX19Y2xhc3MgVmVyc2lvbkNvbnRyb2wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIlZlcnNpb25Db250cm9sIik7dGhpcy5vdXRwdXRCZWxvdz1nZXRTdHJpbmdPcHRpb24oZS5vdXRwdXRCZWxvdyxbIndhcm4iLCJlcnJvciIsInVwZGF0ZSJdKTt0aGlzLnNvdXJjZUFib3ZlPWdldFN0cmluZ09wdGlvbihlLnNvdXJjZUFib3ZlLFsid2FybiIsImVycm9yIl0pO3RoaXMuc291cmNlQmVsb3c9Z2V0U3RyaW5nT3B0aW9uKGUuc291cmNlQmVsb3csWyJ1cGRhdGUiLCJtYWludGFpbiJdKX19Y2xhc3MgVmlld2VyUHJlZmVyZW5jZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInZpZXdlclByZWZlcmVuY2VzIiwhMCk7dGhpcy5BREJFX0pTQ29uc29sZT1udWxsO3RoaXMuQURCRV9KU0RlYnVnZ2VyPW51bGw7dGhpcy5hZGRWaWV3ZXJQcmVmZXJlbmNlcz1udWxsO3RoaXMuZHVwbGV4T3B0aW9uPW51bGw7dGhpcy5lbmZvcmNlPW51bGw7dGhpcy5udW1iZXJPZkNvcGllcz1udWxsO3RoaXMucGFnZVJhbmdlPW51bGw7dGhpcy5waWNrVHJheUJ5UERGU2l6ZT1udWxsO3RoaXMucHJpbnRTY2FsaW5nPW51bGx9fWNsYXNzIFdlYkNsaWVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwid2ViQ2xpZW50IiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBXaGl0ZXNwYWNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ3aGl0ZXNwYWNlIixbInByZXNlcnZlIiwibHRyaW0iLCJub3JtYWxpemUiLCJydHJpbSIsInRyaW0iXSl9fWNsYXNzIFdpbmRvdyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIndpbmRvdyIpfVtvcl0oKXtjb25zdCBlPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8sMikubWFwKChlPT5wYXJzZUludChlLDEwKSkpO2lmKGUuc29tZSgoZT0+aXNOYU4oZSkpKSl0aGlzW3NyXT1bMCwwXTtlbHNlezE9PT1lLmxlbmd0aCYmZS5wdXNoKGVbMF0pO3RoaXNbc3JdPWV9fX1jbGFzcyBYZGMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInhkYyIsITApO3RoaXMudXJpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnhzbD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFhkcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwieGRwIiwhMCk7dGhpcy5wYWNrZXRzPW51bGx9fWNsYXNzIFhzbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwieHNsIiwhMCk7dGhpcy5kZWJ1Zz1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIFpwbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwienBsIiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZsaXBMYWJlbD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBDb25maWdOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKENvbmZpZ05hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gQ29uZmlnTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBhY3JvYmF0KGUpe3JldHVybiBuZXcgQWNyb2JhdChlKX1zdGF0aWMgYWNyb2JhdDcoZSl7cmV0dXJuIG5ldyBBY3JvYmF0NyhlKX1zdGF0aWMgQURCRV9KU0NvbnNvbGUoZSl7cmV0dXJuIG5ldyBBREJFX0pTQ29uc29sZShlKX1zdGF0aWMgQURCRV9KU0RlYnVnZ2VyKGUpe3JldHVybiBuZXcgQURCRV9KU0RlYnVnZ2VyKGUpfXN0YXRpYyBhZGRTaWxlbnRQcmludChlKXtyZXR1cm4gbmV3IEFkZFNpbGVudFByaW50KGUpfXN0YXRpYyBhZGRWaWV3ZXJQcmVmZXJlbmNlcyhlKXtyZXR1cm4gbmV3IEFkZFZpZXdlclByZWZlcmVuY2VzKGUpfXN0YXRpYyBhZGp1c3REYXRhKGUpe3JldHVybiBuZXcgQWRqdXN0RGF0YShlKX1zdGF0aWMgYWRvYmVFeHRlbnNpb25MZXZlbChlKXtyZXR1cm4gbmV3IEFkb2JlRXh0ZW5zaW9uTGV2ZWwoZSl9c3RhdGljIGFnZW50KGUpe3JldHVybiBuZXcgQWdlbnQoZSl9c3RhdGljIGFsd2F5c0VtYmVkKGUpe3JldHVybiBuZXcgQWx3YXlzRW1iZWQoZSl9c3RhdGljIGFtZChlKXtyZXR1cm4gbmV3IEFtZChlKX1zdGF0aWMgYXJlYShlKXtyZXR1cm4gbmV3IGNvbmZpZ19BcmVhKGUpfXN0YXRpYyBhdHRyaWJ1dGVzKGUpe3JldHVybiBuZXcgQXR0cmlidXRlcyhlKX1zdGF0aWMgYXV0b1NhdmUoZSl7cmV0dXJuIG5ldyBBdXRvU2F2ZShlKX1zdGF0aWMgYmFzZShlKXtyZXR1cm4gbmV3IEJhc2UoZSl9c3RhdGljIGJhdGNoT3V0cHV0KGUpe3JldHVybiBuZXcgQmF0Y2hPdXRwdXQoZSl9c3RhdGljIGJlaGF2aW9yT3ZlcnJpZGUoZSl7cmV0dXJuIG5ldyBCZWhhdmlvck92ZXJyaWRlKGUpfXN0YXRpYyBjYWNoZShlKXtyZXR1cm4gbmV3IENhY2hlKGUpfXN0YXRpYyBjaGFuZ2UoZSl7cmV0dXJuIG5ldyBDaGFuZ2UoZSl9c3RhdGljIGNvbW1vbihlKXtyZXR1cm4gbmV3IENvbW1vbihlKX1zdGF0aWMgY29tcHJlc3MoZSl7cmV0dXJuIG5ldyBDb21wcmVzcyhlKX1zdGF0aWMgY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlKGUpe3JldHVybiBuZXcgQ29tcHJlc3NMb2dpY2FsU3RydWN0dXJlKGUpfXN0YXRpYyBjb21wcmVzc09iamVjdFN0cmVhbShlKXtyZXR1cm4gbmV3IENvbXByZXNzT2JqZWN0U3RyZWFtKGUpfXN0YXRpYyBjb21wcmVzc2lvbihlKXtyZXR1cm4gbmV3IENvbXByZXNzaW9uKGUpfXN0YXRpYyBjb25maWcoZSl7cmV0dXJuIG5ldyBDb25maWcoZSl9c3RhdGljIGNvbmZvcm1hbmNlKGUpe3JldHVybiBuZXcgQ29uZm9ybWFuY2UoZSl9c3RhdGljIGNvbnRlbnRDb3B5KGUpe3JldHVybiBuZXcgQ29udGVudENvcHkoZSl9c3RhdGljIGNvcGllcyhlKXtyZXR1cm4gbmV3IENvcGllcyhlKX1zdGF0aWMgY3JlYXRvcihlKXtyZXR1cm4gbmV3IENyZWF0b3IoZSl9c3RhdGljIGN1cnJlbnRQYWdlKGUpe3JldHVybiBuZXcgQ3VycmVudFBhZ2UoZSl9c3RhdGljIGRhdGEoZSl7cmV0dXJuIG5ldyBEYXRhKGUpfXN0YXRpYyBkZWJ1ZyhlKXtyZXR1cm4gbmV3IERlYnVnKGUpfXN0YXRpYyBkZWZhdWx0VHlwZWZhY2UoZSl7cmV0dXJuIG5ldyBEZWZhdWx0VHlwZWZhY2UoZSl9c3RhdGljIGRlc3RpbmF0aW9uKGUpe3JldHVybiBuZXcgRGVzdGluYXRpb24oZSl9c3RhdGljIGRvY3VtZW50QXNzZW1ibHkoZSl7cmV0dXJuIG5ldyBEb2N1bWVudEFzc2VtYmx5KGUpfXN0YXRpYyBkcml2ZXIoZSl7cmV0dXJuIG5ldyBEcml2ZXIoZSl9c3RhdGljIGR1cGxleE9wdGlvbihlKXtyZXR1cm4gbmV3IER1cGxleE9wdGlvbihlKX1zdGF0aWMgZHluYW1pY1JlbmRlcihlKXtyZXR1cm4gbmV3IER5bmFtaWNSZW5kZXIoZSl9c3RhdGljIGVtYmVkKGUpe3JldHVybiBuZXcgRW1iZWQoZSl9c3RhdGljIGVuY3J5cHQoZSl7cmV0dXJuIG5ldyBjb25maWdfRW5jcnlwdChlKX1zdGF0aWMgZW5jcnlwdGlvbihlKXtyZXR1cm4gbmV3IGNvbmZpZ19FbmNyeXB0aW9uKGUpfXN0YXRpYyBlbmNyeXB0aW9uTGV2ZWwoZSl7cmV0dXJuIG5ldyBFbmNyeXB0aW9uTGV2ZWwoZSl9c3RhdGljIGVuZm9yY2UoZSl7cmV0dXJuIG5ldyBFbmZvcmNlKGUpfXN0YXRpYyBlcXVhdGUoZSl7cmV0dXJuIG5ldyBFcXVhdGUoZSl9c3RhdGljIGVxdWF0ZVJhbmdlKGUpe3JldHVybiBuZXcgRXF1YXRlUmFuZ2UoZSl9c3RhdGljIGV4Y2x1ZGUoZSl7cmV0dXJuIG5ldyBFeGNsdWRlKGUpfXN0YXRpYyBleGNsdWRlTlMoZSl7cmV0dXJuIG5ldyBFeGNsdWRlTlMoZSl9c3RhdGljIGZsaXBMYWJlbChlKXtyZXR1cm4gbmV3IEZsaXBMYWJlbChlKX1zdGF0aWMgZm9udEluZm8oZSl7cmV0dXJuIG5ldyBjb25maWdfRm9udEluZm8oZSl9c3RhdGljIGZvcm1GaWVsZEZpbGxpbmcoZSl7cmV0dXJuIG5ldyBGb3JtRmllbGRGaWxsaW5nKGUpfXN0YXRpYyBncm91cFBhcmVudChlKXtyZXR1cm4gbmV3IEdyb3VwUGFyZW50KGUpfXN0YXRpYyBpZkVtcHR5KGUpe3JldHVybiBuZXcgSWZFbXB0eShlKX1zdGF0aWMgaW5jbHVkZVhEUENvbnRlbnQoZSl7cmV0dXJuIG5ldyBJbmNsdWRlWERQQ29udGVudChlKX1zdGF0aWMgaW5jcmVtZW50YWxMb2FkKGUpe3JldHVybiBuZXcgSW5jcmVtZW50YWxMb2FkKGUpfXN0YXRpYyBpbmNyZW1lbnRhbE1lcmdlKGUpe3JldHVybiBuZXcgSW5jcmVtZW50YWxNZXJnZShlKX1zdGF0aWMgaW50ZXJhY3RpdmUoZSl7cmV0dXJuIG5ldyBJbnRlcmFjdGl2ZShlKX1zdGF0aWMgam9nKGUpe3JldHVybiBuZXcgSm9nKGUpfXN0YXRpYyBsYWJlbFByaW50ZXIoZSl7cmV0dXJuIG5ldyBMYWJlbFByaW50ZXIoZSl9c3RhdGljIGxheW91dChlKXtyZXR1cm4gbmV3IExheW91dChlKX1zdGF0aWMgbGV2ZWwoZSl7cmV0dXJuIG5ldyBMZXZlbChlKX1zdGF0aWMgbGluZWFyaXplZChlKXtyZXR1cm4gbmV3IExpbmVhcml6ZWQoZSl9c3RhdGljIGxvY2FsZShlKXtyZXR1cm4gbmV3IExvY2FsZShlKX1zdGF0aWMgbG9jYWxlU2V0KGUpe3JldHVybiBuZXcgTG9jYWxlU2V0KGUpfXN0YXRpYyBsb2coZSl7cmV0dXJuIG5ldyBMb2coZSl9c3RhdGljIG1hcChlKXtyZXR1cm4gbmV3IE1hcEVsZW1lbnQoZSl9c3RhdGljIG1lZGl1bUluZm8oZSl7cmV0dXJuIG5ldyBNZWRpdW1JbmZvKGUpfXN0YXRpYyBtZXNzYWdlKGUpe3JldHVybiBuZXcgY29uZmlnX01lc3NhZ2UoZSl9c3RhdGljIG1lc3NhZ2luZyhlKXtyZXR1cm4gbmV3IE1lc3NhZ2luZyhlKX1zdGF0aWMgbW9kZShlKXtyZXR1cm4gbmV3IE1vZGUoZSl9c3RhdGljIG1vZGlmeUFubm90cyhlKXtyZXR1cm4gbmV3IE1vZGlmeUFubm90cyhlKX1zdGF0aWMgbXNnSWQoZSl7cmV0dXJuIG5ldyBNc2dJZChlKX1zdGF0aWMgbmFtZUF0dHIoZSl7cmV0dXJuIG5ldyBOYW1lQXR0cihlKX1zdGF0aWMgbmV2ZXJFbWJlZChlKXtyZXR1cm4gbmV3IE5ldmVyRW1iZWQoZSl9c3RhdGljIG51bWJlck9mQ29waWVzKGUpe3JldHVybiBuZXcgTnVtYmVyT2ZDb3BpZXMoZSl9c3RhdGljIG9wZW5BY3Rpb24oZSl7cmV0dXJuIG5ldyBPcGVuQWN0aW9uKGUpfXN0YXRpYyBvdXRwdXQoZSl7cmV0dXJuIG5ldyBPdXRwdXQoZSl9c3RhdGljIG91dHB1dEJpbihlKXtyZXR1cm4gbmV3IE91dHB1dEJpbihlKX1zdGF0aWMgb3V0cHV0WFNMKGUpe3JldHVybiBuZXcgT3V0cHV0WFNMKGUpfXN0YXRpYyBvdmVycHJpbnQoZSl7cmV0dXJuIG5ldyBPdmVycHJpbnQoZSl9c3RhdGljIHBhY2tldHMoZSl7cmV0dXJuIG5ldyBQYWNrZXRzKGUpfXN0YXRpYyBwYWdlT2Zmc2V0KGUpe3JldHVybiBuZXcgUGFnZU9mZnNldChlKX1zdGF0aWMgcGFnZVJhbmdlKGUpe3JldHVybiBuZXcgUGFnZVJhbmdlKGUpfXN0YXRpYyBwYWdpbmF0aW9uKGUpe3JldHVybiBuZXcgUGFnaW5hdGlvbihlKX1zdGF0aWMgcGFnaW5hdGlvbk92ZXJyaWRlKGUpe3JldHVybiBuZXcgUGFnaW5hdGlvbk92ZXJyaWRlKGUpfXN0YXRpYyBwYXJ0KGUpe3JldHVybiBuZXcgUGFydChlKX1zdGF0aWMgcGNsKGUpe3JldHVybiBuZXcgUGNsKGUpfXN0YXRpYyBwZGYoZSl7cmV0dXJuIG5ldyBQZGYoZSl9c3RhdGljIHBkZmEoZSl7cmV0dXJuIG5ldyBQZGZhKGUpfXN0YXRpYyBwZXJtaXNzaW9ucyhlKXtyZXR1cm4gbmV3IFBlcm1pc3Npb25zKGUpfXN0YXRpYyBwaWNrVHJheUJ5UERGU2l6ZShlKXtyZXR1cm4gbmV3IFBpY2tUcmF5QnlQREZTaXplKGUpfXN0YXRpYyBwaWN0dXJlKGUpe3JldHVybiBuZXcgY29uZmlnX1BpY3R1cmUoZSl9c3RhdGljIHBsYWludGV4dE1ldGFkYXRhKGUpe3JldHVybiBuZXcgUGxhaW50ZXh0TWV0YWRhdGEoZSl9c3RhdGljIHByZXNlbmNlKGUpe3JldHVybiBuZXcgUHJlc2VuY2UoZSl9c3RhdGljIHByZXNlbnQoZSl7cmV0dXJuIG5ldyBQcmVzZW50KGUpfXN0YXRpYyBwcmludChlKXtyZXR1cm4gbmV3IFByaW50KGUpfXN0YXRpYyBwcmludEhpZ2hRdWFsaXR5KGUpe3JldHVybiBuZXcgUHJpbnRIaWdoUXVhbGl0eShlKX1zdGF0aWMgcHJpbnRTY2FsaW5nKGUpe3JldHVybiBuZXcgUHJpbnRTY2FsaW5nKGUpfXN0YXRpYyBwcmludGVyTmFtZShlKXtyZXR1cm4gbmV3IFByaW50ZXJOYW1lKGUpfXN0YXRpYyBwcm9kdWNlcihlKXtyZXR1cm4gbmV3IFByb2R1Y2VyKGUpfXN0YXRpYyBwcyhlKXtyZXR1cm4gbmV3IFBzKGUpfXN0YXRpYyByYW5nZShlKXtyZXR1cm4gbmV3IFJhbmdlKGUpfXN0YXRpYyByZWNvcmQoZSl7cmV0dXJuIG5ldyBSZWNvcmQoZSl9c3RhdGljIHJlbGV2YW50KGUpe3JldHVybiBuZXcgUmVsZXZhbnQoZSl9c3RhdGljIHJlbmFtZShlKXtyZXR1cm4gbmV3IFJlbmFtZShlKX1zdGF0aWMgcmVuZGVyUG9saWN5KGUpe3JldHVybiBuZXcgUmVuZGVyUG9saWN5KGUpfXN0YXRpYyBydW5TY3JpcHRzKGUpe3JldHVybiBuZXcgUnVuU2NyaXB0cyhlKX1zdGF0aWMgc2NyaXB0KGUpe3JldHVybiBuZXcgY29uZmlnX1NjcmlwdChlKX1zdGF0aWMgc2NyaXB0TW9kZWwoZSl7cmV0dXJuIG5ldyBTY3JpcHRNb2RlbChlKX1zdGF0aWMgc2V2ZXJpdHkoZSl7cmV0dXJuIG5ldyBTZXZlcml0eShlKX1zdGF0aWMgc2lsZW50UHJpbnQoZSl7cmV0dXJuIG5ldyBTaWxlbnRQcmludChlKX1zdGF0aWMgc3RhcGxlKGUpe3JldHVybiBuZXcgU3RhcGxlKGUpfXN0YXRpYyBzdGFydE5vZGUoZSl7cmV0dXJuIG5ldyBTdGFydE5vZGUoZSl9c3RhdGljIHN0YXJ0UGFnZShlKXtyZXR1cm4gbmV3IFN0YXJ0UGFnZShlKX1zdGF0aWMgc3VibWl0Rm9ybWF0KGUpe3JldHVybiBuZXcgU3VibWl0Rm9ybWF0KGUpfXN0YXRpYyBzdWJtaXRVcmwoZSl7cmV0dXJuIG5ldyBTdWJtaXRVcmwoZSl9c3RhdGljIHN1YnNldEJlbG93KGUpe3JldHVybiBuZXcgU3Vic2V0QmVsb3coZSl9c3RhdGljIHN1cHByZXNzQmFubmVyKGUpe3JldHVybiBuZXcgU3VwcHJlc3NCYW5uZXIoZSl9c3RhdGljIHRhZ2dlZChlKXtyZXR1cm4gbmV3IFRhZ2dlZChlKX1zdGF0aWMgdGVtcGxhdGUoZSl7cmV0dXJuIG5ldyBjb25maWdfVGVtcGxhdGUoZSl9c3RhdGljIHRlbXBsYXRlQ2FjaGUoZSl7cmV0dXJuIG5ldyBUZW1wbGF0ZUNhY2hlKGUpfXN0YXRpYyB0aHJlc2hvbGQoZSl7cmV0dXJuIG5ldyBUaHJlc2hvbGQoZSl9c3RhdGljIHRvKGUpe3JldHVybiBuZXcgVG8oZSl9c3RhdGljIHRyYWNlKGUpe3JldHVybiBuZXcgVHJhY2UoZSl9c3RhdGljIHRyYW5zZm9ybShlKXtyZXR1cm4gbmV3IFRyYW5zZm9ybShlKX1zdGF0aWMgdHlwZShlKXtyZXR1cm4gbmV3IFR5cGUoZSl9c3RhdGljIHVyaShlKXtyZXR1cm4gbmV3IFVyaShlKX1zdGF0aWMgdmFsaWRhdGUoZSl7cmV0dXJuIG5ldyBjb25maWdfVmFsaWRhdGUoZSl9c3RhdGljIHZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzKGUpe3JldHVybiBuZXcgVmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMoZSl9c3RhdGljIHZhbGlkYXRpb25NZXNzYWdpbmcoZSl7cmV0dXJuIG5ldyBWYWxpZGF0aW9uTWVzc2FnaW5nKGUpfXN0YXRpYyB2ZXJzaW9uKGUpe3JldHVybiBuZXcgVmVyc2lvbihlKX1zdGF0aWMgdmVyc2lvbkNvbnRyb2woZSl7cmV0dXJuIG5ldyBWZXJzaW9uQ29udHJvbChlKX1zdGF0aWMgdmlld2VyUHJlZmVyZW5jZXMoZSl7cmV0dXJuIG5ldyBWaWV3ZXJQcmVmZXJlbmNlcyhlKX1zdGF0aWMgd2ViQ2xpZW50KGUpe3JldHVybiBuZXcgV2ViQ2xpZW50KGUpfXN0YXRpYyB3aGl0ZXNwYWNlKGUpe3JldHVybiBuZXcgV2hpdGVzcGFjZShlKX1zdGF0aWMgd2luZG93KGUpe3JldHVybiBuZXcgV2luZG93KGUpfXN0YXRpYyB4ZGMoZSl7cmV0dXJuIG5ldyBYZGMoZSl9c3RhdGljIHhkcChlKXtyZXR1cm4gbmV3IFhkcChlKX1zdGF0aWMgeHNsKGUpe3JldHVybiBuZXcgWHNsKGUpfXN0YXRpYyB6cGwoZSl7cmV0dXJuIG5ldyBacGwoZSl9fWNvbnN0IFhuPWhuLmNvbm5lY3Rpb25TZXQuaWQ7Y2xhc3MgQ29ubmVjdGlvblNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwiY29ubmVjdGlvblNldCIsITApO3RoaXMud3NkbENvbm5lY3Rpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMueG1sQ29ubmVjdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy54c2RDb25uZWN0aW9uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRWZmZWN0aXZlSW5wdXRQb2xpY3kgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sImVmZmVjdGl2ZUlucHV0UG9saWN5Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVmZmVjdGl2ZU91dHB1dFBvbGljeSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwiZWZmZWN0aXZlT3V0cHV0UG9saWN5Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE9wZXJhdGlvbiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwib3BlcmF0aW9uIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmlucHV0PWUuaW5wdXR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMub3V0cHV0PWUub3V0cHV0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFJvb3RFbGVtZW50IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJyb290RWxlbWVudCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTb2FwQWN0aW9uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJzb2FwQWN0aW9uIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNvYXBBZGRyZXNzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJzb2FwQWRkcmVzcyIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBjb25uZWN0aW9uX3NldF9VcmkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sInVyaSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBXc2RsQWRkcmVzcyBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwid3NkbEFkZHJlc3MiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgV3NkbENvbm5lY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sIndzZGxDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuZWZmZWN0aXZlSW5wdXRQb2xpY3k9bnVsbDt0aGlzLmVmZmVjdGl2ZU91dHB1dFBvbGljeT1udWxsO3RoaXMub3BlcmF0aW9uPW51bGw7dGhpcy5zb2FwQWN0aW9uPW51bGw7dGhpcy5zb2FwQWRkcmVzcz1udWxsO3RoaXMud3NkbEFkZHJlc3M9bnVsbH19Y2xhc3MgWG1sQ29ubmVjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwieG1sQ29ubmVjdGlvbiIsITApO3RoaXMuZGF0YURlc2NyaXB0aW9uPWUuZGF0YURlc2NyaXB0aW9ufHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVyaT1udWxsfX1jbGFzcyBYc2RDb25uZWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJ4c2RDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucm9vdEVsZW1lbnQ9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBDb25uZWN0aW9uU2V0TmFtZXNwYWNle3N0YXRpY1tDbl0oZSx0KXtpZihDb25uZWN0aW9uU2V0TmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBDb25uZWN0aW9uU2V0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBjb25uZWN0aW9uU2V0KGUpe3JldHVybiBuZXcgQ29ubmVjdGlvblNldChlKX1zdGF0aWMgZWZmZWN0aXZlSW5wdXRQb2xpY3koZSl7cmV0dXJuIG5ldyBFZmZlY3RpdmVJbnB1dFBvbGljeShlKX1zdGF0aWMgZWZmZWN0aXZlT3V0cHV0UG9saWN5KGUpe3JldHVybiBuZXcgRWZmZWN0aXZlT3V0cHV0UG9saWN5KGUpfXN0YXRpYyBvcGVyYXRpb24oZSl7cmV0dXJuIG5ldyBPcGVyYXRpb24oZSl9c3RhdGljIHJvb3RFbGVtZW50KGUpe3JldHVybiBuZXcgUm9vdEVsZW1lbnQoZSl9c3RhdGljIHNvYXBBY3Rpb24oZSl7cmV0dXJuIG5ldyBTb2FwQWN0aW9uKGUpfXN0YXRpYyBzb2FwQWRkcmVzcyhlKXtyZXR1cm4gbmV3IFNvYXBBZGRyZXNzKGUpfXN0YXRpYyB1cmkoZSl7cmV0dXJuIG5ldyBjb25uZWN0aW9uX3NldF9VcmkoZSl9c3RhdGljIHdzZGxBZGRyZXNzKGUpe3JldHVybiBuZXcgV3NkbEFkZHJlc3MoZSl9c3RhdGljIHdzZGxDb25uZWN0aW9uKGUpe3JldHVybiBuZXcgV3NkbENvbm5lY3Rpb24oZSl9c3RhdGljIHhtbENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBYbWxDb25uZWN0aW9uKGUpfXN0YXRpYyB4c2RDb25uZWN0aW9uKGUpe3JldHVybiBuZXcgWHNkQ29ubmVjdGlvbihlKX19Y29uc3QgWm49aG4uZGF0YXNldHMuaWQ7Y2xhc3MgZGF0YXNldHNfRGF0YSBleHRlbmRzIFhtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwiZGF0YSIsZSl9W0xyXSgpe3JldHVybiEwfX1jbGFzcyBEYXRhc2V0cyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwiZGF0YXNldHMiLCEwKTt0aGlzLmRhdGE9bnVsbDt0aGlzLlNpZ25hdHVyZT1udWxsfVtQcl0oZSl7Y29uc3QgdD1lW3FyXTsoImRhdGEiPT09dCYmZVtUcl09PT1abnx8IlNpZ25hdHVyZSI9PT10JiZlW1RyXT09PWhuLnNpZ25hdHVyZS5pZCkmJih0aGlzW3RdPWUpO3RoaXNbX3NdKGUpfX1jbGFzcyBEYXRhc2V0c05hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoRGF0YXNldHNOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIERhdGFzZXRzTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBkYXRhc2V0cyhlKXtyZXR1cm4gbmV3IERhdGFzZXRzKGUpfXN0YXRpYyBkYXRhKGUpe3JldHVybiBuZXcgZGF0YXNldHNfRGF0YShlKX19Y29uc3QgVm49aG4ubG9jYWxlU2V0LmlkO2NsYXNzIENhbGVuZGFyU3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiY2FsZW5kYXJTeW1ib2xzIiwhMCk7dGhpcy5uYW1lPSJncmVnb3JpYW4iO3RoaXMuZGF5TmFtZXM9bmV3IFhGQU9iamVjdEFycmF5KDIpO3RoaXMuZXJhTmFtZXM9bnVsbDt0aGlzLm1lcmlkaWVtTmFtZXM9bnVsbDt0aGlzLm1vbnRoTmFtZXM9bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBDdXJyZW5jeVN5bWJvbCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiY3VycmVuY3lTeW1ib2wiKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbInN5bWJvbCIsImlzb25hbWUiLCJkZWNpbWFsIl0pfX1jbGFzcyBDdXJyZW5jeVN5bWJvbHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImN1cnJlbmN5U3ltYm9scyIsITApO3RoaXMuY3VycmVuY3lTeW1ib2w9bmV3IFhGQU9iamVjdEFycmF5KDMpfX1jbGFzcyBEYXRlUGF0dGVybiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF0ZVBhdHRlcm4iKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImZ1bGwiLCJsb25nIiwibWVkIiwic2hvcnQiXSl9fWNsYXNzIERhdGVQYXR0ZXJucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF0ZVBhdHRlcm5zIiwhMCk7dGhpcy5kYXRlUGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXkoNCl9fWNsYXNzIERhdGVUaW1lU3ltYm9scyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImRhdGVUaW1lU3ltYm9scyIpfX1jbGFzcyBEYXkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImRheSIpfX1jbGFzcyBEYXlOYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF5TmFtZXMiLCEwKTt0aGlzLmFiYnI9Z2V0SW50ZWdlcih7ZGF0YTplLmFiYnIsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmRheT1uZXcgWEZBT2JqZWN0QXJyYXkoNyl9fWNsYXNzIEVyYSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZXJhIil9fWNsYXNzIEVyYU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJlcmFOYW1lcyIsITApO3RoaXMuZXJhPW5ldyBYRkFPYmplY3RBcnJheSgyKX19Y2xhc3MgbG9jYWxlX3NldF9Mb2NhbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImxvY2FsZSIsITApO3RoaXMuZGVzYz1lLmRlc2N8fCIiO3RoaXMubmFtZT0iaXNvbmFtZSI7dGhpcy5jYWxlbmRhclN5bWJvbHM9bnVsbDt0aGlzLmN1cnJlbmN5U3ltYm9scz1udWxsO3RoaXMuZGF0ZVBhdHRlcm5zPW51bGw7dGhpcy5kYXRlVGltZVN5bWJvbHM9bnVsbDt0aGlzLm51bWJlclBhdHRlcm5zPW51bGw7dGhpcy5udW1iZXJTeW1ib2xzPW51bGw7dGhpcy50aW1lUGF0dGVybnM9bnVsbDt0aGlzLnR5cGVGYWNlcz1udWxsfX1jbGFzcyBsb2NhbGVfc2V0X0xvY2FsZVNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibG9jYWxlU2V0IiwhMCk7dGhpcy5sb2NhbGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNZXJpZGllbSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibWVyaWRpZW0iKX19Y2xhc3MgTWVyaWRpZW1OYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibWVyaWRpZW1OYW1lcyIsITApO3RoaXMubWVyaWRpZW09bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBNb250aCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibW9udGgiKX19Y2xhc3MgTW9udGhOYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibW9udGhOYW1lcyIsITApO3RoaXMuYWJicj1nZXRJbnRlZ2VyKHtkYXRhOmUuYWJicixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMubW9udGg9bmV3IFhGQU9iamVjdEFycmF5KDEyKX19Y2xhc3MgTnVtYmVyUGF0dGVybiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibnVtYmVyUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgTnVtYmVyUGF0dGVybnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sIm51bWJlclBhdHRlcm5zIiwhMCk7dGhpcy5udW1iZXJQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgTnVtYmVyU3ltYm9sIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJudW1iZXJTeW1ib2wiKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImRlY2ltYWwiLCJncm91cGluZyIsInBlcmNlbnQiLCJtaW51cyIsInplcm8iXSl9fWNsYXNzIE51bWJlclN5bWJvbHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sIm51bWJlclN5bWJvbHMiLCEwKTt0aGlzLm51bWJlclN5bWJvbD1uZXcgWEZBT2JqZWN0QXJyYXkoNSl9fWNsYXNzIFRpbWVQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0aW1lUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgVGltZVBhdHRlcm5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0aW1lUGF0dGVybnMiLCEwKTt0aGlzLnRpbWVQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgVHlwZUZhY2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sInR5cGVGYWNlIiwhMCk7dGhpcy5uYW1lPSIifGUubmFtZX19Y2xhc3MgVHlwZUZhY2VzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0eXBlRmFjZXMiLCEwKTt0aGlzLnR5cGVGYWNlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTG9jYWxlU2V0TmFtZXNwYWNle3N0YXRpY1tDbl0oZSx0KXtpZihMb2NhbGVTZXROYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIExvY2FsZVNldE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgY2FsZW5kYXJTeW1ib2xzKGUpe3JldHVybiBuZXcgQ2FsZW5kYXJTeW1ib2xzKGUpfXN0YXRpYyBjdXJyZW5jeVN5bWJvbChlKXtyZXR1cm4gbmV3IEN1cnJlbmN5U3ltYm9sKGUpfXN0YXRpYyBjdXJyZW5jeVN5bWJvbHMoZSl7cmV0dXJuIG5ldyBDdXJyZW5jeVN5bWJvbHMoZSl9c3RhdGljIGRhdGVQYXR0ZXJuKGUpe3JldHVybiBuZXcgRGF0ZVBhdHRlcm4oZSl9c3RhdGljIGRhdGVQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IERhdGVQYXR0ZXJucyhlKX1zdGF0aWMgZGF0ZVRpbWVTeW1ib2xzKGUpe3JldHVybiBuZXcgRGF0ZVRpbWVTeW1ib2xzKGUpfXN0YXRpYyBkYXkoZSl7cmV0dXJuIG5ldyBEYXkoZSl9c3RhdGljIGRheU5hbWVzKGUpe3JldHVybiBuZXcgRGF5TmFtZXMoZSl9c3RhdGljIGVyYShlKXtyZXR1cm4gbmV3IEVyYShlKX1zdGF0aWMgZXJhTmFtZXMoZSl7cmV0dXJuIG5ldyBFcmFOYW1lcyhlKX1zdGF0aWMgbG9jYWxlKGUpe3JldHVybiBuZXcgbG9jYWxlX3NldF9Mb2NhbGUoZSl9c3RhdGljIGxvY2FsZVNldChlKXtyZXR1cm4gbmV3IGxvY2FsZV9zZXRfTG9jYWxlU2V0KGUpfXN0YXRpYyBtZXJpZGllbShlKXtyZXR1cm4gbmV3IE1lcmlkaWVtKGUpfXN0YXRpYyBtZXJpZGllbU5hbWVzKGUpe3JldHVybiBuZXcgTWVyaWRpZW1OYW1lcyhlKX1zdGF0aWMgbW9udGgoZSl7cmV0dXJuIG5ldyBNb250aChlKX1zdGF0aWMgbW9udGhOYW1lcyhlKXtyZXR1cm4gbmV3IE1vbnRoTmFtZXMoZSl9c3RhdGljIG51bWJlclBhdHRlcm4oZSl7cmV0dXJuIG5ldyBOdW1iZXJQYXR0ZXJuKGUpfXN0YXRpYyBudW1iZXJQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IE51bWJlclBhdHRlcm5zKGUpfXN0YXRpYyBudW1iZXJTeW1ib2woZSl7cmV0dXJuIG5ldyBOdW1iZXJTeW1ib2woZSl9c3RhdGljIG51bWJlclN5bWJvbHMoZSl7cmV0dXJuIG5ldyBOdW1iZXJTeW1ib2xzKGUpfXN0YXRpYyB0aW1lUGF0dGVybihlKXtyZXR1cm4gbmV3IFRpbWVQYXR0ZXJuKGUpfXN0YXRpYyB0aW1lUGF0dGVybnMoZSl7cmV0dXJuIG5ldyBUaW1lUGF0dGVybnMoZSl9c3RhdGljIHR5cGVGYWNlKGUpe3JldHVybiBuZXcgVHlwZUZhY2UoZSl9c3RhdGljIHR5cGVGYWNlcyhlKXtyZXR1cm4gbmV3IFR5cGVGYWNlcyhlKX19Y29uc3Qgem49aG4uc2lnbmF0dXJlLmlkO2NsYXNzIHNpZ25hdHVyZV9TaWduYXR1cmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoem4sInNpZ25hdHVyZSIsITApfX1jbGFzcyBTaWduYXR1cmVOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKFNpZ25hdHVyZU5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gU2lnbmF0dXJlTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBzaWduYXR1cmUoZSl7cmV0dXJuIG5ldyBzaWduYXR1cmVfU2lnbmF0dXJlKGUpfX1jb25zdCBfbj1obi5zdHlsZXNoZWV0LmlkO2NsYXNzIFN0eWxlc2hlZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX24sInN0eWxlc2hlZXQiLCEwKX19Y2xhc3MgU3R5bGVzaGVldE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoU3R5bGVzaGVldE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gU3R5bGVzaGVldE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgc3R5bGVzaGVldChlKXtyZXR1cm4gbmV3IFN0eWxlc2hlZXQoZSl9fWNvbnN0ICRuPWhuLnhkcC5pZDtjbGFzcyB4ZHBfWGRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCRuLCJ4ZHAiLCEwKTt0aGlzLnV1aWQ9ZS51dWlkfHwiIjt0aGlzLnRpbWVTdGFtcD1lLnRpbWVTdGFtcHx8IiI7dGhpcy5jb25maWc9bnVsbDt0aGlzLmNvbm5lY3Rpb25TZXQ9bnVsbDt0aGlzLmRhdGFzZXRzPW51bGw7dGhpcy5sb2NhbGVTZXQ9bnVsbDt0aGlzLnN0eWxlc2hlZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGVtcGxhdGU9bnVsbH1bV3JdKGUpe2NvbnN0IHQ9aG5bZVtxcl1dO3JldHVybiB0JiZlW1RyXT09PXQuaWR9fWNsYXNzIFhkcE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoWGRwTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBYZHBOYW1lc3BhY2VbZV0odCl9c3RhdGljIHhkcChlKXtyZXR1cm4gbmV3IHhkcF9YZHAoZSl9fWNvbnN0IEFnPWhuLnhodG1sLmlkLGVnPVN5bWJvbCgpLHRnPW5ldyBTZXQoWyJjb2xvciIsImZvbnQiLCJmb250LWZhbWlseSIsImZvbnQtc2l6ZSIsImZvbnQtc3RyZXRjaCIsImZvbnQtc3R5bGUiLCJmb250LXdlaWdodCIsIm1hcmdpbiIsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tbGVmdCIsIm1hcmdpbi1yaWdodCIsIm1hcmdpbi10b3AiLCJsZXR0ZXItc3BhY2luZyIsImxpbmUtaGVpZ2h0Iiwib3JwaGFucyIsInBhZ2UtYnJlYWstYWZ0ZXIiLCJwYWdlLWJyZWFrLWJlZm9yZSIsInBhZ2UtYnJlYWstaW5zaWRlIiwidGFiLWludGVydmFsIiwidGFiLXN0b3AiLCJ0ZXh0LWFsaWduIiwidGV4dC1kZWNvcmF0aW9uIiwidGV4dC1pbmRlbnQiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndpZG93cyIsImtlcm5pbmctbW9kZSIsInhmYS1mb250LWhvcml6b250YWwtc2NhbGUiLCJ4ZmEtZm9udC12ZXJ0aWNhbC1zY2FsZSIsInhmYS1zcGFjZXJ1biIsInhmYS10YWItc3RvcHMiXSksaWc9bmV3IE1hcChbWyJwYWdlLWJyZWFrLWFmdGVyIiwiYnJlYWtBZnRlciJdLFsicGFnZS1icmVhay1iZWZvcmUiLCJicmVha0JlZm9yZSJdLFsicGFnZS1icmVhay1pbnNpZGUiLCJicmVha0luc2lkZSJdLFsia2VybmluZy1tb2RlIixlPT4ibm9uZSI9PT1lPyJub25lIjoibm9ybWFsIl0sWyJ4ZmEtZm9udC1ob3Jpem9udGFsLXNjYWxlIixlPT5gc2NhbGVYKCR7TWF0aC5tYXgoMCxNYXRoLm1pbihwYXJzZUludChlKS8xMDApKS50b0ZpeGVkKDIpfSlgXSxbInhmYS1mb250LXZlcnRpY2FsLXNjYWxlIixlPT5gc2NhbGVZKCR7TWF0aC5tYXgoMCxNYXRoLm1pbihwYXJzZUludChlKS8xMDApKS50b0ZpeGVkKDIpfSlgXSxbInhmYS1zcGFjZXJ1biIsIiJdLFsieGZhLXRhYi1zdG9wcyIsIiJdLFsiZm9udC1zaXplIiwoZSx0KT0+bWVhc3VyZVRvU3RyaW5nKC45OSooZT10LmZvbnRTaXplPWdldE1lYXN1cmVtZW50KGUpKSldLFsibGV0dGVyLXNwYWNpbmciLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibGluZS1oZWlnaHQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1ib3R0b20iLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLWxlZnQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLXJpZ2h0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi10b3AiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsidGV4dC1pbmRlbnQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsiZm9udC1mYW1pbHkiLGU9PmVdLFsidmVydGljYWwtYWxpZ24iLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldXSksYWc9L1xzKy9nLHNnPS9bXHJcbl0rL2cscmc9L1xyXG4/L2c7ZnVuY3Rpb24gbWFwU3R5bGUoZSx0LGkpe2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtpZighZSlyZXR1cm4gYTtjb25zdCBzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W3QsaV1vZiBlLnNwbGl0KCI7IikubWFwKChlPT5lLnNwbGl0KCI6IiwyKSkpKXtjb25zdCBlPWlnLmdldCh0KTtpZigiIj09PWUpY29udGludWU7bGV0IHI9aTtlJiYocj0ic3RyaW5nIj09dHlwZW9mIGU/ZTplKGkscykpO3QuZW5kc1dpdGgoInNjYWxlIik/YS50cmFuc2Zvcm09YS50cmFuc2Zvcm0/YCR7YVt0XX0gJHtyfWA6cjphW3QucmVwbGFjZUFsbCgvLShbYS16QS1aXSkvZywoKGUsdCk9PnQudG9VcHBlckNhc2UoKSkpXT1yfWEuZm9udEZhbWlseSYmc2V0Rm9udEZhbWlseSh7dHlwZWZhY2U6YS5mb250RmFtaWx5LHdlaWdodDphLmZvbnRXZWlnaHR8fCJub3JtYWwiLHBvc3R1cmU6YS5mb250U3R5bGV8fCJub3JtYWwiLHNpemU6cy5mb250U2l6ZXx8MH0sdCx0W0ZyXS5mb250RmluZGVyLGEpO2lmKGkmJmEudmVydGljYWxBbGlnbiYmIjBweCIhPT1hLnZlcnRpY2FsQWxpZ24mJmEuZm9udFNpemUpe2NvbnN0IGU9LjU4Myx0PS4zMzMsaT1nZXRNZWFzdXJlbWVudChhLmZvbnRTaXplKTthLmZvbnRTaXplPW1lYXN1cmVUb1N0cmluZyhpKmUpO2EudmVydGljYWxBbGlnbj1tZWFzdXJlVG9TdHJpbmcoTWF0aC5zaWduKGdldE1lYXN1cmVtZW50KGEudmVydGljYWxBbGlnbikpKmkqdCl9aSYmYS5mb250U2l6ZSYmKGEuZm9udFNpemU9YGNhbGMoJHthLmZvbnRTaXplfSAqIHZhcigtLXNjYWxlLWZhY3RvcikpYCk7Zml4VGV4dEluZGVudChhKTtyZXR1cm4gYX1jb25zdCBuZz1uZXcgU2V0KFsiYm9keSIsImh0bWwiXSk7Y2xhc3MgWGh0bWxPYmplY3QgZXh0ZW5kcyBYbWxPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihBZyx0KTt0aGlzW2VnXT0hMTt0aGlzLnN0eWxlPWUuc3R5bGV8fCIifVtBcl0oZSl7c3VwZXJbQXJdKGUpO3RoaXMuc3R5bGU9ZnVuY3Rpb24gY2hlY2tTdHlsZShlKXtyZXR1cm4gZS5zdHlsZT9lLnN0eWxlLnRyaW0oKS5zcGxpdCgvXHMqO1xzKi8pLmZpbHRlcigoZT0+ISFlKSkubWFwKChlPT5lLnNwbGl0KC9ccyo6XHMqLywyKSkpLmZpbHRlcigoKFt0LGldKT0+eyJmb250LWZhbWlseSI9PT10JiZlW0ZyXS51c2VkVHlwZWZhY2VzLmFkZChpKTtyZXR1cm4gdGcuaGFzKHQpfSkpLm1hcCgoZT0+ZS5qb2luKCI6IikpKS5qb2luKCI7Iik6IiJ9KHRoaXMpfVtWc10oKXtyZXR1cm4hbmcuaGFzKHRoaXNbcXJdKX1banJdKGUsdD0hMSl7aWYodCl0aGlzW2VnXT0hMDtlbHNle2U9ZS5yZXBsYWNlQWxsKHNnLCIiKTt0aGlzLnN0eWxlLmluY2x1ZGVzKCJ4ZmEtc3BhY2VydW46eWVzIil8fChlPWUucmVwbGFjZUFsbChhZywiICIpKX1lJiYodGhpc1tzcl0rPWUpfVtYcl0oZSx0PSEwKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT17dG9wOk5hTixib3R0b206TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTn07bGV0IHM9bnVsbDtmb3IoY29uc3RbZSx0XW9mIHRoaXMuc3R5bGUuc3BsaXQoIjsiKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpc3dpdGNoKGUpe2Nhc2UiZm9udC1mYW1pbHkiOmkudHlwZWZhY2U9c3RyaXBRdW90ZXModCk7YnJlYWs7Y2FzZSJmb250LXNpemUiOmkuc2l6ZT1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlImZvbnQtd2VpZ2h0IjppLndlaWdodD10O2JyZWFrO2Nhc2UiZm9udC1zdHlsZSI6aS5wb3N0dXJlPXQ7YnJlYWs7Y2FzZSJsZXR0ZXItc3BhY2luZyI6aS5sZXR0ZXJTcGFjaW5nPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luIjpjb25zdCBlPXQuc3BsaXQoLyBcdC8pLm1hcCgoZT0+Z2V0TWVhc3VyZW1lbnQoZSkpKTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMTphLnRvcD1hLmJvdHRvbT1hLmxlZnQ9YS5yaWdodD1lWzBdO2JyZWFrO2Nhc2UgMjphLnRvcD1hLmJvdHRvbT1lWzBdO2EubGVmdD1hLnJpZ2h0PWVbMV07YnJlYWs7Y2FzZSAzOmEudG9wPWVbMF07YS5ib3R0b209ZVsyXTthLmxlZnQ9YS5yaWdodD1lWzFdO2JyZWFrO2Nhc2UgNDphLnRvcD1lWzBdO2EubGVmdD1lWzFdO2EuYm90dG9tPWVbMl07YS5yaWdodD1lWzNdfWJyZWFrO2Nhc2UibWFyZ2luLXRvcCI6YS50b3A9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4tYm90dG9tIjphLmJvdHRvbT1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1sZWZ0IjphLmxlZnQ9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4tcmlnaHQiOmEucmlnaHQ9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJsaW5lLWhlaWdodCI6cz1nZXRNZWFzdXJlbWVudCh0KX1lLnB1c2hEYXRhKGksYSxzKTtpZih0aGlzW3NyXSllLmFkZFN0cmluZyh0aGlzW3NyXSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3ByXSgpKSIjdGV4dCIhPT10W3FyXT90W1hyXShlKTplLmFkZFN0cmluZyh0W3NyXSk7dCYmZS5wb3BGb250KCl9W2duXShlKXtjb25zdCB0PVtdO3RoaXNbZ3JdPXtjaGlsZHJlbjp0fTt0aGlzWyRzXSh7fSk7aWYoMD09PXQubGVuZ3RoJiYhdGhpc1tzcl0pcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7bGV0IGk7aT10aGlzW2VnXT90aGlzW3NyXT90aGlzW3NyXS5yZXBsYWNlQWxsKHJnLCJcbiIpOnZvaWQgMDp0aGlzW3NyXXx8dm9pZCAwO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6dGhpc1txcl0sYXR0cmlidXRlczp7aHJlZjp0aGlzLmhyZWYsc3R5bGU6bWFwU3R5bGUodGhpcy5zdHlsZSx0aGlzLHRoaXNbZWddKX0sY2hpbGRyZW46dCx2YWx1ZTppfSl9fWNsYXNzIEEgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJhIik7dGhpcy5ocmVmPWZpeFVSTChlLmhyZWYpfHwiIn19Y2xhc3MgQiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImIiKX1bWHJdKGUpe2UucHVzaEZvbnQoe3dlaWdodDoiYm9sZCJ9KTtzdXBlcltYcl0oZSk7ZS5wb3BGb250KCl9fWNsYXNzIEJvZHkgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJib2R5Iil9W2duXShlKXtjb25zdCB0PXN1cGVyW2duXShlKSx7aHRtbDppfT10O2lmKCFpKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2kubmFtZT0iZGl2IjtpLmF0dHJpYnV0ZXMuY2xhc3M9WyJ4ZmFSaWNoIl07cmV0dXJuIHR9fWNsYXNzIEJyIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYnIiKX1bcm5dKCl7cmV0dXJuIlxuIn1bWHJdKGUpe2UuYWRkU3RyaW5nKCJcbiIpfVtnbl0oZSl7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiYnIifSl9fWNsYXNzIEh0bWwgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJodG1sIil9W2duXShlKXtjb25zdCB0PVtdO3RoaXNbZ3JdPXtjaGlsZHJlbjp0fTt0aGlzWyRzXSh7fSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6e319LHZhbHVlOnRoaXNbc3JdfHwiIn0pO2lmKDE9PT10Lmxlbmd0aCl7Y29uc3QgZT10WzBdO2lmKGUuYXR0cmlidXRlcz8uY2xhc3MuaW5jbHVkZXMoInhmYVJpY2giKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6e319LGNoaWxkcmVuOnR9KX19Y2xhc3MgSSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImkiKX1bWHJdKGUpe2UucHVzaEZvbnQoe3Bvc3R1cmU6Iml0YWxpYyJ9KTtzdXBlcltYcl0oZSk7ZS5wb3BGb250KCl9fWNsYXNzIExpIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwibGkiKX19Y2xhc3MgT2wgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJvbCIpfX1jbGFzcyBQIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwicCIpfVtYcl0oZSl7c3VwZXJbWHJdKGUsITEpO2UuYWRkU3RyaW5nKCJcbiIpO2UuYWRkUGFyYSgpO2UucG9wRm9udCgpfVtybl0oKXtyZXR1cm4gdGhpc1tEcl0oKVtwcl0oKS5hdCgtMSk9PT10aGlzP3N1cGVyW3JuXSgpOnN1cGVyW3JuXSgpKyJcbiJ9fWNsYXNzIFNwYW4gZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJzcGFuIil9fWNsYXNzIFN1YiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInN1YiIpfX1jbGFzcyBTdXAgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJzdXAiKX19Y2xhc3MgVWwgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJ1bCIpfX1jbGFzcyBYaHRtbE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoWGh0bWxOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFhodG1sTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBhKGUpe3JldHVybiBuZXcgQShlKX1zdGF0aWMgYihlKXtyZXR1cm4gbmV3IEIoZSl9c3RhdGljIGJvZHkoZSl7cmV0dXJuIG5ldyBCb2R5KGUpfXN0YXRpYyBicihlKXtyZXR1cm4gbmV3IEJyKGUpfXN0YXRpYyBodG1sKGUpe3JldHVybiBuZXcgSHRtbChlKX1zdGF0aWMgaShlKXtyZXR1cm4gbmV3IEkoZSl9c3RhdGljIGxpKGUpe3JldHVybiBuZXcgTGkoZSl9c3RhdGljIG9sKGUpe3JldHVybiBuZXcgT2woZSl9c3RhdGljIHAoZSl7cmV0dXJuIG5ldyBQKGUpfXN0YXRpYyBzcGFuKGUpe3JldHVybiBuZXcgU3BhbihlKX1zdGF0aWMgc3ViKGUpe3JldHVybiBuZXcgU3ViKGUpfXN0YXRpYyBzdXAoZSl7cmV0dXJuIG5ldyBTdXAoZSl9c3RhdGljIHVsKGUpe3JldHVybiBuZXcgVWwoZSl9fWNvbnN0IGdnPXtjb25maWc6Q29uZmlnTmFtZXNwYWNlLGNvbm5lY3Rpb246Q29ubmVjdGlvblNldE5hbWVzcGFjZSxkYXRhc2V0czpEYXRhc2V0c05hbWVzcGFjZSxsb2NhbGVTZXQ6TG9jYWxlU2V0TmFtZXNwYWNlLHNpZ25hdHVyZTpTaWduYXR1cmVOYW1lc3BhY2Usc3R5bGVzaGVldDpTdHlsZXNoZWV0TmFtZXNwYWNlLHRlbXBsYXRlOlRlbXBsYXRlTmFtZXNwYWNlLHhkcDpYZHBOYW1lc3BhY2UseGh0bWw6WGh0bWxOYW1lc3BhY2V9O2NsYXNzIFVua25vd25OYW1lc3BhY2V7Y29uc3RydWN0b3IoZSl7dGhpcy5uYW1lc3BhY2VJZD1lfVtDbl0oZSx0KXtyZXR1cm4gbmV3IFhtbE9iamVjdCh0aGlzLm5hbWVzcGFjZUlkLGUsdCl9fWNsYXNzIFJvb3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoLTEsInJvb3QiLE9iamVjdC5jcmVhdGUobnVsbCkpO3RoaXMuZWxlbWVudD1udWxsO3RoaXNba3JdPWV9W1ByXShlKXt0aGlzLmVsZW1lbnQ9ZTtyZXR1cm4hMH1bb3JdKCl7c3VwZXJbb3JdKCk7aWYodGhpcy5lbGVtZW50LnRlbXBsYXRlIGluc3RhbmNlb2YgVGVtcGxhdGUpe3RoaXNba3JdLnNldChfcix0aGlzLmVsZW1lbnQpO3RoaXMuZWxlbWVudC50ZW1wbGF0ZVskcl0odGhpc1trcl0pO3RoaXMuZWxlbWVudC50ZW1wbGF0ZVtrcl09dGhpc1trcl19fX1jbGFzcyBFbXB0eSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC0xLCIiLE9iamVjdC5jcmVhdGUobnVsbCkpfVtQcl0oZSl7cmV0dXJuITF9fWNsYXNzIEJ1aWxkZXJ7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9uYW1lc3BhY2VTdGFjaz1bXTt0aGlzLl9uc0Fnbm9zdGljTGV2ZWw9MDt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcz1uZXcgTWFwO3RoaXMuX25hbWVzcGFjZXM9bmV3IE1hcDt0aGlzLl9uZXh0TnNJZD1NYXRoLm1heCguLi5PYmplY3QudmFsdWVzKGhuKS5tYXAoKCh7aWQ6ZX0pPT5lKSkpO3RoaXMuX2N1cnJlbnROYW1lc3BhY2U9ZXx8bmV3IFVua25vd25OYW1lc3BhY2UoKyt0aGlzLl9uZXh0TnNJZCl9YnVpbGRSb290KGUpe3JldHVybiBuZXcgUm9vdChlKX1idWlsZCh7bnNQcmVmaXg6ZSxuYW1lOnQsYXR0cmlidXRlczppLG5hbWVzcGFjZTphLHByZWZpeGVzOnN9KXtjb25zdCByPW51bGwhPT1hO2lmKHIpe3RoaXMuX25hbWVzcGFjZVN0YWNrLnB1c2godGhpcy5fY3VycmVudE5hbWVzcGFjZSk7dGhpcy5fY3VycmVudE5hbWVzcGFjZT10aGlzLl9zZWFyY2hOYW1lc3BhY2UoYSl9cyYmdGhpcy5fYWRkTmFtZXNwYWNlUHJlZml4KHMpO2lmKGkuaGFzT3duUHJvcGVydHkoT3IpKXtjb25zdCBlPWdnLmRhdGFzZXRzLHQ9aVtPcl07bGV0IGE9bnVsbDtmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZih0aGlzLl9nZXROYW1lc3BhY2VUb1VzZShpKT09PWUpe2E9e3hmYTpzfTticmVha319YT9pW09yXT1hOmRlbGV0ZSBpW09yXX1jb25zdCBuPXRoaXMuX2dldE5hbWVzcGFjZVRvVXNlKGUpLGc9bj8uW0NuXSh0LGkpfHxuZXcgRW1wdHk7Z1tMcl0oKSYmdGhpcy5fbnNBZ25vc3RpY0xldmVsKys7KHJ8fHN8fGdbTHJdKCkpJiYoZ1t0cl09e2hhc05hbWVzcGFjZTpyLHByZWZpeGVzOnMsbnNBZ25vc3RpYzpnW0xyXSgpfSk7cmV0dXJuIGd9aXNOc0Fnbm9zdGljKCl7cmV0dXJuIHRoaXMuX25zQWdub3N0aWNMZXZlbD4wfV9zZWFyY2hOYW1lc3BhY2UoZSl7bGV0IHQ9dGhpcy5fbmFtZXNwYWNlcy5nZXQoZSk7aWYodClyZXR1cm4gdDtmb3IoY29uc3RbaSx7Y2hlY2s6YX1db2YgT2JqZWN0LmVudHJpZXMoaG4pKWlmKGEoZSkpe3Q9Z2dbaV07aWYodCl7dGhpcy5fbmFtZXNwYWNlcy5zZXQoZSx0KTtyZXR1cm4gdH1icmVha310PW5ldyBVbmtub3duTmFtZXNwYWNlKCsrdGhpcy5fbmV4dE5zSWQpO3RoaXMuX25hbWVzcGFjZXMuc2V0KGUsdCk7cmV0dXJuIHR9X2FkZE5hbWVzcGFjZVByZWZpeChlKXtmb3IoY29uc3R7cHJlZml4OnQsdmFsdWU6aX1vZiBlKXtjb25zdCBlPXRoaXMuX3NlYXJjaE5hbWVzcGFjZShpKTtsZXQgYT10aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQodCk7aWYoIWEpe2E9W107dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXMuc2V0KHQsYSl9YS5wdXNoKGUpfX1fZ2V0TmFtZXNwYWNlVG9Vc2UoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX2N1cnJlbnROYW1lc3BhY2U7Y29uc3QgdD10aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQoZSk7aWYodD8ubGVuZ3RoPjApcmV0dXJuIHQuYXQoLTEpO3dhcm4oYFVua25vd24gbmFtZXNwYWNlIHByZWZpeDogJHtlfS5gKTtyZXR1cm4gbnVsbH1jbGVhbihlKXtjb25zdHtoYXNOYW1lc3BhY2U6dCxwcmVmaXhlczppLG5zQWdub3N0aWM6YX09ZTt0JiYodGhpcy5fY3VycmVudE5hbWVzcGFjZT10aGlzLl9uYW1lc3BhY2VTdGFjay5wb3AoKSk7aSYmaS5mb3JFYWNoKCgoe3ByZWZpeDplfSk9Pnt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQoZSkucG9wKCl9KSk7YSYmdGhpcy5fbnNBZ25vc3RpY0xldmVsLS19fWNsYXNzIFhGQVBhcnNlciBleHRlbmRzIFhNTFBhcnNlckJhc2V7Y29uc3RydWN0b3IoZT1udWxsLHQ9ITEpe3N1cGVyKCk7dGhpcy5fYnVpbGRlcj1uZXcgQnVpbGRlcihlKTt0aGlzLl9zdGFjaz1bXTt0aGlzLl9nbG9iYWxEYXRhPXt1c2VkVHlwZWZhY2VzOm5ldyBTZXR9O3RoaXMuX2lkcz1uZXcgTWFwO3RoaXMuX2N1cnJlbnQ9dGhpcy5fYnVpbGRlci5idWlsZFJvb3QodGhpcy5faWRzKTt0aGlzLl9lcnJvckNvZGU9VXM7dGhpcy5fd2hpdGVSZWdleD0vXlxzKyQvO3RoaXMuX25ic3BzPS9ceGEwKy9nO3RoaXMuX3JpY2hUZXh0PXR9cGFyc2UoZSl7dGhpcy5wYXJzZVhtbChlKTtpZih0aGlzLl9lcnJvckNvZGU9PT1Vcyl7dGhpcy5fY3VycmVudFtvcl0oKTtyZXR1cm4gdGhpcy5fY3VycmVudC5lbGVtZW50fX1vblRleHQoZSl7ZT1lLnJlcGxhY2UodGhpcy5fbmJzcHMsKGU9PmUuc2xpY2UoMSkrIiAiKSk7dGhpcy5fcmljaFRleHR8fHRoaXMuX2N1cnJlbnRbVnNdKCk/dGhpcy5fY3VycmVudFtqcl0oZSx0aGlzLl9yaWNoVGV4dCk6dGhpcy5fd2hpdGVSZWdleC50ZXN0KGUpfHx0aGlzLl9jdXJyZW50W2pyXShlLnRyaW0oKSl9b25DZGF0YShlKXt0aGlzLl9jdXJyZW50W2pyXShlKX1fbWtBdHRyaWJ1dGVzKGUsdCl7bGV0IGk9bnVsbCxhPW51bGw7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKHt9KTtmb3IoY29uc3R7bmFtZTpyLHZhbHVlOm59b2YgZSlpZigieG1sbnMiPT09cilpP3dhcm4oYFhGQSAtIG11bHRpcGxlIG5hbWVzcGFjZSBkZWZpbml0aW9uIGluIDwke3R9PmApOmk9bjtlbHNlIGlmKHIuc3RhcnRzV2l0aCgieG1sbnM6Iikpe2NvbnN0IGU9ci5zdWJzdHJpbmcoNik7YXx8KGE9W10pO2EucHVzaCh7cHJlZml4OmUsdmFsdWU6bn0pfWVsc2V7Y29uc3QgZT1yLmluZGV4T2YoIjoiKTtpZigtMT09PWUpc1tyXT1uO2Vsc2V7bGV0IHQ9c1tPcl07dHx8KHQ9c1tPcl09T2JqZWN0LmNyZWF0ZShudWxsKSk7Y29uc3RbaSxhXT1bci5zbGljZSgwLGUpLHIuc2xpY2UoZSsxKV07KHRbaV18fD1PYmplY3QuY3JlYXRlKG51bGwpKVthXT1ufX1yZXR1cm5baSxhLHNdfV9nZXROYW1lQW5kUHJlZml4KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PWk/W2UsbnVsbF06W2Uuc3Vic3RyaW5nKGkrMSksdD8iIjplLnN1YnN0cmluZygwLGkpXX1vbkJlZ2luRWxlbWVudChlLHQsaSl7Y29uc3RbYSxzLHJdPXRoaXMuX21rQXR0cmlidXRlcyh0LGUpLFtuLGddPXRoaXMuX2dldE5hbWVBbmRQcmVmaXgoZSx0aGlzLl9idWlsZGVyLmlzTnNBZ25vc3RpYygpKSxvPXRoaXMuX2J1aWxkZXIuYnVpbGQoe25zUHJlZml4OmcsbmFtZTpuLGF0dHJpYnV0ZXM6cixuYW1lc3BhY2U6YSxwcmVmaXhlczpzfSk7b1tGcl09dGhpcy5fZ2xvYmFsRGF0YTtpZihpKXtvW29yXSgpO3RoaXMuX2N1cnJlbnRbUHJdKG8pJiZvW2VuXSh0aGlzLl9pZHMpO29bQXJdKHRoaXMuX2J1aWxkZXIpfWVsc2V7dGhpcy5fc3RhY2sucHVzaCh0aGlzLl9jdXJyZW50KTt0aGlzLl9jdXJyZW50PW99fW9uRW5kRWxlbWVudChlKXtjb25zdCB0PXRoaXMuX2N1cnJlbnQ7aWYodFtHcl0oKSYmInN0cmluZyI9PXR5cGVvZiB0W3NyXSl7Y29uc3QgZT1uZXcgWEZBUGFyc2VyO2UuX2dsb2JhbERhdGE9dGhpcy5fZ2xvYmFsRGF0YTtjb25zdCBpPWUucGFyc2UodFtzcl0pO3Rbc3JdPW51bGw7dFtQcl0oaSl9dFtvcl0oKTt0aGlzLl9jdXJyZW50PXRoaXMuX3N0YWNrLnBvcCgpO3RoaXMuX2N1cnJlbnRbUHJdKHQpJiZ0W2VuXSh0aGlzLl9pZHMpO3RbQXJdKHRoaXMuX2J1aWxkZXIpfW9uRXJyb3IoZSl7dGhpcy5fZXJyb3JDb2RlPWV9fWNsYXNzIFhGQUZhY3Rvcnl7Y29uc3RydWN0b3IoZSl7dHJ5e3RoaXMucm9vdD0obmV3IFhGQVBhcnNlcikucGFyc2UoWEZBRmFjdG9yeS5fY3JlYXRlRG9jdW1lbnQoZSkpO2NvbnN0IHQ9bmV3IEJpbmRlcih0aGlzLnJvb3QpO3RoaXMuZm9ybT10LmJpbmQoKTt0aGlzLmRhdGFIYW5kbGVyPW5ldyBEYXRhSGFuZGxlcih0aGlzLnJvb3QsdC5nZXREYXRhKCkpO3RoaXMuZm9ybVtGcl0udGVtcGxhdGU9dGhpcy5mb3JtfWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBwYXJzaW5nIGFuZCBiaW5kaW5nOiAke2V9YCl9fWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5yb290JiZ0aGlzLmZvcm19X2NyZWF0ZVBhZ2VzSGVscGVyKCl7Y29uc3QgZT10aGlzLmZvcm1bbm5dKCk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxpKT0+e2NvbnN0IG5leHRJdGVyYXRpb249KCk9Pnt0cnl7Y29uc3QgaT1lLm5leHQoKTtpLmRvbmU/dChpLnZhbHVlKTpzZXRUaW1lb3V0KG5leHRJdGVyYXRpb24sMCl9Y2F0Y2goZSl7aShlKX19O3NldFRpbWVvdXQobmV4dEl0ZXJhdGlvbiwwKX0pKX1hc3luYyBfY3JlYXRlUGFnZXMoKXt0cnl7dGhpcy5wYWdlcz1hd2FpdCB0aGlzLl9jcmVhdGVQYWdlc0hlbHBlcigpO3RoaXMuZGltcz10aGlzLnBhZ2VzLmNoaWxkcmVuLm1hcCgoZT0+e2NvbnN0e3dpZHRoOnQsaGVpZ2h0Oml9PWUuYXR0cmlidXRlcy5zdHlsZTtyZXR1cm5bMCwwLHBhcnNlSW50KHQpLHBhcnNlSW50KGkpXX0pKX1jYXRjaChlKXt3YXJuKGBYRkEgLSBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbGF5b3V0OiAke2V9YCl9fWdldEJvdW5kaW5nQm94KGUpe3JldHVybiB0aGlzLmRpbXNbZV19YXN5bmMgZ2V0TnVtUGFnZXMoKXt0aGlzLnBhZ2VzfHxhd2FpdCB0aGlzLl9jcmVhdGVQYWdlcygpO3JldHVybiB0aGlzLmRpbXMubGVuZ3RofXNldEltYWdlcyhlKXt0aGlzLmZvcm1bRnJdLmltYWdlcz1lfXNldEZvbnRzKGUpe3RoaXMuZm9ybVtGcl0uZm9udEZpbmRlcj1uZXcgRm9udEZpbmRlcihlKTtjb25zdCB0PVtdO2ZvcihsZXQgZSBvZiB0aGlzLmZvcm1bRnJdLnVzZWRUeXBlZmFjZXMpe2U9c3RyaXBRdW90ZXMoZSk7dGhpcy5mb3JtW0ZyXS5mb250RmluZGVyLmZpbmQoZSl8fHQucHVzaChlKX1yZXR1cm4gdC5sZW5ndGg+MD90Om51bGx9YXBwZW5kRm9udHMoZSx0KXt0aGlzLmZvcm1bRnJdLmZvbnRGaW5kZXIuYWRkKGUsdCl9YXN5bmMgZ2V0UGFnZXMoKXt0aGlzLnBhZ2VzfHxhd2FpdCB0aGlzLl9jcmVhdGVQYWdlcygpO2NvbnN0IGU9dGhpcy5wYWdlczt0aGlzLnBhZ2VzPW51bGw7cmV0dXJuIGV9c2VyaWFsaXplRGF0YShlKXtyZXR1cm4gdGhpcy5kYXRhSGFuZGxlci5zZXJpYWxpemUoZSl9c3RhdGljIF9jcmVhdGVEb2N1bWVudChlKXtyZXR1cm4gZVsiL3hkcDp4ZHAiXT9PYmplY3QudmFsdWVzKGUpLmpvaW4oIiIpOmVbInhkcDp4ZHAiXX1zdGF0aWMgZ2V0UmljaFRleHRBc0h0bWwoZSl7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDt0cnl7bGV0IHQ9bmV3IFhGQVBhcnNlcihYaHRtbE5hbWVzcGFjZSwhMCkucGFyc2UoZSk7aWYoIVsiYm9keSIsInhodG1sIl0uaW5jbHVkZXModFtxcl0pKXtjb25zdCBlPVhodG1sTmFtZXNwYWNlLmJvZHkoe30pO2VbX3NdKHQpO3Q9ZX1jb25zdCBpPXRbZ25dKCk7aWYoIWkuc3VjY2VzcylyZXR1cm4gbnVsbDtjb25zdHtodG1sOmF9PWkse2F0dHJpYnV0ZXM6c309YTtpZihzKXtzLmNsYXNzJiYocy5jbGFzcz1zLmNsYXNzLmZpbHRlcigoZT0+IWUuc3RhcnRzV2l0aCgieGZhIikpKSk7cy5kaXI9ImF1dG8ifXJldHVybntodG1sOmEsc3RyOnRbcm5dKCl9fWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBwYXJzaW5nIG9mIHJpY2ggdGV4dDogJHtlfWApfXJldHVybiBudWxsfX1jbGFzcyBBbm5vdGF0aW9uRmFjdG9yeXtzdGF0aWMgY3JlYXRlR2xvYmFscyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2UuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm0iKSxlLmVuc3VyZURvYygieGZhRGF0YXNldHMiKSxlLmVuc3VyZUNhdGFsb2coInN0cnVjdFRyZWVSb290IiksZS5lbnN1cmVDYXRhbG9nKCJiYXNlVXJsIiksZS5lbnN1cmVDYXRhbG9nKCJhdHRhY2htZW50cyIpXSkudGhlbigoKFt0LGksYSxzLHJdKT0+KHtwZGZNYW5hZ2VyOmUsYWNyb0Zvcm06dCBpbnN0YW5jZW9mIERpY3Q/dDpEaWN0LmVtcHR5LHhmYURhdGFzZXRzOmksc3RydWN0VHJlZVJvb3Q6YSxiYXNlVXJsOnMsYXR0YWNobWVudHM6cn0pKSwoZT0+e3dhcm4oYGNyZWF0ZUdsb2JhbHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKX1zdGF0aWMgYXN5bmMgY3JlYXRlKGUsdCxpLGEscyxyKXtjb25zdCBuPXM/YXdhaXQgdGhpcy5fZ2V0UGFnZUluZGV4KGUsdCxpLnBkZk1hbmFnZXIpOm51bGw7cmV0dXJuIGkucGRmTWFuYWdlci5lbnN1cmUodGhpcywiX2NyZWF0ZSIsW2UsdCxpLGEscyxuLHJdKX1zdGF0aWMgX2NyZWF0ZShlLHQsaSxhLHM9ITEscj1udWxsLG49bnVsbCl7Y29uc3QgZz1lLmZldGNoSWZSZWYodCk7aWYoIShnIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0e2Fjcm9Gb3JtOm8scGRmTWFuYWdlcjpjfT1pLEM9dCBpbnN0YW5jZW9mIFJlZj90LnRvU3RyaW5nKCk6YGFubm90XyR7YS5jcmVhdGVPYmpJZCgpfWA7bGV0IGg9Zy5nZXQoIlN1YnR5cGUiKTtoPWggaW5zdGFuY2VvZiBOYW1lP2gubmFtZTpudWxsO2NvbnN0IGw9e3hyZWY6ZSxyZWY6dCxkaWN0Omcsc3VidHlwZTpoLGlkOkMsYW5ub3RhdGlvbkdsb2JhbHM6aSxjb2xsZWN0RmllbGRzOnMsbmVlZEFwcGVhcmFuY2VzOiFzJiYhMD09PW8uZ2V0KCJOZWVkQXBwZWFyYW5jZXMiKSxwYWdlSW5kZXg6cixldmFsdWF0b3JPcHRpb25zOmMuZXZhbHVhdG9yT3B0aW9ucyxwYWdlUmVmOm59O3N3aXRjaChoKXtjYXNlIkxpbmsiOnJldHVybiBuZXcgTGlua0Fubm90YXRpb24obCk7Y2FzZSJUZXh0IjpyZXR1cm4gbmV3IFRleHRBbm5vdGF0aW9uKGwpO2Nhc2UiV2lkZ2V0IjpsZXQgZT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0Omcsa2V5OiJGVCJ9KTtlPWUgaW5zdGFuY2VvZiBOYW1lP2UubmFtZTpudWxsO3N3aXRjaChlKXtjYXNlIlR4IjpyZXR1cm4gbmV3IFRleHRXaWRnZXRBbm5vdGF0aW9uKGwpO2Nhc2UiQnRuIjpyZXR1cm4gbmV3IEJ1dHRvbldpZGdldEFubm90YXRpb24obCk7Y2FzZSJDaCI6cmV0dXJuIG5ldyBDaG9pY2VXaWRnZXRBbm5vdGF0aW9uKGwpO2Nhc2UiU2lnIjpyZXR1cm4gbmV3IFNpZ25hdHVyZVdpZGdldEFubm90YXRpb24obCl9d2FybihgVW5pbXBsZW1lbnRlZCB3aWRnZXQgZmllbGQgdHlwZSAiJHtlfSIsIGZhbGxpbmcgYmFjayB0byBiYXNlIGZpZWxkIHR5cGUuYCk7cmV0dXJuIG5ldyBXaWRnZXRBbm5vdGF0aW9uKGwpO2Nhc2UiUG9wdXAiOnJldHVybiBuZXcgUG9wdXBBbm5vdGF0aW9uKGwpO2Nhc2UiRnJlZVRleHQiOnJldHVybiBuZXcgRnJlZVRleHRBbm5vdGF0aW9uKGwpO2Nhc2UiTGluZSI6cmV0dXJuIG5ldyBMaW5lQW5ub3RhdGlvbihsKTtjYXNlIlNxdWFyZSI6cmV0dXJuIG5ldyBTcXVhcmVBbm5vdGF0aW9uKGwpO2Nhc2UiQ2lyY2xlIjpyZXR1cm4gbmV3IENpcmNsZUFubm90YXRpb24obCk7Y2FzZSJQb2x5TGluZSI6cmV0dXJuIG5ldyBQb2x5bGluZUFubm90YXRpb24obCk7Y2FzZSJQb2x5Z29uIjpyZXR1cm4gbmV3IFBvbHlnb25Bbm5vdGF0aW9uKGwpO2Nhc2UiQ2FyZXQiOnJldHVybiBuZXcgQ2FyZXRBbm5vdGF0aW9uKGwpO2Nhc2UiSW5rIjpyZXR1cm4gbmV3IElua0Fubm90YXRpb24obCk7Y2FzZSJIaWdobGlnaHQiOnJldHVybiBuZXcgSGlnaGxpZ2h0QW5ub3RhdGlvbihsKTtjYXNlIlVuZGVybGluZSI6cmV0dXJuIG5ldyBVbmRlcmxpbmVBbm5vdGF0aW9uKGwpO2Nhc2UiU3F1aWdnbHkiOnJldHVybiBuZXcgU3F1aWdnbHlBbm5vdGF0aW9uKGwpO2Nhc2UiU3RyaWtlT3V0IjpyZXR1cm4gbmV3IFN0cmlrZU91dEFubm90YXRpb24obCk7Y2FzZSJTdGFtcCI6cmV0dXJuIG5ldyBTdGFtcEFubm90YXRpb24obCk7Y2FzZSJGaWxlQXR0YWNobWVudCI6cmV0dXJuIG5ldyBGaWxlQXR0YWNobWVudEFubm90YXRpb24obCk7ZGVmYXVsdDpzfHx3YXJuKGg/YFVuaW1wbGVtZW50ZWQgYW5ub3RhdGlvbiB0eXBlICIke2h9IiwgZmFsbGluZyBiYWNrIHRvIGJhc2UgYW5ub3RhdGlvbi5gOiJBbm5vdGF0aW9uIGlzIG1pc3NpbmcgdGhlIHJlcXVpcmVkIC9TdWJ0eXBlLiIpO3JldHVybiBuZXcgQW5ub3RhdGlvbihsKX19c3RhdGljIGFzeW5jIF9nZXRQYWdlSW5kZXgoZSx0LGkpe3RyeXtjb25zdCBhPWF3YWl0IGUuZmV0Y2hJZlJlZkFzeW5jKHQpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybi0xO2NvbnN0IHM9YS5nZXRSYXcoIlAiKTtpZihzIGluc3RhbmNlb2YgUmVmKXRyeXtyZXR1cm4gYXdhaXQgaS5lbnN1cmVDYXRhbG9nKCJnZXRQYWdlSW5kZXgiLFtzXSl9Y2F0Y2goZSl7aW5mbyhgX2dldFBhZ2VJbmRleCAtLSBub3QgYSB2YWxpZCBwYWdlIHJlZmVyZW5jZTogIiR7ZX0iLmApfWlmKGEuaGFzKCJLaWRzIikpcmV0dXJuLTE7Y29uc3Qgcj1hd2FpdCBpLmVuc3VyZURvYygibnVtUGFnZXMiKTtmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCBhPWF3YWl0IGkuZ2V0UGFnZShlKSxzPWF3YWl0IGkuZW5zdXJlKGEsImFubm90YXRpb25zIik7Zm9yKGNvbnN0IGkgb2YgcylpZihpIGluc3RhbmNlb2YgUmVmJiZpc1JlZnNFcXVhbChpLHQpKXJldHVybiBlfX1jYXRjaChlKXt3YXJuKGBfZ2V0UGFnZUluZGV4OiAiJHtlfSIuYCl9cmV0dXJuLTF9c3RhdGljIGdlbmVyYXRlSW1hZ2VzKGUsdCxpKXtpZighaSl7d2FybigiZ2VuZXJhdGVJbWFnZXM6IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBjYW5ub3Qgc2F2ZSBvciBwcmludCBzb21lIGFubm90YXRpb25zIHdpdGggaW1hZ2VzLiIpO3JldHVybiBudWxsfWxldCBhO2Zvcihjb25zdHtiaXRtYXBJZDppLGJpdG1hcDpzfW9mIGUpaWYocyl7YXx8PW5ldyBNYXA7YS5zZXQoaSxTdGFtcEFubm90YXRpb24uY3JlYXRlSW1hZ2Uocyx0KSl9cmV0dXJuIGF9c3RhdGljIGFzeW5jIHNhdmVOZXdBbm5vdGF0aW9ucyhlLHQsaSxhKXtjb25zdCBzPWUueHJlZjtsZXQgcjtjb25zdCBuPVtdLGc9W10se2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOm99PWUub3B0aW9ucztmb3IoY29uc3QgYyBvZiBpKWlmKCFjLmRlbGV0ZWQpc3dpdGNoKGMuYW5ub3RhdGlvblR5cGUpe2Nhc2UgZDppZighcil7Y29uc3QgZT1uZXcgRGljdChzKTtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTEiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO2NvbnN0IHQ9W107cj1zLmdldE5ld1RlbXBvcmFyeVJlZigpO2F3YWl0IHdyaXRlT2JqZWN0KHIsZSx0LHMpO24ucHVzaCh7cmVmOnIsZGF0YTp0LmpvaW4oIiIpfSl9Zy5wdXNoKEZyZWVUZXh0QW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHMsYyxuLHtldmFsdWF0b3I6ZSx0YXNrOnQsYmFzZUZvbnRSZWY6cn0pKTticmVhaztjYXNlIGY6Yy5xdWFkUG9pbnRzP2cucHVzaChIaWdobGlnaHRBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4pKTpnLnB1c2goSW5rQW5ub3RhdGlvbi5jcmVhdGVOZXdBbm5vdGF0aW9uKHMsYyxuKSk7YnJlYWs7Y2FzZSBtOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4pKTticmVhaztjYXNlIHA6aWYoIW8pYnJlYWs7Y29uc3QgaT1hd2FpdCBhLmdldChjLmJpdG1hcElkKTtpZihpLmltYWdlU3RyZWFtKXtjb25zdHtpbWFnZVN0cmVhbTplLHNtYXNrU3RyZWFtOnR9PWksYT1bXTtpZih0KXtjb25zdCBpPXMuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7YXdhaXQgd3JpdGVPYmplY3QoaSx0LGEscyk7bi5wdXNoKHtyZWY6aSxkYXRhOmEuam9pbigiIil9KTtlLmRpY3Quc2V0KCJTTWFzayIsaSk7YS5sZW5ndGg9MH1jb25zdCByPWkuaW1hZ2VSZWY9cy5nZXROZXdUZW1wb3JhcnlSZWYoKTthd2FpdCB3cml0ZU9iamVjdChyLGUsYSxzKTtuLnB1c2goe3JlZjpyLGRhdGE6YS5qb2luKCIiKX0pO2kuaW1hZ2VTdHJlYW09aS5zbWFza1N0cmVhbT1udWxsfWcucHVzaChTdGFtcEFubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihzLGMsbix7aW1hZ2U6aX0pKX1yZXR1cm57YW5ub3RhdGlvbnM6YXdhaXQgUHJvbWlzZS5hbGwoZyksZGVwZW5kZW5jaWVzOm59fXN0YXRpYyBhc3luYyBwcmludE5ld0Fubm90YXRpb25zKGUsdCxpLGEscyl7aWYoIWEpcmV0dXJuIG51bGw7Y29uc3R7b3B0aW9uczpyLHhyZWY6bn09dCxnPVtdO2Zvcihjb25zdCBvIG9mIGEpaWYoIW8uZGVsZXRlZClzd2l0Y2goby5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBkOmcucHVzaChGcmVlVGV4dEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3I6dCx0YXNrOmksZXZhbHVhdG9yT3B0aW9uczpyfSkpO2JyZWFrO2Nhc2UgZjpvLnF1YWRQb2ludHM/Zy5wdXNoKEhpZ2hsaWdodEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3JPcHRpb25zOnJ9KSk6Zy5wdXNoKElua0Fubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3JPcHRpb25zOnJ9KSk7YnJlYWs7Y2FzZSBtOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7ZXZhbHVhdG9yT3B0aW9uczpyfSkpO2JyZWFrO2Nhc2UgcDppZighci5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZClicmVhaztjb25zdCBhPWF3YWl0IHMuZ2V0KG8uYml0bWFwSWQpO2lmKGEuaW1hZ2VTdHJlYW0pe2NvbnN0e2ltYWdlU3RyZWFtOmUsc21hc2tTdHJlYW06dH09YTt0JiZlLmRpY3Quc2V0KCJTTWFzayIsdCk7YS5pbWFnZVJlZj1uZXcgSnBlZ1N0cmVhbShlLGUubGVuZ3RoKTthLmltYWdlU3RyZWFtPWEuc21hc2tTdHJlYW09bnVsbH1nLnB1c2goU3RhbXBBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7aW1hZ2U6YSxldmFsdWF0b3JPcHRpb25zOnJ9KSl9cmV0dXJuIFByb21pc2UuYWxsKGcpfX1mdW5jdGlvbiBnZXRSZ2JDb2xvcihlLHQ9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gdDtjb25zdCBpPXR8fG5ldyBVaW50OENsYW1wZWRBcnJheSgzKTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbnVsbDtjYXNlIDE6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXkuZ2V0UmdiSXRlbShlLDAsaSwwKTtyZXR1cm4gaTtjYXNlIDM6Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2JJdGVtKGUsMCxpLDApO3JldHVybiBpO2Nhc2UgNDpDb2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2JJdGVtKGUsMCxpLDApO3JldHVybiBpO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGdldFBkZkNvbG9yQXJyYXkoZSl7cmV0dXJuIEFycmF5LmZyb20oZSwoZT0+ZS8yNTUpKX1mdW5jdGlvbiBnZXRRdWFkUG9pbnRzKGUsdCl7Y29uc3QgaT1lLmdldEFycmF5KCJRdWFkUG9pbnRzIik7aWYoIWlzTnVtYmVyQXJyYXkoaSxudWxsKXx8MD09PWkubGVuZ3RofHxpLmxlbmd0aCU4PjApcmV0dXJuIG51bGw7Y29uc3QgYT1uZXcgRmxvYXQzMkFycmF5KGkubGVuZ3RoKTtmb3IobGV0IGU9MCxzPWkubGVuZ3RoO2U8cztlKz04KXtjb25zdFtzLHIsbixnLG8sYyxDLGhdPWkuc2xpY2UoZSxlKzgpLGw9TWF0aC5taW4ocyxuLG8sQyksUT1NYXRoLm1heChzLG4sbyxDKSxFPU1hdGgubWluKHIsZyxjLGgpLHU9TWF0aC5tYXgocixnLGMsaCk7aWYobnVsbCE9PXQmJihsPHRbMF18fFE+dFsyXXx8RTx0WzFdfHx1PnRbM10pKXJldHVybiBudWxsO2Euc2V0KFtsLHUsUSx1LGwsRSxRLEVdLGUpfXJldHVybiBhfWZ1bmN0aW9uIGdldFRyYW5zZm9ybU1hdHJpeChlLHQsaSl7Y29uc3RbYSxzLHIsbl09VXRpbC5nZXRBeGlhbEFsaWduZWRCb3VuZGluZ0JveCh0LGkpO2lmKGE9PT1yfHxzPT09bilyZXR1cm5bMSwwLDAsMSxlWzBdLGVbMV1dO2NvbnN0IGc9KGVbMl0tZVswXSkvKHItYSksbz0oZVszXS1lWzFdKS8obi1zKTtyZXR1cm5bZywwLDAsbyxlWzBdLWEqZyxlWzFdLXMqb119Y2xhc3MgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtjb25zdHtkaWN0OnQseHJlZjppLGFubm90YXRpb25HbG9iYWxzOmF9PWU7dGhpcy5zZXRUaXRsZSh0LmdldCgiVCIpKTt0aGlzLnNldENvbnRlbnRzKHQuZ2V0KCJDb250ZW50cyIpKTt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUodC5nZXQoIk0iKSk7dGhpcy5zZXRGbGFncyh0LmdldCgiRiIpKTt0aGlzLnNldFJlY3RhbmdsZSh0LmdldEFycmF5KCJSZWN0IikpO3RoaXMuc2V0Q29sb3IodC5nZXRBcnJheSgiQyIpKTt0aGlzLnNldEJvcmRlclN0eWxlKHQpO3RoaXMuc2V0QXBwZWFyYW5jZSh0KTt0aGlzLnNldE9wdGlvbmFsQ29udGVudCh0KTtjb25zdCBzPXQuZ2V0KCJNSyIpO3RoaXMuc2V0Qm9yZGVyQW5kQmFja2dyb3VuZENvbG9ycyhzKTt0aGlzLnNldFJvdGF0aW9uKHMsdCk7dGhpcy5yZWY9ZS5yZWYgaW5zdGFuY2VvZiBSZWY/ZS5yZWY6bnVsbDt0aGlzLl9zdHJlYW1zPVtdO3RoaXMuYXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuYXBwZWFyYW5jZSk7Y29uc3Qgcj0hISh0aGlzLmZsYWdzJmVBKSxuPSEhKHRoaXMuZmxhZ3MmdEEpO2lmKGEuc3RydWN0VHJlZVJvb3Qpe2xldCBpPXQuZ2V0KCJTdHJ1Y3RQYXJlbnQiKTtpPU51bWJlci5pc0ludGVnZXIoaSkmJmk+PTA/aTotMTthLnN0cnVjdFRyZWVSb290LmFkZEFubm90YXRpb25JZFRvUGFnZShlLnBhZ2VSZWYsaSl9dGhpcy5kYXRhPXthbm5vdGF0aW9uRmxhZ3M6dGhpcy5mbGFncyxib3JkZXJTdHlsZTp0aGlzLmJvcmRlclN0eWxlLGNvbG9yOnRoaXMuY29sb3IsYmFja2dyb3VuZENvbG9yOnRoaXMuYmFja2dyb3VuZENvbG9yLGJvcmRlckNvbG9yOnRoaXMuYm9yZGVyQ29sb3Iscm90YXRpb246dGhpcy5yb3RhdGlvbixjb250ZW50c09iajp0aGlzLl9jb250ZW50cyxoYXNBcHBlYXJhbmNlOiEhdGhpcy5hcHBlYXJhbmNlLGlkOmUuaWQsbW9kaWZpY2F0aW9uRGF0ZTp0aGlzLm1vZGlmaWNhdGlvbkRhdGUscmVjdDp0aGlzLnJlY3RhbmdsZSxzdWJ0eXBlOmUuc3VidHlwZSxoYXNPd25DYW52YXM6ITEsbm9Sb3RhdGU6ISEodGhpcy5mbGFncyYkKSxub0hUTUw6ciYmbixpc0VkaXRhYmxlOiExfTtpZihlLmNvbGxlY3RGaWVsZHMpe2NvbnN0IGE9dC5nZXQoIktpZHMiKTtpZihBcnJheS5pc0FycmF5KGEpKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIGEpdCBpbnN0YW5jZW9mIFJlZiYmZS5wdXNoKHQudG9TdHJpbmcoKSk7MCE9PWUubGVuZ3RoJiYodGhpcy5kYXRhLmtpZElkcz1lKX10aGlzLmRhdGEuYWN0aW9ucz1jb2xsZWN0QWN0aW9ucyhpLHQsZEEpO3RoaXMuZGF0YS5maWVsZE5hbWU9dGhpcy5fY29uc3RydWN0RmllbGROYW1lKHQpO3RoaXMuZGF0YS5wYWdlSW5kZXg9ZS5wYWdlSW5kZXh9dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ9ZS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkO3RoaXMuX2ZhbGxiYWNrRm9udERpY3Q9bnVsbDt0aGlzLl9uZWVkQXBwZWFyYW5jZXM9ITF9X2hhc0ZsYWcoZSx0KXtyZXR1cm4hIShlJnQpfV9pc1ZpZXdhYmxlKGUpe3JldHVybiF0aGlzLl9oYXNGbGFnKGUsVikmJiF0aGlzLl9oYXNGbGFnKGUsQUEpfV9pc1ByaW50YWJsZShlKXtyZXR1cm4gdGhpcy5faGFzRmxhZyhlLF8pJiYhdGhpcy5faGFzRmxhZyhlLHopJiYhdGhpcy5faGFzRmxhZyhlLFYpfW11c3RCZVZpZXdlZChlLHQpe2NvbnN0IGk9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/Lm5vVmlldztyZXR1cm4gdm9pZCAwIT09aT8haTp0aGlzLnZpZXdhYmxlJiYhdGhpcy5faGFzRmxhZyh0aGlzLmZsYWdzLHopfW11c3RCZVByaW50ZWQoZSl7Y29uc3QgdD1lPy5nZXQodGhpcy5kYXRhLmlkKT8ubm9QcmludDtyZXR1cm4gdm9pZCAwIT09dD8hdDp0aGlzLnByaW50YWJsZX1tdXN0QmVWaWV3ZWRXaGVuRWRpdGluZyhlLHQ9bnVsbCl7cmV0dXJuIGU/IXRoaXMuZGF0YS5pc0VkaXRhYmxlOiF0Py5oYXModGhpcy5kYXRhLmlkKX1nZXQgdmlld2FibGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuZGF0YS5xdWFkUG9pbnRzJiYoMD09PXRoaXMuZmxhZ3N8fHRoaXMuX2lzVmlld2FibGUodGhpcy5mbGFncykpfWdldCBwcmludGFibGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuZGF0YS5xdWFkUG9pbnRzJiYoMCE9PXRoaXMuZmxhZ3MmJnRoaXMuX2lzUHJpbnRhYmxlKHRoaXMuZmxhZ3MpKX1fcGFyc2VTdHJpbmdIZWxwZXIoZSl7Y29uc3QgdD0ic3RyaW5nIj09dHlwZW9mIGU/c3RyaW5nVG9QREZTdHJpbmcoZSk6IiI7cmV0dXJue3N0cjp0LGRpcjp0JiYicnRsIj09PWJpZGkodCkuZGlyPyJydGwiOiJsdHIifX1zZXREZWZhdWx0QXBwZWFyYW5jZShlKXtjb25zdHtkaWN0OnQsYW5ub3RhdGlvbkdsb2JhbHM6aX09ZSxhPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRBIn0pfHxpLmFjcm9Gb3JtLmdldCgiREEiKTt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT0ic3RyaW5nIj09dHlwZW9mIGE/YToiIjt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2UpfXNldFRpdGxlKGUpe3RoaXMuX3RpdGxlPXRoaXMuX3BhcnNlU3RyaW5nSGVscGVyKGUpfXNldENvbnRlbnRzKGUpe3RoaXMuX2NvbnRlbnRzPXRoaXMuX3BhcnNlU3RyaW5nSGVscGVyKGUpfXNldE1vZGlmaWNhdGlvbkRhdGUoZSl7dGhpcy5tb2RpZmljYXRpb25EYXRlPSJzdHJpbmciPT10eXBlb2YgZT9lOm51bGx9c2V0RmxhZ3MoZSl7dGhpcy5mbGFncz1OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjA/ZTowO3RoaXMuZmxhZ3MmViYmIkFubm90YXRpb24iIT09dGhpcy5jb25zdHJ1Y3Rvci5uYW1lJiYodGhpcy5mbGFnc149Vil9aGFzRmxhZyhlKXtyZXR1cm4gdGhpcy5faGFzRmxhZyh0aGlzLmZsYWdzLGUpfXNldFJlY3RhbmdsZShlKXt0aGlzLnJlY3RhbmdsZT1sb29rdXBOb3JtYWxSZWN0KGUsWzAsMCwwLDBdKX1zZXRDb2xvcihlKXt0aGlzLmNvbG9yPWdldFJnYkNvbG9yKGUpfXNldExpbmVFbmRpbmdzKGUpe3RoaXMubGluZUVuZGluZ3M9WyJOb25lIiwiTm9uZSJdO2lmKEFycmF5LmlzQXJyYXkoZSkmJjI9PT1lLmxlbmd0aClmb3IobGV0IHQ9MDt0PDI7dCsrKXtjb25zdCBpPWVbdF07aWYoaSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGkubmFtZSl7Y2FzZSJOb25lIjpjb250aW51ZTtjYXNlIlNxdWFyZSI6Y2FzZSJDaXJjbGUiOmNhc2UiRGlhbW9uZCI6Y2FzZSJPcGVuQXJyb3ciOmNhc2UiQ2xvc2VkQXJyb3ciOmNhc2UiQnV0dCI6Y2FzZSJST3BlbkFycm93IjpjYXNlIlJDbG9zZWRBcnJvdyI6Y2FzZSJTbGFzaCI6dGhpcy5saW5lRW5kaW5nc1t0XT1pLm5hbWU7Y29udGludWV9d2FybihgSWdub3JpbmcgaW52YWxpZCBsaW5lRW5kaW5nOiAke2l9YCl9fXNldFJvdGF0aW9uKGUsdCl7dGhpcy5yb3RhdGlvbj0wO2xldCBpPWUgaW5zdGFuY2VvZiBEaWN0P2UuZ2V0KCJSIil8fDA6dC5nZXQoIlJvdGF0ZSIpfHwwO2lmKE51bWJlci5pc0ludGVnZXIoaSkmJjAhPT1pKXtpJT0zNjA7aTwwJiYoaSs9MzYwKTtpJTkwPT0wJiYodGhpcy5yb3RhdGlvbj1pKX19c2V0Qm9yZGVyQW5kQmFja2dyb3VuZENvbG9ycyhlKXtpZihlIGluc3RhbmNlb2YgRGljdCl7dGhpcy5ib3JkZXJDb2xvcj1nZXRSZ2JDb2xvcihlLmdldEFycmF5KCJCQyIpLG51bGwpO3RoaXMuYmFja2dyb3VuZENvbG9yPWdldFJnYkNvbG9yKGUuZ2V0QXJyYXkoIkJHIiksbnVsbCl9ZWxzZSB0aGlzLmJvcmRlckNvbG9yPXRoaXMuYmFja2dyb3VuZENvbG9yPW51bGx9c2V0Qm9yZGVyU3R5bGUoZSl7dGhpcy5ib3JkZXJTdHlsZT1uZXcgQW5ub3RhdGlvbkJvcmRlclN0eWxlO2lmKGUgaW5zdGFuY2VvZiBEaWN0KWlmKGUuaGFzKCJCUyIpKXtjb25zdCB0PWUuZ2V0KCJCUyIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXQuZ2V0KCJUeXBlIik7aWYoIWV8fGlzTmFtZShlLCJCb3JkZXIiKSl7dGhpcy5ib3JkZXJTdHlsZS5zZXRXaWR0aCh0LmdldCgiVyIpLHRoaXMucmVjdGFuZ2xlKTt0aGlzLmJvcmRlclN0eWxlLnNldFN0eWxlKHQuZ2V0KCJTIikpO3RoaXMuYm9yZGVyU3R5bGUuc2V0RGFzaEFycmF5KHQuZ2V0QXJyYXkoIkQiKSl9fX1lbHNlIGlmKGUuaGFzKCJCb3JkZXIiKSl7Y29uc3QgdD1lLmdldEFycmF5KCJCb3JkZXIiKTtpZihBcnJheS5pc0FycmF5KHQpJiZ0Lmxlbmd0aD49Myl7dGhpcy5ib3JkZXJTdHlsZS5zZXRIb3Jpem9udGFsQ29ybmVyUmFkaXVzKHRbMF0pO3RoaXMuYm9yZGVyU3R5bGUuc2V0VmVydGljYWxDb3JuZXJSYWRpdXModFsxXSk7dGhpcy5ib3JkZXJTdHlsZS5zZXRXaWR0aCh0WzJdLHRoaXMucmVjdGFuZ2xlKTs0PT09dC5sZW5ndGgmJnRoaXMuYm9yZGVyU3R5bGUuc2V0RGFzaEFycmF5KHRbM10sITApfX1lbHNlIHRoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgoMCl9c2V0QXBwZWFyYW5jZShlKXt0aGlzLmFwcGVhcmFuY2U9bnVsbDtjb25zdCB0PWUuZ2V0KCJBUCIpO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBpPXQuZ2V0KCJOIik7aWYoaSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe3RoaXMuYXBwZWFyYW5jZT1pO3JldHVybn1pZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT1lLmdldCgiQVMiKTtpZighKGEgaW5zdGFuY2VvZiBOYW1lJiZpLmhhcyhhLm5hbWUpKSlyZXR1cm47Y29uc3Qgcz1pLmdldChhLm5hbWUpO3MgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYodGhpcy5hcHBlYXJhbmNlPXMpfXNldE9wdGlvbmFsQ29udGVudChlKXt0aGlzLm9jPW51bGw7Y29uc3QgdD1lLmdldCgiT0MiKTt0IGluc3RhbmNlb2YgTmFtZT93YXJuKCJzZXRPcHRpb25hbENvbnRlbnQ6IFN1cHBvcnQgZm9yIC9OYW1lLWVudHJ5IGlzIG5vdCBpbXBsZW1lbnRlZC4iKTp0IGluc3RhbmNlb2YgRGljdCYmKHRoaXMub2M9dCl9bG9hZFJlc291cmNlcyhlLHQpe3JldHVybiB0LmRpY3QuZ2V0QXN5bmMoIlJlc291cmNlcyIpLnRoZW4oKHQ9PntpZighdClyZXR1cm47cmV0dXJuIG5ldyBPYmplY3RMb2FkZXIodCxlLHQueHJlZikubG9hZCgpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSl9KSl9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpe2NvbnN0e2hhc093bkNhbnZhczpyLGlkOm4scmVjdDpnfT10aGlzLmRhdGE7bGV0IGM9dGhpcy5hcHBlYXJhbmNlO2NvbnN0IEM9ISEociYmYSZvKTtpZihDJiYoZ1swXT09PWdbMl18fGdbMV09PT1nWzNdKSl7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMTtyZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX1pZighYyl7aWYoIUMpcmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX07Yz1uZXcgU3RyaW5nU3RyZWFtKCIiKTtjLmRpY3Q9bmV3IERpY3R9Y29uc3QgaD1jLmRpY3QsbD1hd2FpdCB0aGlzLmxvYWRSZXNvdXJjZXMoWyJFeHRHU3RhdGUiLCJDb2xvclNwYWNlIiwiUGF0dGVybiIsIlNoYWRpbmciLCJYT2JqZWN0IiwiRm9udCJdLGMpLFE9bG9va3VwUmVjdChoLmdldEFycmF5KCJCQm94IiksWzAsMCwxLDFdKSxFPWxvb2t1cE1hdHJpeChoLmdldEFycmF5KCJNYXRyaXgiKSxpKSx1PWdldFRyYW5zZm9ybU1hdHJpeChnLFEsRSksZD1uZXcgT3BlcmF0b3JMaXN0O2xldCBmO3RoaXMub2MmJihmPWF3YWl0IGUucGFyc2VNYXJrZWRDb250ZW50UHJvcHModGhpcy5vYyxudWxsKSk7dm9pZCAwIT09ZiYmZC5hZGRPcChZZSxbIk9DIixmXSk7ZC5hZGRPcChqZSxbbixnLHUsRSxDXSk7YXdhaXQgZS5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTpjLHRhc2s6dCxyZXNvdXJjZXM6bCxvcGVyYXRvckxpc3Q6ZCxmYWxsYmFja0ZvbnREaWN0OnRoaXMuX2ZhbGxiYWNrRm9udERpY3R9KTtkLmFkZE9wKFhlLFtdKTt2b2lkIDAhPT1mJiZkLmFkZE9wKHZlLFtdKTt0aGlzLnJlc2V0KCk7cmV0dXJue29wTGlzdDpkLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczpDfX1hc3luYyBzYXZlKGUsdCxpKXtyZXR1cm4gbnVsbH1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4hMX1hc3luYyBleHRyYWN0VGV4dENvbnRlbnQoZSx0LGkpe2lmKCF0aGlzLmFwcGVhcmFuY2UpcmV0dXJuO2NvbnN0IGE9YXdhaXQgdGhpcy5sb2FkUmVzb3VyY2VzKFsiRXh0R1N0YXRlIiwiRm9udCIsIlByb3BlcnRpZXMiLCJYT2JqZWN0Il0sdGhpcy5hcHBlYXJhbmNlKSxzPVtdLHI9W107bGV0IG49bnVsbDtjb25zdCBnPXtkZXNpcmVkU2l6ZTpNYXRoLkluZmluaXR5LHJlYWR5OiEwLGVucXVldWUoZSx0KXtmb3IoY29uc3QgdCBvZiBlLml0ZW1zKWlmKHZvaWQgMCE9PXQuc3RyKXtufHw9dC50cmFuc2Zvcm0uc2xpY2UoLTIpO3IucHVzaCh0LnN0cik7aWYodC5oYXNFT0wpe3MucHVzaChyLmpvaW4oIiIpLnRyaW1FbmQoKSk7ci5sZW5ndGg9MH19fX07YXdhaXQgZS5nZXRUZXh0Q29udGVudCh7c3RyZWFtOnRoaXMuYXBwZWFyYW5jZSx0YXNrOnQscmVzb3VyY2VzOmEsaW5jbHVkZU1hcmtlZENvbnRlbnQ6ITAsa2VlcFdoaXRlU3BhY2U6ITAsc2luazpnLHZpZXdCb3g6aX0pO3RoaXMucmVzZXQoKTtyLmxlbmd0aCYmcy5wdXNoKHIuam9pbigiIikudHJpbUVuZCgpKTtpZihzLmxlbmd0aD4xfHxzWzBdKXtjb25zdCBlPXRoaXMuYXBwZWFyYW5jZS5kaWN0LHQ9bG9va3VwUmVjdChlLmdldEFycmF5KCJCQm94IiksbnVsbCksaT1sb29rdXBNYXRyaXgoZS5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7dGhpcy5kYXRhLnRleHRQb3NpdGlvbj10aGlzLl90cmFuc2Zvcm1Qb2ludChuLHQsaSk7dGhpcy5kYXRhLnRleHRDb250ZW50PXN9fV90cmFuc2Zvcm1Qb2ludChlLHQsaSl7Y29uc3R7cmVjdDphfT10aGlzLmRhdGE7dHx8PVswLDAsMSwxXTtpfHw9WzEsMCwwLDEsMCwwXTtjb25zdCBzPWdldFRyYW5zZm9ybU1hdHJpeChhLHQsaSk7c1s0XS09YVswXTtzWzVdLT1hWzFdO2U9VXRpbC5hcHBseVRyYW5zZm9ybShlLHMpO3JldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKGUsaSl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm4gdGhpcy5kYXRhLmtpZElkcz97aWQ6dGhpcy5kYXRhLmlkLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMsbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcix0eXBlOiIiLGtpZElkczp0aGlzLmRhdGEua2lkSWRzLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCxyb3RhdGlvbjp0aGlzLnJvdGF0aW9ufTpudWxsfXJlc2V0KCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc3RyZWFtcyllLnJlc2V0KCl9X2NvbnN0cnVjdEZpZWxkTmFtZShlKXtpZighZS5oYXMoIlQiKSYmIWUuaGFzKCJQYXJlbnQiKSl7d2FybigiVW5rbm93biBmaWVsZCBuYW1lLCBmYWxsaW5nIGJhY2sgdG8gZW1wdHkgZmllbGQgbmFtZS4iKTtyZXR1cm4iIn1pZighZS5oYXMoIlBhcmVudCIpKXJldHVybiBzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKTtjb25zdCB0PVtdO2UuaGFzKCJUIikmJnQudW5zaGlmdChzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKSk7bGV0IGk9ZTtjb25zdCBhPW5ldyBSZWZTZXQ7ZS5vYmpJZCYmYS5wdXQoZS5vYmpJZCk7Zm9yKDtpLmhhcygiUGFyZW50Iik7KXtpPWkuZ2V0KCJQYXJlbnQiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KXx8aS5vYmpJZCYmYS5oYXMoaS5vYmpJZCkpYnJlYWs7aS5vYmpJZCYmYS5wdXQoaS5vYmpJZCk7aS5oYXMoIlQiKSYmdC51bnNoaWZ0KHN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJUIikpKX1yZXR1cm4gdC5qb2luKCIuIil9fWNsYXNzIEFubm90YXRpb25Cb3JkZXJTdHlsZXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MTt0aGlzLnN0eWxlPUJBO3RoaXMuZGFzaEFycmF5PVszXTt0aGlzLmhvcml6b250YWxDb3JuZXJSYWRpdXM9MDt0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPTB9c2V0V2lkdGgoZSx0PVswLDAsMCwwXSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpdGhpcy53aWR0aD0wO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZihlPjApe2NvbnN0IGk9KHRbMl0tdFswXSkvMixhPSh0WzNdLXRbMV0pLzI7aWYoaT4wJiZhPjAmJihlPml8fGU+YSkpe3dhcm4oYEFubm90YXRpb25Cb3JkZXJTdHlsZS5zZXRXaWR0aCAtIGlnbm9yaW5nIHdpZHRoOiAke2V9YCk7ZT0xfX10aGlzLndpZHRoPWV9fXNldFN0eWxlKGUpe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiUyI6dGhpcy5zdHlsZT1CQTticmVhaztjYXNlIkQiOnRoaXMuc3R5bGU9bEE7YnJlYWs7Y2FzZSJCIjp0aGlzLnN0eWxlPVFBO2JyZWFrO2Nhc2UiSSI6dGhpcy5zdHlsZT1FQTticmVhaztjYXNlIlUiOnRoaXMuc3R5bGU9dUF9fXNldERhc2hBcnJheShlLHQ9ITEpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCBpPSEwLGE9ITA7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoISgrdD49MCkpe2k9ITE7YnJlYWt9dD4wJiYoYT0hMSl9aWYoMD09PWUubGVuZ3RofHxpJiYhYSl7dGhpcy5kYXNoQXJyYXk9ZTt0JiZ0aGlzLnNldFN0eWxlKE5hbWUuZ2V0KCJEIikpfWVsc2UgdGhpcy53aWR0aD0wfWVsc2UgZSYmKHRoaXMud2lkdGg9MCl9c2V0SG9yaXpvbnRhbENvcm5lclJhZGl1cyhlKXtOdW1iZXIuaXNJbnRlZ2VyKGUpJiYodGhpcy5ob3Jpem9udGFsQ29ybmVyUmFkaXVzPWUpfXNldFZlcnRpY2FsQ29ybmVyUmFkaXVzKGUpe051bWJlci5pc0ludGVnZXIoZSkmJih0aGlzLnZlcnRpY2FsQ29ybmVyUmFkaXVzPWUpfX1jbGFzcyBNYXJrdXBBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnR9PWU7aWYodC5oYXMoIklSVCIpKXtjb25zdCBlPXQuZ2V0UmF3KCJJUlQiKTt0aGlzLmRhdGEuaW5SZXBseVRvPWUgaW5zdGFuY2VvZiBSZWY/ZS50b1N0cmluZygpOm51bGw7Y29uc3QgaT10LmdldCgiUlQiKTt0aGlzLmRhdGEucmVwbHlUeXBlPWkgaW5zdGFuY2VvZiBOYW1lP2kubmFtZTpafWxldCBpPW51bGw7aWYodGhpcy5kYXRhLnJlcGx5VHlwZT09PVgpe2NvbnN0IGU9dC5nZXQoIklSVCIpO3RoaXMuc2V0VGl0bGUoZS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoZS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpZihlLmhhcygiQ3JlYXRpb25EYXRlIikpe3RoaXMuc2V0Q3JlYXRpb25EYXRlKGUuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5jcmVhdGlvbkRhdGU9bnVsbDtpZihlLmhhcygiTSIpKXt0aGlzLnNldE1vZGlmaWNhdGlvbkRhdGUoZS5nZXQoIk0iKSk7dGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9dGhpcy5tb2RpZmljYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLm1vZGlmaWNhdGlvbkRhdGU9bnVsbDtpPWUuZ2V0UmF3KCJQb3B1cCIpO2lmKGUuaGFzKCJDIikpe3RoaXMuc2V0Q29sb3IoZS5nZXRBcnJheSgiQyIpKTt0aGlzLmRhdGEuY29sb3I9dGhpcy5jb2xvcn1lbHNlIHRoaXMuZGF0YS5jb2xvcj1udWxsfWVsc2V7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q3JlYXRpb25EYXRlKHQuZ2V0KCJDcmVhdGlvbkRhdGUiKSk7dGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT10aGlzLmNyZWF0aW9uRGF0ZTtpPXQuZ2V0UmF3KCJQb3B1cCIpO3QuaGFzKCJDIil8fCh0aGlzLmRhdGEuY29sb3I9bnVsbCl9dGhpcy5kYXRhLnBvcHVwUmVmPWkgaW5zdGFuY2VvZiBSZWY/aS50b1N0cmluZygpOm51bGw7dC5oYXMoIlJDIikmJih0aGlzLmRhdGEucmljaFRleHQ9WEZBRmFjdG9yeS5nZXRSaWNoVGV4dEFzSHRtbCh0LmdldCgiUkMiKSkpfXNldENyZWF0aW9uRGF0ZShlKXt0aGlzLmNyZWF0aW9uRGF0ZT0ic3RyaW5nIj09dHlwZW9mIGU/ZTpudWxsfV9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjplLGV4dHJhOnQsc3Ryb2tlQ29sb3I6aSxmaWxsQ29sb3I6YSxibGVuZE1vZGU6cyxzdHJva2VBbHBoYTpyLGZpbGxBbHBoYTpuLHBvaW50c0NhbGxiYWNrOmd9KXtsZXQgbz1OdW1iZXIuTUFYX1ZBTFVFLGM9TnVtYmVyLk1BWF9WQUxVRSxDPU51bWJlci5NSU5fVkFMVUUsaD1OdW1iZXIuTUlOX1ZBTFVFO2NvbnN0IGw9WyJxIl07dCYmbC5wdXNoKHQpO2kmJmwucHVzaChgJHtpWzBdfSAke2lbMV19ICR7aVsyXX0gUkdgKTthJiZsLnB1c2goYCR7YVswXX0gJHthWzFdfSAke2FbMl19IHJnYCk7bGV0IFE9dGhpcy5kYXRhLnF1YWRQb2ludHM7UXx8KFE9RmxvYXQzMkFycmF5LmZyb20oW3RoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzNdLHRoaXMucmVjdGFuZ2xlWzBdLHRoaXMucmVjdGFuZ2xlWzFdLHRoaXMucmVjdGFuZ2xlWzJdLHRoaXMucmVjdGFuZ2xlWzFdXSkpO2ZvcihsZXQgZT0wLHQ9US5sZW5ndGg7ZTx0O2UrPTgpe2NvbnN0W3QsaSxhLHNdPWcobCxRLnN1YmFycmF5KGUsZSs4KSk7bz1NYXRoLm1pbihvLHQpO0M9TWF0aC5tYXgoQyxpKTtjPU1hdGgubWluKGMsYSk7aD1NYXRoLm1heChoLHMpfWwucHVzaCgiUSIpO2NvbnN0IEU9bmV3IERpY3QoZSksdT1uZXcgRGljdChlKTt1LnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Y29uc3QgZD1uZXcgU3RyaW5nU3RyZWFtKGwuam9pbigiICIpKTtkLmRpY3Q9dTtFLnNldCgiRm0wIixkKTtjb25zdCBmPW5ldyBEaWN0KGUpO3MmJmYuc2V0KCJCTSIsTmFtZS5nZXQocykpOyJudW1iZXIiPT10eXBlb2YgciYmZi5zZXQoIkNBIixyKTsibnVtYmVyIj09dHlwZW9mIG4mJmYuc2V0KCJjYSIsbik7Y29uc3QgcD1uZXcgRGljdChlKTtwLnNldCgiR1MwIixmKTtjb25zdCBtPW5ldyBEaWN0KGUpO20uc2V0KCJFeHRHU3RhdGUiLHApO20uc2V0KCJYT2JqZWN0IixFKTtjb25zdCB5PW5ldyBEaWN0KGUpO3kuc2V0KCJSZXNvdXJjZXMiLG0pO2NvbnN0IHc9dGhpcy5kYXRhLnJlY3Q9W28sYyxDLGhdO3kuc2V0KCJCQm94Iix3KTt0aGlzLmFwcGVhcmFuY2U9bmV3IFN0cmluZ1N0cmVhbSgiL0dTMCBncyAvRm0wIERvIik7dGhpcy5hcHBlYXJhbmNlLmRpY3Q9eTt0aGlzLl9zdHJlYW1zLnB1c2godGhpcy5hcHBlYXJhbmNlLGQpfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBbm5vdGF0aW9uKGUsdCxpLGEpe2xldCBzO3QucmVmP3M9KGF3YWl0IGUuZmV0Y2hJZlJlZkFzeW5jKHQucmVmKSkuY2xvbmUoKTp0LnJlZj1lLmdldE5ld1RlbXBvcmFyeVJlZigpO2NvbnN0IHI9dC5yZWYsbj1hd2FpdCB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0odCxlLGEpLGc9W107bGV0IG87aWYobil7Y29uc3QgYT1lLmdldE5ld1RlbXBvcmFyeVJlZigpO289dGhpcy5jcmVhdGVOZXdEaWN0KHQsZSx7YXBSZWY6YSxvbGRBbm5vdGF0aW9uOnN9KTthd2FpdCB3cml0ZU9iamVjdChhLG4sZyxlKTtpLnB1c2goe3JlZjphLGRhdGE6Zy5qb2luKCIiKX0pfWVsc2Ugbz10aGlzLmNyZWF0ZU5ld0RpY3QodCxlLHtvbGRBbm5vdGF0aW9uOnN9KTtOdW1iZXIuaXNJbnRlZ2VyKHQucGFyZW50VHJlZUlkKSYmby5zZXQoIlN0cnVjdFBhcmVudCIsdC5wYXJlbnRUcmVlSWQpO2cubGVuZ3RoPTA7YXdhaXQgd3JpdGVPYmplY3QocixvLGcsZSk7cmV0dXJue3JlZjpyLGRhdGE6Zy5qb2luKCIiKX19c3RhdGljIGFzeW5jIGNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHQsaSxhKXtjb25zdCBzPWF3YWl0IHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShpLHQsYSkscj10aGlzLmNyZWF0ZU5ld0RpY3QoaSx0LHthcDpzfSksbj1uZXcgdGhpcy5wcm90b3R5cGUuY29uc3RydWN0b3Ioe2RpY3Q6cix4cmVmOnQsYW5ub3RhdGlvbkdsb2JhbHM6ZSxldmFsdWF0b3JPcHRpb25zOmEuZXZhbHVhdG9yT3B0aW9uc30pO2kucmVmJiYobi5yZWY9bi5yZWZUb1JlcGxhY2U9aS5yZWYpO3JldHVybiBufX1jbGFzcyBXaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppLGFubm90YXRpb25HbG9iYWxzOmF9PWUscz10aGlzLmRhdGE7dGhpcy5fbmVlZEFwcGVhcmFuY2VzPWUubmVlZEFwcGVhcmFuY2VzO3MuYW5ub3RhdGlvblR5cGU9ajt2b2lkIDA9PT1zLmZpZWxkTmFtZSYmKHMuZmllbGROYW1lPXRoaXMuX2NvbnN0cnVjdEZpZWxkTmFtZSh0KSk7dm9pZCAwPT09cy5hY3Rpb25zJiYocy5hY3Rpb25zPWNvbGxlY3RBY3Rpb25zKGksdCxkQSkpO2xldCByPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IlYiLGdldEFycmF5OiEwfSk7cy5maWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShyKTtjb25zdCBuPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRWIixnZXRBcnJheTohMH0pO3MuZGVmYXVsdEZpZWxkVmFsdWU9dGhpcy5fZGVjb2RlRm9ybVZhbHVlKG4pO2lmKHZvaWQgMD09PXImJmEueGZhRGF0YXNldHMpe2NvbnN0IGU9dGhpcy5fdGl0bGUuc3RyO2lmKGUpe3RoaXMuX2hhc1ZhbHVlRnJvbVhGQT0hMDtzLmZpZWxkVmFsdWU9cj1hLnhmYURhdGFzZXRzLmdldFZhbHVlKGUpfX12b2lkIDA9PT1yJiZudWxsIT09cy5kZWZhdWx0RmllbGRWYWx1ZSYmKHMuZmllbGRWYWx1ZT1zLmRlZmF1bHRGaWVsZFZhbHVlKTtzLmFsdGVybmF0aXZlVGV4dD1zdHJpbmdUb1BERlN0cmluZyh0LmdldCgiVFUiKXx8IiIpO3RoaXMuc2V0RGVmYXVsdEFwcGVhcmFuY2UoZSk7cy5oYXNBcHBlYXJhbmNlfHw9dGhpcy5fbmVlZEFwcGVhcmFuY2VzJiZ2b2lkIDAhPT1zLmZpZWxkVmFsdWUmJm51bGwhPT1zLmZpZWxkVmFsdWU7Y29uc3QgZz1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJGVCJ9KTtzLmZpZWxkVHlwZT1nIGluc3RhbmNlb2YgTmFtZT9nLm5hbWU6bnVsbDtjb25zdCBvPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRSIn0pLGM9YS5hY3JvRm9ybS5nZXQoIkRSIiksQz10aGlzLmFwcGVhcmFuY2U/LmRpY3QuZ2V0KCJSZXNvdXJjZXMiKTt0aGlzLl9maWVsZFJlc291cmNlcz17bG9jYWxSZXNvdXJjZXM6byxhY3JvRm9ybVJlc291cmNlczpjLGFwcGVhcmFuY2VSZXNvdXJjZXM6QyxtZXJnZWRSZXNvdXJjZXM6RGljdC5tZXJnZSh7eHJlZjppLGRpY3RBcnJheTpbbyxDLGNdLG1lcmdlU3ViRGljdHM6ITB9KX07cy5maWVsZEZsYWdzPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkZmIn0pOyghTnVtYmVyLmlzSW50ZWdlcihzLmZpZWxkRmxhZ3MpfHxzLmZpZWxkRmxhZ3M8MCkmJihzLmZpZWxkRmxhZ3M9MCk7cy5yZWFkT25seT10aGlzLmhhc0ZpZWxkRmxhZyhpQSk7cy5yZXF1aXJlZD10aGlzLmhhc0ZpZWxkRmxhZyhhQSk7cy5oaWRkZW49dGhpcy5faGFzRmxhZyhzLmFubm90YXRpb25GbGFncyx6KXx8dGhpcy5faGFzRmxhZyhzLmFubm90YXRpb25GbGFncyxBQSl9X2RlY29kZUZvcm1WYWx1ZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkubWFwKChlPT5zdHJpbmdUb1BERlN0cmluZyhlKSkpOmUgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKGUubmFtZSk6InN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGx9aGFzRmllbGRGbGFnKGUpe3JldHVybiEhKHRoaXMuZGF0YS5maWVsZEZsYWdzJmUpfV9pc1ZpZXdhYmxlKGUpe3JldHVybiEwfW11c3RCZVZpZXdlZChlLHQpe3JldHVybiB0P3RoaXMudmlld2FibGU6c3VwZXIubXVzdEJlVmlld2VkKGUsdCkmJiF0aGlzLl9oYXNGbGFnKHRoaXMuZmxhZ3MsQUEpfWdldFJvdGF0aW9uTWF0cml4KGUpe2xldCB0PWU/LmdldCh0aGlzLmRhdGEuaWQpPy5yb3RhdGlvbjt2b2lkIDA9PT10JiYodD10aGlzLnJvdGF0aW9uKTtpZigwPT09dClyZXR1cm4gaTtyZXR1cm4gZ2V0Um90YXRpb25NYXRyaXgodCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSl9Z2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKGUpe2xldCB0PWU/LmdldCh0aGlzLmRhdGEuaWQpPy5yb3RhdGlvbjt2b2lkIDA9PT10JiYodD10aGlzLnJvdGF0aW9uKTtpZighdGhpcy5iYWNrZ3JvdW5kQ29sb3ImJiF0aGlzLmJvcmRlckNvbG9yKXJldHVybiIiO2NvbnN0IGk9dGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sYT10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxzPTA9PT10fHwxODA9PT10P2AwIDAgJHtpfSAke2F9IHJlYDpgMCAwICR7YX0gJHtpfSByZWA7bGV0IHI9IiI7dGhpcy5iYWNrZ3JvdW5kQ29sb3ImJihyPWAke2dldFBkZkNvbG9yKHRoaXMuYmFja2dyb3VuZENvbG9yLCEwKX0gJHtzfSBmIGApO2lmKHRoaXMuYm9yZGVyQ29sb3Ipe3IrPWAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDF9IHcgJHtnZXRQZGZDb2xvcih0aGlzLmJvcmRlckNvbG9yLCExKX0gJHtzfSBTIGB9cmV0dXJuIHJ9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxpLGEpe2lmKGkmaCYmISh0aGlzIGluc3RhbmNlb2YgU2lnbmF0dXJlV2lkZ2V0QW5ub3RhdGlvbikmJiF0aGlzLmRhdGEubm9IVE1MJiYhdGhpcy5kYXRhLmhhc093bkNhbnZhcylyZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiEwLHNlcGFyYXRlQ2FudmFzOiExfTtpZighdGhpcy5faGFzVGV4dClyZXR1cm4gc3VwZXIuZ2V0T3BlcmF0b3JMaXN0KGUsdCxpLGEpO2NvbnN0IHM9YXdhaXQgdGhpcy5fZ2V0QXBwZWFyYW5jZShlLHQsaSxhKTtpZih0aGlzLmFwcGVhcmFuY2UmJm51bGw9PT1zKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGksYSk7Y29uc3Qgcj1uZXcgT3BlcmF0b3JMaXN0O2lmKCF0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZXx8bnVsbD09PXMpcmV0dXJue29wTGlzdDpyLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX07Y29uc3Qgbj0hISh0aGlzLmRhdGEuaGFzT3duQ2FudmFzJiZpJm8pLGc9WzAsMCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXV0sYz1nZXRUcmFuc2Zvcm1NYXRyaXgodGhpcy5kYXRhLnJlY3QsZyxbMSwwLDAsMSwwLDBdKTtsZXQgQzt0aGlzLm9jJiYoQz1hd2FpdCBlLnBhcnNlTWFya2VkQ29udGVudFByb3BzKHRoaXMub2MsbnVsbCkpO3ZvaWQgMCE9PUMmJnIuYWRkT3AoWWUsWyJPQyIsQ10pO3IuYWRkT3AoamUsW3RoaXMuZGF0YS5pZCx0aGlzLmRhdGEucmVjdCxjLHRoaXMuZ2V0Um90YXRpb25NYXRyaXgoYSksbl0pO2NvbnN0IGw9bmV3IFN0cmluZ1N0cmVhbShzKTthd2FpdCBlLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmwsdGFzazp0LHJlc291cmNlczp0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMsb3BlcmF0b3JMaXN0OnJ9KTtyLmFkZE9wKFhlLFtdKTt2b2lkIDAhPT1DJiZyLmFkZE9wKHZlLFtdKTtyZXR1cm57b3BMaXN0OnIsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOm59fV9nZXRNS0RpY3QoZSl7Y29uc3QgdD1uZXcgRGljdChudWxsKTtlJiZ0LnNldCgiUiIsZSk7dGhpcy5ib3JkZXJDb2xvciYmdC5zZXQoIkJDIixnZXRQZGZDb2xvckFycmF5KHRoaXMuYm9yZGVyQ29sb3IpKTt0aGlzLmJhY2tncm91bmRDb2xvciYmdC5zZXQoIkJHIixnZXRQZGZDb2xvckFycmF5KHRoaXMuYmFja2dyb3VuZENvbG9yKSk7cmV0dXJuIHQuc2l6ZT4wP3Q6bnVsbH1hbWVuZFNhdmVkRGljdChlLHQpe31hc3luYyBzYXZlKGUsdCxhKXtjb25zdCBzPWE/LmdldCh0aGlzLmRhdGEuaWQpO2xldCByPXM/LnZhbHVlLG49cz8ucm90YXRpb247aWYocj09PXRoaXMuZGF0YS5maWVsZFZhbHVlfHx2b2lkIDA9PT1yKXtpZighdGhpcy5faGFzVmFsdWVGcm9tWEZBJiZ2b2lkIDA9PT1uKXJldHVybiBudWxsO3J8fD10aGlzLmRhdGEuZmllbGRWYWx1ZX1pZih2b2lkIDA9PT1uJiYhdGhpcy5faGFzVmFsdWVGcm9tWEZBJiZBcnJheS5pc0FycmF5KHIpJiZBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5maWVsZFZhbHVlKSYmci5sZW5ndGg9PT10aGlzLmRhdGEuZmllbGRWYWx1ZS5sZW5ndGgmJnIuZXZlcnkoKChlLHQpPT5lPT09dGhpcy5kYXRhLmZpZWxkVmFsdWVbdF0pKSlyZXR1cm4gbnVsbDt2b2lkIDA9PT1uJiYobj10aGlzLnJvdGF0aW9uKTtsZXQgZz1udWxsO2lmKCF0aGlzLl9uZWVkQXBwZWFyYW5jZXMpe2c9YXdhaXQgdGhpcy5fZ2V0QXBwZWFyYW5jZShlLHQsQyxhKTtpZihudWxsPT09ZylyZXR1cm4gbnVsbH1sZXQgbz0hMTtpZihnPy5uZWVkQXBwZWFyYW5jZXMpe289ITA7Zz1udWxsfWNvbnN0e3hyZWY6Y309ZSxoPWMuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShoIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgRGljdChjKTtmb3IoY29uc3QgZSBvZiBoLmdldEtleXMoKSkiQVAiIT09ZSYmbC5zZXQoZSxoLmdldFJhdyhlKSk7Y29uc3QgUT17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOnJ9O2wuc2V0KCJWIixBcnJheS5pc0FycmF5KHIpP3IubWFwKHN0cmluZ1RvQXNjaWlPclVURjE2QkUpOnN0cmluZ1RvQXNjaWlPclVURjE2QkUocikpO3RoaXMuYW1lbmRTYXZlZERpY3QoYSxsKTtjb25zdCBFPXRoaXMuX2dldE1LRGljdChuKTtFJiZsLnNldCgiTUsiLEUpO2NvbnN0IHU9W10sZD1be3JlZjp0aGlzLnJlZixkYXRhOiIiLHhmYTpRLG5lZWRBcHBlYXJhbmNlczpvfV07aWYobnVsbCE9PWcpe2NvbnN0IGU9Yy5nZXROZXdUZW1wb3JhcnlSZWYoKSx0PW5ldyBEaWN0KGMpO2wuc2V0KCJBUCIsdCk7dC5zZXQoIk4iLGUpO2NvbnN0IHM9dGhpcy5fZ2V0U2F2ZUZpZWxkUmVzb3VyY2VzKGMpLHI9bmV3IFN0cmluZ1N0cmVhbShnKSxuPXIuZGljdD1uZXcgRGljdChjKTtuLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7bi5zZXQoIlJlc291cmNlcyIscyk7bi5zZXQoIkJCb3giLFswLDAsdGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sdGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV1dKTtjb25zdCBvPXRoaXMuZ2V0Um90YXRpb25NYXRyaXgoYSk7byE9PWkmJm4uc2V0KCJNYXRyaXgiLG8pO2F3YWl0IHdyaXRlT2JqZWN0KGUscix1LGMpO2QucHVzaCh7cmVmOmUsZGF0YTp1LmpvaW4oIiIpLHhmYTpudWxsLG5lZWRBcHBlYXJhbmNlczohMX0pO3UubGVuZ3RoPTB9bC5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2F3YWl0IHdyaXRlT2JqZWN0KHRoaXMucmVmLGwsdSxjKTtkWzBdLmRhdGE9dS5qb2luKCIiKTtyZXR1cm4gZH1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQsaSxhKXtpZih0aGlzLmhhc0ZpZWxkRmxhZyhyQSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1hPy5nZXQodGhpcy5kYXRhLmlkKTtsZXQgcixnO2lmKHMpe3I9cy5mb3JtYXR0ZWRWYWx1ZXx8cy52YWx1ZTtnPXMucm90YXRpb259aWYodm9pZCAwPT09ZyYmdm9pZCAwPT09ciYmIXRoaXMuX25lZWRBcHBlYXJhbmNlcyYmKCF0aGlzLl9oYXNWYWx1ZUZyb21YRkF8fHRoaXMuYXBwZWFyYW5jZSkpcmV0dXJuIG51bGw7Y29uc3Qgbz10aGlzLmdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhhKTtpZih2b2lkIDA9PT1yKXtyPXRoaXMuZGF0YS5maWVsZFZhbHVlO2lmKCFyKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYH1BcnJheS5pc0FycmF5KHIpJiYxPT09ci5sZW5ndGgmJihyPXJbMF0pO2Fzc2VydCgic3RyaW5nIj09dHlwZW9mIHIsIkV4cGVjdGVkIGB2YWx1ZWAgdG8gYmUgYSBzdHJpbmcuIik7cj1yLnRyaW0oKTtpZih0aGlzLmRhdGEuY29tYm8pe2NvbnN0IGU9dGhpcy5kYXRhLm9wdGlvbnMuZmluZCgoKHtleHBvcnRWYWx1ZTplfSk9PnI9PT1lKSk7cj1lPy5kaXNwbGF5VmFsdWV8fHJ9aWYoIiI9PT1yKXJldHVybmAvVHggQk1DIHEgJHtvfVEgRU1DYDt2b2lkIDA9PT1nJiYoZz10aGlzLnJvdGF0aW9uKTtsZXQgYyxoPS0xO2lmKHRoaXMuZGF0YS5tdWx0aUxpbmUpe2M9ci5zcGxpdCgvXHJcbj98XG4vKS5tYXAoKGU9PmUubm9ybWFsaXplKCJORkMiKSkpO2g9Yy5sZW5ndGh9ZWxzZSBjPVtyLnJlcGxhY2UoL1xyXG4/fFxuLywiIikubm9ybWFsaXplKCJORkMiKV07bGV0IGw9dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0sUT10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXTs5MCE9PWcmJjI3MCE9PWd8fChbUSxsXT1bbCxRXSk7dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7bGV0IEUsdSxkLGY9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsdGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzKTtjb25zdCBwPVtdO2xldCBtPSExO2Zvcihjb25zdCBlIG9mIGMpe2NvbnN0IHQ9Zi5lbmNvZGVTdHJpbmcoZSk7dC5sZW5ndGg+MSYmKG09ITApO3AucHVzaCh0LmpvaW4oIiIpKX1pZihtJiZpJkMpcmV0dXJue25lZWRBcHBlYXJhbmNlczohMH07aWYobSYmdGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGk9dGhpcy5kYXRhLmNvbWI/Im1vbm9zcGFjZSI6InNhbnMtc2VyaWYiLGE9bmV3IEZha2VVbmljb2RlRm9udChlLnhyZWYsaSkscz1hLmNyZWF0ZUZvbnRSZXNvdXJjZXMoYy5qb2luKCIiKSksbj1zLmdldFJhdygiRm9udCIpO2lmKHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5oYXMoIkZvbnQiKSl7Y29uc3QgZT10aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuZ2V0KCJGb250Iik7Zm9yKGNvbnN0IHQgb2Ygbi5nZXRLZXlzKCkpZS5zZXQodCxuLmdldFJhdyh0KSl9ZWxzZSB0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMuc2V0KCJGb250IixuKTtjb25zdCBnPWEuZm9udE5hbWUubmFtZTtmPWF3YWl0IFdpZGdldEFubm90YXRpb24uX2dldEZvbnREYXRhKGUsdCx7Zm9udE5hbWU6Zyxmb250U2l6ZTowfSxzKTtmb3IobGV0IGU9MCx0PXAubGVuZ3RoO2U8dDtlKyspcFtlXT1zdHJpbmdUb1VURjE2U3RyaW5nKGNbZV0pO2NvbnN0IG89T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemU9MDt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhLmZvbnROYW1lPWc7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YT1vfWVsc2V7dGhpcy5faXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR8fHdhcm4oIl9nZXRBcHBlYXJhbmNlOiBPZmZzY3JlZW5DYW52YXMgaXMgbm90IHN1cHBvcnRlZCwgYW5ub3RhdGlvbiBtYXkgbm90IHJlbmRlciBjb3JyZWN0bHkuIik7W0UsdSxkXT10aGlzLl9jb21wdXRlRm9udFNpemUobC0yLFEtNCxyLGYsaCl9bGV0IHk9Zi5kZXNjZW50O3k9aXNOYU4oeSk/bipkOk1hdGgubWF4KG4qZCxNYXRoLmFicyh5KSp1KTtjb25zdCB3PU1hdGgubWluKE1hdGguZmxvb3IoKGwtdSkvMiksMSksRD10aGlzLmRhdGEudGV4dEFsaWdubWVudDtpZih0aGlzLmRhdGEubXVsdGlMaW5lKXJldHVybiB0aGlzLl9nZXRNdWx0aWxpbmVBcHBlYXJhbmNlKEUscCxmLHUsUSxsLEQsMix3LHksZCxhKTtpZih0aGlzLmRhdGEuY29tYilyZXR1cm4gdGhpcy5fZ2V0Q29tYkFwcGVhcmFuY2UoRSxmLHBbMF0sdSxRLGwsMix3LHksZCxhKTtjb25zdCBiPXcreTtpZigwPT09RHx8RD4yKXJldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgJHtudW1iZXJUb1N0cmluZygyKX0gJHtudW1iZXJUb1N0cmluZyhiKX0gVG0gKCR7ZXNjYXBlU3RyaW5nKHBbMF0pfSkgVGogRVQgUSBFTUNgO3JldHVybmAvVHggQk1DIHEgJHtvfUJUIGArRStgIDEgMCAwIDEgMCAwIFRtICR7dGhpcy5fcmVuZGVyVGV4dChwWzBdLGYsdSxRLEQse3NoaWZ0OjB9LDIsYil9IEVUIFEgRU1DYH1zdGF0aWMgYXN5bmMgX2dldEZvbnREYXRhKGUsdCxpLGEpe2NvbnN0IHM9bmV3IE9wZXJhdG9yTGlzdCxyPXtmb250Om51bGwsY2xvbmUoKXtyZXR1cm4gdGhpc319LHtmb250TmFtZTpuLGZvbnRTaXplOmd9PWk7YXdhaXQgZS5oYW5kbGVTZXRGb250KGEsW24mJk5hbWUuZ2V0KG4pLGddLG51bGwscyx0LHIsbnVsbCk7cmV0dXJuIHIuZm9udH1fZ2V0VGV4dFdpZHRoKGUsdCl7cmV0dXJuIHQuY2hhcnNUb0dseXBocyhlKS5yZWR1Y2UoKChlLHQpPT5lK3Qud2lkdGgpLDApLzFlM31fY29tcHV0ZUZvbnRTaXplKGUsdCxpLGEscil7bGV0e2ZvbnRTaXplOm59PXRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEsZz0obnx8MTIpKnMsbz1NYXRoLnJvdW5kKGUvZyk7aWYoIW4pe2NvbnN0IHJvdW5kV2l0aFR3b0RpZ2l0cz1lPT5NYXRoLmZsb29yKDEwMCplKS8xMDA7aWYoLTE9PT1yKXtjb25zdCByPXRoaXMuX2dldFRleHRXaWR0aChpLGEpO249cm91bmRXaXRoVHdvRGlnaXRzKE1hdGgubWluKGUvcyxyPnQ/dC9yOjEvMCkpO289MX1lbHNle2NvbnN0IGM9aS5zcGxpdCgvXHJcbj98XG4vKSxDPVtdO2Zvcihjb25zdCBlIG9mIGMpe2NvbnN0IHQ9YS5lbmNvZGVTdHJpbmcoZSkuam9pbigiIiksaT1hLmNoYXJzVG9HbHlwaHModCkscz1hLmdldENoYXJQb3NpdGlvbnModCk7Qy5wdXNoKHtsaW5lOnQsZ2x5cGhzOmkscG9zaXRpb25zOnN9KX1jb25zdCBpc1Rvb0JpZz1pPT57bGV0IHM9MDtmb3IoY29uc3QgciBvZiBDKXtzKz10aGlzLl9zcGxpdExpbmUobnVsbCxhLGksdCxyKS5sZW5ndGgqaTtpZihzPmUpcmV0dXJuITB9cmV0dXJuITF9O289TWF0aC5tYXgobyxyKTtmb3IoOzspe2c9ZS9vO249cm91bmRXaXRoVHdvRGlnaXRzKGcvcyk7aWYoIWlzVG9vQmlnKG4pKWJyZWFrO28rK319Y29uc3R7Zm9udE5hbWU6Yyxmb250Q29sb3I6Q309dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT1mdW5jdGlvbiBjcmVhdGVEZWZhdWx0QXBwZWFyYW5jZSh7Zm9udFNpemU6ZSxmb250TmFtZTp0LGZvbnRDb2xvcjppfSl7cmV0dXJuYC8ke2VzY2FwZVBERk5hbWUodCl9ICR7ZX0gVGYgJHtnZXRQZGZDb2xvcihpLCEwKX1gfSh7Zm9udFNpemU6bixmb250TmFtZTpjLGZvbnRDb2xvcjpDfSl9cmV0dXJuW3RoaXMuX2RlZmF1bHRBcHBlYXJhbmNlLG4sZS9vXX1fcmVuZGVyVGV4dChlLHQsaSxhLHMscixuLGcpe2xldCBvO2lmKDE9PT1zKXtvPShhLXRoaXMuX2dldFRleHRXaWR0aChlLHQpKmkpLzJ9ZWxzZSBpZigyPT09cyl7bz1hLXRoaXMuX2dldFRleHRXaWR0aChlLHQpKmktbn1lbHNlIG89bjtjb25zdCBjPW51bWJlclRvU3RyaW5nKG8tci5zaGlmdCk7ci5zaGlmdD1vO3JldHVybmAke2N9ICR7Zz1udW1iZXJUb1N0cmluZyhnKX0gVGQgKCR7ZXNjYXBlU3RyaW5nKGUpfSkgVGpgfV9nZXRTYXZlRmllbGRSZXNvdXJjZXMoZSl7Y29uc3R7bG9jYWxSZXNvdXJjZXM6dCxhcHBlYXJhbmNlUmVzb3VyY2VzOmksYWNyb0Zvcm1SZXNvdXJjZXM6YX09dGhpcy5fZmllbGRSZXNvdXJjZXMscz10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPy5mb250TmFtZTtpZighcylyZXR1cm4gdHx8RGljdC5lbXB0eTtmb3IoY29uc3QgZSBvZlt0LGldKWlmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCB0PWUuZ2V0KCJGb250Iik7aWYodCBpbnN0YW5jZW9mIERpY3QmJnQuaGFzKHMpKXJldHVybiBlfWlmKGEgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWEuZ2V0KCJGb250Iik7aWYoaSBpbnN0YW5jZW9mIERpY3QmJmkuaGFzKHMpKXtjb25zdCBhPW5ldyBEaWN0KGUpO2Euc2V0KHMsaS5nZXRSYXcocykpO2NvbnN0IHI9bmV3IERpY3QoZSk7ci5zZXQoIkZvbnQiLGEpO3JldHVybiBEaWN0Lm1lcmdlKHt4cmVmOmUsZGljdEFycmF5OltyLHRdLG1lcmdlU3ViRGljdHM6ITB9KX19cmV0dXJuIHR8fERpY3QuZW1wdHl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm4gbnVsbH19Y2xhc3MgVGV4dFdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dH09ZTtpZih0LmhhcygiUE1EIikpe3RoaXMuZmxhZ3N8PXo7dGhpcy5kYXRhLmhpZGRlbj0hMDt3YXJuKCJCYXJjb2RlcyBhcmUgbm90IHN1cHBvcnRlZCIpfXRoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLnJlYWRPbmx5JiYhdGhpcy5kYXRhLm5vSFRNTDt0aGlzLl9oYXNUZXh0PSEwOyJzdHJpbmciIT10eXBlb2YgdGhpcy5kYXRhLmZpZWxkVmFsdWUmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT0iIik7bGV0IGk9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiUSJ9KTsoIU51bWJlci5pc0ludGVnZXIoaSl8fGk8MHx8aT4yKSYmKGk9bnVsbCk7dGhpcy5kYXRhLnRleHRBbGlnbm1lbnQ9aTtsZXQgYT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJNYXhMZW4ifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHxhPDApJiYoYT0wKTt0aGlzLmRhdGEubWF4TGVuPWE7dGhpcy5kYXRhLm11bHRpTGluZT10aGlzLmhhc0ZpZWxkRmxhZyhzQSk7dGhpcy5kYXRhLmNvbWI9dGhpcy5oYXNGaWVsZEZsYWcoaEEpJiYhdGhpcy5oYXNGaWVsZEZsYWcoc0EpJiYhdGhpcy5oYXNGaWVsZEZsYWcockEpJiYhdGhpcy5oYXNGaWVsZEZsYWcoSUEpJiYwIT09dGhpcy5kYXRhLm1heExlbjt0aGlzLmRhdGEuZG9Ob3RTY3JvbGw9dGhpcy5oYXNGaWVsZEZsYWcoQ0EpfWdldCBoYXNUZXh0Q29udGVudCgpe3JldHVybiEhdGhpcy5hcHBlYXJhbmNlJiYhdGhpcy5fbmVlZEFwcGVhcmFuY2VzfV9nZXRDb21iQXBwZWFyYW5jZShlLHQsaSxhLHMscixuLGcsbyxjLEMpe2NvbnN0IGg9cy90aGlzLmRhdGEubWF4TGVuLGw9dGhpcy5nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoQyksUT1bXSxFPXQuZ2V0Q2hhclBvc2l0aW9ucyhpKTtmb3IoY29uc3RbZSx0XW9mIEUpUS5wdXNoKGAoJHtlc2NhcGVTdHJpbmcoaS5zdWJzdHJpbmcoZSx0KSl9KSBUamApO2NvbnN0IHU9US5qb2luKGAgJHtudW1iZXJUb1N0cmluZyhoKX0gMCBUZCBgKTtyZXR1cm5gL1R4IEJNQyBxICR7bH1CVCBgK2UrYCAxIDAgMCAxICR7bnVtYmVyVG9TdHJpbmcobil9ICR7bnVtYmVyVG9TdHJpbmcoZytvKX0gVG0gJHt1fSBFVCBRIEVNQ2B9X2dldE11bHRpbGluZUFwcGVhcmFuY2UoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2NvbnN0IGw9W10sUT1zLTIqZyxFPXtzaGlmdDowfTtmb3IobGV0IGU9MCxyPXQubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9dFtlXSxoPXRoaXMuX3NwbGl0TGluZShyLGksYSxRKTtmb3IobGV0IHQ9MCxyPWgubGVuZ3RoO3Q8cjt0Kyspe2NvbnN0IHI9aFt0XSxRPTA9PT1lJiYwPT09dD8tby0oQy1jKTotQztsLnB1c2godGhpcy5fcmVuZGVyVGV4dChyLGksYSxzLG4sRSxnLFEpKX19Y29uc3QgdT10aGlzLmdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhoKSxkPWwuam9pbigiXG4iKTtyZXR1cm5gL1R4IEJNQyBxICR7dX1CVCBgK2UrYCAxIDAgMCAxIDAgJHtudW1iZXJUb1N0cmluZyhyKX0gVG0gJHtkfSBFVCBRIEVNQ2B9X3NwbGl0TGluZShlLHQsaSxhLHM9e30pe2U9cy5saW5lfHxlO2NvbnN0IHI9cy5nbHlwaHN8fHQuY2hhcnNUb0dseXBocyhlKTtpZihyLmxlbmd0aDw9MSlyZXR1cm5bZV07Y29uc3Qgbj1zLnBvc2l0aW9uc3x8dC5nZXRDaGFyUG9zaXRpb25zKGUpLGc9aS8xZTMsbz1bXTtsZXQgYz0tMSxDPS0xLGg9LTEsbD0wLFE9MDtmb3IobGV0IHQ9MCxpPXIubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0W2ksc109blt0XSxFPXJbdF0sdT1FLndpZHRoKmc7aWYoIiAiPT09RS51bmljb2RlKWlmKFErdT5hKXtvLnB1c2goZS5zdWJzdHJpbmcobCxpKSk7bD1pO1E9dTtjPS0xO2g9LTF9ZWxzZXtRKz11O2M9aTtDPXM7aD10fWVsc2UgaWYoUSt1PmEpaWYoLTEhPT1jKXtvLnB1c2goZS5zdWJzdHJpbmcobCxDKSk7bD1DO3Q9aCsxO2M9LTE7UT0wfWVsc2V7by5wdXNoKGUuc3Vic3RyaW5nKGwsaSkpO2w9aTtRPXV9ZWxzZSBRKz11fWw8ZS5sZW5ndGgmJm8ucHVzaChlLnN1YnN0cmluZyhsLGUubGVuZ3RoKSk7cmV0dXJuIG99Z2V0RmllbGRPYmplY3QoKXtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlLGRlZmF1bHRWYWx1ZTp0aGlzLmRhdGEuZGVmYXVsdEZpZWxkVmFsdWV8fCIiLG11bHRpbGluZTp0aGlzLmRhdGEubXVsdGlMaW5lLHBhc3N3b3JkOnRoaXMuaGFzRmllbGRGbGFnKHJBKSxjaGFyTGltaXQ6dGhpcy5kYXRhLm1heExlbixjb21iOnRoaXMuZGF0YS5jb21iLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZToidGV4dCJ9fX1jbGFzcyBCdXR0b25XaWRnZXRBbm5vdGF0aW9uIGV4dGVuZHMgV2lkZ2V0QW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPW51bGw7dGhpcy5kYXRhLmNoZWNrQm94PSF0aGlzLmhhc0ZpZWxkRmxhZyhuQSkmJiF0aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLnJhZGlvQnV0dG9uPXRoaXMuaGFzRmllbGRGbGFnKG5BKSYmIXRoaXMuaGFzRmllbGRGbGFnKGdBKTt0aGlzLmRhdGEucHVzaEJ1dHRvbj10aGlzLmhhc0ZpZWxkRmxhZyhnQSk7dGhpcy5kYXRhLmlzVG9vbHRpcE9ubHk9ITE7aWYodGhpcy5kYXRhLmNoZWNrQm94KXRoaXMuX3Byb2Nlc3NDaGVja0JveChlKTtlbHNlIGlmKHRoaXMuZGF0YS5yYWRpb0J1dHRvbil0aGlzLl9wcm9jZXNzUmFkaW9CdXR0b24oZSk7ZWxzZSBpZih0aGlzLmRhdGEucHVzaEJ1dHRvbil7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuX3Byb2Nlc3NQdXNoQnV0dG9uKGUpfWVsc2Ugd2FybigiSW52YWxpZCBmaWVsZCBmbGFncyBmb3IgYnV0dG9uIHdpZGdldCBhbm5vdGF0aW9uIil9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpe2lmKHRoaXMuZGF0YS5wdXNoQnV0dG9uKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEsITEscyk7bGV0IHI9bnVsbCxuPW51bGw7aWYocyl7Y29uc3QgZT1zLmdldCh0aGlzLmRhdGEuaWQpO3I9ZT9lLnZhbHVlOm51bGw7bj1lP2Uucm90YXRpb246bnVsbH1pZihudWxsPT09ciYmdGhpcy5hcHBlYXJhbmNlKXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscyk7bnVsbD09ciYmKHI9dGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmV4cG9ydFZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlKTtjb25zdCBnPXI/dGhpcy5jaGVja2VkQXBwZWFyYW5jZTp0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U7aWYoZyl7Y29uc3Qgcj10aGlzLmFwcGVhcmFuY2Usbz1sb29rdXBNYXRyaXgoZy5kaWN0LmdldEFycmF5KCJNYXRyaXgiKSxpKTtuJiZnLmRpY3Quc2V0KCJNYXRyaXgiLHRoaXMuZ2V0Um90YXRpb25NYXRyaXgocykpO3RoaXMuYXBwZWFyYW5jZT1nO2NvbnN0IGM9c3VwZXIuZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpO3RoaXMuYXBwZWFyYW5jZT1yO2cuZGljdC5zZXQoIk1hdHJpeCIsbyk7cmV0dXJuIGN9cmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX19YXN5bmMgc2F2ZShlLHQsaSl7cmV0dXJuIHRoaXMuZGF0YS5jaGVja0JveD90aGlzLl9zYXZlQ2hlY2tib3goZSx0LGkpOnRoaXMuZGF0YS5yYWRpb0J1dHRvbj90aGlzLl9zYXZlUmFkaW9CdXR0b24oZSx0LGkpOm51bGx9YXN5bmMgX3NhdmVDaGVja2JveChlLHQsaSl7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3QgYT1pLmdldCh0aGlzLmRhdGEuaWQpO2xldCBzPWE/LnJvdGF0aW9uLHI9YT8udmFsdWU7aWYodm9pZCAwPT09cyl7aWYodm9pZCAwPT09cilyZXR1cm4gbnVsbDtpZih0aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5leHBvcnRWYWx1ZT09PXIpcmV0dXJuIG51bGx9Y29uc3Qgbj1lLnhyZWYuZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7dm9pZCAwPT09cyYmKHM9dGhpcy5yb3RhdGlvbik7dm9pZCAwPT09ciYmKHI9dGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuZXhwb3J0VmFsdWUpO2NvbnN0IGc9e3BhdGg6dGhpcy5kYXRhLmZpZWxkTmFtZSx2YWx1ZTpyP3RoaXMuZGF0YS5leHBvcnRWYWx1ZToiIn0sbz1OYW1lLmdldChyP3RoaXMuZGF0YS5leHBvcnRWYWx1ZToiT2ZmIik7bi5zZXQoIlYiLG8pO24uc2V0KCJBUyIsbyk7bi5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2NvbnN0IGM9dGhpcy5fZ2V0TUtEaWN0KHMpO2MmJm4uc2V0KCJNSyIsYyk7Y29uc3QgQz1bXTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnJlZixuLEMsZS54cmVmKTtyZXR1cm5be3JlZjp0aGlzLnJlZixkYXRhOkMuam9pbigiIikseGZhOmd9XX1hc3luYyBfc2F2ZVJhZGlvQnV0dG9uKGUsdCxpKXtpZighaSlyZXR1cm4gbnVsbDtjb25zdCBhPWkuZ2V0KHRoaXMuZGF0YS5pZCk7bGV0IHM9YT8ucm90YXRpb24scj1hPy52YWx1ZTtpZih2b2lkIDA9PT1zKXtpZih2b2lkIDA9PT1yKXJldHVybiBudWxsO2lmKHRoaXMuZGF0YS5maWVsZFZhbHVlPT09dGhpcy5kYXRhLmJ1dHRvblZhbHVlPT09cilyZXR1cm4gbnVsbH1jb25zdCBuPWUueHJlZi5mZXRjaElmUmVmKHRoaXMucmVmKTtpZighKG4gaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDt2b2lkIDA9PT1yJiYocj10aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dm9pZCAwPT09cyYmKHM9dGhpcy5yb3RhdGlvbik7Y29uc3QgZz17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOnI/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiIifSxvPU5hbWUuZ2V0KHI/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiJPZmYiKSxjPVtdO2xldCBDPW51bGw7aWYocilpZih0aGlzLnBhcmVudCBpbnN0YW5jZW9mIFJlZil7Y29uc3QgdD1lLnhyZWYuZmV0Y2godGhpcy5wYXJlbnQpO3Quc2V0KCJWIixvKTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnBhcmVudCx0LGMsZS54cmVmKTtDPWMuam9pbigiIik7Yy5sZW5ndGg9MH1lbHNlIHRoaXMucGFyZW50IGluc3RhbmNlb2YgRGljdCYmdGhpcy5wYXJlbnQuc2V0KCJWIixvKTtuLnNldCgiQVMiLG8pO24uc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtjb25zdCBoPXRoaXMuX2dldE1LRGljdChzKTtoJiZuLnNldCgiTUsiLGgpO2F3YWl0IHdyaXRlT2JqZWN0KHRoaXMucmVmLG4sYyxlLnhyZWYpO2NvbnN0IGw9W3tyZWY6dGhpcy5yZWYsZGF0YTpjLmpvaW4oIiIpLHhmYTpnfV07QyYmbC5wdXNoKHtyZWY6dGhpcy5wYXJlbnQsZGF0YTpDLHhmYTpudWxsfSk7cmV0dXJuIGx9X2dldERlZmF1bHRDaGVja2VkQXBwZWFyYW5jZShlLHQpe2NvbnN0IGk9dGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sYT10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxzPVswLDAsaSxhXSxyPS44Kk1hdGgubWluKGksYSk7bGV0IG4sZztpZigiY2hlY2siPT09dCl7bj17d2lkdGg6Ljc1NSpyLGhlaWdodDouNzA1KnJ9O2c9IjMifWVsc2UgaWYoImRpc2MiPT09dCl7bj17d2lkdGg6Ljc5MSpyLGhlaWdodDouNzA1KnJ9O2c9ImwifWVsc2UgdW5yZWFjaGFibGUoYF9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UgLSB1bnN1cHBvcnRlZCB0eXBlOiAke3R9YCk7Y29uc3Qgbz1gcSBCVCAvUGRmSnNaYURiICR7cn0gVGYgMCBnICR7bnVtYmVyVG9TdHJpbmcoKGktbi53aWR0aCkvMil9ICR7bnVtYmVyVG9TdHJpbmcoKGEtbi5oZWlnaHQpLzIpfSBUZCAoJHtnfSkgVGogRVQgUWAsYz1uZXcgRGljdChlLnhyZWYpO2Muc2V0KCJGb3JtVHlwZSIsMSk7Yy5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO2Muc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtjLnNldCgiQkJveCIscyk7Yy5zZXQoIk1hdHJpeCIsWzEsMCwwLDEsMCwwXSk7Yy5zZXQoIkxlbmd0aCIsby5sZW5ndGgpO2NvbnN0IEM9bmV3IERpY3QoZS54cmVmKSxoPW5ldyBEaWN0KGUueHJlZik7aC5zZXQoIlBkZkpzWmFEYiIsdGhpcy5mYWxsYmFja0ZvbnREaWN0KTtDLnNldCgiRm9udCIsaCk7Yy5zZXQoIlJlc291cmNlcyIsQyk7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT1uZXcgU3RyaW5nU3RyZWFtKG8pO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2UuZGljdD1jO3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmNoZWNrZWRBcHBlYXJhbmNlKX1fcHJvY2Vzc0NoZWNrQm94KGUpe2NvbnN0IHQ9ZS5kaWN0LmdldCgiQVAiKTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgaT10LmdldCgiTiIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBhPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShlLmRpY3QuZ2V0KCJBUyIpKTsic3RyaW5nIj09dHlwZW9mIGEmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT1hKTtjb25zdCBzPW51bGwhPT10aGlzLmRhdGEuZmllbGRWYWx1ZSYmIk9mZiIhPT10aGlzLmRhdGEuZmllbGRWYWx1ZT90aGlzLmRhdGEuZmllbGRWYWx1ZToiWWVzIixyPWkuZ2V0S2V5cygpO2lmKDA9PT1yLmxlbmd0aClyLnB1c2goIk9mZiIscyk7ZWxzZSBpZigxPT09ci5sZW5ndGgpIk9mZiI9PT1yWzBdP3IucHVzaChzKTpyLnVuc2hpZnQoIk9mZiIpO2Vsc2UgaWYoci5pbmNsdWRlcyhzKSl7ci5sZW5ndGg9MDtyLnB1c2goIk9mZiIscyl9ZWxzZXtjb25zdCBlPXIuZmluZCgoZT0+Ik9mZiIhPT1lKSk7ci5sZW5ndGg9MDtyLnB1c2goIk9mZiIsZSl9ci5pbmNsdWRlcyh0aGlzLmRhdGEuZmllbGRWYWx1ZSl8fCh0aGlzLmRhdGEuZmllbGRWYWx1ZT0iT2ZmIik7dGhpcy5kYXRhLmV4cG9ydFZhbHVlPXJbMV07Y29uc3Qgbj1pLmdldCh0aGlzLmRhdGEuZXhwb3J0VmFsdWUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9biBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/bjpudWxsO2NvbnN0IGc9aS5nZXQoIk9mZiIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZT1nIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9nOm51bGw7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT90aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSk6dGhpcy5fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsImNoZWNrIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlJiZ0aGlzLl9zdHJlYW1zLnB1c2godGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlKTt0aGlzLl9mYWxsYmFja0ZvbnREaWN0PXRoaXMuZmFsbGJhY2tGb250RGljdDtudWxsPT09dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlJiYodGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlPSJPZmYiKX1fcHJvY2Vzc1JhZGlvQnV0dG9uKGUpe3RoaXMuZGF0YS5idXR0b25WYWx1ZT1udWxsO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUGFyZW50Iik7aWYodCBpbnN0YW5jZW9mIERpY3Qpe3RoaXMucGFyZW50PWUuZGljdC5nZXRSYXcoIlBhcmVudCIpO2NvbnN0IGk9dC5nZXQoIlYiKTtpIGluc3RhbmNlb2YgTmFtZSYmKHRoaXMuZGF0YS5maWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShpKSl9Y29uc3QgaT1lLmRpY3QuZ2V0KCJBUCIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBhPWkuZ2V0KCJOIik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIGEuZ2V0S2V5cygpKWlmKCJPZmYiIT09ZSl7dGhpcy5kYXRhLmJ1dHRvblZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShlKTticmVha31jb25zdCBzPWEuZ2V0KHRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT1zIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9zOm51bGw7Y29uc3Qgcj1hLmdldCgiT2ZmIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPXIgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP3I6bnVsbDt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlP3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmNoZWNrZWRBcHBlYXJhbmNlKTp0aGlzLl9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UoZSwiZGlzYyIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMudW5jaGVja2VkQXBwZWFyYW5jZSk7dGhpcy5fZmFsbGJhY2tGb250RGljdD10aGlzLmZhbGxiYWNrRm9udERpY3Q7bnVsbD09PXRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSYmKHRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZT0iT2ZmIil9X3Byb2Nlc3NQdXNoQnV0dG9uKGUpe2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczppfT1lO2lmKHQuaGFzKCJBIil8fHQuaGFzKCJBQSIpfHx0aGlzLmRhdGEuYWx0ZXJuYXRpdmVUZXh0KXt0aGlzLmRhdGEuaXNUb29sdGlwT25seT0hdC5oYXMoIkEiKSYmIXQuaGFzKCJBQSIpO0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6dCxyZXN1bHRPYmo6dGhpcy5kYXRhLGRvY0Jhc2VVcmw6aS5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOmkuYXR0YWNobWVudHN9KX1lbHNlIHdhcm4oIlB1c2ggYnV0dG9ucyB3aXRob3V0IGFjdGlvbiBkaWN0aW9uYXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX1nZXRGaWVsZE9iamVjdCgpe2xldCBlLHQ9ImJ1dHRvbiI7aWYodGhpcy5kYXRhLmNoZWNrQm94KXt0PSJjaGVja2JveCI7ZT10aGlzLmRhdGEuZXhwb3J0VmFsdWV9ZWxzZSBpZih0aGlzLmRhdGEucmFkaW9CdXR0b24pe3Q9InJhZGlvYnV0dG9uIjtlPXRoaXMuZGF0YS5idXR0b25WYWx1ZX1yZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlfHwiT2ZmIixkZWZhdWx0VmFsdWU6dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlLGV4cG9ydFZhbHVlczplLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTp0fX1nZXQgZmFsbGJhY2tGb250RGljdCgpe2NvbnN0IGU9bmV3IERpY3Q7ZS5zZXQoIkJhc2VGb250IixOYW1lLmdldCgiWmFwZkRpbmdiYXRzIikpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIlphcGZEaW5nYmF0c0VuY29kaW5nIikpO3JldHVybiBzaGFkb3codGhpcywiZmFsbGJhY2tGb250RGljdCIsZSl9fWNsYXNzIENob2ljZVdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5pbmRpY2VzPXQuZ2V0QXJyYXkoIkkiKTt0aGlzLmhhc0luZGljZXM9QXJyYXkuaXNBcnJheSh0aGlzLmluZGljZXMpJiZ0aGlzLmluZGljZXMubGVuZ3RoPjA7dGhpcy5kYXRhLm9wdGlvbnM9W107Y29uc3QgYT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJPcHQifSk7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9aS5mZXRjaElmUmVmKGFbZV0pLHM9QXJyYXkuaXNBcnJheSh0KTt0aGlzLmRhdGEub3B0aW9uc1tlXT17ZXhwb3J0VmFsdWU6dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHM/aS5mZXRjaElmUmVmKHRbMF0pOnQpLGRpc3BsYXlWYWx1ZTp0aGlzLl9kZWNvZGVGb3JtVmFsdWUocz9pLmZldGNoSWZSZWYodFsxXSk6dCl9fWlmKHRoaXMuaGFzSW5kaWNlcyl7dGhpcy5kYXRhLmZpZWxkVmFsdWU9W107Y29uc3QgZT10aGlzLmRhdGEub3B0aW9ucy5sZW5ndGg7Zm9yKGNvbnN0IHQgb2YgdGhpcy5pbmRpY2VzKU51bWJlci5pc0ludGVnZXIodCkmJnQ+PTAmJnQ8ZSYmdGhpcy5kYXRhLmZpZWxkVmFsdWUucHVzaCh0aGlzLmRhdGEub3B0aW9uc1t0XS5leHBvcnRWYWx1ZSl9ZWxzZSJzdHJpbmciPT10eXBlb2YgdGhpcy5kYXRhLmZpZWxkVmFsdWU/dGhpcy5kYXRhLmZpZWxkVmFsdWU9W3RoaXMuZGF0YS5maWVsZFZhbHVlXTp0aGlzLmRhdGEuZmllbGRWYWx1ZXx8KHRoaXMuZGF0YS5maWVsZFZhbHVlPVtdKTt0aGlzLmRhdGEuY29tYm89dGhpcy5oYXNGaWVsZEZsYWcob0EpO3RoaXMuZGF0YS5tdWx0aVNlbGVjdD10aGlzLmhhc0ZpZWxkRmxhZyhjQSk7dGhpcy5faGFzVGV4dD0hMH1nZXRGaWVsZE9iamVjdCgpe2NvbnN0IGU9dGhpcy5kYXRhLmNvbWJvPyJjb21ib2JveCI6Imxpc3Rib3giLHQ9dGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoPjA/dGhpcy5kYXRhLmZpZWxkVmFsdWVbMF06bnVsbDtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnQsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSxlZGl0YWJsZTohdGhpcy5kYXRhLnJlYWRPbmx5LG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxyZWN0OnRoaXMuZGF0YS5yZWN0LG51bUl0ZW1zOnRoaXMuZGF0YS5maWVsZFZhbHVlLmxlbmd0aCxtdWx0aXBsZVNlbGVjdGlvbjp0aGlzLmRhdGEubXVsdGlTZWxlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxpdGVtczp0aGlzLmRhdGEub3B0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTplfX1hbWVuZFNhdmVkRGljdChlLHQpe2lmKCF0aGlzLmhhc0luZGljZXMpcmV0dXJuO2xldCBpPWU/LmdldCh0aGlzLmRhdGEuaWQpPy52YWx1ZTtBcnJheS5pc0FycmF5KGkpfHwoaT1baV0pO2NvbnN0IGE9W10se29wdGlvbnM6c309dGhpcy5kYXRhO2ZvcihsZXQgZT0wLHQ9MCxyPXMubGVuZ3RoO2U8cjtlKyspaWYoc1tlXS5leHBvcnRWYWx1ZT09PWlbdF0pe2EucHVzaChlKTt0Kz0xfXQuc2V0KCJJIixhKX1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQsaSxhKXtpZih0aGlzLmRhdGEuY29tYm8pcmV0dXJuIHN1cGVyLl9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpO2xldCByLG47Y29uc3QgZz1hPy5nZXQodGhpcy5kYXRhLmlkKTtpZihnKXtuPWcucm90YXRpb247cj1nLnZhbHVlfWlmKHZvaWQgMD09PW4mJnZvaWQgMD09PXImJiF0aGlzLl9uZWVkQXBwZWFyYW5jZXMpcmV0dXJuIG51bGw7dm9pZCAwPT09cj9yPXRoaXMuZGF0YS5maWVsZFZhbHVlOkFycmF5LmlzQXJyYXkocil8fChyPVtyXSk7bGV0IG89dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0sYz10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXTs5MCE9PW4mJjI3MCE9PW58fChbYyxvXT1bbyxjXSk7Y29uc3QgQz10aGlzLmRhdGEub3B0aW9ucy5sZW5ndGgsaD1bXTtmb3IobGV0IGU9MDtlPEM7ZSsrKXtjb25zdHtleHBvcnRWYWx1ZTp0fT10aGlzLmRhdGEub3B0aW9uc1tlXTtyLmluY2x1ZGVzKHQpJiZoLnB1c2goZSl9dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7Y29uc3QgbD1hd2FpdCBXaWRnZXRBbm5vdGF0aW9uLl9nZXRGb250RGF0YShlLHQsdGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YSx0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMpO2xldCBRLHtmb250U2l6ZTpFfT10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhO2lmKEUpUT10aGlzLl9kZWZhdWx0QXBwZWFyYW5jZTtlbHNle2NvbnN0IGU9KG8tMSkvQztsZXQgdCxpPS0xO2Zvcihjb25zdHtkaXNwbGF5VmFsdWU6ZX1vZiB0aGlzLmRhdGEub3B0aW9ucyl7Y29uc3QgYT10aGlzLl9nZXRUZXh0V2lkdGgoZSxsKTtpZihhPmkpe2k9YTt0PWV9fVtRLEVdPXRoaXMuX2NvbXB1dGVGb250U2l6ZShlLGMtNCx0LGwsLTEpfWNvbnN0IHU9RSpzLGQ9KHUtRSkvMixmPU1hdGguZmxvb3Ioby91KTtsZXQgcD0wO2lmKGgubGVuZ3RoPjApe2NvbnN0IGU9TWF0aC5taW4oLi4uaCksdD1NYXRoLm1heCguLi5oKTtwPU1hdGgubWF4KDAsdC1mKzEpO3A+ZSYmKHA9ZSl9Y29uc3QgbT1NYXRoLm1pbihwK2YrMSxDKSx5PVsiL1R4IEJNQyBxIixgMSAxICR7Y30gJHtvfSByZSBXIG5gXTtpZihoLmxlbmd0aCl7eS5wdXNoKCIwLjYwMDAwNiAwLjc1Njg2NiAwLjg1NDkwNCByZyIpO2Zvcihjb25zdCBlIG9mIGgpcDw9ZSYmZTxtJiZ5LnB1c2goYDEgJHtvLShlLXArMSkqdX0gJHtjfSAke3V9IHJlIGZgKX15LnB1c2goIkJUIixRLGAxIDAgMCAxIDAgJHtvfSBUbWApO2NvbnN0IHc9e3NoaWZ0OjB9O2ZvcihsZXQgZT1wO2U8bTtlKyspe2NvbnN0e2Rpc3BsYXlWYWx1ZTp0fT10aGlzLmRhdGEub3B0aW9uc1tlXSxpPWU9PT1wP2Q6MDt5LnB1c2godGhpcy5fcmVuZGVyVGV4dCh0LGwsRSxjLDAsdywyLC11K2kpKX15LnB1c2goIkVUIFEgRU1DIik7cmV0dXJuIHkuam9pbigiXG4iKX19Y2xhc3MgU2lnbmF0dXJlV2lkZ2V0QW5ub3RhdGlvbiBleHRlbmRzIFdpZGdldEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmZpZWxkVmFsdWU9bnVsbDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSF0aGlzLmRhdGEuaGFzT3duQ2FudmFzfWdldEZpZWxkT2JqZWN0KCl7cmV0dXJue2lkOnRoaXMuZGF0YS5pZCx2YWx1ZTpudWxsLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCx0eXBlOiJzaWduYXR1cmUifX19Y2xhc3MgVGV4dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5ub1JvdGF0ZT0hMDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2RpY3Q6dH09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9aztpZih0aGlzLmRhdGEuaGFzQXBwZWFyYW5jZSl0aGlzLmRhdGEubmFtZT0iTm9JY29uIjtlbHNle3RoaXMuZGF0YS5yZWN0WzFdPXRoaXMuZGF0YS5yZWN0WzNdLTIyO3RoaXMuZGF0YS5yZWN0WzJdPXRoaXMuZGF0YS5yZWN0WzBdKzIyO3RoaXMuZGF0YS5uYW1lPXQuaGFzKCJOYW1lIik/dC5nZXQoIk5hbWUiKS5uYW1lOiJOb3RlIn1pZih0LmhhcygiU3RhdGUiKSl7dGhpcy5kYXRhLnN0YXRlPXQuZ2V0KCJTdGF0ZSIpfHxudWxsO3RoaXMuZGF0YS5zdGF0ZU1vZGVsPXQuZ2V0KCJTdGF0ZU1vZGVsIil8fG51bGx9ZWxzZXt0aGlzLmRhdGEuc3RhdGU9bnVsbDt0aGlzLmRhdGEuc3RhdGVNb2RlbD1udWxsfX19Y2xhc3MgTGlua0Fubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1SO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3QgYT1nZXRRdWFkUG9pbnRzKHQsdGhpcy5yZWN0YW5nbGUpO2EmJih0aGlzLmRhdGEucXVhZFBvaW50cz1hKTt0aGlzLmRhdGEuYm9yZGVyQ29sb3J8fD10aGlzLmRhdGEuY29sb3I7Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDp0LHJlc3VsdE9iajp0aGlzLmRhdGEsZG9jQmFzZVVybDppLmJhc2VVcmwsZG9jQXR0YWNobWVudHM6aS5hdHRhY2htZW50c30pfX1jbGFzcyBQb3B1cEFubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dH09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Tzt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS5yZWN0WzBdIT09dGhpcy5kYXRhLnJlY3RbMl0mJnRoaXMuZGF0YS5yZWN0WzFdIT09dGhpcy5kYXRhLnJlY3RbM118fCh0aGlzLmRhdGEucmVjdD1udWxsKTtsZXQgaT10LmdldCgiUGFyZW50Iik7aWYoIWkpe3dhcm4oIlBvcHVwIGFubm90YXRpb24gaGFzIGEgbWlzc2luZyBvciBpbnZhbGlkIHBhcmVudCBhbm5vdGF0aW9uLiIpO3JldHVybn10aGlzLmRhdGEucGFyZW50UmVjdD1sb29rdXBOb3JtYWxSZWN0KGkuZ2V0QXJyYXkoIlJlY3QiKSxudWxsKTtpc05hbWUoaS5nZXQoIlJUIiksWCkmJihpPWkuZ2V0KCJJUlQiKSk7aWYoaS5oYXMoIk0iKSl7dGhpcy5zZXRNb2RpZmljYXRpb25EYXRlKGkuZ2V0KCJNIikpO3RoaXMuZGF0YS5tb2RpZmljYXRpb25EYXRlPXRoaXMubW9kaWZpY2F0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5tb2RpZmljYXRpb25EYXRlPW51bGw7aWYoaS5oYXMoIkMiKSl7dGhpcy5zZXRDb2xvcihpLmdldEFycmF5KCJDIikpO3RoaXMuZGF0YS5jb2xvcj10aGlzLmNvbG9yfWVsc2UgdGhpcy5kYXRhLmNvbG9yPW51bGw7aWYoIXRoaXMudmlld2FibGUpe2NvbnN0IGU9aS5nZXQoIkYiKTt0aGlzLl9pc1ZpZXdhYmxlKGUpJiZ0aGlzLnNldEZsYWdzKGUpfXRoaXMuc2V0VGl0bGUoaS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoaS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpLmhhcygiUkMiKSYmKHRoaXMuZGF0YS5yaWNoVGV4dD1YRkFGYWN0b3J5LmdldFJpY2hUZXh0QXNIdG1sKGkuZ2V0KCJSQyIpKSk7dGhpcy5kYXRhLm9wZW49ISF0LmdldCgiT3BlbiIpfX1jbGFzcyBGcmVlVGV4dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5pc0VkaXRhYmxlPSF0aGlzLmRhdGEubm9IVE1MO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3R7ZXZhbHVhdG9yT3B0aW9uczp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Tjt0aGlzLnNldERlZmF1bHRBcHBlYXJhbmNlKGUpO3RoaXMuX2hhc0FwcGVhcmFuY2U9ISF0aGlzLmFwcGVhcmFuY2U7aWYodGhpcy5faGFzQXBwZWFyYW5jZSl7Y29uc3R7Zm9udENvbG9yOmUsZm9udFNpemU6YX09ZnVuY3Rpb24gcGFyc2VBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtyZXR1cm4gbmV3IEFwcGVhcmFuY2VTdHJlYW1FdmFsdWF0b3IoZSx0LGkpLnBhcnNlKCl9KHRoaXMuYXBwZWFyYW5jZSx0LGkpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udENvbG9yPWU7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YS5mb250U2l6ZT1hfHwxMH1lbHNle3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemV8fD0xMDtjb25zdHtmb250Q29sb3I6dCxmb250U2l6ZTphfT10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhO2lmKHRoaXMuX2NvbnRlbnRzLnN0cil7dGhpcy5kYXRhLnRleHRDb250ZW50PXRoaXMuX2NvbnRlbnRzLnN0ci5zcGxpdCgvXHJcbj98XG4vKS5tYXAoKGU9PmUudHJpbUVuZCgpKSk7Y29uc3R7Y29vcmRzOmUsYmJveDp0LG1hdHJpeDppfT1GYWtlVW5pY29kZUZvbnQuZ2V0Rmlyc3RQb3NpdGlvbkluZm8odGhpcy5yZWN0YW5nbGUsdGhpcy5yb3RhdGlvbixhKTt0aGlzLmRhdGEudGV4dFBvc2l0aW9uPXRoaXMuX3RyYW5zZm9ybVBvaW50KGUsdCxpKX1pZih0aGlzLl9pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCl7Y29uc3Qgcz1lLmRpY3QuZ2V0KCJDQSIpLHI9bmV3IEZha2VVbmljb2RlRm9udChpLCJzYW5zLXNlcmlmIik7dGhpcy5hcHBlYXJhbmNlPXIuY3JlYXRlQXBwZWFyYW5jZSh0aGlzLl9jb250ZW50cy5zdHIsdGhpcy5yZWN0YW5nbGUsdGhpcy5yb3RhdGlvbixhLHQscyk7dGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuYXBwZWFyYW5jZSl9ZWxzZSB3YXJuKCJGcmVlVGV4dEFubm90YXRpb246IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBhbm5vdGF0aW9uIG1heSBub3QgcmVuZGVyIGNvcnJlY3RseS4iKX19Z2V0IGhhc1RleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX2hhc0FwcGVhcmFuY2V9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmEsb2xkQW5ub3RhdGlvbjpzfSl7Y29uc3R7Y29sb3I6cixmb250U2l6ZTpuLHJlY3Q6Zyxyb3RhdGlvbjpvLHVzZXI6Yyx2YWx1ZTpDfT1lLGg9c3x8bmV3IERpY3QodCk7aC5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtoLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZyZWVUZXh0IikpO2lmKHMpe2guc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLmRlbGV0ZSgiUkMiKX1lbHNlIGguc2V0KCJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2guc2V0KCJSZWN0IixnKTtjb25zdCBsPWAvSGVsdiAke259IFRmICR7Z2V0UGRmQ29sb3IociwhMCl9YDtoLnNldCgiREEiLGwpO2guc2V0KCJDb250ZW50cyIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShDKSk7aC5zZXQoIkYiLDQpO2guc2V0KCJCb3JkZXIiLFswLDAsMF0pO2guc2V0KCJSb3RhdGUiLG8pO2MmJmguc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGMpKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO2guc2V0KCJBUCIsZSk7aT9lLnNldCgiTiIsaSk6ZS5zZXQoIk4iLGEpfXJldHVybiBofXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtjb25zdHtiYXNlRm9udFJlZjphLGV2YWx1YXRvcjpyLHRhc2s6bn09aSx7Y29sb3I6Zyxmb250U2l6ZTpvLHJlY3Q6Yyxyb3RhdGlvbjpDLHZhbHVlOmh9PWUsbD1uZXcgRGljdCh0KSxRPW5ldyBEaWN0KHQpO2lmKGEpUS5zZXQoIkhlbHYiLGEpO2Vsc2V7Y29uc3QgZT1uZXcgRGljdCh0KTtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTEiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO1Euc2V0KCJIZWx2IixlKX1sLnNldCgiRm9udCIsUSk7Y29uc3QgRT1hd2FpdCBXaWRnZXRBbm5vdGF0aW9uLl9nZXRGb250RGF0YShyLG4se2ZvbnROYW1lOiJIZWx2Iixmb250U2l6ZTpvfSxsKSxbdSxkLGYscF09YztsZXQgbT1mLXUseT1wLWQ7QyUxODAhPTAmJihbbSx5XT1beSxtXSk7Y29uc3Qgdz1oLnNwbGl0KCJcbiIpLEQ9by8xZTM7bGV0IGI9LTEvMDtjb25zdCBGPVtdO2ZvcihsZXQgZSBvZiB3KXtjb25zdCB0PUUuZW5jb2RlU3RyaW5nKGUpO2lmKHQubGVuZ3RoPjEpcmV0dXJuIG51bGw7ZT10LmpvaW4oIiIpO0YucHVzaChlKTtsZXQgaT0wO2NvbnN0IGE9RS5jaGFyc1RvR2x5cGhzKGUpO2Zvcihjb25zdCBlIG9mIGEpaSs9ZS53aWR0aCpEO2I9TWF0aC5tYXgoYixpKX1sZXQgUz0xO2I+bSYmKFM9bS9iKTtsZXQgaz0xO2NvbnN0IFI9cypvLE49MSpvLEc9Uip3Lmxlbmd0aDtHPnkmJihrPXkvRyk7Y29uc3QgeD1vKk1hdGgubWluKFMsayk7bGV0IFUsTSxMO3N3aXRjaChDKXtjYXNlIDA6TD1bMSwwLDAsMV07TT1bY1swXSxjWzFdLG0seV07VT1bY1swXSxjWzNdLU5dO2JyZWFrO2Nhc2UgOTA6TD1bMCwxLC0xLDBdO009W2NbMV0sLWNbMl0sbSx5XTtVPVtjWzFdLC1jWzBdLU5dO2JyZWFrO2Nhc2UgMTgwOkw9Wy0xLDAsMCwtMV07TT1bLWNbMl0sLWNbM10sbSx5XTtVPVstY1syXSwtY1sxXS1OXTticmVhaztjYXNlIDI3MDpMPVswLC0xLDEsMF07TT1bLWNbM10sY1swXSxtLHldO1U9Wy1jWzNdLGNbMl0tTl19Y29uc3QgSD1bInEiLGAke0wuam9pbigiICIpfSAwIDAgY21gLGAke00uam9pbigiICIpfSByZSBXIG5gLCJCVCIsYCR7Z2V0UGRmQ29sb3IoZywhMCl9YCxgMCBUYyAvSGVsdiAke251bWJlclRvU3RyaW5nKHgpfSBUZmBdO0gucHVzaChgJHtVLmpvaW4oIiAiKX0gVGQgKCR7ZXNjYXBlU3RyaW5nKEZbMF0pfSkgVGpgKTtjb25zdCBKPW51bWJlclRvU3RyaW5nKFIpO2ZvcihsZXQgZT0xLHQ9Ri5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1GW2VdO0gucHVzaChgMCAtJHtKfSBUZCAoJHtlc2NhcGVTdHJpbmcodCl9KSBUamApfUgucHVzaCgiRVQiLCJRIik7Y29uc3QgWT1ILmpvaW4oIlxuIiksdj1uZXcgRGljdCh0KTt2LnNldCgiRm9ybVR5cGUiLDEpO3Yuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTt2LnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7di5zZXQoIkJCb3giLGMpO3Yuc2V0KCJSZXNvdXJjZXMiLGwpO3Yuc2V0KCJNYXRyaXgiLFsxLDAsMCwxLC1jWzBdLC1jWzFdXSk7Y29uc3QgSz1uZXcgU3RyaW5nU3RyZWFtKFkpO0suZGljdD12O3JldHVybiBLfX1jbGFzcyBMaW5lQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Rzt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0IGE9bG9va3VwUmVjdCh0LmdldEFycmF5KCJMIiksWzAsMCwwLDBdKTt0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzPVV0aWwubm9ybWFsaXplUmVjdChhKTt0aGlzLnNldExpbmVFbmRpbmdzKHQuZ2V0QXJyYXkoIkxFIikpO3RoaXMuZGF0YS5saW5lRW5kaW5ncz10aGlzLmxpbmVFbmRpbmdzO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0scz10LmdldCgiQ0EiKSxyPWdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCksbj1yP2dldFBkZkNvbG9yQXJyYXkocik6bnVsbCxnPW4/czpudWxsLG89dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxjPTIqbyxDPVt0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzBdLWMsdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1sxXS1jLHRoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbMl0rYyx0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzNdK2NdO1V0aWwuaW50ZXJzZWN0KHRoaXMucmVjdGFuZ2xlLEMpfHwodGhpcy5yZWN0YW5nbGU9Qyk7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHtvfSB3YCxzdHJva2VDb2xvcjplLGZpbGxDb2xvcjpuLHN0cm9rZUFscGhhOnMsZmlsbEFscGhhOmcscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7YVswXX0gJHthWzFdfSBtYCxgJHthWzJdfSAke2FbM119IGxgLCJTIik7cmV0dXJuW3RbMF0tbyx0WzJdK28sdFs3XS1vLHRbM10rb119fSl9fX1jbGFzcyBTcXVhcmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT14O3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpLHM9Z2V0UmdiQ29sb3IodC5nZXRBcnJheSgiSUMiKSxudWxsKSxyPXM/Z2V0UGRmQ29sb3JBcnJheShzKTpudWxsLG49cj9hOm51bGw7aWYoMD09PXRoaXMuYm9yZGVyU3R5bGUud2lkdGgmJiFyKXJldHVybjt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOnIsc3Ryb2tlQWxwaGE6YSxmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGk9dFs0XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsYT10WzVdK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixzPXRbNl0tdFs0XS10aGlzLmJvcmRlclN0eWxlLndpZHRoLG49dFszXS10WzddLXRoaXMuYm9yZGVyU3R5bGUud2lkdGg7ZS5wdXNoKGAke2l9ICR7YX0gJHtzfSAke259IHJlYCk7cj9lLnB1c2goIkIiKTplLnB1c2goIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1jbGFzcyBDaXJjbGVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1VO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxzPWdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCkscj1zP2dldFBkZkNvbG9yQXJyYXkocyk6bnVsbCxuPXI/YTpudWxsO2lmKDA9PT10aGlzLmJvcmRlclN0eWxlLndpZHRoJiYhcilyZXR1cm47Y29uc3QgZz00LzMqTWF0aC50YW4oTWF0aC5QSS84KTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOnIsc3Ryb2tlQWxwaGE6YSxmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGk9dFswXSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsYT10WzFdLXRoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixzPXRbNl0tdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLG49dFs3XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsbz1pKyhzLWkpLzIsYz1hKyhuLWEpLzIsQz0ocy1pKS8yKmcsaD0obi1hKS8yKmc7ZS5wdXNoKGAke299ICR7bn0gbWAsYCR7bytDfSAke259ICR7c30gJHtjK2h9ICR7c30gJHtjfSBjYCxgJHtzfSAke2MtaH0gJHtvK0N9ICR7YX0gJHtvfSAke2F9IGNgLGAke28tQ30gJHthfSAke2l9ICR7Yy1ofSAke2l9ICR7Y30gY2AsYCR7aX0gJHtjK2h9ICR7by1DfSAke259ICR7b30gJHtufSBjYCwiaCIpO3I/ZS5wdXNoKCJCIik6ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19Y2xhc3MgUG9seWxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1MO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLnZlcnRpY2VzPW51bGw7aWYoISh0aGlzIGluc3RhbmNlb2YgUG9seWdvbkFubm90YXRpb24pKXt0aGlzLnNldExpbmVFbmRpbmdzKHQuZ2V0QXJyYXkoIkxFIikpO3RoaXMuZGF0YS5saW5lRW5kaW5ncz10aGlzLmxpbmVFbmRpbmdzfWNvbnN0IGE9dC5nZXRBcnJheSgiVmVydGljZXMiKTtpZighaXNOdW1iZXJBcnJheShhLG51bGwpKXJldHVybjtjb25zdCBzPXRoaXMuZGF0YS52ZXJ0aWNlcz1GbG9hdDMyQXJyYXkuZnJvbShhKTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIikscj10aGlzLmJvcmRlclN0eWxlLndpZHRofHwxLG49MipyLGc9WzEvMCwxLzAsLTEvMCwtMS8wXTtmb3IobGV0IGU9MCx0PXMubGVuZ3RoO2U8dDtlKz0yKXtnWzBdPU1hdGgubWluKGdbMF0sc1tlXS1uKTtnWzFdPU1hdGgubWluKGdbMV0sc1tlKzFdLW4pO2dbMl09TWF0aC5tYXgoZ1syXSxzW2VdK24pO2dbM109TWF0aC5tYXgoZ1szXSxzW2UrMV0rbil9VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsZyl8fCh0aGlzLnJlY3RhbmdsZT1nKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3J9IHdgLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2ZvcihsZXQgdD0wLGk9cy5sZW5ndGg7dDxpO3QrPTIpZS5wdXNoKGAke3NbdF19ICR7c1t0KzFdfSAkezA9PT10PyJtIjoibCJ9YCk7ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19Y2xhc3MgUG9seWdvbkFubm90YXRpb24gZXh0ZW5kcyBQb2x5bGluZUFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPU19fWNsYXNzIENhcmV0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVR9fWNsYXNzIElua0Fubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9cTt0aGlzLmRhdGEuaW5rTGlzdHM9W107Y29uc3QgYT10LmdldEFycmF5KCJJbmtMaXN0Iik7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7KytlKXtpZighQXJyYXkuaXNBcnJheShhW2VdKSljb250aW51ZTtjb25zdCB0PW5ldyBGbG9hdDMyQXJyYXkoYVtlXS5sZW5ndGgpO3RoaXMuZGF0YS5pbmtMaXN0cy5wdXNoKHQpO2ZvcihsZXQgcz0wLHI9YVtlXS5sZW5ndGg7czxyO3MrPTIpe2NvbnN0IHI9aS5mZXRjaElmUmVmKGFbZV1bc10pLG49aS5mZXRjaElmUmVmKGFbZV1bcysxXSk7aWYoIm51bWJlciI9PXR5cGVvZiByJiYibnVtYmVyIj09dHlwZW9mIG4pe3Rbc109cjt0W3MrMV09bn19fWlmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxzPXRoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDEscj0yKnMsbj1bMS8wLDEvMCwtMS8wLC0xLzBdO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YS5pbmtMaXN0cylmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz0yKXtuWzBdPU1hdGgubWluKG5bMF0sZVt0XS1yKTtuWzFdPU1hdGgubWluKG5bMV0sZVt0KzFdLXIpO25bMl09TWF0aC5tYXgoblsyXSxlW3RdK3IpO25bM109TWF0aC5tYXgoblszXSxlW3QrMV0rcil9VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsbil8fCh0aGlzLnJlY3RhbmdsZT1uKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3N9IHdgLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2Zvcihjb25zdCB0IG9mIHRoaXMuZGF0YS5pbmtMaXN0cyl7Zm9yKGxldCBpPTAsYT10Lmxlbmd0aDtpPGE7aSs9MillLnB1c2goYCR7dFtpXX0gJHt0W2krMV19ICR7MD09PWk/Im0iOiJsIn1gKTtlLnB1c2goIlMiKX1yZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1zdGF0aWMgY3JlYXRlTmV3RGljdChlLHQse2FwUmVmOmksYXA6YX0pe2NvbnN0e2NvbG9yOnMsb3BhY2l0eTpyLHBhdGhzOm4sb3V0bGluZXM6ZyxyZWN0Om8scm90YXRpb246Yyx0aGlja25lc3M6Q309ZSxoPW5ldyBEaWN0KHQpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJJbmsiKSk7aC5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIlJlY3QiLG8pO2guc2V0KCJJbmtMaXN0IixnPy5wb2ludHN8fG4ubWFwKChlPT5lLnBvaW50cykpKTtoLnNldCgiRiIsNCk7aC5zZXQoIlJvdGF0ZSIsYyk7ZyYmaC5zZXQoIklUIixOYW1lLmdldCgiSW5rSGlnaGxpZ2h0IikpO2NvbnN0IGw9bmV3IERpY3QodCk7aC5zZXQoIkJTIixsKTtsLnNldCgiVyIsQyk7aC5zZXQoIkMiLEFycmF5LmZyb20ocywoZT0+ZS8yNTUpKSk7aC5zZXQoIkNBIixyKTtjb25zdCBRPW5ldyBEaWN0KHQpO2guc2V0KCJBUCIsUSk7aT9RLnNldCgiTiIsaSk6US5zZXQoIk4iLGEpO3JldHVybiBofXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtpZihlLm91dGxpbmVzKXJldHVybiB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW1Gb3JIaWdobGlnaHQoZSx0LGkpO2NvbnN0e2NvbG9yOmEscmVjdDpzLHBhdGhzOnIsdGhpY2tuZXNzOm4sb3BhY2l0eTpnfT1lLG89W2Ake259IHcgMSBKIDEgamAsYCR7Z2V0UGRmQ29sb3IoYSwhMSl9YF07MSE9PWcmJm8ucHVzaCgiL1IwIGdzIik7Y29uc3QgYz1bXTtmb3IoY29uc3R7YmV6aWVyOmV9b2Ygcil7Yy5sZW5ndGg9MDtjLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVswXSl9ICR7bnVtYmVyVG9TdHJpbmcoZVsxXSl9IG1gKTtpZigyPT09ZS5sZW5ndGgpYy5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbMF0pfSAke251bWJlclRvU3RyaW5nKGVbMV0pfSBsIFNgKTtlbHNle2ZvcihsZXQgdD0yLGk9ZS5sZW5ndGg7dDxpO3QrPTYpe2NvbnN0IGk9ZS5zbGljZSh0LHQrNikubWFwKG51bWJlclRvU3RyaW5nKS5qb2luKCIgIik7Yy5wdXNoKGAke2l9IGNgKX1jLnB1c2goIlMiKX1vLnB1c2goYy5qb2luKCJcbiIpKX1jb25zdCBDPW8uam9pbigiXG4iKSxoPW5ldyBEaWN0KHQpO2guc2V0KCJGb3JtVHlwZSIsMSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtoLnNldCgiQkJveCIscyk7aC5zZXQoIkxlbmd0aCIsQy5sZW5ndGgpO2lmKDEhPT1nKXtjb25zdCBlPW5ldyBEaWN0KHQpLGk9bmV3IERpY3QodCksYT1uZXcgRGljdCh0KTthLnNldCgiQ0EiLGcpO2Euc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpO2kuc2V0KCJSMCIsYSk7ZS5zZXQoIkV4dEdTdGF0ZSIsaSk7aC5zZXQoIlJlc291cmNlcyIsZSl9Y29uc3QgbD1uZXcgU3RyaW5nU3RyZWFtKEMpO2wuZGljdD1oO3JldHVybiBsfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtRm9ySGlnaGxpZ2h0KGUsdCxpKXtjb25zdHtjb2xvcjphLHJlY3Q6cyxvdXRsaW5lczp7b3V0bGluZTpyfSxvcGFjaXR5Om59PWUsZz1bYCR7Z2V0UGRmQ29sb3IoYSwhMCl9YCwiL1IwIGdzIl07Zy5wdXNoKGAke251bWJlclRvU3RyaW5nKHJbNF0pfSAke251bWJlclRvU3RyaW5nKHJbNV0pfSBtYCk7Zm9yKGxldCBlPTYsdD1yLmxlbmd0aDtlPHQ7ZSs9NilpZihpc05hTihyW2VdKXx8bnVsbD09PXJbZV0pZy5wdXNoKGAke251bWJlclRvU3RyaW5nKHJbZSs0XSl9ICR7bnVtYmVyVG9TdHJpbmcocltlKzVdKX0gbGApO2Vsc2V7Y29uc3QgdD1yLnNsaWNlKGUsZSs2KS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKTtnLnB1c2goYCR7dH0gY2ApfWcucHVzaCgiaCBmIik7Y29uc3Qgbz1nLmpvaW4oIlxuIiksYz1uZXcgRGljdCh0KTtjLnNldCgiRm9ybVR5cGUiLDEpO2Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtjLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Yy5zZXQoIkJCb3giLHMpO2Muc2V0KCJMZW5ndGgiLG8ubGVuZ3RoKTtjb25zdCBDPW5ldyBEaWN0KHQpLGg9bmV3IERpY3QodCk7Qy5zZXQoIkV4dEdTdGF0ZSIsaCk7Yy5zZXQoIlJlc291cmNlcyIsQyk7Y29uc3QgbD1uZXcgRGljdCh0KTtoLnNldCgiUjAiLGwpO2wuc2V0KCJCTSIsTmFtZS5nZXQoIk11bHRpcGx5IikpO2lmKDEhPT1uKXtsLnNldCgiY2EiLG4pO2wuc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpfWNvbnN0IFE9bmV3IFN0cmluZ1N0cmVhbShvKTtRLmRpY3Q9YztyZXR1cm4gUX19Y2xhc3MgSGlnaGxpZ2h0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9SDtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2NvbnN0IGU9dGhpcy5hcHBlYXJhbmNlPy5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYoIXRoaXMuYXBwZWFyYW5jZXx8IWU/LmhhcygiRXh0R1N0YXRlIikpe3RoaXMuYXBwZWFyYW5jZSYmd2FybigiSGlnaGxpZ2h0QW5ub3RhdGlvbiAtIGlnbm9yaW5nIGJ1aWx0LWluIGFwcGVhcmFuY2Ugc3RyZWFtLiIpO2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlsxLDEsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGZpbGxDb2xvcjplLGJsZW5kTW9kZToiTXVsdGlwbHkiLGZpbGxBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKGAke3RbMF19ICR7dFsxXX0gbWAsYCR7dFsyXX0gJHt0WzNdfSBsYCxgJHt0WzZdfSAke3RbN119IGxgLGAke3RbNF19ICR7dFs1XX0gbGAsImYiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtjb2xvcjpzLG9wYWNpdHk6cixyZWN0Om4scm90YXRpb246Zyx1c2VyOm8scXVhZFBvaW50czpjfT1lLEM9bmV3IERpY3QodCk7Qy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtDLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkhpZ2hsaWdodCIpKTtDLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtDLnNldCgiUmVjdCIsbik7Qy5zZXQoIkYiLDQpO0Muc2V0KCJCb3JkZXIiLFswLDAsMF0pO0Muc2V0KCJSb3RhdGUiLGcpO0Muc2V0KCJRdWFkUG9pbnRzIixjKTtDLnNldCgiQyIsQXJyYXkuZnJvbShzLChlPT5lLzI1NSkpKTtDLnNldCgiQ0EiLHIpO28mJkMuc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKG8pKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO0Muc2V0KCJBUCIsZSk7ZS5zZXQoIk4iLGl8fGEpfXJldHVybiBDfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtjb25zdHtjb2xvcjphLHJlY3Q6cyxvdXRsaW5lczpyLG9wYWNpdHk6bn09ZSxnPVtgJHtnZXRQZGZDb2xvcihhLCEwKX1gLCIvUjAgZ3MiXSxvPVtdO2Zvcihjb25zdCBlIG9mIHIpe28ubGVuZ3RoPTA7by5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbMF0pfSAke251bWJlclRvU3RyaW5nKGVbMV0pfSBtYCk7Zm9yKGxldCB0PTIsaT1lLmxlbmd0aDt0PGk7dCs9MilvLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVt0XSl9ICR7bnVtYmVyVG9TdHJpbmcoZVt0KzFdKX0gbGApO28ucHVzaCgiaCIpO2cucHVzaChvLmpvaW4oIlxuIikpfWcucHVzaCgiZioiKTtjb25zdCBjPWcuam9pbigiXG4iKSxDPW5ldyBEaWN0KHQpO0Muc2V0KCJGb3JtVHlwZSIsMSk7Qy5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO0Muc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtDLnNldCgiQkJveCIscyk7Qy5zZXQoIkxlbmd0aCIsYy5sZW5ndGgpO2NvbnN0IGg9bmV3IERpY3QodCksbD1uZXcgRGljdCh0KTtoLnNldCgiRXh0R1N0YXRlIixsKTtDLnNldCgiUmVzb3VyY2VzIixoKTtjb25zdCBRPW5ldyBEaWN0KHQpO2wuc2V0KCJSMCIsUSk7US5zZXQoIkJNIixOYW1lLmdldCgiTXVsdGlwbHkiKSk7aWYoMSE9PW4pe1Euc2V0KCJjYSIsbik7US5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJFeHRHU3RhdGUiKSl9Y29uc3QgRT1uZXcgU3RyaW5nU3RyZWFtKGMpO0UuZGljdD1DO3JldHVybiBFfX1jbGFzcyBVbmRlcmxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1KO2lmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWdldFF1YWRQb2ludHModCxudWxsKSl7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6IltdIDAgZCAwLjU3MSB3IixzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7dFs0XX0gJHt0WzVdKzEuM30gbWAsYCR7dFs2XX0gJHt0WzddKzEuM30gbGAsIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFNxdWlnZ2x5QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9WTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOiJbXSAwIGQgMSB3IixzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntjb25zdCBpPSh0WzFdLXRbNV0pLzY7bGV0IGE9aSxzPXRbNF07Y29uc3Qgcj10WzVdLG49dFs2XTtlLnB1c2goYCR7c30gJHtyK2F9IG1gKTtkb3tzKz0yO2E9MD09PWE/aTowO2UucHVzaChgJHtzfSAke3IrYX0gbGApfXdoaWxlKHM8bik7ZS5wdXNoKCJTIik7cmV0dXJuW3RbNF0sbixyLTIqaSxyKzIqaV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFN0cmlrZU91dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPXY7aWYodGhpcy5kYXRhLnF1YWRQb2ludHM9Z2V0UXVhZFBvaW50cyh0LG51bGwpKXtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYToiW10gMCBkIDEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKCh0WzBdK3RbNF0pLzIrIiAiKyh0WzFdK3RbNV0pLzIrIiBtIiwodFsyXSt0WzZdKS8yKyIgIisodFszXSt0WzddKS8yKyIgbCIsIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFN0YW1wQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUs7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMX1zdGF0aWMgYXN5bmMgY3JlYXRlSW1hZ2UoZSx0KXtjb25zdHt3aWR0aDppLGhlaWdodDphfT1lLHM9bmV3IE9mZnNjcmVlbkNhbnZhcyhpLGEpLHI9cy5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwfSk7ci5kcmF3SW1hZ2UoZSwwLDApO2NvbnN0IG49ci5nZXRJbWFnZURhdGEoMCwwLGksYSkuZGF0YSxnPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlciksbz1nLnNvbWUoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4/ZT0+ZT4+PjI0IT0yNTU6ZT0+MjU1IT0oMjU1JmUpKTtpZihvKXtyLmZpbGxTdHlsZT0id2hpdGUiO3IuZmlsbFJlY3QoMCwwLGksYSk7ci5kcmF3SW1hZ2UoZSwwLDApfWNvbnN0IGM9cy5jb252ZXJ0VG9CbG9iKHt0eXBlOiJpbWFnZS9qcGVnIixxdWFsaXR5OjF9KS50aGVuKChlPT5lLmFycmF5QnVmZmVyKCkpKSxDPU5hbWUuZ2V0KCJYT2JqZWN0IiksaD1OYW1lLmdldCgiSW1hZ2UiKSxsPW5ldyBEaWN0KHQpO2wuc2V0KCJUeXBlIixDKTtsLnNldCgiU3VidHlwZSIsaCk7bC5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO2wuc2V0KCJDb2xvclNwYWNlIixOYW1lLmdldCgiRGV2aWNlUkdCIikpO2wuc2V0KCJGaWx0ZXIiLE5hbWUuZ2V0KCJEQ1REZWNvZGUiKSk7bC5zZXQoIkJCb3giLFswLDAsaSxhXSk7bC5zZXQoIldpZHRoIixpKTtsLnNldCgiSGVpZ2h0IixhKTtsZXQgUT1udWxsO2lmKG8pe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKWZvcihsZXQgdD0wLGk9Zy5sZW5ndGg7dDxpO3QrKyllW3RdPWdbdF0+Pj4yNDtlbHNlIGZvcihsZXQgdD0wLGk9Zy5sZW5ndGg7dDxpO3QrKyllW3RdPTI1NSZnW3RdO2NvbnN0IHM9bmV3IERpY3QodCk7cy5zZXQoIlR5cGUiLEMpO3Muc2V0KCJTdWJ0eXBlIixoKTtzLnNldCgiQml0c1BlckNvbXBvbmVudCIsOCk7cy5zZXQoIkNvbG9yU3BhY2UiLE5hbWUuZ2V0KCJEZXZpY2VHcmF5IikpO3Muc2V0KCJXaWR0aCIsaSk7cy5zZXQoIkhlaWdodCIsYSk7UT1uZXcgU3RyZWFtKGUsMCwwLHMpfXJldHVybntpbWFnZVN0cmVhbTpuZXcgU3RyZWFtKGF3YWl0IGMsMCwwLGwpLHNtYXNrU3RyZWFtOlEsd2lkdGg6aSxoZWlnaHQ6YX19c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtyZWN0OnMscm90YXRpb246cix1c2VyOm59PWUsZz1uZXcgRGljdCh0KTtnLnNldCgiVHlwZSIsTmFtZS5nZXQoIkFubm90IikpO2cuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiU3RhbXAiKSk7Zy5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7Zy5zZXQoIlJlY3QiLHMpO2cuc2V0KCJGIiw0KTtnLnNldCgiQm9yZGVyIixbMCwwLDBdKTtnLnNldCgiUm90YXRlIixyKTtuJiZnLnNldCgiVCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShuKSk7aWYoaXx8YSl7Y29uc3QgZT1uZXcgRGljdCh0KTtnLnNldCgiQVAiLGUpO2k/ZS5zZXQoIk4iLGkpOmUuc2V0KCJOIixhKX1yZXR1cm4gZ31zdGF0aWMgYXN5bmMgY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShlLHQsaSl7Y29uc3R7cm90YXRpb246YX09ZSx7aW1hZ2VSZWY6cyx3aWR0aDpyLGhlaWdodDpufT1pLmltYWdlLGc9bmV3IERpY3QodCksbz1uZXcgRGljdCh0KTtnLnNldCgiWE9iamVjdCIsbyk7by5zZXQoIkltMCIscyk7Y29uc3QgYz1gcSAke3J9IDAgMCAke259IDAgMCBjbSAvSW0wIERvIFFgLEM9bmV3IERpY3QodCk7Qy5zZXQoIkZvcm1UeXBlIiwxKTtDLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Qy5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO0Muc2V0KCJCQm94IixbMCwwLHIsbl0pO0Muc2V0KCJSZXNvdXJjZXMiLGcpO2lmKGEpe2NvbnN0IGU9Z2V0Um90YXRpb25NYXRyaXgoYSxyLG4pO0Muc2V0KCJNYXRyaXgiLGUpfWNvbnN0IGg9bmV3IFN0cmluZ1N0cmVhbShjKTtoLmRpY3Q9QztyZXR1cm4gaH19Y2xhc3MgRmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lLGE9bmV3IEZpbGVTcGVjKHQuZ2V0KCJGUyIpLGkpO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1XO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLmZpbGU9YS5zZXJpYWxpemFibGU7Y29uc3Qgcz10LmdldCgiTmFtZSIpO3RoaXMuZGF0YS5uYW1lPXMgaW5zdGFuY2VvZiBOYW1lP3N0cmluZ1RvUERGU3RyaW5nKHMubmFtZSk6IlB1c2hQaW4iO2NvbnN0IHI9dC5nZXQoImNhIik7dGhpcy5kYXRhLmZpbGxBbHBoYT0ibnVtYmVyIj09dHlwZW9mIHImJnI+PTAmJnI8PTE/cjpudWxsfX1mdW5jdGlvbiBkZWNvZGVTdHJpbmcoZSl7dHJ5e3JldHVybiBzdHJpbmdUb1VURjhTdHJpbmcoZSl9Y2F0Y2godCl7d2FybihgVVRGLTggZGVjb2RpbmcgZmFpbGVkOiAiJHt0fSIuYCk7cmV0dXJuIGV9fWNsYXNzIERhdGFzZXRYTUxQYXJzZXIgZXh0ZW5kcyBTaW1wbGVYTUxQYXJzZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5ub2RlPW51bGx9b25FbmRFbGVtZW50KGUpe2NvbnN0IHQ9c3VwZXIub25FbmRFbGVtZW50KGUpO2lmKHQmJiJ4ZmE6ZGF0YXNldHMiPT09ZSl7dGhpcy5ub2RlPXQ7dGhyb3cgbmV3IEVycm9yKCJBYm9ydGluZyBEYXRhc2V0WE1MUGFyc2VyLiIpfX19Y2xhc3MgRGF0YXNldFJlYWRlcntjb25zdHJ1Y3RvcihlKXtpZihlLmRhdGFzZXRzKXRoaXMubm9kZT1uZXcgU2ltcGxlWE1MUGFyc2VyKHtoYXNBdHRyaWJ1dGVzOiEwfSkucGFyc2VGcm9tU3RyaW5nKGUuZGF0YXNldHMpLmRvY3VtZW50RWxlbWVudDtlbHNle2NvbnN0IHQ9bmV3IERhdGFzZXRYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KTt0cnl7dC5wYXJzZUZyb21TdHJpbmcoZVsieGRwOnhkcCJdKX1jYXRjaHt9dGhpcy5ub2RlPXQubm9kZX19Z2V0VmFsdWUoZSl7aWYoIXRoaXMubm9kZXx8IWUpcmV0dXJuIiI7Y29uc3QgdD10aGlzLm5vZGUuc2VhcmNoTm9kZShwYXJzZVhGQVBhdGgoZSksMCk7aWYoIXQpcmV0dXJuIiI7Y29uc3QgaT10LmZpcnN0Q2hpbGQ7cmV0dXJuInZhbHVlIj09PWk/Lm5vZGVOYW1lP3QuY2hpbGRyZW4ubWFwKChlPT5kZWNvZGVTdHJpbmcoZS50ZXh0Q29udGVudCkpKTpkZWNvZGVTdHJpbmcodC50ZXh0Q29udGVudCl9fWNsYXNzIFhSZWZ7I0s9bnVsbDtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuc3RyZWFtPWU7dGhpcy5wZGZNYW5hZ2VyPXQ7dGhpcy5lbnRyaWVzPVtdO3RoaXMuX3hyZWZTdG1zPW5ldyBTZXQ7dGhpcy5fY2FjaGVNYXA9bmV3IE1hcDt0aGlzLl9wZW5kaW5nUmVmcz1uZXcgUmVmU2V0O3RoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW09bnVsbDt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09bnVsbDt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW51bGx9Z2V0TmV3UGVyc2lzdGVudFJlZihlKXtudWxsPT09dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bSYmKHRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW09dGhpcy5lbnRyaWVzLmxlbmd0aHx8MSk7Y29uc3QgdD10aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtKys7dGhpcy5fY2FjaGVNYXAuc2V0KHQsZSk7cmV0dXJuIFJlZi5nZXQodCwwKX1nZXROZXdUZW1wb3JhcnlSZWYoKXtpZihudWxsPT09dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtKXt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09dGhpcy5lbnRyaWVzLmxlbmd0aHx8MTtpZih0aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtKXt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW5ldyBNYXA7Zm9yKGxldCBlPXRoaXMuX25ld1RlbXBvcmFyeVJlZk51bTtlPHRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW07ZSsrKXt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlLnNldChlLHRoaXMuX2NhY2hlTWFwLmdldChlKSk7dGhpcy5fY2FjaGVNYXAuZGVsZXRlKGUpfX19cmV0dXJuIFJlZi5nZXQodGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtKyssMCl9cmVzZXROZXdUZW1wb3JhcnlSZWYoKXt0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW09bnVsbDtpZih0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlKWZvcihjb25zdFtlLHRdb2YgdGhpcy5fcGVyc2lzdGVudFJlZnNDYWNoZSl0aGlzLl9jYWNoZU1hcC5zZXQoZSx0KTt0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlPW51bGx9c2V0U3RhcnRYUmVmKGUpe3RoaXMuc3RhcnRYUmVmUXVldWU9W2VdfXBhcnNlKGU9ITEpe2xldCB0LGksYTtpZihlKXt3YXJuKCJJbmRleGluZyBhbGwgUERGIG9iamVjdHMiKTt0PXRoaXMuaW5kZXhPYmplY3RzKCl9ZWxzZSB0PXRoaXMucmVhZFhSZWYoKTt0LmFzc2lnblhyZWYodGhpcyk7dGhpcy50cmFpbGVyPXQ7dHJ5e2k9dC5nZXQoIkVuY3J5cHQiKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiRW5jcnlwdCIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoaSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9dC5nZXQoIklEIiksYT1lPy5sZW5ndGg/ZVswXToiIjtpLnN1cHByZXNzRW5jcnlwdGlvbj0hMDt0aGlzLmVuY3J5cHQ9bmV3IENpcGhlclRyYW5zZm9ybUZhY3RvcnkoaSxhLHRoaXMucGRmTWFuYWdlci5wYXNzd29yZCl9dHJ5e2E9dC5nZXQoIlJvb3QiKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGBYUmVmLnBhcnNlIC0gSW52YWxpZCAiUm9vdCIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoYSBpbnN0YW5jZW9mIERpY3QpdHJ5e2lmKGEuZ2V0KCJQYWdlcyIpaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnJvb3Q9YTtyZXR1cm59fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYFhSZWYucGFyc2UgLSBJbnZhbGlkICJQYWdlcyIgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiSW52YWxpZCBSb290IHJlZmVyZW5jZS4iKX1wcm9jZXNzWFJlZlRhYmxlKGUpeyJ0YWJsZVN0YXRlImluIHRoaXN8fCh0aGlzLnRhYmxlU3RhdGU9e2VudHJ5TnVtOjAsc3RyZWFtUG9zOmUubGV4ZXIuc3RyZWFtLnBvcyxwYXJzZXJCdWYxOmUuYnVmMSxwYXJzZXJCdWYyOmUuYnVmMn0pO2lmKCFpc0NtZCh0aGlzLnJlYWRYUmVmVGFibGUoZSksInRyYWlsZXIiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogY291bGQgbm90IGZpbmQgdHJhaWxlciBkaWN0aW9uYXJ5Iik7bGV0IHQ9ZS5nZXRPYmooKTt0IGluc3RhbmNlb2YgRGljdHx8IXQuZGljdHx8KHQ9dC5kaWN0KTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogY291bGQgbm90IHBhcnNlIHRyYWlsZXIgZGljdGlvbmFyeSIpO2RlbGV0ZSB0aGlzLnRhYmxlU3RhdGU7cmV0dXJuIHR9cmVhZFhSZWZUYWJsZShlKXtjb25zdCB0PWUubGV4ZXIuc3RyZWFtLGk9dGhpcy50YWJsZVN0YXRlO3QucG9zPWkuc3RyZWFtUG9zO2UuYnVmMT1pLnBhcnNlckJ1ZjE7ZS5idWYyPWkucGFyc2VyQnVmMjtsZXQgYTtmb3IoOzspe2lmKCEoImZpcnN0RW50cnlOdW0iaW4gaSl8fCEoImVudHJ5Q291bnQiaW4gaSkpe2lmKGlzQ21kKGE9ZS5nZXRPYmooKSwidHJhaWxlciIpKWJyZWFrO2kuZmlyc3RFbnRyeU51bT1hO2kuZW50cnlDb3VudD1lLmdldE9iaigpfWxldCBzPWkuZmlyc3RFbnRyeU51bTtjb25zdCByPWkuZW50cnlDb3VudDtpZighTnVtYmVyLmlzSW50ZWdlcihzKXx8IU51bWJlci5pc0ludGVnZXIocikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IHdyb25nIHR5cGVzIGluIHN1YnNlY3Rpb24gaGVhZGVyIik7Zm9yKGxldCBhPWkuZW50cnlOdW07YTxyO2ErKyl7aS5zdHJlYW1Qb3M9dC5wb3M7aS5lbnRyeU51bT1hO2kucGFyc2VyQnVmMT1lLmJ1ZjE7aS5wYXJzZXJCdWYyPWUuYnVmMjtjb25zdCBuPXt9O24ub2Zmc2V0PWUuZ2V0T2JqKCk7bi5nZW49ZS5nZXRPYmooKTtjb25zdCBnPWUuZ2V0T2JqKCk7aWYoZyBpbnN0YW5jZW9mIENtZClzd2l0Y2goZy5jbWQpe2Nhc2UiZiI6bi5mcmVlPSEwO2JyZWFrO2Nhc2UibiI6bi51bmNvbXByZXNzZWQ9ITB9aWYoIU51bWJlci5pc0ludGVnZXIobi5vZmZzZXQpfHwhTnVtYmVyLmlzSW50ZWdlcihuLmdlbil8fCFuLmZyZWUmJiFuLnVuY29tcHJlc3NlZCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZW50cnkgaW4gWFJlZiBzdWJzZWN0aW9uOiAke3N9LCAke3J9YCk7MD09PWEmJm4uZnJlZSYmMT09PXMmJihzPTApO3RoaXMuZW50cmllc1thK3NdfHwodGhpcy5lbnRyaWVzW2Erc109bil9aS5lbnRyeU51bT0wO2kuc3RyZWFtUG9zPXQucG9zO2kucGFyc2VyQnVmMT1lLmJ1ZjE7aS5wYXJzZXJCdWYyPWUuYnVmMjtkZWxldGUgaS5maXJzdEVudHJ5TnVtO2RlbGV0ZSBpLmVudHJ5Q291bnR9aWYodGhpcy5lbnRyaWVzWzBdJiYhdGhpcy5lbnRyaWVzWzBdLmZyZWUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgdGFibGU6IHVuZXhwZWN0ZWQgZmlyc3Qgb2JqZWN0Iik7cmV0dXJuIGF9cHJvY2Vzc1hSZWZTdHJlYW0oZSl7aWYoISgic3RyZWFtU3RhdGUiaW4gdGhpcykpe2NvbnN0IHQ9ZS5kaWN0LGk9dC5nZXQoIlciKTtsZXQgYT10LmdldCgiSW5kZXgiKTthfHwoYT1bMCx0LmdldCgiU2l6ZSIpXSk7dGhpcy5zdHJlYW1TdGF0ZT17ZW50cnlSYW5nZXM6YSxieXRlV2lkdGhzOmksZW50cnlOdW06MCxzdHJlYW1Qb3M6ZS5wb3N9fXRoaXMucmVhZFhSZWZTdHJlYW0oZSk7ZGVsZXRlIHRoaXMuc3RyZWFtU3RhdGU7cmV0dXJuIGUuZGljdH1yZWFkWFJlZlN0cmVhbShlKXtjb25zdCB0PXRoaXMuc3RyZWFtU3RhdGU7ZS5wb3M9dC5zdHJlYW1Qb3M7Y29uc3RbaSxhLHNdPXQuYnl0ZVdpZHRocyxyPXQuZW50cnlSYW5nZXM7Zm9yKDtyLmxlbmd0aD4wOyl7Y29uc3RbbixnXT1yO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHwhTnVtYmVyLmlzSW50ZWdlcihnKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiByYW5nZSBmaWVsZHM6ICR7bn0sICR7Z31gKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKXx8IU51bWJlci5pc0ludGVnZXIoYSl8fCFOdW1iZXIuaXNJbnRlZ2VyKHMpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBYUmVmIGVudHJ5IGZpZWxkcyBsZW5ndGg6ICR7bn0sICR7Z31gKTtmb3IobGV0IHI9dC5lbnRyeU51bTtyPGc7KytyKXt0LmVudHJ5TnVtPXI7dC5zdHJlYW1Qb3M9ZS5wb3M7bGV0IGc9MCxvPTAsYz0wO2ZvcihsZXQgdD0wO3Q8aTsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ3R5cGUnLiIpO2c9Zzw8OHx0fTA9PT1pJiYoZz0xKTtmb3IobGV0IHQ9MDt0PGE7Kyt0KXtjb25zdCB0PWUuZ2V0Qnl0ZSgpO2lmKC0xPT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBieXRlV2lkdGhzICdvZmZzZXQnLiIpO289bzw8OHx0fWZvcihsZXQgdD0wO3Q8czsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ2dlbmVyYXRpb24nLiIpO2M9Yzw8OHx0fWNvbnN0IEM9e307Qy5vZmZzZXQ9bztDLmdlbj1jO3N3aXRjaChnKXtjYXNlIDA6Qy5mcmVlPSEwO2JyZWFrO2Nhc2UgMTpDLnVuY29tcHJlc3NlZD0hMDticmVhaztjYXNlIDI6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgWFJlZiBlbnRyeSB0eXBlOiAke2d9YCl9dGhpcy5lbnRyaWVzW24rcl18fCh0aGlzLmVudHJpZXNbbityXT1DKX10LmVudHJ5TnVtPTA7dC5zdHJlYW1Qb3M9ZS5wb3M7ci5zcGxpY2UoMCwyKX19aW5kZXhPYmplY3RzKCl7ZnVuY3Rpb24gcmVhZFRva2VuKGUsdCl7bGV0IGk9IiIsYT1lW3RdO2Zvcig7MTAhPT1hJiYxMyE9PWEmJjYwIT09YSYmISgrK3Q+PWUubGVuZ3RoKTspe2krPVN0cmluZy5mcm9tQ2hhckNvZGUoYSk7YT1lW3RdfXJldHVybiBpfWZ1bmN0aW9uIHNraXBVbnRpbChlLHQsaSl7Y29uc3QgYT1pLmxlbmd0aCxzPWUubGVuZ3RoO2xldCByPTA7Zm9yKDt0PHM7KXtsZXQgcz0wO2Zvcig7czxhJiZlW3Qrc109PT1pW3NdOykrK3M7aWYocz49YSlicmVhazt0Kys7cisrfXJldHVybiByfWNvbnN0IGU9L1xiKGVuZG9ianxcZCtccytcZCtccytvYmp8eHJlZnx0cmFpbGVyXHMqPDwpXGIvZyx0PS9cYihzdGFydHhyZWZ8XGQrXHMrXGQrXHMrb2JqKVxiL2csaT0vXihcZCspXHMrKFxkKylccytvYmpcYi8sYT1uZXcgVWludDhBcnJheShbMTE2LDExNCw5NywxMDUsMTA4LDEwMSwxMTRdKSxzPW5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDk3LDExNCwxMTYsMTIwLDExNCwxMDEsMTAyXSkscj1uZXcgVWludDhBcnJheShbNDcsODgsODIsMTAxLDEwMl0pO3RoaXMuZW50cmllcy5sZW5ndGg9MDt0aGlzLl9jYWNoZU1hcC5jbGVhcigpO2NvbnN0IG49dGhpcy5zdHJlYW07bi5wb3M9MDtjb25zdCBnPW4uZ2V0Qnl0ZXMoKSxvPWJ5dGVzVG9TdHJpbmcoZyksYz1nLmxlbmd0aDtsZXQgQz1uLnN0YXJ0O2NvbnN0IGg9W10sbD1bXTtmb3IoO0M8Yzspe2xldCBRPWdbQ107aWYoOT09PVF8fDEwPT09UXx8MTM9PT1RfHwzMj09PVEpeysrQztjb250aW51ZX1pZigzNz09PVEpe2RveysrQztpZihDPj1jKWJyZWFrO1E9Z1tDXX13aGlsZSgxMCE9PVEmJjEzIT09USk7Y29udGludWV9Y29uc3QgRT1yZWFkVG9rZW4oZyxDKTtsZXQgdTtpZihFLnN0YXJ0c1dpdGgoInhyZWYiKSYmKDQ9PT1FLmxlbmd0aHx8L1xzLy50ZXN0KEVbNF0pKSl7Qys9c2tpcFVudGlsKGcsQyxhKTtoLnB1c2goQyk7Qys9c2tpcFVudGlsKGcsQyxzKX1lbHNlIGlmKHU9aS5leGVjKEUpKXtjb25zdCB0PTB8dVsxXSxpPTB8dVsyXSxhPUMrRS5sZW5ndGg7bGV0IHMsaD0hMTtpZih0aGlzLmVudHJpZXNbdF0pe2lmKHRoaXMuZW50cmllc1t0XS5nZW49PT1pKXRyeXtuZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIobi5tYWtlU3ViU3RyZWFtKGEpKX0pLmdldE9iaigpO2g9ITB9Y2F0Y2goZSl7ZSBpbnN0YW5jZW9mIFBhcnNlckVPRkV4Y2VwdGlvbj93YXJuKGBpbmRleE9iamVjdHMgLS0gY2hlY2tpbmcgb2JqZWN0ICgke0V9KTogIiR7ZX0iLmApOmg9ITB9fWVsc2UgaD0hMDtoJiYodGhpcy5lbnRyaWVzW3RdPXtvZmZzZXQ6Qy1uLnN0YXJ0LGdlbjppLHVuY29tcHJlc3NlZDohMH0pO2UubGFzdEluZGV4PWE7Y29uc3QgUT1lLmV4ZWMobyk7aWYoUSl7cz1lLmxhc3RJbmRleCsxLUM7aWYoImVuZG9iaiIhPT1RWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke1FbMV19IiBpbnNpZGUgb2YgYW5vdGhlciAib2JqIiwgY2F1c2VkIGJ5IG1pc3NpbmcgImVuZG9iaiIgLS0gdHJ5aW5nIHRvIHJlY292ZXIuYCk7cy09UVsxXS5sZW5ndGgrMX19ZWxzZSBzPWMtQztjb25zdCBkPWcuc3ViYXJyYXkoQyxDK3MpLGY9c2tpcFVudGlsKGQsMCxyKTtpZihmPHMmJmRbZis1XTw2NCl7bC5wdXNoKEMtbi5zdGFydCk7dGhpcy5feHJlZlN0bXMuYWRkKEMtbi5zdGFydCl9Qys9c31lbHNlIGlmKEUuc3RhcnRzV2l0aCgidHJhaWxlciIpJiYoNz09PUUubGVuZ3RofHwvXHMvLnRlc3QoRVs3XSkpKXtoLnB1c2goQyk7Y29uc3QgZT1DK0UubGVuZ3RoO2xldCBpO3QubGFzdEluZGV4PWU7Y29uc3QgYT10LmV4ZWMobyk7aWYoYSl7aT10Lmxhc3RJbmRleCsxLUM7aWYoInN0YXJ0eHJlZiIhPT1hWzFdKXt3YXJuKGBpbmRleE9iamVjdHM6IEZvdW5kICIke2FbMV19IiBhZnRlciAidHJhaWxlciIsIGNhdXNlZCBieSBtaXNzaW5nICJzdGFydHhyZWYiIC0tIHRyeWluZyB0byByZWNvdmVyLmApO2ktPWFbMV0ubGVuZ3RoKzF9fWVsc2UgaT1jLUM7Qys9aX1lbHNlIEMrPUUubGVuZ3RoKzF9Zm9yKGNvbnN0IGUgb2YgbCl7dGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKGUpO3RoaXMucmVhZFhSZWYoITApfWNvbnN0IFE9W107bGV0IEUsdSxkPSExO2Zvcihjb25zdCBlIG9mIGgpe24ucG9zPWU7Y29uc3QgdD1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIobikseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMCxyZWNvdmVyeU1vZGU6ITB9KTtpZighaXNDbWQodC5nZXRPYmooKSwidHJhaWxlciIpKWNvbnRpbnVlO2NvbnN0IGk9dC5nZXRPYmooKTtpZihpIGluc3RhbmNlb2YgRGljdCl7US5wdXNoKGkpO2kuaGFzKCJFbmNyeXB0IikmJihkPSEwKX19Zm9yKGNvbnN0IGUgb2ZbLi4uUSwiZ2VuRmFsbGJhY2siLC4uLlFdKXtpZigiZ2VuRmFsbGJhY2siPT09ZSl7aWYoIXUpYnJlYWs7dGhpcy5fZ2VuZXJhdGlvbkZhbGxiYWNrPSEwO2NvbnRpbnVlfWxldCB0PSExO3RyeXtjb25zdCBpPWUuZ2V0KCJSb290Iik7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7Y29uc3QgYT1pLmdldCgiUGFnZXMiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtjb25zdCBzPWEuZ2V0KCJDb3VudCIpO051bWJlci5pc0ludGVnZXIocykmJih0PSEwKX1jYXRjaChlKXt1PWU7Y29udGludWV9aWYodCYmKCFkfHxlLmhhcygiRW5jcnlwdCIpKSYmZS5oYXMoIklEIikpcmV0dXJuIGU7RT1lfWlmKEUpcmV0dXJuIEU7aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7dGhyb3cgbmV3IEludmFsaWRQREZFeGNlcHRpb24oIkludmFsaWQgUERGIHN0cnVjdHVyZS4iKX1yZWFkWFJlZihlPSExKXtjb25zdCB0PXRoaXMuc3RyZWFtLGk9bmV3IFNldDtmb3IoO3RoaXMuc3RhcnRYUmVmUXVldWUubGVuZ3RoOyl7dHJ5e2NvbnN0IGU9dGhpcy5zdGFydFhSZWZRdWV1ZVswXTtpZihpLmhhcyhlKSl7d2FybigicmVhZFhSZWYgLSBza2lwcGluZyBYUmVmIHRhYmxlIHNpbmNlIGl0IHdhcyBhbHJlYWR5IHBhcnNlZC4iKTt0aGlzLnN0YXJ0WFJlZlF1ZXVlLnNoaWZ0KCk7Y29udGludWV9aS5hZGQoZSk7dC5wb3M9ZSt0LnN0YXJ0O2NvbnN0IGE9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKHQpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KTtsZXQgcyxyPWEuZ2V0T2JqKCk7aWYoaXNDbWQociwieHJlZiIpKXtzPXRoaXMucHJvY2Vzc1hSZWZUYWJsZShhKTt0aGlzLnRvcERpY3R8fCh0aGlzLnRvcERpY3Q9cyk7cj1zLmdldCgiWFJlZlN0bSIpO2lmKE51bWJlci5pc0ludGVnZXIocikmJiF0aGlzLl94cmVmU3Rtcy5oYXMocikpe3RoaXMuX3hyZWZTdG1zLmFkZChyKTt0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gocik7dGhpcy4jSz8/PXJ9fWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIocikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgc3RyZWFtIGhlYWRlciIpO2lmKCEoTnVtYmVyLmlzSW50ZWdlcihhLmdldE9iaigpKSYmaXNDbWQoYS5nZXRPYmooKSwib2JqIikmJihyPWEuZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBzdHJlYW0iKTtzPXRoaXMucHJvY2Vzc1hSZWZTdHJlYW0ocik7dGhpcy50b3BEaWN0fHwodGhpcy50b3BEaWN0PXMpO2lmKCFzKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRmFpbGVkIHRvIHJlYWQgWFJlZiBzdHJlYW0iKX1yPXMuZ2V0KCJQcmV2Iik7TnVtYmVyLmlzSW50ZWdlcihyKT90aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2gocik6ciBpbnN0YW5jZW9mIFJlZiYmdGhpcy5zdGFydFhSZWZRdWV1ZS5wdXNoKHIubnVtKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCIod2hpbGUgcmVhZGluZyBYUmVmKTogIitlKX10aGlzLnN0YXJ0WFJlZlF1ZXVlLnNoaWZ0KCl9aWYodGhpcy50b3BEaWN0KXJldHVybiB0aGlzLnRvcERpY3Q7aWYoIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbn1nZXQgbGFzdFhSZWZTdHJlYW1Qb3MoKXtyZXR1cm4gdGhpcy4jSz8/KHRoaXMuX3hyZWZTdG1zLnNpemU+MD9NYXRoLm1heCguLi50aGlzLl94cmVmU3Rtcyk6bnVsbCl9Z2V0RW50cnkoZSl7Y29uc3QgdD10aGlzLmVudHJpZXNbZV07cmV0dXJuIHQmJiF0LmZyZWUmJnQub2Zmc2V0P3Q6bnVsbH1mZXRjaElmUmVmKGUsdD0hMSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBSZWY/dGhpcy5mZXRjaChlLHQpOmV9ZmV0Y2goZSx0PSExKXtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXRocm93IG5ldyBFcnJvcigicmVmIG9iamVjdCBpcyBub3QgYSByZWZlcmVuY2UiKTtjb25zdCBpPWUubnVtLGE9dGhpcy5fY2FjaGVNYXAuZ2V0KGkpO2lmKHZvaWQgMCE9PWEpe2EgaW5zdGFuY2VvZiBEaWN0JiYhYS5vYmpJZCYmKGEub2JqSWQ9ZS50b1N0cmluZygpKTtyZXR1cm4gYX1sZXQgcz10aGlzLmdldEVudHJ5KGkpO2lmKG51bGw9PT1zKXt0aGlzLl9jYWNoZU1hcC5zZXQoaSxzKTtyZXR1cm4gc31pZih0aGlzLl9wZW5kaW5nUmVmcy5oYXMoZSkpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt3YXJuKGBJZ25vcmluZyBjaXJjdWxhciByZWZlcmVuY2U6ICR7ZX0uYCk7cmV0dXJuIHl0fXRoaXMuX3BlbmRpbmdSZWZzLnB1dChlKTt0cnl7cz1zLnVuY29tcHJlc3NlZD90aGlzLmZldGNoVW5jb21wcmVzc2VkKGUscyx0KTp0aGlzLmZldGNoQ29tcHJlc3NlZChlLHMsdCk7dGhpcy5fcGVuZGluZ1JlZnMucmVtb3ZlKGUpfWNhdGNoKHQpe3RoaXMuX3BlbmRpbmdSZWZzLnJlbW92ZShlKTt0aHJvdyB0fXMgaW5zdGFuY2VvZiBEaWN0P3Mub2JqSWQ9ZS50b1N0cmluZygpOnMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYocy5kaWN0Lm9iaklkPWUudG9TdHJpbmcoKSk7cmV0dXJuIHN9ZmV0Y2hVbmNvbXByZXNzZWQoZSx0LGk9ITEpe2NvbnN0IGE9ZS5nZW47bGV0IHM9ZS5udW07aWYodC5nZW4hPT1hKXtjb25zdCByPWBJbmNvbnNpc3RlbnQgZ2VuZXJhdGlvbiBpbiBYUmVmOiAke2V9YDtpZih0aGlzLl9nZW5lcmF0aW9uRmFsbGJhY2smJnQuZ2VuPGEpe3dhcm4ocik7cmV0dXJuIHRoaXMuZmV0Y2hVbmNvbXByZXNzZWQoUmVmLmdldChzLHQuZ2VuKSx0LGkpfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24ocil9Y29uc3Qgcj10aGlzLnN0cmVhbS5tYWtlU3ViU3RyZWFtKHQub2Zmc2V0K3RoaXMuc3RyZWFtLnN0YXJ0KSxuPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihyKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSksZz1uLmdldE9iaigpLG89bi5nZXRPYmooKSxjPW4uZ2V0T2JqKCk7aWYoZyE9PXN8fG8hPT1hfHwhKGMgaW5zdGFuY2VvZiBDbWQpKXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCk7aWYoIm9iaiIhPT1jLmNtZCl7aWYoYy5jbWQuc3RhcnRzV2l0aCgib2JqIikpe3M9cGFyc2VJbnQoYy5jbWQuc3Vic3RyaW5nKDMpLDEwKTtpZighTnVtYmVyLmlzTmFOKHMpKXJldHVybiBzfXRocm93IG5ldyBYUmVmRW50cnlFeGNlcHRpb24oYEJhZCAodW5jb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCl9KHQ9dGhpcy5lbmNyeXB0JiYhaT9uLmdldE9iaih0aGlzLmVuY3J5cHQuY3JlYXRlQ2lwaGVyVHJhbnNmb3JtKHMsYSkpOm4uZ2V0T2JqKCkpaW5zdGFuY2VvZiBCYXNlU3RyZWFtfHx0aGlzLl9jYWNoZU1hcC5zZXQocyx0KTtyZXR1cm4gdH1mZXRjaENvbXByZXNzZWQoZSx0LGk9ITEpe2NvbnN0IGE9dC5vZmZzZXQscz10aGlzLmZldGNoKFJlZi5nZXQoYSwwKSk7aWYoIShzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJiYWQgT2JqU3RtIHN0cmVhbSIpO2NvbnN0IHI9cy5kaWN0LmdldCgiRmlyc3QiKSxuPXMuZGljdC5nZXQoIk4iKTtpZighTnVtYmVyLmlzSW50ZWdlcihyKXx8IU51bWJlci5pc0ludGVnZXIobikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZpcnN0IGFuZCBuIHBhcmFtZXRlcnMgZm9yIE9ialN0bSBzdHJlYW0iKTtsZXQgZz1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIocykseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2NvbnN0IG89bmV3IEFycmF5KG4pLGM9bmV3IEFycmF5KG4pO2ZvcihsZXQgZT0wO2U8bjsrK2Upe2NvbnN0IHQ9Zy5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcih0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG51bWJlciBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHt0fWApO2NvbnN0IGk9Zy5nZXRPYmooKTtpZighTnVtYmVyLmlzSW50ZWdlcihpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYGludmFsaWQgb2JqZWN0IG9mZnNldCBpbiB0aGUgT2JqU3RtIHN0cmVhbTogJHtpfWApO29bZV09dDtjW2VdPWl9Y29uc3QgQz0ocy5zdGFydHx8MCkrcixoPW5ldyBBcnJheShuKTtmb3IobGV0IGU9MDtlPG47KytlKXtjb25zdCB0PWU8bi0xP2NbZSsxXS1jW2VdOnZvaWQgMDtpZih0PDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIG9mZnNldCBpbiB0aGUgT2JqU3RtIHN0cmVhbS4iKTtnPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihzLm1ha2VTdWJTdHJlYW0oQytjW2VdLHQscy5kaWN0KSkseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2NvbnN0IGk9Zy5nZXRPYmooKTtoW2VdPWk7aWYoaSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pY29udGludWU7Y29uc3Qgcj1vW2VdLGw9dGhpcy5lbnRyaWVzW3JdO2wmJmwub2Zmc2V0PT09YSYmbC5nZW49PT1lJiZ0aGlzLl9jYWNoZU1hcC5zZXQocixpKX1pZih2b2lkIDA9PT0odD1oW3QuZ2VuXSkpdGhyb3cgbmV3IFhSZWZFbnRyeUV4Y2VwdGlvbihgQmFkIChjb21wcmVzc2VkKSBYUmVmIGVudHJ5OiAke2V9YCk7cmV0dXJuIHR9YXN5bmMgZmV0Y2hJZlJlZkFzeW5jKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBSZWY/dGhpcy5mZXRjaEFzeW5jKGUsdCk6ZX1hc3luYyBmZXRjaEFzeW5jKGUsdCl7dHJ5e3JldHVybiB0aGlzLmZldGNoKGUsdCl9Y2F0Y2goaSl7aWYoIShpIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKXRocm93IGk7YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLnJlcXVlc3RSYW5nZShpLmJlZ2luLGkuZW5kKTtyZXR1cm4gdGhpcy5mZXRjaEFzeW5jKGUsdCl9fWdldENhdGFsb2dPYmooKXtyZXR1cm4gdGhpcy5yb290fX1jb25zdCBvZz1bMCwwLDYxMiw3OTJdO2NsYXNzIFBhZ2V7Y29uc3RydWN0b3Ioe3BkZk1hbmFnZXI6ZSx4cmVmOnQscGFnZUluZGV4OmkscGFnZURpY3Q6YSxyZWY6cyxnbG9iYWxJZEZhY3Rvcnk6cixmb250Q2FjaGU6bixidWlsdEluQ01hcENhY2hlOmcsc3RhbmRhcmRGb250RGF0YUNhY2hlOm8sZ2xvYmFsSW1hZ2VDYWNoZTpjLHN5c3RlbUZvbnRDYWNoZTpDLG5vbkJsZW5kTW9kZXNTZXQ6aCx4ZmFGYWN0b3J5Omx9KXt0aGlzLnBkZk1hbmFnZXI9ZTt0aGlzLnBhZ2VJbmRleD1pO3RoaXMucGFnZURpY3Q9YTt0aGlzLnhyZWY9dDt0aGlzLnJlZj1zO3RoaXMuZm9udENhY2hlPW47dGhpcy5idWlsdEluQ01hcENhY2hlPWc7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bzt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9Yzt0aGlzLnN5c3RlbUZvbnRDYWNoZT1DO3RoaXMubm9uQmxlbmRNb2Rlc1NldD1oO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz1lLmV2YWx1YXRvck9wdGlvbnM7dGhpcy5yZXNvdXJjZXNQcm9taXNlPW51bGw7dGhpcy54ZmFGYWN0b3J5PWw7Y29uc3QgUT17b2JqOjB9O3RoaXMuX2xvY2FsSWRGYWN0b3J5PWNsYXNzIGV4dGVuZHMgcntzdGF0aWMgY3JlYXRlT2JqSWQoKXtyZXR1cm5gcCR7aX1fJHsrK1Eub2JqfWB9c3RhdGljIGdldFBhZ2VPYmpJZCgpe3JldHVybmBwJHtzLnRvU3RyaW5nKCl9YH19fV9nZXRJbmhlcml0YWJsZVByb3BlcnR5KGUsdD0hMSl7Y29uc3QgaT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnRoaXMucGFnZURpY3Qsa2V5OmUsZ2V0QXJyYXk6dCxzdG9wV2hlbkZvdW5kOiExfSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoaSk/MSE9PWkubGVuZ3RoJiZpWzBdaW5zdGFuY2VvZiBEaWN0P0RpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTppfSk6aVswXTppfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucGFnZURpY3QuZ2V0QXJyYXkoIkNvbnRlbnRzIil9Z2V0IHJlc291cmNlcygpe2NvbnN0IGU9dGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eSgiUmVzb3VyY2VzIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJyZXNvdXJjZXMiLGUgaW5zdGFuY2VvZiBEaWN0P2U6RGljdC5lbXB0eSl9X2dldEJvdW5kaW5nQm94KGUpe2lmKHRoaXMueGZhRGF0YSlyZXR1cm4gdGhpcy54ZmFEYXRhLmJib3g7Y29uc3QgdD1sb29rdXBOb3JtYWxSZWN0KHRoaXMuX2dldEluaGVyaXRhYmxlUHJvcGVydHkoZSwhMCksbnVsbCk7aWYodCl7aWYodFsyXS10WzBdPjAmJnRbM10tdFsxXT4wKXJldHVybiB0O3dhcm4oYEVtcHR5LCBvciBpbnZhbGlkLCAvJHtlfSBlbnRyeS5gKX1yZXR1cm4gbnVsbH1nZXQgbWVkaWFCb3goKXtyZXR1cm4gc2hhZG93KHRoaXMsIm1lZGlhQm94Iix0aGlzLl9nZXRCb3VuZGluZ0JveCgiTWVkaWFCb3giKXx8b2cpfWdldCBjcm9wQm94KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjcm9wQm94Iix0aGlzLl9nZXRCb3VuZGluZ0JveCgiQ3JvcEJveCIpfHx0aGlzLm1lZGlhQm94KX1nZXQgdXNlclVuaXQoKXtsZXQgZT10aGlzLnBhZ2VEaWN0LmdldCgiVXNlclVuaXQiKTsoIm51bWJlciIhPXR5cGVvZiBlfHxlPD0wKSYmKGU9MSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJ1c2VyVW5pdCIsZSl9Z2V0IHZpZXcoKXtjb25zdHtjcm9wQm94OmUsbWVkaWFCb3g6dH09dGhpcztpZihlIT09dCYmIWlzQXJyYXlFcXVhbChlLHQpKXtjb25zdCBpPVV0aWwuaW50ZXJzZWN0KGUsdCk7aWYoaSYmaVsyXS1pWzBdPjAmJmlbM10taVsxXT4wKXJldHVybiBzaGFkb3codGhpcywidmlldyIsaSk7d2FybigiRW1wdHkgL0Nyb3BCb3ggYW5kIC9NZWRpYUJveCBpbnRlcnNlY3Rpb24uIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3Iix0KX1nZXQgcm90YXRlKCl7bGV0IGU9dGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eSgiUm90YXRlIil8fDA7ZSU5MCE9MD9lPTA6ZT49MzYwP2UlPTM2MDplPDAmJihlPShlJTM2MCszNjApJTM2MCk7cmV0dXJuIHNoYWRvdyh0aGlzLCJyb3RhdGUiLGUpfV9vblN1YlN0cmVhbUVycm9yKGUsdCl7aWYoIXRoaXMuZXZhbHVhdG9yT3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRDb250ZW50U3RyZWFtIC0gaWdub3Jpbmcgc3ViLXN0cmVhbSAoJHt0fSk6ICIke2V9Ii5gKX1nZXRDb250ZW50U3RyZWFtKCl7cmV0dXJuIHRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywiY29udGVudCIpLnRoZW4oKGU9PmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2U6QXJyYXkuaXNBcnJheShlKT9uZXcgU3RyZWFtc1NlcXVlbmNlU3RyZWFtKGUsdGhpcy5fb25TdWJTdHJlYW1FcnJvci5iaW5kKHRoaXMpKTpuZXcgTnVsbFN0cmVhbSkpfWdldCB4ZmFEYXRhKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhIix0aGlzLnhmYUZhY3Rvcnk/e2Jib3g6dGhpcy54ZmFGYWN0b3J5LmdldEJvdW5kaW5nQm94KHRoaXMucGFnZUluZGV4KX06bnVsbCl9I1QoZSx0LGkpe2Zvcihjb25zdCBhIG9mIGUpaWYoYS5pZCl7Y29uc3QgZT1SZWYuZnJvbVN0cmluZyhhLmlkKTtpZighZSl7d2FybihgQSBub24tbGlua2VkIGFubm90YXRpb24gY2Fubm90IGJlIG1vZGlmaWVkOiAke2EuaWR9YCk7Y29udGludWV9aWYoYS5kZWxldGVkKXt0LnB1dChlLGUpO2NvbnRpbnVlfWk/LnB1dChlKTthLnJlZj1lO2RlbGV0ZSBhLmlkfX1hc3luYyBzYXZlTmV3QW5ub3RhdGlvbnMoZSx0LGksYSl7aWYodGhpcy54ZmFGYWN0b3J5KXRocm93IG5ldyBFcnJvcigiWEZBOiBDYW5ub3Qgc2F2ZSBuZXcgYW5ub3RhdGlvbnMuIik7Y29uc3Qgcz1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KSxyPW5ldyBSZWZTZXRDYWNoZSxuPW5ldyBSZWZTZXQ7dGhpcy4jVChpLHIsbik7Y29uc3QgZz10aGlzLnBhZ2VEaWN0LG89dGhpcy5hbm5vdGF0aW9ucy5maWx0ZXIoKGU9PiEoZSBpbnN0YW5jZW9mIFJlZiYmci5oYXMoZSkpKSksYz1hd2FpdCBBbm5vdGF0aW9uRmFjdG9yeS5zYXZlTmV3QW5ub3RhdGlvbnMocyx0LGksYSk7Zm9yKGNvbnN0e3JlZjplfW9mIGMuYW5ub3RhdGlvbnMpZSBpbnN0YW5jZW9mIFJlZiYmIW4uaGFzKGUpJiZvLnB1c2goZSk7Y29uc3QgQz1nLmdldCgiQW5ub3RzIik7Zy5zZXQoIkFubm90cyIsbyk7Y29uc3QgaD1bXTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnJlZixnLGgsdGhpcy54cmVmKTtDJiZnLnNldCgiQW5ub3RzIixDKTtjb25zdCBsPWMuZGVwZW5kZW5jaWVzO2wucHVzaCh7cmVmOnRoaXMucmVmLGRhdGE6aC5qb2luKCIiKX0sLi4uYy5hbm5vdGF0aW9ucyk7Zm9yKGNvbnN0IGUgb2YgcilsLnB1c2goe3JlZjplLGRhdGE6bnVsbH0pO3JldHVybiBsfXNhdmUoZSx0LGkpe2NvbnN0IGE9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSk7cmV0dXJuIHRoaXMuX3BhcnNlZEFubm90YXRpb25zLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSlyLm11c3RCZVByaW50ZWQoaSkmJnMucHVzaChyLnNhdmUoYSx0LGkpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBzYXZlIC0gaWdub3JpbmcgYW5ub3RhdGlvbiBkYXRhIGR1cmluZyAiJHt0Lm5hbWV9IiB0YXNrOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpO3JldHVybiBQcm9taXNlLmFsbChzKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5maWx0ZXIoKGU9PiEhZSkpfSkpfSkpfWxvYWRSZXNvdXJjZXMoZSl7dGhpcy5yZXNvdXJjZXNQcm9taXNlfHw9dGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJyZXNvdXJjZXMiKTtyZXR1cm4gdGhpcy5yZXNvdXJjZXNQcm9taXNlLnRoZW4oKCgpPT5uZXcgT2JqZWN0TG9hZGVyKHRoaXMucmVzb3VyY2VzLGUsdGhpcy54cmVmKS5sb2FkKCkpKX1nZXRPcGVyYXRvckxpc3Qoe2hhbmRsZXI6ZSxzaW5rOnQsdGFzazppLGludGVudDphLGNhY2hlS2V5OnMsYW5ub3RhdGlvblN0b3JhZ2U6cj1udWxsLG1vZGlmaWVkSWRzOm49bnVsbH0pe2NvbnN0IEM9dGhpcy5nZXRDb250ZW50U3RyZWFtKCksRT10aGlzLmxvYWRSZXNvdXJjZXMoWyJDb2xvclNwYWNlIiwiRXh0R1N0YXRlIiwiRm9udCIsIlBhdHRlcm4iLCJQcm9wZXJ0aWVzIiwiU2hhZGluZyIsIlhPYmplY3QiXSksZD1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KSxmPXRoaXMueGZhRmFjdG9yeT9udWxsOmdldE5ld0Fubm90YXRpb25zTWFwKHIpLHA9Zj8uZ2V0KHRoaXMucGFnZUluZGV4KTtsZXQgbT1Qcm9taXNlLnJlc29sdmUobnVsbCkseT1udWxsO2lmKHApe2NvbnN0IGU9dGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKTtsZXQgdDtjb25zdCBhPW5ldyBTZXQ7Zm9yKGNvbnN0e2JpdG1hcElkOmUsYml0bWFwOnR9b2YgcCkhZXx8dHx8YS5oYXMoZSl8fGEuYWRkKGUpO2NvbnN0e2lzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkOnN9PXRoaXMuZXZhbHVhdG9yT3B0aW9ucztpZihhLnNpemU+MCl7Y29uc3QgZT1wLnNsaWNlKCk7Zm9yKGNvbnN0W3QsaV1vZiByKXQuc3RhcnRzV2l0aCh1KSYmaS5iaXRtYXAmJmEuaGFzKGkuYml0bWFwSWQpJiZlLnB1c2goaSk7dD1Bbm5vdGF0aW9uRmFjdG9yeS5nZW5lcmF0ZUltYWdlcyhlLHRoaXMueHJlZixzKX1lbHNlIHQ9QW5ub3RhdGlvbkZhY3RvcnkuZ2VuZXJhdGVJbWFnZXMocCx0aGlzLnhyZWYscyk7eT1uZXcgUmVmU2V0O3RoaXMuI1QocCx5LG51bGwpO209ZS50aGVuKChlPT5lP0Fubm90YXRpb25GYWN0b3J5LnByaW50TmV3QW5ub3RhdGlvbnMoZSxkLGkscCx0KTpudWxsKSl9Y29uc3Qgdz1Qcm9taXNlLmFsbChbQyxFXSkudGhlbigoKFtyXSk9Pntjb25zdCBuPW5ldyBPcGVyYXRvckxpc3QoYSx0KTtlLnNlbmQoIlN0YXJ0UmVuZGVyUGFnZSIse3RyYW5zcGFyZW5jeTpkLmhhc0JsZW5kTW9kZXModGhpcy5yZXNvdXJjZXMsdGhpcy5ub25CbGVuZE1vZGVzU2V0KSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsY2FjaGVLZXk6c30pO3JldHVybiBkLmdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOnIsdGFzazppLHJlc291cmNlczp0aGlzLnJlc291cmNlcyxvcGVyYXRvckxpc3Q6bn0pLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9KSk7cmV0dXJuIFByb21pc2UuYWxsKFt3LHRoaXMuX3BhcnNlZEFubm90YXRpb25zLG1dKS50aGVuKChmdW5jdGlvbihbZSx0LHNdKXtpZihzKXt0PXQuZmlsdGVyKChlPT4hKGUucmVmJiZ5LmhhcyhlLnJlZikpKSk7Zm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBhPXNbZV07aWYoYS5yZWZUb1JlcGxhY2Upe2NvbnN0IHI9dC5maW5kSW5kZXgoKGU9PmUucmVmJiZpc1JlZnNFcXVhbChlLnJlZixhLnJlZlRvUmVwbGFjZSkpKTtpZihyPj0wKXt0LnNwbGljZShyLDEsYSk7cy5zcGxpY2UoZS0tLDEpO2ktLX19fXQ9dC5jb25jYXQocyl9aWYoMD09PXQubGVuZ3RofHxhJmwpe2UuZmx1c2goITApO3JldHVybntsZW5ndGg6ZS50b3RhbExlbmd0aH19Y29uc3QgQz0hIShhJmgpLEU9ISEoYSZRKSx1PSEhKGEmZyksZj0hIShhJm8pLHA9ISEoYSZjKSxtPVtdO2Zvcihjb25zdCBlIG9mIHQpKHV8fGYmJmUubXVzdEJlVmlld2VkKHIsQykmJmUubXVzdEJlVmlld2VkV2hlbkVkaXRpbmcoRSxuKXx8cCYmZS5tdXN0QmVQcmludGVkKHIpKSYmbS5wdXNoKGUuZ2V0T3BlcmF0b3JMaXN0KGQsaSxhLHIpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBhbm5vdGF0aW9uIGRhdGEgZHVyaW5nICIke2kubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtyZXR1cm57b3BMaXN0Om51bGwsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX0pKSk7cmV0dXJuIFByb21pc2UuYWxsKG0pLnRoZW4oKGZ1bmN0aW9uKHQpe2xldCBpPSExLGE9ITE7Zm9yKGNvbnN0e29wTGlzdDpzLHNlcGFyYXRlRm9ybTpyLHNlcGFyYXRlQ2FudmFzOm59b2YgdCl7ZS5hZGRPcExpc3Qocyk7aXx8PXI7YXx8PW59ZS5mbHVzaCghMCx7Zm9ybTppLGNhbnZhczphfSk7cmV0dXJue2xlbmd0aDplLnRvdGFsTGVuZ3RofX0pKX0pKX1hc3luYyBleHRyYWN0VGV4dENvbnRlbnQoe2hhbmRsZXI6ZSx0YXNrOnQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6c30pe2NvbnN0IHI9dGhpcy5nZXRDb250ZW50U3RyZWFtKCksbj10aGlzLmxvYWRSZXNvdXJjZXMoWyJFeHRHU3RhdGUiLCJGb250IiwiUHJvcGVydGllcyIsIlhPYmplY3QiXSksZz10aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygibGFuZyIpLFtvLCxjXT1hd2FpdCBQcm9taXNlLmFsbChbcixuLGddKTtyZXR1cm4gbmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSkuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTpvLHRhc2s6dCxyZXNvdXJjZXM6dGhpcy5yZXNvdXJjZXMsaW5jbHVkZU1hcmtlZENvbnRlbnQ6aSxkaXNhYmxlTm9ybWFsaXphdGlvbjphLHNpbms6cyx2aWV3Qm94OnRoaXMudmlldyxsYW5nOmN9KX1hc3luYyBnZXRTdHJ1Y3RUcmVlKCl7Y29uc3QgZT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygic3RydWN0VHJlZVJvb3QiKTtpZighZSlyZXR1cm4gbnVsbDthd2FpdCB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucztyZXR1cm4oYXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJfcGFyc2VTdHJ1Y3RUcmVlIixbZV0pKS5zZXJpYWxpemFibGV9X3BhcnNlU3RydWN0VHJlZShlKXtjb25zdCB0PW5ldyBTdHJ1Y3RUcmVlUGFnZShlLHRoaXMucGFnZURpY3QpO3QucGFyc2UodGhpcy5yZWYpO3JldHVybiB0fWFzeW5jIGdldEFubm90YXRpb25zRGF0YShlLHQsaSl7Y29uc3QgYT1hd2FpdCB0aGlzLl9wYXJzZWRBbm5vdGF0aW9ucztpZigwPT09YS5sZW5ndGgpcmV0dXJuIGE7Y29uc3Qgcz1bXSxyPVtdO2xldCBuO2NvbnN0IEM9ISEoaSZnKSxoPSEhKGkmbyksbD0hIShpJmMpO2Zvcihjb25zdCBpIG9mIGEpe2NvbnN0IGE9Q3x8aCYmaS52aWV3YWJsZTsoYXx8bCYmaS5wcmludGFibGUpJiZzLnB1c2goaS5kYXRhKTtpZihpLmhhc1RleHRDb250ZW50JiZhKXtufHw9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSk7ci5wdXNoKGkuZXh0cmFjdFRleHRDb250ZW50KG4sdCxbLTEvMCwtMS8wLDEvMCwxLzBdKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgZ2V0QW5ub3RhdGlvbnNEYXRhIC0gaWdub3JpbmcgdGV4dENvbnRlbnQgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKX0pKSl9fWF3YWl0IFByb21pc2UuYWxsKHIpO3JldHVybiBzfWdldCBhbm5vdGF0aW9ucygpe2NvbnN0IGU9dGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eSgiQW5ub3RzIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJhbm5vdGF0aW9ucyIsQXJyYXkuaXNBcnJheShlKT9lOltdKX1nZXQgX3BhcnNlZEFubm90YXRpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGFyc2VkQW5ub3RhdGlvbnMiLHRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywiYW5ub3RhdGlvbnMiKS50aGVuKChhc3luYyBlPT57aWYoMD09PWUubGVuZ3RoKXJldHVybiBlO2NvbnN0IHQ9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKTtpZighdClyZXR1cm5bXTtjb25zdCBpPVtdO2Zvcihjb25zdCBhIG9mIGUpaS5wdXNoKEFubm90YXRpb25GYWN0b3J5LmNyZWF0ZSh0aGlzLnhyZWYsYSx0LHRoaXMuX2xvY2FsSWRGYWN0b3J5LCExLHRoaXMucmVmKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgX3BhcnNlZEFubm90YXRpb25zOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpO2NvbnN0IGE9W107bGV0IHMscjtmb3IoY29uc3QgZSBvZiBhd2FpdCBQcm9taXNlLmFsbChpKSllJiYoZSBpbnN0YW5jZW9mIFdpZGdldEFubm90YXRpb24/KHJ8fD1bXSkucHVzaChlKTplIGluc3RhbmNlb2YgUG9wdXBBbm5vdGF0aW9uPyhzfHw9W10pLnB1c2goZSk6YS5wdXNoKGUpKTtyJiZhLnB1c2goLi4ucik7cyYmYS5wdXNoKC4uLnMpO3JldHVybiBhfSkpKX1nZXQganNBY3Rpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJqc0FjdGlvbnMiLGNvbGxlY3RBY3Rpb25zKHRoaXMueHJlZix0aGlzLnBhZ2VEaWN0LHBBKSl9fWNvbnN0IElnPW5ldyBVaW50OEFycmF5KFszNyw4MCw2OCw3MCw0NV0pLGNnPW5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDk3LDExNCwxMTYsMTIwLDExNCwxMDEsMTAyXSksQ2c9bmV3IFVpbnQ4QXJyYXkoWzEwMSwxMTAsMTAwLDExMSw5OCwxMDZdKTtmdW5jdGlvbiBmaW5kKGUsdCxpPTEwMjQsYT0hMSl7Y29uc3Qgcz10Lmxlbmd0aCxyPWUucGVla0J5dGVzKGkpLG49ci5sZW5ndGgtcztpZihuPD0wKXJldHVybiExO2lmKGEpe2NvbnN0IGk9cy0xO2xldCBhPXIubGVuZ3RoLTE7Zm9yKDthPj1pOyl7bGV0IG49MDtmb3IoO248cyYmclthLW5dPT09dFtpLW5dOyluKys7aWYobj49cyl7ZS5wb3MrPWEtaTtyZXR1cm4hMH1hLS19fWVsc2V7bGV0IGk9MDtmb3IoO2k8PW47KXtsZXQgYT0wO2Zvcig7YTxzJiZyW2krYV09PT10W2FdOylhKys7aWYoYT49cyl7ZS5wb3MrPWk7cmV0dXJuITB9aSsrfX1yZXR1cm4hMX1jbGFzcyBQREZEb2N1bWVudHtjb25zdHJ1Y3RvcihlLHQpe2lmKHQubGVuZ3RoPD0wKXRocm93IG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKCJUaGUgUERGIGZpbGUgaXMgZW1wdHksIGkuZS4gaXRzIHNpemUgaXMgemVybyBieXRlcy4iKTt0aGlzLnBkZk1hbmFnZXI9ZTt0aGlzLnN0cmVhbT10O3RoaXMueHJlZj1uZXcgWFJlZih0LGUpO3RoaXMuX3BhZ2VQcm9taXNlcz1uZXcgTWFwO3RoaXMuX3ZlcnNpb249bnVsbDtjb25zdCBpPXtmb250OjB9O3RoaXMuX2dsb2JhbElkRmFjdG9yeT1jbGFzc3tzdGF0aWMgZ2V0RG9jSWQoKXtyZXR1cm5gZ18ke2UuZG9jSWR9YH1zdGF0aWMgY3JlYXRlRm9udElkKCl7cmV0dXJuImYiKyArK2kuZm9udH1zdGF0aWMgY3JlYXRlT2JqSWQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBjcmVhdGVPYmpJZGAgY2FsbGVkLiIpfXN0YXRpYyBnZXRQYWdlT2JqSWQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBnZXRQYWdlT2JqSWRgIGNhbGxlZC4iKX19fXBhcnNlKGUpe3RoaXMueHJlZi5wYXJzZShlKTt0aGlzLmNhdGFsb2c9bmV3IENhdGFsb2codGhpcy5wZGZNYW5hZ2VyLHRoaXMueHJlZil9Z2V0IGxpbmVhcml6YXRpb24oKXtsZXQgZT1udWxsO3RyeXtlPUxpbmVhcml6YXRpb24uY3JlYXRlKHRoaXMuc3RyZWFtKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKGUpfXJldHVybiBzaGFkb3codGhpcywibGluZWFyaXphdGlvbiIsZSl9Z2V0IHN0YXJ0WFJlZigpe2NvbnN0IGU9dGhpcy5zdHJlYW07bGV0IHQ9MDtpZih0aGlzLmxpbmVhcml6YXRpb24pe2UucmVzZXQoKTtpZihmaW5kKGUsQ2cpKXtlLnNraXAoNik7bGV0IGk9ZS5wZWVrQnl0ZSgpO2Zvcig7aXNXaGl0ZVNwYWNlKGkpOyl7ZS5wb3MrKztpPWUucGVla0J5dGUoKX10PWUucG9zLWUuc3RhcnR9fWVsc2V7Y29uc3QgaT0xMDI0LGE9Y2cubGVuZ3RoO2xldCBzPSExLHI9ZS5lbmQ7Zm9yKDshcyYmcj4wOyl7ci09aS1hO3I8MCYmKHI9MCk7ZS5wb3M9cjtzPWZpbmQoZSxjZyxpLCEwKX1pZihzKXtlLnNraXAoOSk7bGV0IGk7ZG97aT1lLmdldEJ5dGUoKX13aGlsZShpc1doaXRlU3BhY2UoaSkpO2xldCBhPSIiO2Zvcig7aT49MzImJmk8PTU3Oyl7YSs9U3RyaW5nLmZyb21DaGFyQ29kZShpKTtpPWUuZ2V0Qnl0ZSgpfXQ9cGFyc2VJbnQoYSwxMCk7aXNOYU4odCkmJih0PTApfX1yZXR1cm4gc2hhZG93KHRoaXMsInN0YXJ0WFJlZiIsdCl9Y2hlY2tIZWFkZXIoKXtjb25zdCBlPXRoaXMuc3RyZWFtO2UucmVzZXQoKTtpZighZmluZChlLElnKSlyZXR1cm47ZS5tb3ZlU3RhcnQoKTtlLnNraXAoSWcubGVuZ3RoKTtsZXQgdCxpPSIiO2Zvcig7KHQ9ZS5nZXRCeXRlKCkpPjMyJiZpLmxlbmd0aDw3OylpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2t0LnRlc3QoaSk/dGhpcy5fdmVyc2lvbj1pOndhcm4oYEludmFsaWQgUERGIGhlYWRlciB2ZXJzaW9uOiAke2l9YCl9cGFyc2VTdGFydFhSZWYoKXt0aGlzLnhyZWYuc2V0U3RhcnRYUmVmKHRoaXMuc3RhcnRYUmVmKX1nZXQgbnVtUGFnZXMoKXtsZXQgZT0wO2U9dGhpcy5jYXRhbG9nLmhhc0FjdHVhbE51bVBhZ2VzP3RoaXMuY2F0YWxvZy5udW1QYWdlczp0aGlzLnhmYUZhY3Rvcnk/dGhpcy54ZmFGYWN0b3J5LmdldE51bVBhZ2VzKCk6dGhpcy5saW5lYXJpemF0aW9uP3RoaXMubGluZWFyaXphdGlvbi5udW1QYWdlczp0aGlzLmNhdGFsb2cubnVtUGFnZXM7cmV0dXJuIHNoYWRvdyh0aGlzLCJudW1QYWdlcyIsZSl9X2hhc09ubHlEb2N1bWVudFNpZ25hdHVyZXMoZSx0PTApe3JldHVybiEhQXJyYXkuaXNBcnJheShlKSYmZS5ldmVyeSgoZT0+e2lmKCEoKGU9dGhpcy54cmVmLmZldGNoSWZSZWYoZSkpaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4hMTtpZihlLmhhcygiS2lkcyIpKXtpZigrK3Q+MTApe3dhcm4oIl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzOiBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aCByZWFjaGVkIik7cmV0dXJuITF9cmV0dXJuIHRoaXMuX2hhc09ubHlEb2N1bWVudFNpZ25hdHVyZXMoZS5nZXQoIktpZHMiKSx0KX1jb25zdCBpPWlzTmFtZShlLmdldCgiRlQiKSwiU2lnIiksYT1lLmdldCgiUmVjdCIpLHM9QXJyYXkuaXNBcnJheShhKSYmYS5ldmVyeSgoZT0+MD09PWUpKTtyZXR1cm4gaSYmc30pKX1nZXQgX3hmYVN0cmVhbXMoKXtjb25zdCBlPXRoaXMuY2F0YWxvZy5hY3JvRm9ybTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PWUuZ2V0KCJYRkEiKSxpPXsieGRwOnhkcCI6IiIsdGVtcGxhdGU6IiIsZGF0YXNldHM6IiIsY29uZmlnOiIiLGNvbm5lY3Rpb25TZXQ6IiIsbG9jYWxlU2V0OiIiLHN0eWxlc2hlZXQ6IiIsIi94ZHA6eGRwIjoiIn07aWYodCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJiF0LmlzRW1wdHkpe2lbInhkcDp4ZHAiXT10O3JldHVybiBpfWlmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGxldCBlPTAsYT10Lmxlbmd0aDtlPGE7ZSs9Mil7bGV0IHM7cz0wPT09ZT8ieGRwOnhkcCI6ZT09PWEtMj8iL3hkcDp4ZHAiOnRbZV07aWYoIWkuaGFzT3duUHJvcGVydHkocykpY29udGludWU7Y29uc3Qgcj10aGlzLnhyZWYuZmV0Y2hJZlJlZih0W2UrMV0pO3IgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhci5pc0VtcHR5JiYoaVtzXT1yKX1yZXR1cm4gaX1nZXQgeGZhRGF0YXNldHMoKXtjb25zdCBlPXRoaXMuX3hmYVN0cmVhbXM7aWYoIWUpcmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhc2V0cyIsbnVsbCk7Zm9yKGNvbnN0IHQgb2ZbImRhdGFzZXRzIiwieGRwOnhkcCJdKXtjb25zdCBpPWVbdF07aWYoaSl0cnl7Y29uc3QgZT1zdHJpbmdUb1VURjhTdHJpbmcoaS5nZXRTdHJpbmcoKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhc2V0cyIsbmV3IERhdGFzZXRSZWFkZXIoe1t0XTplfSkpfWNhdGNoe3dhcm4oIlhGQSAtIEludmFsaWQgdXRmLTggc3RyaW5nLiIpO2JyZWFrfX1yZXR1cm4gc2hhZG93KHRoaXMsInhmYURhdGFzZXRzIixudWxsKX1nZXQgeGZhRGF0YSgpe2NvbnN0IGU9dGhpcy5feGZhU3RyZWFtcztpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2ksYV1vZiBPYmplY3QuZW50cmllcyhlKSlpZihhKXRyeXt0W2ldPXN0cmluZ1RvVVRGOFN0cmluZyhhLmdldFN0cmluZygpKX1jYXRjaHt3YXJuKCJYRkEgLSBJbnZhbGlkIHV0Zi04IHN0cmluZy4iKTtyZXR1cm4gbnVsbH1yZXR1cm4gdH1nZXQgeGZhRmFjdG9yeSgpe2xldCBlO3RoaXMucGRmTWFuYWdlci5lbmFibGVYZmEmJnRoaXMuY2F0YWxvZy5uZWVkc1JlbmRlcmluZyYmdGhpcy5mb3JtSW5mby5oYXNYZmEmJiF0aGlzLmZvcm1JbmZvLmhhc0Fjcm9Gb3JtJiYoZT10aGlzLnhmYURhdGEpO3JldHVybiBzaGFkb3codGhpcywieGZhRmFjdG9yeSIsZT9uZXcgWEZBRmFjdG9yeShlKTpudWxsKX1nZXQgaXNQdXJlWGZhKCl7cmV0dXJuISF0aGlzLnhmYUZhY3RvcnkmJnRoaXMueGZhRmFjdG9yeS5pc1ZhbGlkKCl9Z2V0IGh0bWxGb3JYZmEoKXtyZXR1cm4gdGhpcy54ZmFGYWN0b3J5P3RoaXMueGZhRmFjdG9yeS5nZXRQYWdlcygpOm51bGx9YXN5bmMgbG9hZFhmYUltYWdlcygpe2NvbnN0IGU9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coInhmYUltYWdlcyIpO2lmKCFlKXJldHVybjtjb25zdCB0PWUuZ2V0S2V5cygpLGk9bmV3IE9iamVjdExvYWRlcihlLHQsdGhpcy54cmVmKTthd2FpdCBpLmxvYWQoKTtjb25zdCBhPW5ldyBNYXA7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1lLmdldChpKTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmYS5zZXQoaSx0LmdldEJ5dGVzKCkpfXRoaXMueGZhRmFjdG9yeS5zZXRJbWFnZXMoYSl9YXN5bmMgbG9hZFhmYUZvbnRzKGUsdCl7Y29uc3QgaT1hd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm0iKTtpZighaSlyZXR1cm47Y29uc3QgYT1hd2FpdCBpLmdldEFzeW5jKCJEUiIpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBzPW5ldyBPYmplY3RMb2FkZXIoYSxbIkZvbnQiXSx0aGlzLnhyZWYpO2F3YWl0IHMubG9hZCgpO2NvbnN0IHI9YS5nZXQoIkZvbnQiKTtpZighKHIgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgbj1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5wZGZNYW5hZ2VyLmV2YWx1YXRvck9wdGlvbnMpO24udXNlU3lzdGVtRm9udHM9ITE7Y29uc3QgZz1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDotMSxpZEZhY3Rvcnk6dGhpcy5fZ2xvYmFsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmNhdGFsb2cuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5jYXRhbG9nLmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnRoaXMuY2F0YWxvZy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsb3B0aW9uczpufSksbz1uZXcgT3BlcmF0b3JMaXN0LGM9W10sQz17Z2V0IGZvbnQoKXtyZXR1cm4gYy5hdCgtMSl9LHNldCBmb250KGUpe2MucHVzaChlKX0sY2xvbmUoKXtyZXR1cm4gdGhpc319LGg9bmV3IE1hcDtyLmZvckVhY2goKChlLHQpPT57aC5zZXQoZSx0KX0pKTtjb25zdCBsPVtdO2Zvcihjb25zdFtlLGldb2YgaCl7Y29uc3Qgcz1pLmdldCgiRm9udERlc2NyaXB0b3IiKTtpZighKHMgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtsZXQgcj1zLmdldCgiRm9udEZhbWlseSIpO3I9ci5yZXBsYWNlQWxsKC9bIF0rKFxkKS9nLCIkMSIpO2NvbnN0IG49e2ZvbnRGYW1pbHk6cixmb250V2VpZ2h0OnMuZ2V0KCJGb250V2VpZ2h0IiksaXRhbGljQW5nbGU6LXMuZ2V0KCJJdGFsaWNBbmdsZSIpfTt2YWxpZGF0ZUNTU0ZvbnQobikmJmwucHVzaChnLmhhbmRsZVNldEZvbnQoYSxbTmFtZS5nZXQoZSksMV0sbnVsbCxvLHQsQyxudWxsLG4pLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBsb2FkWGZhRm9udHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSl9YXdhaXQgUHJvbWlzZS5hbGwobCk7Y29uc3QgUT10aGlzLnhmYUZhY3Rvcnkuc2V0Rm9udHMoYyk7aWYoIVEpcmV0dXJuO24uaWdub3JlRXJyb3JzPSEwO2wubGVuZ3RoPTA7Yy5sZW5ndGg9MDtjb25zdCBFPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgUSlnZXRYZmFGb250TmFtZShgJHtlfS1SZWd1bGFyYCl8fEUuYWRkKGUpO0Uuc2l6ZSYmUS5wdXNoKCJQZGZKUy1GYWxsYmFjayIpO2Zvcihjb25zdCBlIG9mIFEpaWYoIUUuaGFzKGUpKWZvcihjb25zdCBpIG9mW3tuYW1lOiJSZWd1bGFyIixmb250V2VpZ2h0OjQwMCxpdGFsaWNBbmdsZTowfSx7bmFtZToiQm9sZCIsZm9udFdlaWdodDo3MDAsaXRhbGljQW5nbGU6MH0se25hbWU6Ikl0YWxpYyIsZm9udFdlaWdodDo0MDAsaXRhbGljQW5nbGU6MTJ9LHtuYW1lOiJCb2xkSXRhbGljIixmb250V2VpZ2h0OjcwMCxpdGFsaWNBbmdsZToxMn1dKXtjb25zdCBzPWAke2V9LSR7aS5uYW1lfWAscj1nZXRYZmFGb250RGljdChzKTtsLnB1c2goZy5oYW5kbGVTZXRGb250KGEsW05hbWUuZ2V0KHMpLDFdLG51bGwsbyx0LEMscix7Zm9udEZhbWlseTplLGZvbnRXZWlnaHQ6aS5mb250V2VpZ2h0LGl0YWxpY0FuZ2xlOmkuaXRhbGljQW5nbGV9KS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgbG9hZFhmYUZvbnRzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpfWF3YWl0IFByb21pc2UuYWxsKGwpO3RoaXMueGZhRmFjdG9yeS5hcHBlbmRGb250cyhjLEUpfWFzeW5jIHNlcmlhbGl6ZVhmYURhdGEoZSl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3Rvcnkuc2VyaWFsaXplRGF0YShlKTpudWxsfWdldCB2ZXJzaW9uKCl7cmV0dXJuIHRoaXMuY2F0YWxvZy52ZXJzaW9ufHx0aGlzLl92ZXJzaW9ufWdldCBmb3JtSW5mbygpe2NvbnN0IGU9e2hhc0ZpZWxkczohMSxoYXNBY3JvRm9ybTohMSxoYXNYZmE6ITEsaGFzU2lnbmF0dXJlczohMX0sdD10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIXQpcmV0dXJuIHNoYWRvdyh0aGlzLCJmb3JtSW5mbyIsZSk7dHJ5e2NvbnN0IGk9dC5nZXQoIkZpZWxkcyIpLGE9QXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGg+MDtlLmhhc0ZpZWxkcz1hO2NvbnN0IHM9dC5nZXQoIlhGQSIpO2UuaGFzWGZhPUFycmF5LmlzQXJyYXkocykmJnMubGVuZ3RoPjB8fHMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhcy5pc0VtcHR5O2NvbnN0IHI9ISEoMSZ0LmdldCgiU2lnRmxhZ3MiKSksbj1yJiZ0aGlzLl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGkpO2UuaGFzQWNyb0Zvcm09YSYmIW47ZS5oYXNTaWduYXR1cmVzPXJ9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgQ2Fubm90IGZldGNoIGZvcm0gaW5mb3JtYXRpb246ICIke2V9Ii5gKX1yZXR1cm4gc2hhZG93KHRoaXMsImZvcm1JbmZvIixlKX1nZXQgZG9jdW1lbnRJbmZvKCl7Y29uc3QgZT17UERGRm9ybWF0VmVyc2lvbjp0aGlzLnZlcnNpb24sTGFuZ3VhZ2U6dGhpcy5jYXRhbG9nLmxhbmcsRW5jcnlwdEZpbHRlck5hbWU6dGhpcy54cmVmLmVuY3J5cHQ/dGhpcy54cmVmLmVuY3J5cHQuZmlsdGVyTmFtZTpudWxsLElzTGluZWFyaXplZDohIXRoaXMubGluZWFyaXphdGlvbixJc0Fjcm9Gb3JtUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc0Fjcm9Gb3JtLElzWEZBUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc1hmYSxJc0NvbGxlY3Rpb25QcmVzZW50OiEhdGhpcy5jYXRhbG9nLmNvbGxlY3Rpb24sSXNTaWduYXR1cmVzUHJlc2VudDp0aGlzLmZvcm1JbmZvLmhhc1NpZ25hdHVyZXN9O2xldCB0O3RyeXt0PXRoaXMueHJlZi50cmFpbGVyLmdldCgiSW5mbyIpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIlRoZSBkb2N1bWVudCBpbmZvcm1hdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuIil9aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudEluZm8iLGUpO2Zvcihjb25zdCBpIG9mIHQuZ2V0S2V5cygpKXtjb25zdCBhPXQuZ2V0KGkpO3N3aXRjaChpKXtjYXNlIlRpdGxlIjpjYXNlIkF1dGhvciI6Y2FzZSJTdWJqZWN0IjpjYXNlIktleXdvcmRzIjpjYXNlIkNyZWF0b3IiOmNhc2UiUHJvZHVjZXIiOmNhc2UiQ3JlYXRpb25EYXRlIjpjYXNlIk1vZERhdGUiOmlmKCJzdHJpbmciPT10eXBlb2YgYSl7ZVtpXT1zdHJpbmdUb1BERlN0cmluZyhhKTtjb250aW51ZX1icmVhaztjYXNlIlRyYXBwZWQiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXtlW2ldPWE7Y29udGludWV9YnJlYWs7ZGVmYXVsdDpsZXQgdDtzd2l0Y2godHlwZW9mIGEpe2Nhc2Uic3RyaW5nIjp0PXN0cmluZ1RvUERGU3RyaW5nKGEpO2JyZWFrO2Nhc2UibnVtYmVyIjpjYXNlImJvb2xlYW4iOnQ9YTticmVhaztkZWZhdWx0OmEgaW5zdGFuY2VvZiBOYW1lJiYodD1hKX1pZih2b2lkIDA9PT10KXt3YXJuKGBCYWQgdmFsdWUsIGZvciBjdXN0b20ga2V5ICIke2l9IiwgaW4gSW5mbzogJHthfS5gKTtjb250aW51ZX1lLkN1c3RvbXx8KGUuQ3VzdG9tPU9iamVjdC5jcmVhdGUobnVsbCkpO2UuQ3VzdG9tW2ldPXQ7Y29udGludWV9d2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gSW5mbzogJHthfS5gKX1yZXR1cm4gc2hhZG93KHRoaXMsImRvY3VtZW50SW5mbyIsZSl9Z2V0IGZpbmdlcnByaW50cygpe2Z1bmN0aW9uIHZhbGlkYXRlKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZS5sZW5ndGg+MCYmIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiE9PWV9ZnVuY3Rpb24gaGV4U3RyaW5nKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT1pLnRvU3RyaW5nKDE2KTt0LnB1c2goZS5wYWRTdGFydCgyLCIwIikpfXJldHVybiB0LmpvaW4oIiIpfWNvbnN0IGU9dGhpcy54cmVmLnRyYWlsZXIuZ2V0KCJJRCIpO2xldCB0LGk7aWYoQXJyYXkuaXNBcnJheShlKSYmdmFsaWRhdGUoZVswXSkpe3Q9c3RyaW5nVG9CeXRlcyhlWzBdKTtlWzFdIT09ZVswXSYmdmFsaWRhdGUoZVsxXSkmJihpPXN0cmluZ1RvQnl0ZXMoZVsxXSkpfWVsc2UgdD1Lcyh0aGlzLnN0cmVhbS5nZXRCeXRlUmFuZ2UoMCwxMDI0KSwwLDEwMjQpO3JldHVybiBzaGFkb3codGhpcywiZmluZ2VycHJpbnRzIixbaGV4U3RyaW5nKHQpLGk/aGV4U3RyaW5nKGkpOm51bGxdKX1hc3luYyBfZ2V0TGluZWFyaXphdGlvblBhZ2UoZSl7Y29uc3R7Y2F0YWxvZzp0LGxpbmVhcml6YXRpb246aSx4cmVmOmF9PXRoaXMscz1SZWYuZ2V0KGkub2JqZWN0TnVtYmVyRmlyc3QsMCk7dHJ5e2NvbnN0IGU9YXdhaXQgYS5mZXRjaEFzeW5jKHMpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtsZXQgaT1lLmdldFJhdygiVHlwZSIpO2kgaW5zdGFuY2VvZiBSZWYmJihpPWF3YWl0IGEuZmV0Y2hBc3luYyhpKSk7aWYoaXNOYW1lKGksIlBhZ2UiKXx8IWUuaGFzKCJUeXBlIikmJiFlLmhhcygiS2lkcyIpJiZlLmhhcygiQ29udGVudHMiKSl7dC5wYWdlS2lkc0NvdW50Q2FjaGUuaGFzKHMpfHx0LnBhZ2VLaWRzQ291bnRDYWNoZS5wdXQocywxKTt0LnBhZ2VJbmRleENhY2hlLmhhcyhzKXx8dC5wYWdlSW5kZXhDYWNoZS5wdXQocywwKTtyZXR1cm5bZSxzXX19dGhyb3cgbmV3IEZvcm1hdEVycm9yKCJUaGUgTGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGRvZXNuJ3QgcG9pbnQgdG8gYSB2YWxpZCBQYWdlIGRpY3Rpb25hcnkuIil9Y2F0Y2goaSl7d2FybihgX2dldExpbmVhcml6YXRpb25QYWdlOiAiJHtpLm1lc3NhZ2V9Ii5gKTtyZXR1cm4gdC5nZXRQYWdlRGljdChlKX19Z2V0UGFnZShlKXtjb25zdCB0PXRoaXMuX3BhZ2VQcm9taXNlcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdHtjYXRhbG9nOmksbGluZWFyaXphdGlvbjphLHhmYUZhY3Rvcnk6c309dGhpcztsZXQgcjtyPXM/UHJvbWlzZS5yZXNvbHZlKFtEaWN0LmVtcHR5LG51bGxdKTphPy5wYWdlRmlyc3Q9PT1lP3RoaXMuX2dldExpbmVhcml6YXRpb25QYWdlKGUpOmkuZ2V0UGFnZURpY3QoZSk7cj1yLnRoZW4oKChbdCxhXSk9Pm5ldyBQYWdlKHtwZGZNYW5hZ2VyOnRoaXMucGRmTWFuYWdlcix4cmVmOnRoaXMueHJlZixwYWdlSW5kZXg6ZSxwYWdlRGljdDp0LHJlZjphLGdsb2JhbElkRmFjdG9yeTp0aGlzLl9nbG9iYWxJZEZhY3RvcnksZm9udENhY2hlOmkuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6aS5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTppLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOmkuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6aS5zeXN0ZW1Gb250Q2FjaGUsbm9uQmxlbmRNb2Rlc1NldDppLm5vbkJsZW5kTW9kZXNTZXQseGZhRmFjdG9yeTpzfSkpKTt0aGlzLl9wYWdlUHJvbWlzZXMuc2V0KGUscik7cmV0dXJuIHJ9YXN5bmMgY2hlY2tGaXJzdFBhZ2UoZT0hMSl7aWYoIWUpdHJ5e2F3YWl0IHRoaXMuZ2V0UGFnZSgwKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uKXt0aGlzLl9wYWdlUHJvbWlzZXMuZGVsZXRlKDApO2F3YWl0IHRoaXMuY2xlYW51cCgpO3Rocm93IG5ldyBYUmVmUGFyc2VFeGNlcHRpb259fX1hc3luYyBjaGVja0xhc3RQYWdlKGU9ITEpe2NvbnN0e2NhdGFsb2c6dCxwZGZNYW5hZ2VyOml9PXRoaXM7dC5zZXRBY3R1YWxOdW1QYWdlcygpO2xldCBhO3RyeXthd2FpdCBQcm9taXNlLmFsbChbaS5lbnN1cmVEb2MoInhmYUZhY3RvcnkiKSxpLmVuc3VyZURvYygibGluZWFyaXphdGlvbiIpLGkuZW5zdXJlQ2F0YWxvZygibnVtUGFnZXMiKV0pO2lmKHRoaXMueGZhRmFjdG9yeSlyZXR1cm47YT10aGlzLmxpbmVhcml6YXRpb24/dGhpcy5saW5lYXJpemF0aW9uLm51bVBhZ2VzOnQubnVtUGFnZXM7aWYoIU51bWJlci5pc0ludGVnZXIoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO2lmKGE8PTEpcmV0dXJuO2F3YWl0IHRoaXMuZ2V0UGFnZShhLTEpfWNhdGNoKHMpe3RoaXMuX3BhZ2VQcm9taXNlcy5kZWxldGUoYS0xKTthd2FpdCB0aGlzLmNsZWFudXAoKTtpZihzIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uJiYhZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9uO3dhcm4oYGNoZWNrTGFzdFBhZ2UgLSBpbnZhbGlkIC9QYWdlcyB0cmVlIC9Db3VudDogJHthfS5gKTtsZXQgcjt0cnl7cj1hd2FpdCB0LmdldEFsbFBhZ2VEaWN0cyhlKX1jYXRjaChpKXtpZihpIGluc3RhbmNlb2YgWFJlZkVudHJ5RXhjZXB0aW9uJiYhZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9uO3Quc2V0QWN0dWFsTnVtUGFnZXMoMSk7cmV0dXJufWZvcihjb25zdFtlLFthLHNdXW9mIHIpe2xldCByO2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7cj1Qcm9taXNlLnJlamVjdChhKTtyLmNhdGNoKCgoKT0+e30pKX1lbHNlIHI9UHJvbWlzZS5yZXNvbHZlKG5ldyBQYWdlKHtwZGZNYW5hZ2VyOmkseHJlZjp0aGlzLnhyZWYscGFnZUluZGV4OmUscGFnZURpY3Q6YSxyZWY6cyxnbG9iYWxJZEZhY3Rvcnk6dGhpcy5fZ2xvYmFsSWRGYWN0b3J5LGZvbnRDYWNoZTp0LmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnQuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dC5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0Lmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnQuc3lzdGVtRm9udENhY2hlLG5vbkJsZW5kTW9kZXNTZXQ6dC5ub25CbGVuZE1vZGVzU2V0LHhmYUZhY3Rvcnk6bnVsbH0pKTt0aGlzLl9wYWdlUHJvbWlzZXMuc2V0KGUscil9dC5zZXRBY3R1YWxOdW1QYWdlcyhyLnNpemUpfX1mb250RmFsbGJhY2soZSx0KXtyZXR1cm4gdGhpcy5jYXRhbG9nLmZvbnRGYWxsYmFjayhlLHQpfWFzeW5jIGNsZWFudXAoZT0hMSl7cmV0dXJuIHRoaXMuY2F0YWxvZz90aGlzLmNhdGFsb2cuY2xlYW51cChlKTpjbGVhckdsb2JhbENhY2hlcygpfWFzeW5jI3EoZSx0LGksYSxzKXtjb25zdHt4cmVmOnJ9PXRoaXM7aWYoISh0IGluc3RhbmNlb2YgUmVmKXx8cy5oYXModCkpcmV0dXJuO3MucHV0KHQpO2NvbnN0IG49YXdhaXQgci5mZXRjaEFzeW5jKHQpO2lmKCEobiBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtpZihuLmhhcygiVCIpKXtjb25zdCB0PXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IG4uZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/dDpgJHtlfS4ke3R9YH1lbHNle2xldCB0PW47Zm9yKDs7KXt0PXQuZ2V0UmF3KCJQYXJlbnQiKTtpZih0IGluc3RhbmNlb2YgUmVmKXtpZihzLmhhcyh0KSlicmVhazt0PWF3YWl0IHIuZmV0Y2hBc3luYyh0KX1pZighKHQgaW5zdGFuY2VvZiBEaWN0KSlicmVhaztpZih0LmhhcygiVCIpKXtjb25zdCBpPXN0cmluZ1RvUERGU3RyaW5nKGF3YWl0IHQuZ2V0QXN5bmMoIlQiKSk7ZT0iIj09PWU/aTpgJHtlfS4ke2l9YDticmVha319fWkuaGFzKGUpfHxpLnNldChlLFtdKTtpLmdldChlKS5wdXNoKEFubm90YXRpb25GYWN0b3J5LmNyZWF0ZShyLHQsYSxudWxsLCEwLG51bGwpLnRoZW4oKGU9PmU/LmdldEZpZWxkT2JqZWN0KCkpKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgI2NvbGxlY3RGaWVsZE9iamVjdHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKSk7aWYoIW4uaGFzKCJLaWRzIikpcmV0dXJuO2NvbnN0IGc9YXdhaXQgbi5nZXRBc3luYygiS2lkcyIpO2lmKEFycmF5LmlzQXJyYXkoZykpZm9yKGNvbnN0IHQgb2YgZylhd2FpdCB0aGlzLiNxKGUsdCxpLGEscyl9Z2V0IGZpZWxkT2JqZWN0cygpe2lmKCF0aGlzLmZvcm1JbmZvLmhhc0ZpZWxkcylyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsUHJvbWlzZS5yZXNvbHZlKG51bGwpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsUHJvbWlzZS5hbGwoW3RoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImFubm90YXRpb25HbG9iYWxzIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIildKS50aGVuKChhc3luYyhbZSx0XSk9PntpZighZSlyZXR1cm4gbnVsbDtjb25zdCBpPW5ldyBSZWZTZXQsYT1PYmplY3QuY3JlYXRlKG51bGwpLHM9bmV3IE1hcDtmb3IoY29uc3QgYSBvZiBhd2FpdCB0LmdldEFzeW5jKCJGaWVsZHMiKSlhd2FpdCB0aGlzLiNxKCIiLGEscyxlLGkpO2NvbnN0IHI9W107Zm9yKGNvbnN0W2UsdF1vZiBzKXIucHVzaChQcm9taXNlLmFsbCh0KS50aGVuKCh0PT57KHQ9dC5maWx0ZXIoKGU9PiEhZSkpKS5sZW5ndGg+MCYmKGFbZV09dCl9KSkpO2F3YWl0IFByb21pc2UuYWxsKHIpO3JldHVybiBhfSkpKX1nZXQgaGFzSlNBY3Rpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJoYXNKU0FjdGlvbnMiLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoIl9wYXJzZUhhc0pTQWN0aW9ucyIpKX1hc3luYyBfcGFyc2VIYXNKU0FjdGlvbnMoKXtjb25zdFtlLHRdPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiZmllbGRPYmplY3RzIildKTtyZXR1cm4hIWV8fCEhdCYmT2JqZWN0LnZhbHVlcyh0KS5zb21lKChlPT5lLnNvbWUoKGU9Pm51bGwhPT1lLmFjdGlvbnMpKSkpfWdldCBjYWxjdWxhdGlvbk9yZGVySWRzKCl7Y29uc3QgZT10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIWU/LmhhcygiQ08iKSlyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLG51bGwpO2NvbnN0IHQ9ZS5nZXQoIkNPIik7aWYoIUFycmF5LmlzQXJyYXkodCl8fDA9PT10Lmxlbmd0aClyZXR1cm4gc2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLG51bGwpO2NvbnN0IGk9W107Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZpLnB1c2goZS50b1N0cmluZygpKTtyZXR1cm4gMD09PWkubGVuZ3RoP3NoYWRvdyh0aGlzLCJjYWxjdWxhdGlvbk9yZGVySWRzIixudWxsKTpzaGFkb3codGhpcywiY2FsY3VsYXRpb25PcmRlcklkcyIsaSl9Z2V0IGFubm90YXRpb25HbG9iYWxzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJhbm5vdGF0aW9uR2xvYmFscyIsQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlR2xvYmFscyh0aGlzLnBkZk1hbmFnZXIpKX19Y2xhc3MgQmFzZVBkZk1hbmFnZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fZG9jQmFzZVVybD1mdW5jdGlvbiBwYXJzZURvY0Jhc2VVcmwoZSl7aWYoZSl7Y29uc3QgdD1jcmVhdGVWYWxpZEFic29sdXRlVXJsKGUpO2lmKHQpcmV0dXJuIHQuaHJlZjt3YXJuKGBJbnZhbGlkIGFic29sdXRlIGRvY0Jhc2VVcmw6ICIke2V9Ii5gKX1yZXR1cm4gbnVsbH0oZS5kb2NCYXNlVXJsKTt0aGlzLl9kb2NJZD1lLmRvY0lkO3RoaXMuX3Bhc3N3b3JkPWUucGFzc3dvcmQ7dGhpcy5lbmFibGVYZmE9ZS5lbmFibGVYZmE7ZS5ldmFsdWF0b3JPcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkJiY9RmVhdHVyZVRlc3QuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ7dGhpcy5ldmFsdWF0b3JPcHRpb25zPU9iamVjdC5mcmVlemUoZS5ldmFsdWF0b3JPcHRpb25zKX1nZXQgZG9jSWQoKXtyZXR1cm4gdGhpcy5fZG9jSWR9Z2V0IHBhc3N3b3JkKCl7cmV0dXJuIHRoaXMuX3Bhc3N3b3JkfWdldCBkb2NCYXNlVXJsKCl7cmV0dXJuIHRoaXMuX2RvY0Jhc2VVcmx9Z2V0IGNhdGFsb2coKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5jYXRhbG9nfWVuc3VyZURvYyhlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LGUsdCl9ZW5zdXJlWFJlZihlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LnhyZWYsZSx0KX1lbnN1cmVDYXRhbG9nKGUsdCl7cmV0dXJuIHRoaXMuZW5zdXJlKHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZyxlLHQpfWdldFBhZ2UoZSl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShlKX1mb250RmFsbGJhY2soZSx0KXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5mb250RmFsbGJhY2soZSx0KX1sb2FkWGZhRm9udHMoZSx0KXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5sb2FkWGZhRm9udHMoZSx0KX1sb2FkWGZhSW1hZ2VzKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQubG9hZFhmYUltYWdlcygpfXNlcmlhbGl6ZVhmYURhdGEoZSl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuc2VyaWFsaXplWGZhRGF0YShlKX1jbGVhbnVwKGU9ITEpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmNsZWFudXAoZSl9YXN5bmMgZW5zdXJlKGUsdCxpKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBlbnN1cmVgIGNhbGxlZCIpfXJlcXVlc3RSYW5nZShlLHQpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHJlcXVlc3RSYW5nZWAgY2FsbGVkIil9cmVxdWVzdExvYWRlZFN0cmVhbShlPSExKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXF1ZXN0TG9hZGVkU3RyZWFtYCBjYWxsZWQiKX1zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHNlbmRQcm9ncmVzc2l2ZURhdGFgIGNhbGxlZCIpfXVwZGF0ZVBhc3N3b3JkKGUpe3RoaXMuX3Bhc3N3b3JkPWV9dGVybWluYXRlKGUpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHRlcm1pbmF0ZWAgY2FsbGVkIil9fWNsYXNzIExvY2FsUGRmTWFuYWdlciBleHRlbmRzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0IHQ9bmV3IFN0cmVhbShlLnNvdXJjZSk7dGhpcy5wZGZEb2N1bWVudD1uZXcgUERGRG9jdW1lbnQodGhpcyx0KTt0aGlzLl9sb2FkZWRTdHJlYW1Qcm9taXNlPVByb21pc2UucmVzb2x2ZSh0KX1hc3luYyBlbnN1cmUoZSx0LGkpe2NvbnN0IGE9ZVt0XTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYT9hLmFwcGx5KGUsaSk6YX1yZXF1ZXN0UmFuZ2UoZSx0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9cmVxdWVzdExvYWRlZFN0cmVhbShlPSExKXtyZXR1cm4gdGhpcy5fbG9hZGVkU3RyZWFtUHJvbWlzZX10ZXJtaW5hdGUoZSl7fX1jbGFzcyBOZXR3b3JrUGRmTWFuYWdlciBleHRlbmRzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuc3RyZWFtTWFuYWdlcj1uZXcgQ2h1bmtlZFN0cmVhbU1hbmFnZXIoZS5zb3VyY2Use21zZ0hhbmRsZXI6ZS5oYW5kbGVyLGxlbmd0aDplLmxlbmd0aCxkaXNhYmxlQXV0b0ZldGNoOmUuZGlzYWJsZUF1dG9GZXRjaCxyYW5nZUNodW5rU2l6ZTplLnJhbmdlQ2h1bmtTaXplfSk7dGhpcy5wZGZEb2N1bWVudD1uZXcgUERGRG9jdW1lbnQodGhpcyx0aGlzLnN0cmVhbU1hbmFnZXIuZ2V0U3RyZWFtKCkpfWFzeW5jIGVuc3VyZShlLHQsaSl7dHJ5e2NvbnN0IGE9ZVt0XTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYT9hLmFwcGx5KGUsaSk6YX1jYXRjaChhKXtpZighKGEgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikpdGhyb3cgYTthd2FpdCB0aGlzLnJlcXVlc3RSYW5nZShhLmJlZ2luLGEuZW5kKTtyZXR1cm4gdGhpcy5lbnN1cmUoZSx0LGkpfX1yZXF1ZXN0UmFuZ2UoZSx0KXtyZXR1cm4gdGhpcy5zdHJlYW1NYW5hZ2VyLnJlcXVlc3RSYW5nZShlLHQpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7cmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5yZXF1ZXN0QWxsQ2h1bmtzKGUpfXNlbmRQcm9ncmVzc2l2ZURhdGEoZSl7dGhpcy5zdHJlYW1NYW5hZ2VyLm9uUmVjZWl2ZURhdGEoe2NodW5rOmV9KX10ZXJtaW5hdGUoZSl7dGhpcy5zdHJlYW1NYW5hZ2VyLmFib3J0KGUpfX1jb25zdCBoZz0xLEJnPTIsbGc9MSxRZz0yLEVnPTMsdWc9NCxkZz01LGZnPTYscGc9NyxtZz04O2Z1bmN0aW9uIHdyYXBSZWFzb24oZSl7ZSBpbnN0YW5jZW9mIEVycm9yfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfHx1bnJlYWNoYWJsZSgnd3JhcFJlYXNvbjogRXhwZWN0ZWQgInJlYXNvbiIgdG8gYmUgYSAocG9zc2libHkgY2xvbmVkKSBFcnJvci4nKTtzd2l0Y2goZS5uYW1lKXtjYXNlIkFib3J0RXhjZXB0aW9uIjpyZXR1cm4gbmV3IEFib3J0RXhjZXB0aW9uKGUubWVzc2FnZSk7Y2FzZSJNaXNzaW5nUERGRXhjZXB0aW9uIjpyZXR1cm4gbmV3IE1pc3NpbmdQREZFeGNlcHRpb24oZS5tZXNzYWdlKTtjYXNlIlBhc3N3b3JkRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFBhc3N3b3JkRXhjZXB0aW9uKGUubWVzc2FnZSxlLmNvZGUpO2Nhc2UiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5zdGF0dXMpO2Nhc2UiVW5rbm93bkVycm9yRXhjZXB0aW9uIjpyZXR1cm4gbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5kZXRhaWxzKTtkZWZhdWx0OnJldHVybiBuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLnRvU3RyaW5nKCkpfX1jbGFzcyBNZXNzYWdlSGFuZGxlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5zb3VyY2VOYW1lPWU7dGhpcy50YXJnZXROYW1lPXQ7dGhpcy5jb21PYmo9aTt0aGlzLmNhbGxiYWNrSWQ9MTt0aGlzLnN0cmVhbUlkPTE7dGhpcy5zdHJlYW1TaW5rcz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuc3RyZWFtQ29udHJvbGxlcnM9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLmNhbGxiYWNrQ2FwYWJpbGl0aWVzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5hY3Rpb25IYW5kbGVyPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5fb25Db21PYmpPbk1lc3NhZ2U9ZT0+e2NvbnN0IHQ9ZS5kYXRhO2lmKHQudGFyZ2V0TmFtZSE9PXRoaXMuc291cmNlTmFtZSlyZXR1cm47aWYodC5zdHJlYW0pe3RoaXMuI08odCk7cmV0dXJufWlmKHQuY2FsbGJhY2spe2NvbnN0IGU9dC5jYWxsYmFja0lkLGk9dGhpcy5jYWxsYmFja0NhcGFiaWxpdGllc1tlXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlIGNhbGxiYWNrICR7ZX1gKTtkZWxldGUgdGhpcy5jYWxsYmFja0NhcGFiaWxpdGllc1tlXTtpZih0LmNhbGxiYWNrPT09aGcpaS5yZXNvbHZlKHQuZGF0YSk7ZWxzZXtpZih0LmNhbGxiYWNrIT09QmcpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIGNhbGxiYWNrIGNhc2UiKTtpLnJlamVjdCh3cmFwUmVhc29uKHQucmVhc29uKSl9cmV0dXJufWNvbnN0IGE9dGhpcy5hY3Rpb25IYW5kbGVyW3QuYWN0aW9uXTtpZighYSl0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uIGZyb20gd29ya2VyOiAke3QuYWN0aW9ufWApO2lmKHQuY2FsbGJhY2tJZCl7Y29uc3QgZT10aGlzLnNvdXJjZU5hbWUscz10LnNvdXJjZU5hbWU7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe2UoYSh0LmRhdGEpKX0pKS50aGVuKChmdW5jdGlvbihhKXtpLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmUsdGFyZ2V0TmFtZTpzLGNhbGxiYWNrOmhnLGNhbGxiYWNrSWQ6dC5jYWxsYmFja0lkLGRhdGE6YX0pfSksKGZ1bmN0aW9uKGEpe2kucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6ZSx0YXJnZXROYW1lOnMsY2FsbGJhY2s6QmcsY2FsbGJhY2tJZDp0LmNhbGxiYWNrSWQscmVhc29uOndyYXBSZWFzb24oYSl9KX0pKX1lbHNlIHQuc3RyZWFtSWQ/dGhpcy4jUCh0KTphKHQuZGF0YSl9O2kuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fb25Db21PYmpPbk1lc3NhZ2UpfW9uKGUsdCl7Y29uc3QgaT10aGlzLmFjdGlvbkhhbmRsZXI7aWYoaVtlXSl0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIGFscmVhZHkgYW4gYWN0aW9uTmFtZSBjYWxsZWQgIiR7ZX0iYCk7aVtlXT10fXNlbmQoZSx0LGkpe3RoaXMuY29tT2JqLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnRoaXMuc291cmNlTmFtZSx0YXJnZXROYW1lOnRoaXMudGFyZ2V0TmFtZSxhY3Rpb246ZSxkYXRhOnR9LGkpfXNlbmRXaXRoUHJvbWlzZShlLHQsaSl7Y29uc3QgYT10aGlzLmNhbGxiYWNrSWQrKyxzPVByb21pc2Uud2l0aFJlc29sdmVycygpO3RoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbYV09czt0cnl7dGhpcy5jb21PYmoucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6dGhpcy5zb3VyY2VOYW1lLHRhcmdldE5hbWU6dGhpcy50YXJnZXROYW1lLGFjdGlvbjplLGNhbGxiYWNrSWQ6YSxkYXRhOnR9LGkpfWNhdGNoKGUpe3MucmVqZWN0KGUpfXJldHVybiBzLnByb21pc2V9c2VuZFdpdGhTdHJlYW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLnN0cmVhbUlkKysscj10aGlzLnNvdXJjZU5hbWUsbj10aGlzLnRhcmdldE5hbWUsZz10aGlzLmNvbU9iajtyZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydDppPT57Y29uc3Qgbz1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdPXtjb250cm9sbGVyOmksc3RhcnRDYWxsOm8scHVsbENhbGw6bnVsbCxjYW5jZWxDYWxsOm51bGwsaXNDbG9zZWQ6ITF9O2cucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6cix0YXJnZXROYW1lOm4sYWN0aW9uOmUsc3RyZWFtSWQ6cyxkYXRhOnQsZGVzaXJlZFNpemU6aS5kZXNpcmVkU2l6ZX0sYSk7cmV0dXJuIG8ucHJvbWlzZX0scHVsbDplPT57Y29uc3QgdD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLnB1bGxDYWxsPXQ7Zy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTpyLHRhcmdldE5hbWU6bixzdHJlYW06Zmcsc3RyZWFtSWQ6cyxkZXNpcmVkU2l6ZTplLmRlc2lyZWRTaXplfSk7cmV0dXJuIHQucHJvbWlzZX0sY2FuY2VsOmU9Pnthc3NlcnQoZSBpbnN0YW5jZW9mIEVycm9yLCJjYW5jZWwgbXVzdCBoYXZlIGEgdmFsaWQgcmVhc29uIik7Y29uc3QgdD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLmNhbmNlbENhbGw9dDt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3NdLmlzQ2xvc2VkPSEwO2cucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6cix0YXJnZXROYW1lOm4sc3RyZWFtOmxnLHN0cmVhbUlkOnMscmVhc29uOndyYXBSZWFzb24oZSl9KTtyZXR1cm4gdC5wcm9taXNlfX0saSl9I1AoZSl7Y29uc3QgdD1lLnN0cmVhbUlkLGk9dGhpcy5zb3VyY2VOYW1lLGE9ZS5zb3VyY2VOYW1lLHM9dGhpcy5jb21PYmoscj10aGlzLG49dGhpcy5hY3Rpb25IYW5kbGVyW2UuYWN0aW9uXSxnPXtlbnF1ZXVlKGUscj0xLG4pe2lmKHRoaXMuaXNDYW5jZWxsZWQpcmV0dXJuO2NvbnN0IGc9dGhpcy5kZXNpcmVkU2l6ZTt0aGlzLmRlc2lyZWRTaXplLT1yO2lmKGc+MCYmdGhpcy5kZXNpcmVkU2l6ZTw9MCl7dGhpcy5zaW5rQ2FwYWJpbGl0eT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLnJlYWR5PXRoaXMuc2lua0NhcGFiaWxpdHkucHJvbWlzZX1zLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTp1ZyxzdHJlYW1JZDp0LGNodW5rOmV9LG4pfSxjbG9zZSgpe2lmKCF0aGlzLmlzQ2FuY2VsbGVkKXt0aGlzLmlzQ2FuY2VsbGVkPSEwO3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOkVnLHN0cmVhbUlkOnR9KTtkZWxldGUgci5zdHJlYW1TaW5rc1t0XX19LGVycm9yKGUpe2Fzc2VydChlIGluc3RhbmNlb2YgRXJyb3IsImVycm9yIG11c3QgaGF2ZSBhIHZhbGlkIHJlYXNvbiIpO2lmKCF0aGlzLmlzQ2FuY2VsbGVkKXt0aGlzLmlzQ2FuY2VsbGVkPSEwO3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOmRnLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX19LHNpbmtDYXBhYmlsaXR5OlByb21pc2Uud2l0aFJlc29sdmVycygpLG9uUHVsbDpudWxsLG9uQ2FuY2VsOm51bGwsaXNDYW5jZWxsZWQ6ITEsZGVzaXJlZFNpemU6ZS5kZXNpcmVkU2l6ZSxyZWFkeTpudWxsfTtnLnNpbmtDYXBhYmlsaXR5LnJlc29sdmUoKTtnLnJlYWR5PWcuc2lua0NhcGFiaWxpdHkucHJvbWlzZTt0aGlzLnN0cmVhbVNpbmtzW3RdPWc7bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3QobihlLmRhdGEsZykpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06bWcsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06bWcsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpfSNPKGUpe2NvbnN0IHQ9ZS5zdHJlYW1JZCxpPXRoaXMuc291cmNlTmFtZSxhPWUuc291cmNlTmFtZSxzPXRoaXMuY29tT2JqLHI9dGhpcy5zdHJlYW1Db250cm9sbGVyc1t0XSxuPXRoaXMuc3RyZWFtU2lua3NbdF07c3dpdGNoKGUuc3RyZWFtKXtjYXNlIG1nOmUuc3VjY2Vzcz9yLnN0YXJ0Q2FsbC5yZXNvbHZlKCk6ci5zdGFydENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTticmVhaztjYXNlIHBnOmUuc3VjY2Vzcz9yLnB1bGxDYWxsLnJlc29sdmUoKTpyLnB1bGxDYWxsLnJlamVjdCh3cmFwUmVhc29uKGUucmVhc29uKSk7YnJlYWs7Y2FzZSBmZzppZighbil7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06cGcsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSk7YnJlYWt9bi5kZXNpcmVkU2l6ZTw9MCYmZS5kZXNpcmVkU2l6ZT4wJiZuLnNpbmtDYXBhYmlsaXR5LnJlc29sdmUoKTtuLmRlc2lyZWRTaXplPWUuZGVzaXJlZFNpemU7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe2Uobi5vblB1bGw/LigpKX0pKS50aGVuKChmdW5jdGlvbigpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOnBnLHN0cmVhbUlkOnQsc3VjY2VzczohMH0pfSksKGZ1bmN0aW9uKGUpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOnBnLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX0pKTticmVhaztjYXNlIHVnOmFzc2VydChyLCJlbnF1ZXVlIHNob3VsZCBoYXZlIHN0cmVhbSBjb250cm9sbGVyIik7aWYoci5pc0Nsb3NlZClicmVhaztyLmNvbnRyb2xsZXIuZW5xdWV1ZShlLmNodW5rKTticmVhaztjYXNlIEVnOmFzc2VydChyLCJjbG9zZSBzaG91bGQgaGF2ZSBzdHJlYW0gY29udHJvbGxlciIpO2lmKHIuaXNDbG9zZWQpYnJlYWs7ci5pc0Nsb3NlZD0hMDtyLmNvbnRyb2xsZXIuY2xvc2UoKTt0aGlzLiNXKHIsdCk7YnJlYWs7Y2FzZSBkZzphc3NlcnQociwiZXJyb3Igc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtyLmNvbnRyb2xsZXIuZXJyb3Iod3JhcFJlYXNvbihlLnJlYXNvbikpO3RoaXMuI1cocix0KTticmVhaztjYXNlIFFnOmUuc3VjY2Vzcz9yLmNhbmNlbENhbGwucmVzb2x2ZSgpOnIuY2FuY2VsQ2FsbC5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO3RoaXMuI1cocix0KTticmVhaztjYXNlIGxnOmlmKCFuKWJyZWFrO25ldyBQcm9taXNlKChmdW5jdGlvbih0KXt0KG4ub25DYW5jZWw/Lih3cmFwUmVhc29uKGUucmVhc29uKSkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06UWcsc3RyZWFtSWQ6dCxzdWNjZXNzOiEwfSl9KSwoZnVuY3Rpb24oZSl7cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06UWcsc3RyZWFtSWQ6dCxyZWFzb246d3JhcFJlYXNvbihlKX0pfSkpO24uc2lua0NhcGFiaWxpdHkucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTtuLmlzQ2FuY2VsbGVkPSEwO2RlbGV0ZSB0aGlzLnN0cmVhbVNpbmtzW3RdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHN0cmVhbSBjYXNlIil9fWFzeW5jI1coZSx0KXthd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW2Uuc3RhcnRDYWxsPy5wcm9taXNlLGUucHVsbENhbGw/LnByb21pc2UsZS5jYW5jZWxDYWxsPy5wcm9taXNlXSk7ZGVsZXRlIHRoaXMuc3RyZWFtQ29udHJvbGxlcnNbdF19ZGVzdHJveSgpe3RoaXMuY29tT2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX29uQ29tT2JqT25NZXNzYWdlKX19Y2xhc3MgUERGV29ya2VyU3RyZWFte2NvbnN0cnVjdG9yKGUpe3RoaXMuX21zZ0hhbmRsZXI9ZTt0aGlzLl9jb250ZW50TGVuZ3RoPW51bGw7dGhpcy5fZnVsbFJlcXVlc3RSZWFkZXI9bnVsbDt0aGlzLl9yYW5nZVJlcXVlc3RSZWFkZXJzPVtdfWdldEZ1bGxSZWFkZXIoKXthc3NlcnQoIXRoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyLCJQREZXb3JrZXJTdHJlYW0uZ2V0RnVsbFJlYWRlciBjYW4gb25seSBiZSBjYWxsZWQgb25jZS4iKTt0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcj1uZXcgUERGV29ya2VyU3RyZWFtUmVhZGVyKHRoaXMuX21zZ0hhbmRsZXIpO3JldHVybiB0aGlzLl9mdWxsUmVxdWVzdFJlYWRlcn1nZXRSYW5nZVJlYWRlcihlLHQpe2NvbnN0IGk9bmV3IFBERldvcmtlclN0cmVhbVJhbmdlUmVhZGVyKGUsdCx0aGlzLl9tc2dIYW5kbGVyKTt0aGlzLl9yYW5nZVJlcXVlc3RSZWFkZXJzLnB1c2goaSk7cmV0dXJuIGl9Y2FuY2VsQWxsUmVxdWVzdHMoZSl7dGhpcy5fZnVsbFJlcXVlc3RSZWFkZXI/LmNhbmNlbChlKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9yYW5nZVJlcXVlc3RSZWFkZXJzLnNsaWNlKDApKXQuY2FuY2VsKGUpfX1jbGFzcyBQREZXb3JrZXJTdHJlYW1SZWFkZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fbXNnSGFuZGxlcj1lO3RoaXMub25Qcm9ncmVzcz1udWxsO3RoaXMuX2NvbnRlbnRMZW5ndGg9bnVsbDt0aGlzLl9pc1JhbmdlU3VwcG9ydGVkPSExO3RoaXMuX2lzU3RyZWFtaW5nU3VwcG9ydGVkPSExO2NvbnN0IHQ9dGhpcy5fbXNnSGFuZGxlci5zZW5kV2l0aFN0cmVhbSgiR2V0UmVhZGVyIik7dGhpcy5fcmVhZGVyPXQuZ2V0UmVhZGVyKCk7dGhpcy5faGVhZGVyc1JlYWR5PXRoaXMuX21zZ0hhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJSZWFkZXJIZWFkZXJzUmVhZHkiKS50aGVuKChlPT57dGhpcy5faXNTdHJlYW1pbmdTdXBwb3J0ZWQ9ZS5pc1N0cmVhbWluZ1N1cHBvcnRlZDt0aGlzLl9pc1JhbmdlU3VwcG9ydGVkPWUuaXNSYW5nZVN1cHBvcnRlZDt0aGlzLl9jb250ZW50TGVuZ3RoPWUuY29udGVudExlbmd0aH0pKX1nZXQgaGVhZGVyc1JlYWR5KCl7cmV0dXJuIHRoaXMuX2hlYWRlcnNSZWFkeX1nZXQgY29udGVudExlbmd0aCgpe3JldHVybiB0aGlzLl9jb250ZW50TGVuZ3RofWdldCBpc1N0cmVhbWluZ1N1cHBvcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0cmVhbWluZ1N1cHBvcnRlZH1nZXQgaXNSYW5nZVN1cHBvcnRlZCgpe3JldHVybiB0aGlzLl9pc1JhbmdlU3VwcG9ydGVkfWFzeW5jIHJlYWQoKXtjb25zdHt2YWx1ZTplLGRvbmU6dH09YXdhaXQgdGhpcy5fcmVhZGVyLnJlYWQoKTtyZXR1cm4gdD97dmFsdWU6dm9pZCAwLGRvbmU6ITB9Ont2YWx1ZTplLmJ1ZmZlcixkb25lOiExfX1jYW5jZWwoZSl7dGhpcy5fcmVhZGVyLmNhbmNlbChlKX19Y2xhc3MgUERGV29ya2VyU3RyZWFtUmFuZ2VSZWFkZXJ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX21zZ0hhbmRsZXI9aTt0aGlzLm9uUHJvZ3Jlc3M9bnVsbDtjb25zdCBhPXRoaXMuX21zZ0hhbmRsZXIuc2VuZFdpdGhTdHJlYW0oIkdldFJhbmdlUmVhZGVyIix7YmVnaW46ZSxlbmQ6dH0pO3RoaXMuX3JlYWRlcj1hLmdldFJlYWRlcigpfWdldCBpc1N0cmVhbWluZ1N1cHBvcnRlZCgpe3JldHVybiExfWFzeW5jIHJlYWQoKXtjb25zdHt2YWx1ZTplLGRvbmU6dH09YXdhaXQgdGhpcy5fcmVhZGVyLnJlYWQoKTtyZXR1cm4gdD97dmFsdWU6dm9pZCAwLGRvbmU6ITB9Ont2YWx1ZTplLmJ1ZmZlcixkb25lOiExfX1jYW5jZWwoZSl7dGhpcy5fcmVhZGVyLmNhbmNlbChlKX19Y2xhc3MgV29ya2VyVGFza3tjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9ZTt0aGlzLnRlcm1pbmF0ZWQ9ITE7dGhpcy5fY2FwYWJpbGl0eT1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKX1nZXQgZmluaXNoZWQoKXtyZXR1cm4gdGhpcy5fY2FwYWJpbGl0eS5wcm9taXNlfWZpbmlzaCgpe3RoaXMuX2NhcGFiaWxpdHkucmVzb2x2ZSgpfXRlcm1pbmF0ZSgpe3RoaXMudGVybWluYXRlZD0hMH1lbnN1cmVOb3RUZXJtaW5hdGVkKCl7aWYodGhpcy50ZXJtaW5hdGVkKXRocm93IG5ldyBFcnJvcigiV29ya2VyIHRhc2sgd2FzIHRlcm1pbmF0ZWQiKX19Y2xhc3MgV29ya2VyTWVzc2FnZUhhbmRsZXJ7c3RhdGljIHNldHVwKGUsdCl7bGV0IGk9ITE7ZS5vbigidGVzdCIsKGZ1bmN0aW9uKHQpe2lmKCFpKXtpPSEwO2Uuc2VuZCgidGVzdCIsdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpfX0pKTtlLm9uKCJjb25maWd1cmUiLChmdW5jdGlvbihlKXshZnVuY3Rpb24gc2V0VmVyYm9zaXR5TGV2ZWwoZSl7TnVtYmVyLmlzSW50ZWdlcihlKSYmKGd0PWUpfShlLnZlcmJvc2l0eSl9KSk7ZS5vbigiR2V0RG9jUmVxdWVzdCIsKGZ1bmN0aW9uKGUpe3JldHVybiBXb3JrZXJNZXNzYWdlSGFuZGxlci5jcmVhdGVEb2N1bWVudEhhbmRsZXIoZSx0KX0pKX1zdGF0aWMgY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCl7bGV0IGksYT0hMSxzPW51bGw7Y29uc3Qgcj1uZXcgU2V0LG49Z2V0VmVyYm9zaXR5TGV2ZWwoKSx7ZG9jSWQ6ZyxhcGlWZXJzaW9uOm99PWUsYz0iNC42LjgyIjtpZihvIT09Yyl0aHJvdyBuZXcgRXJyb3IoYFRoZSBBUEkgdmVyc2lvbiAiJHtvfSIgZG9lcyBub3QgbWF0Y2ggdGhlIFdvcmtlciB2ZXJzaW9uICIke2N9Ii5gKTtjb25zdCBDPVtdO2Zvcihjb25zdCBlIGluW10pQy5wdXNoKGUpO2lmKEMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiVGhlIGBBcnJheS5wcm90b3R5cGVgIGNvbnRhaW5zIHVuZXhwZWN0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzOiAiK0Muam9pbigiLCAiKSsiOyB0aHVzIGJyZWFraW5nIGUuZy4gYGZvci4uLmluYCBpdGVyYXRpb24gb2YgYEFycmF5YHMuIik7Y29uc3QgaD1nKyJfd29ya2VyIjtsZXQgbD1uZXcgTWVzc2FnZUhhbmRsZXIoaCxnLHQpO2Z1bmN0aW9uIGVuc3VyZU5vdFRlcm1pbmF0ZWQoKXtpZihhKXRocm93IG5ldyBFcnJvcigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkIil9ZnVuY3Rpb24gc3RhcnRXb3JrZXJUYXNrKGUpe3IuYWRkKGUpfWZ1bmN0aW9uIGZpbmlzaFdvcmtlclRhc2soZSl7ZS5maW5pc2goKTtyLmRlbGV0ZShlKX1hc3luYyBmdW5jdGlvbiBsb2FkRG9jdW1lbnQoZSl7YXdhaXQgaS5lbnN1cmVEb2MoImNoZWNrSGVhZGVyIik7YXdhaXQgaS5lbnN1cmVEb2MoInBhcnNlU3RhcnRYUmVmIik7YXdhaXQgaS5lbnN1cmVEb2MoInBhcnNlIixbZV0pO2F3YWl0IGkuZW5zdXJlRG9jKCJjaGVja0ZpcnN0UGFnZSIsW2VdKTthd2FpdCBpLmVuc3VyZURvYygiY2hlY2tMYXN0UGFnZSIsW2VdKTtjb25zdCB0PWF3YWl0IGkuZW5zdXJlRG9jKCJpc1B1cmVYZmEiKTtpZih0KXtjb25zdCBlPW5ldyBXb3JrZXJUYXNrKCJsb2FkWGZhRm9udHMiKTtzdGFydFdvcmtlclRhc2soZSk7YXdhaXQgUHJvbWlzZS5hbGwoW2kubG9hZFhmYUZvbnRzKGwsZSkuY2F0Y2goKGU9Pnt9KSkudGhlbigoKCk9PmZpbmlzaFdvcmtlclRhc2soZSkpKSxpLmxvYWRYZmFJbWFnZXMoKV0pfWNvbnN0W2Esc109YXdhaXQgUHJvbWlzZS5hbGwoW2kuZW5zdXJlRG9jKCJudW1QYWdlcyIpLGkuZW5zdXJlRG9jKCJmaW5nZXJwcmludHMiKV0pO3JldHVybntudW1QYWdlczphLGZpbmdlcnByaW50czpzLGh0bWxGb3JYZmE6dD9hd2FpdCBpLmVuc3VyZURvYygiaHRtbEZvclhmYSIpOm51bGx9fWZ1bmN0aW9uIGdldFBkZk1hbmFnZXIoe2RhdGE6ZSxwYXNzd29yZDp0LGRpc2FibGVBdXRvRmV0Y2g6aSxyYW5nZUNodW5rU2l6ZTphLGxlbmd0aDpyLGRvY0Jhc2VVcmw6bixlbmFibGVYZmE6byxldmFsdWF0b3JPcHRpb25zOmN9KXtjb25zdCBDPXtzb3VyY2U6bnVsbCxkaXNhYmxlQXV0b0ZldGNoOmksZG9jQmFzZVVybDpuLGRvY0lkOmcsZW5hYmxlWGZhOm8sZXZhbHVhdG9yT3B0aW9uczpjLGhhbmRsZXI6bCxsZW5ndGg6cixwYXNzd29yZDp0LHJhbmdlQ2h1bmtTaXplOmF9LGg9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7bGV0IFE7aWYoZSl7dHJ5e0Muc291cmNlPWU7UT1uZXcgTG9jYWxQZGZNYW5hZ2VyKEMpO2gucmVzb2x2ZShRKX1jYXRjaChlKXtoLnJlamVjdChlKX1yZXR1cm4gaC5wcm9taXNlfWxldCBFLHU9W107dHJ5e0U9bmV3IFBERldvcmtlclN0cmVhbShsKX1jYXRjaChlKXtoLnJlamVjdChlKTtyZXR1cm4gaC5wcm9taXNlfWNvbnN0IGQ9RS5nZXRGdWxsUmVhZGVyKCk7ZC5oZWFkZXJzUmVhZHkudGhlbigoZnVuY3Rpb24oKXtpZihkLmlzUmFuZ2VTdXBwb3J0ZWQpe0Muc291cmNlPUU7Qy5sZW5ndGg9ZC5jb250ZW50TGVuZ3RoO0MuZGlzYWJsZUF1dG9GZXRjaHx8PWQuaXNTdHJlYW1pbmdTdXBwb3J0ZWQ7UT1uZXcgTmV0d29ya1BkZk1hbmFnZXIoQyk7Zm9yKGNvbnN0IGUgb2YgdSlRLnNlbmRQcm9ncmVzc2l2ZURhdGEoZSk7dT1bXTtoLnJlc29sdmUoUSk7cz1udWxsfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aC5yZWplY3QoZSk7cz1udWxsfSkpO2xldCBmPTA7bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7Y29uc3QgcmVhZENodW5rPWZ1bmN0aW9uKHt2YWx1ZTplLGRvbmU6aX0pe3RyeXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7aWYoaSl7UXx8ZnVuY3Rpb24oKXtjb25zdCBlPWFycmF5QnVmZmVyc1RvQnl0ZXModSk7ciYmZS5sZW5ndGghPT1yJiZ3YXJuKCJyZXBvcnRlZCBIVFRQIGxlbmd0aCBpcyBkaWZmZXJlbnQgZnJvbSBhY3R1YWwiKTt0cnl7Qy5zb3VyY2U9ZTtRPW5ldyBMb2NhbFBkZk1hbmFnZXIoQyk7aC5yZXNvbHZlKFEpfWNhdGNoKGUpe2gucmVqZWN0KGUpfXU9W119KCk7cz1udWxsO3JldHVybn1mKz1lLmJ5dGVMZW5ndGg7ZC5pc1N0cmVhbWluZ1N1cHBvcnRlZHx8bC5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDpmLHRvdGFsOk1hdGgubWF4KGYsZC5jb250ZW50TGVuZ3RofHwwKX0pO1E/US5zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpOnUucHVzaChlKTtkLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07ZC5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2gucmVqZWN0KGUpO3M9bnVsbH0pKTtzPWZ1bmN0aW9uKGUpe0UuY2FuY2VsQWxsUmVxdWVzdHMoZSl9O3JldHVybiBoLnByb21pc2V9bC5vbigiR2V0UGFnZSIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmdldFBhZ2UoZS5wYWdlSW5kZXgpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLmFsbChbaS5lbnN1cmUoZSwicm90YXRlIiksaS5lbnN1cmUoZSwicmVmIiksaS5lbnN1cmUoZSwidXNlclVuaXQiKSxpLmVuc3VyZShlLCJ2aWV3IildKS50aGVuKChmdW5jdGlvbihbZSx0LGksYV0pe3JldHVybntyb3RhdGU6ZSxyZWY6dCxyZWZTdHI6dD8udG9TdHJpbmcoKT8/bnVsbCx1c2VyVW5pdDppLHZpZXc6YX19KSl9KSl9KSk7bC5vbigiR2V0UGFnZUluZGV4IiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1SZWYuZ2V0KGUubnVtLGUuZ2VuKTtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJnZXRQYWdlSW5kZXgiLFt0XSl9KSk7bC5vbigiR2V0RGVzdGluYXRpb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZGVzdGluYXRpb25zIil9KSk7bC5vbigiR2V0RGVzdGluYXRpb24iLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJnZXREZXN0aW5hdGlvbiIsW2UuaWRdKX0pKTtsLm9uKCJHZXRQYWdlTGFiZWxzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGFnZUxhYmVscyIpfSkpO2wub24oIkdldFBhZ2VMYXlvdXQiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJwYWdlTGF5b3V0Iil9KSk7bC5vbigiR2V0UGFnZU1vZGUiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJwYWdlTW9kZSIpfSkpO2wub24oIkdldFZpZXdlclByZWZlcmVuY2VzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygidmlld2VyUHJlZmVyZW5jZXMiKX0pKTtsLm9uKCJHZXRPcGVuQWN0aW9uIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygib3BlbkFjdGlvbiIpfSkpO2wub24oIkdldEF0dGFjaG1lbnRzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiYXR0YWNobWVudHMiKX0pKTtsLm9uKCJHZXREb2NKU0FjdGlvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJqc0FjdGlvbnMiKX0pKTtsLm9uKCJHZXRQYWdlSlNBY3Rpb25zIiwoZnVuY3Rpb24oe3BhZ2VJbmRleDplfSl7cmV0dXJuIGkuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmUoZSwianNBY3Rpb25zIil9KSl9KSk7bC5vbigiR2V0T3V0bGluZSIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImRvY3VtZW50T3V0bGluZSIpfSkpO2wub24oIkdldE9wdGlvbmFsQ29udGVudENvbmZpZyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coIm9wdGlvbmFsQ29udGVudENvbmZpZyIpfSkpO2wub24oIkdldFBlcm1pc3Npb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGVybWlzc2lvbnMiKX0pKTtsLm9uKCJHZXRNZXRhZGF0YSIsKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLmFsbChbaS5lbnN1cmVEb2MoImRvY3VtZW50SW5mbyIpLGkuZW5zdXJlQ2F0YWxvZygibWV0YWRhdGEiKV0pfSkpO2wub24oIkdldE1hcmtJbmZvIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygibWFya0luZm8iKX0pKTtsLm9uKCJHZXREYXRhIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkucmVxdWVzdExvYWRlZFN0cmVhbSgpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJ5dGVzfSkpfSkpO2wub24oIkdldEFubm90YXRpb25zIiwoZnVuY3Rpb24oe3BhZ2VJbmRleDplLGludGVudDp0fSl7cmV0dXJuIGkuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbihpKXtjb25zdCBhPW5ldyBXb3JrZXJUYXNrKGBHZXRBbm5vdGF0aW9uczogcGFnZSAke2V9YCk7c3RhcnRXb3JrZXJUYXNrKGEpO3JldHVybiBpLmdldEFubm90YXRpb25zRGF0YShsLGEsdCkudGhlbigoZT0+e2ZpbmlzaFdvcmtlclRhc2soYSk7cmV0dXJuIGV9KSwoZT0+e2ZpbmlzaFdvcmtlclRhc2soYSk7dGhyb3cgZX0pKX0pKX0pKTtsLm9uKCJHZXRGaWVsZE9iamVjdHMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVEb2MoImZpZWxkT2JqZWN0cyIpfSkpO2wub24oIkhhc0pTQWN0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZURvYygiaGFzSlNBY3Rpb25zIil9KSk7bC5vbigiR2V0Q2FsY3VsYXRpb25PcmRlcklkcyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZURvYygiY2FsY3VsYXRpb25PcmRlcklkcyIpfSkpO2wub24oIlNhdmVEb2N1bWVudCIsKGFzeW5jIGZ1bmN0aW9uKHtpc1B1cmVYZmE6ZSxudW1QYWdlczp0LGFubm90YXRpb25TdG9yYWdlOmEsZmlsZW5hbWU6c30pe2NvbnN0IHI9W2kucmVxdWVzdExvYWRlZFN0cmVhbSgpLGkuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm0iKSxpLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtUmVmIiksaS5lbnN1cmVEb2MoInN0YXJ0WFJlZiIpLGkuZW5zdXJlRG9jKCJ4cmVmIiksaS5lbnN1cmVEb2MoImxpbmVhcml6YXRpb24iKSxpLmVuc3VyZUNhdGFsb2coInN0cnVjdFRyZWVSb290IildLG49W10sZz1lP251bGw6Z2V0TmV3QW5ub3RhdGlvbnNNYXAoYSksW28sYyxDLGgsUSxFLHVdPWF3YWl0IFByb21pc2UuYWxsKHIpLGQ9US50cmFpbGVyLmdldFJhdygiUm9vdCIpfHxudWxsO2xldCBmO2lmKGcpe3U/YXdhaXQgdS5jYW5VcGRhdGVTdHJ1Y3RUcmVlKHtwZGZNYW5hZ2VyOmkseHJlZjpRLG5ld0Fubm90YXRpb25zQnlQYWdlOmd9KSYmKGY9dSk6YXdhaXQgU3RydWN0VHJlZVJvb3QuY2FuQ3JlYXRlU3RydWN0dXJlVHJlZSh7Y2F0YWxvZ1JlZjpkLHBkZk1hbmFnZXI6aSxuZXdBbm5vdGF0aW9uc0J5UGFnZTpnfSkmJihmPW51bGwpO2NvbnN0IGU9QW5ub3RhdGlvbkZhY3RvcnkuZ2VuZXJhdGVJbWFnZXMoYS52YWx1ZXMoKSxRLGkuZXZhbHVhdG9yT3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCksdD12b2lkIDA9PT1mP246W107Zm9yKGNvbnN0W2Esc11vZiBnKXQucHVzaChpLmdldFBhZ2UoYSkudGhlbigodD0+e2NvbnN0IGk9bmV3IFdvcmtlclRhc2soYFNhdmUgKGVkaXRvcik6IHBhZ2UgJHthfWApO3JldHVybiB0LnNhdmVOZXdBbm5vdGF0aW9ucyhsLGkscyxlKS5maW5hbGx5KChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSl9KSl9KSkpO251bGw9PT1mP24ucHVzaChQcm9taXNlLmFsbCh0KS50aGVuKChhc3luYyBlPT57YXdhaXQgU3RydWN0VHJlZVJvb3QuY3JlYXRlU3RydWN0dXJlVHJlZSh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6Zyx4cmVmOlEsY2F0YWxvZ1JlZjpkLHBkZk1hbmFnZXI6aSxuZXdSZWZzOmV9KTtyZXR1cm4gZX0pKSk6ZiYmbi5wdXNoKFByb21pc2UuYWxsKHQpLnRoZW4oKGFzeW5jIGU9Pnthd2FpdCBmLnVwZGF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmcscGRmTWFuYWdlcjppLG5ld1JlZnM6ZX0pO3JldHVybiBlfSkpKX1pZihlKW4ucHVzaChpLnNlcmlhbGl6ZVhmYURhdGEoYSkpO2Vsc2UgZm9yKGxldCBlPTA7ZTx0O2UrKyluLnB1c2goaS5nZXRQYWdlKGUpLnRoZW4oKGZ1bmN0aW9uKHQpe2NvbnN0IGk9bmV3IFdvcmtlclRhc2soYFNhdmU6IHBhZ2UgJHtlfWApO3JldHVybiB0LnNhdmUobCxpLGEpLmZpbmFsbHkoKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayhpKX0pKX0pKSk7Y29uc3QgcD1hd2FpdCBQcm9taXNlLmFsbChuKTtsZXQgbT1bXSx5PW51bGw7aWYoZSl7eT1wWzBdO2lmKCF5KXJldHVybiBvLmJ5dGVzfWVsc2V7bT1wLmZsYXQoMik7aWYoMD09PW0ubGVuZ3RoKXJldHVybiBvLmJ5dGVzfWNvbnN0IHc9QyYmYyBpbnN0YW5jZW9mIERpY3QmJm0uc29tZSgoZT0+ZS5uZWVkQXBwZWFyYW5jZXMpKSxEPWMgaW5zdGFuY2VvZiBEaWN0JiZjLmdldCgiWEZBIil8fG51bGw7bGV0IGI9bnVsbCxGPSExO2lmKEFycmF5LmlzQXJyYXkoRCkpe2ZvcihsZXQgZT0wLHQ9RC5sZW5ndGg7ZTx0O2UrPTIpaWYoImRhdGFzZXRzIj09PURbZV0pe2I9RFtlKzFdO0Y9ITB9bnVsbD09PWImJihiPVEuZ2V0TmV3VGVtcG9yYXJ5UmVmKCkpfWVsc2UgRCYmd2FybigiVW5zdXBwb3J0ZWQgWEZBIHR5cGUuIik7bGV0IFM9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihRLnRyYWlsZXIpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKSx0PVEudHJhaWxlci5nZXQoIkluZm8iKXx8bnVsbDt0IGluc3RhbmNlb2YgRGljdCYmdC5mb3JFYWNoKCgodCxpKT0+eyJzdHJpbmciPT10eXBlb2YgaSYmKGVbdF09c3RyaW5nVG9QREZTdHJpbmcoaSkpfSkpO1M9e3Jvb3RSZWY6ZCxlbmNyeXB0UmVmOlEudHJhaWxlci5nZXRSYXcoIkVuY3J5cHQiKXx8bnVsbCxuZXdSZWY6US5nZXROZXdUZW1wb3JhcnlSZWYoKSxpbmZvUmVmOlEudHJhaWxlci5nZXRSYXcoIkluZm8iKXx8bnVsbCxpbmZvOmUsZmlsZUlkczpRLnRyYWlsZXIuZ2V0KCJJRCIpfHxudWxsLHN0YXJ0WFJlZjpFP2g6US5sYXN0WFJlZlN0cmVhbVBvcz8/aCxmaWxlbmFtZTpzfX1yZXR1cm4gaW5jcmVtZW50YWxVcGRhdGUoe29yaWdpbmFsRGF0YTpvLmJ5dGVzLHhyZWZJbmZvOlMsbmV3UmVmczptLHhyZWY6USxoYXNYZmE6ISFELHhmYURhdGFzZXRzUmVmOmIsaGFzWGZhRGF0YXNldHNFbnRyeTpGLG5lZWRBcHBlYXJhbmNlczp3LGFjcm9Gb3JtUmVmOkMsYWNyb0Zvcm06Yyx4ZmFEYXRhOnksdXNlWHJlZlN0cmVhbTppc0RpY3QoUS50b3BEaWN0LCJYUmVmIil9KS5maW5hbGx5KCgoKT0+e1EucmVzZXROZXdUZW1wb3JhcnlSZWYoKX0pKX0pKTtsLm9uKCJHZXRPcGVyYXRvckxpc3QiLChmdW5jdGlvbihlLHQpe2NvbnN0IGE9ZS5wYWdlSW5kZXg7aS5nZXRQYWdlKGEpLnRoZW4oKGZ1bmN0aW9uKGkpe2NvbnN0IHM9bmV3IFdvcmtlclRhc2soYEdldE9wZXJhdG9yTGlzdDogcGFnZSAke2F9YCk7c3RhcnRXb3JrZXJUYXNrKHMpO2NvbnN0IHI9bj49bUEuSU5GT1M/RGF0ZS5ub3coKTowO2kuZ2V0T3BlcmF0b3JMaXN0KHtoYW5kbGVyOmwsc2luazp0LHRhc2s6cyxpbnRlbnQ6ZS5pbnRlbnQsY2FjaGVLZXk6ZS5jYWNoZUtleSxhbm5vdGF0aW9uU3RvcmFnZTplLmFubm90YXRpb25TdG9yYWdlLG1vZGlmaWVkSWRzOmUubW9kaWZpZWRJZHN9KS50aGVuKChmdW5jdGlvbihlKXtmaW5pc2hXb3JrZXJUYXNrKHMpO3ImJmluZm8oYHBhZ2U9JHthKzF9IC0gZ2V0T3BlcmF0b3JMaXN0OiB0aW1lPSR7RGF0ZS5ub3coKS1yfW1zLCBsZW49JHtlLmxlbmd0aH1gKTt0LmNsb3NlKCl9KSwoZnVuY3Rpb24oZSl7ZmluaXNoV29ya2VyVGFzayhzKTtzLnRlcm1pbmF0ZWR8fHQuZXJyb3IoZSl9KSl9KSl9KSk7bC5vbigiR2V0VGV4dENvbnRlbnQiLChmdW5jdGlvbihlLHQpe2NvbnN0e3BhZ2VJbmRleDphLGluY2x1ZGVNYXJrZWRDb250ZW50OnMsZGlzYWJsZU5vcm1hbGl6YXRpb246cn09ZTtpLmdldFBhZ2UoYSkudGhlbigoZnVuY3Rpb24oZSl7Y29uc3QgaT1uZXcgV29ya2VyVGFzaygiR2V0VGV4dENvbnRlbnQ6IHBhZ2UgIithKTtzdGFydFdvcmtlclRhc2soaSk7Y29uc3QgZz1uPj1tQS5JTkZPUz9EYXRlLm5vdygpOjA7ZS5leHRyYWN0VGV4dENvbnRlbnQoe2hhbmRsZXI6bCx0YXNrOmksc2luazp0LGluY2x1ZGVNYXJrZWRDb250ZW50OnMsZGlzYWJsZU5vcm1hbGl6YXRpb246cn0pLnRoZW4oKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayhpKTtnJiZpbmZvKGBwYWdlPSR7YSsxfSAtIGdldFRleHRDb250ZW50OiB0aW1lPWArKERhdGUubm93KCktZykrIm1zIik7dC5jbG9zZSgpfSksKGZ1bmN0aW9uKGUpe2ZpbmlzaFdvcmtlclRhc2soaSk7aS50ZXJtaW5hdGVkfHx0LmVycm9yKGUpfSkpfSkpfSkpO2wub24oIkdldFN0cnVjdFRyZWUiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5nZXRQYWdlKGUucGFnZUluZGV4KS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmUoZSwiZ2V0U3RydWN0VHJlZSIpfSkpfSkpO2wub24oIkZvbnRGYWxsYmFjayIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmZvbnRGYWxsYmFjayhlLmlkLGwpfSkpO2wub24oIkNsZWFudXAiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5jbGVhbnVwKCEwKX0pKTtsLm9uKCJUZXJtaW5hdGUiLChmdW5jdGlvbihlKXthPSEwO2NvbnN0IHQ9W107aWYoaSl7aS50ZXJtaW5hdGUobmV3IEFib3J0RXhjZXB0aW9uKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQuIikpO2NvbnN0IGU9aS5jbGVhbnVwKCk7dC5wdXNoKGUpO2k9bnVsbH1lbHNlIGNsZWFyR2xvYmFsQ2FjaGVzKCk7cyYmcyhuZXcgQWJvcnRFeGNlcHRpb24oIldvcmtlciB3YXMgdGVybWluYXRlZC4iKSk7Zm9yKGNvbnN0IGUgb2Ygcil7dC5wdXNoKGUuZmluaXNoZWQpO2UudGVybWluYXRlKCl9cmV0dXJuIFByb21pc2UuYWxsKHQpLnRoZW4oKGZ1bmN0aW9uKCl7bC5kZXN0cm95KCk7bD1udWxsfSkpfSkpO2wub24oIlJlYWR5IiwoZnVuY3Rpb24odCl7IWZ1bmN0aW9uIHNldHVwRG9jKGUpe2Z1bmN0aW9uIG9uU3VjY2VzcyhlKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7bC5zZW5kKCJHZXREb2MiLHtwZGZJbmZvOmV9KX1mdW5jdGlvbiBvbkZhaWx1cmUoZSl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2lmKGUgaW5zdGFuY2VvZiBQYXNzd29yZEV4Y2VwdGlvbil7Y29uc3QgdD1uZXcgV29ya2VyVGFzayhgUGFzc3dvcmRFeGNlcHRpb246IHJlc3BvbnNlICR7ZS5jb2RlfWApO3N0YXJ0V29ya2VyVGFzayh0KTtsLnNlbmRXaXRoUHJvbWlzZSgiUGFzc3dvcmRSZXF1ZXN0IixlKS50aGVuKChmdW5jdGlvbih7cGFzc3dvcmQ6ZX0pe2ZpbmlzaFdvcmtlclRhc2sodCk7aS51cGRhdGVQYXNzd29yZChlKTtwZGZNYW5hZ2VyUmVhZHkoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtmaW5pc2hXb3JrZXJUYXNrKHQpO2wuc2VuZCgiRG9jRXhjZXB0aW9uIixlKX0pKX1lbHNlIGUgaW5zdGFuY2VvZiBJbnZhbGlkUERGRXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgTWlzc2luZ1BERkV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIFVua25vd25FcnJvckV4Y2VwdGlvbj9sLnNlbmQoIkRvY0V4Y2VwdGlvbiIsZSk6bC5zZW5kKCJEb2NFeGNlcHRpb24iLG5ldyBVbmtub3duRXJyb3JFeGNlcHRpb24oZS5tZXNzYWdlLGUudG9TdHJpbmcoKSkpfWZ1bmN0aW9uIHBkZk1hbmFnZXJSZWFkeSgpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtsb2FkRG9jdW1lbnQoITEpLnRoZW4ob25TdWNjZXNzLChmdW5jdGlvbihlKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7ZSBpbnN0YW5jZW9mIFhSZWZQYXJzZUV4Y2VwdGlvbj9pLnJlcXVlc3RMb2FkZWRTdHJlYW0oKS50aGVuKChmdW5jdGlvbigpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtsb2FkRG9jdW1lbnQoITApLnRoZW4ob25TdWNjZXNzLG9uRmFpbHVyZSl9KSk6b25GYWlsdXJlKGUpfSkpfWVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtnZXRQZGZNYW5hZ2VyKGUpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGEpe2UudGVybWluYXRlKG5ldyBBYm9ydEV4Y2VwdGlvbigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkLiIpKTt0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB3YXMgdGVybWluYXRlZCIpfWk9ZTtpLnJlcXVlc3RMb2FkZWRTdHJlYW0oITApLnRoZW4oKGU9PntsLnNlbmQoIkRhdGFMb2FkZWQiLHtsZW5ndGg6ZS5ieXRlcy5ieXRlTGVuZ3RofSl9KSl9KSkudGhlbihwZGZNYW5hZ2VyUmVhZHksb25GYWlsdXJlKX0oZSk7ZT1udWxsfSkpO3JldHVybiBofXN0YXRpYyBpbml0aWFsaXplRnJvbVBvcnQoZSl7Y29uc3QgdD1uZXcgTWVzc2FnZUhhbmRsZXIoIndvcmtlciIsIm1haW4iLGUpO1dvcmtlck1lc3NhZ2VIYW5kbGVyLnNldHVwKHQsZSk7dC5zZW5kKCJyZWFkeSIsbnVsbCl9fSJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93JiYhdCYmInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZmdW5jdGlvbiBpc01lc3NhZ2VQb3J0KGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlLnBvc3RNZXNzYWdlJiYib25tZXNzYWdlImluIGV9KHNlbGYpJiZXb3JrZXJNZXNzYWdlSGFuZGxlci5pbml0aWFsaXplRnJvbVBvcnQoc2VsZik7dmFyIHlnPV9fd2VicGFja19leHBvcnRzX18uV29ya2VyTWVzc2FnZUhhbmRsZXI7ZXhwb3J0e3lnIGFzIFdvcmtlck1lc3NhZ2VIYW5kbGVyfTs=";
|
|
2
|
+
export {
|
|
3
|
+
l as default
|
|
4
|
+
};
|