From a64b854137b5fc6c60724cbe349122e3bda8b09e Mon Sep 17 00:00:00 2001 From: Kevin Taylor Date: Tue, 20 Nov 2018 13:05:19 +0000 Subject: [PATCH] Implementation of KEP Feature Gate VolumeSubpathEnvExpansion --- api/openapi-spec/swagger.json | 4 + pkg/api/pod/util.go | 36 + pkg/api/pod/util_test.go | 94 + pkg/apis/core/types.go | 7 + pkg/apis/core/v1/zz_generated.conversion.go | 2 + pkg/apis/core/validation/validation.go | 8 + pkg/apis/core/validation/validation_test.go | 224 +++ pkg/kubelet/container/BUILD | 1 + pkg/kubelet/container/helpers.go | 20 +- pkg/kubelet/container/helpers_test.go | 88 +- pkg/kubelet/kubelet_pods.go | 35 +- .../src/k8s.io/api/core/v1/generated.pb.go | 1637 +++++++++-------- .../src/k8s.io/api/core/v1/generated.proto | 8 + staging/src/k8s.io/api/core/v1/types.go | 7 + .../core/v1/types_swagger_doc_generated.go | 1 + test/e2e/common/expansion.go | 420 ++++- 16 files changed, 1762 insertions(+), 830 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 9e56f3958e..3d37a722b7 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -11058,6 +11058,10 @@ "subPath": { "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", "type": "string" + }, + "subPathExpr": { + "description": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive. This field is alpha in 1.14.", + "type": "string" } }, "required": [ diff --git a/pkg/api/pod/util.go b/pkg/api/pod/util.go index 3590582487..a1d536a28b 100644 --- a/pkg/api/pod/util.go +++ b/pkg/api/pod/util.go @@ -350,6 +350,20 @@ func dropDisabledFields( } } + if (!utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpath) || !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpathEnvExpansion)) && !subpathExprInUse(oldPodSpec) { + // drop subpath env expansion from the pod if either of the subpath features is disabled and the old spec did not specify subpath env expansion + for i := range podSpec.Containers { + for j := range podSpec.Containers[i].VolumeMounts { + podSpec.Containers[i].VolumeMounts[j].SubPathExpr = "" + } + } + for i := range podSpec.InitContainers { + for j := range podSpec.InitContainers[i].VolumeMounts { + podSpec.InitContainers[i].VolumeMounts[j].SubPathExpr = "" + } + } + } + dropDisabledVolumeDevicesFields(podSpec, oldPodSpec) dropDisabledRunAsGroupField(podSpec, oldPodSpec) @@ -595,3 +609,25 @@ func runAsGroupInUse(podSpec *api.PodSpec) bool { } return false } + +// subpathExprInUse returns true if the pod spec is non-nil and has a volume mount that makes use of the subPathExpr feature +func subpathExprInUse(podSpec *api.PodSpec) bool { + if podSpec == nil { + return false + } + for i := range podSpec.Containers { + for j := range podSpec.Containers[i].VolumeMounts { + if len(podSpec.Containers[i].VolumeMounts[j].SubPathExpr) > 0 { + return true + } + } + } + for i := range podSpec.InitContainers { + for j := range podSpec.InitContainers[i].VolumeMounts { + if len(podSpec.InitContainers[i].VolumeMounts[j].SubPathExpr) > 0 { + return true + } + } + } + return false +} diff --git a/pkg/api/pod/util_test.go b/pkg/api/pod/util_test.go index 0f0696c9cd..81402b6bf4 100644 --- a/pkg/api/pod/util_test.go +++ b/pkg/api/pod/util_test.go @@ -1549,3 +1549,97 @@ func TestDropPodSysctls(t *testing.T) { } } } + +func TestDropSubPathExpr(t *testing.T) { + podWithSubpaths := func() *api.Pod { + return &api.Pod{ + Spec: api.PodSpec{ + RestartPolicy: api.RestartPolicyNever, + Containers: []api.Container{{Name: "container1", Image: "testimage", VolumeMounts: []api.VolumeMount{{Name: "a", SubPathExpr: "foo"}, {Name: "a", SubPathExpr: "foo2"}, {Name: "a", SubPathExpr: "foo3"}}}}, + InitContainers: []api.Container{{Name: "container1", Image: "testimage", VolumeMounts: []api.VolumeMount{{Name: "a", SubPathExpr: "foo"}, {Name: "a", SubPathExpr: "foo2"}}}}, + Volumes: []api.Volume{{Name: "a", VolumeSource: api.VolumeSource{HostPath: &api.HostPathVolumeSource{Path: "/dev/xvdc"}}}}, + }, + } + } + podWithoutSubpaths := func() *api.Pod { + return &api.Pod{ + Spec: api.PodSpec{ + RestartPolicy: api.RestartPolicyNever, + Containers: []api.Container{{Name: "container1", Image: "testimage", VolumeMounts: []api.VolumeMount{{Name: "a", SubPathExpr: ""}, {Name: "a", SubPathExpr: ""}, {Name: "a", SubPathExpr: ""}}}}, + InitContainers: []api.Container{{Name: "container1", Image: "testimage", VolumeMounts: []api.VolumeMount{{Name: "a", SubPathExpr: ""}, {Name: "a", SubPathExpr: ""}}}}, + Volumes: []api.Volume{{Name: "a", VolumeSource: api.VolumeSource{HostPath: &api.HostPathVolumeSource{Path: "/dev/xvdc"}}}}, + }, + } + } + + podInfo := []struct { + description string + hasSubpaths bool + pod func() *api.Pod + }{ + { + description: "has subpaths", + hasSubpaths: true, + pod: podWithSubpaths, + }, + { + description: "does not have subpaths", + hasSubpaths: false, + pod: podWithoutSubpaths, + }, + { + description: "is nil", + hasSubpaths: false, + pod: func() *api.Pod { return nil }, + }, + } + + for _, enabled := range []bool{true, false} { + for _, oldPodInfo := range podInfo { + for _, newPodInfo := range podInfo { + oldPodHasSubpaths, oldPod := oldPodInfo.hasSubpaths, oldPodInfo.pod() + newPodHasSubpaths, newPod := newPodInfo.hasSubpaths, newPodInfo.pod() + if newPod == nil { + continue + } + + t.Run(fmt.Sprintf("feature enabled=%v, old pod %v, new pod %v", enabled, oldPodInfo.description, newPodInfo.description), func(t *testing.T) { + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, enabled)() + + var oldPodSpec *api.PodSpec + if oldPod != nil { + oldPodSpec = &oldPod.Spec + } + dropDisabledFields(&newPod.Spec, nil, oldPodSpec, nil) + + // old pod should never be changed + if !reflect.DeepEqual(oldPod, oldPodInfo.pod()) { + t.Errorf("old pod changed: %v", diff.ObjectReflectDiff(oldPod, oldPodInfo.pod())) + } + + switch { + case enabled || oldPodHasSubpaths: + // new pod should not be changed if the feature is enabled, or if the old pod had subpaths + if !reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod changed: %v", diff.ObjectReflectDiff(newPod, newPodInfo.pod())) + } + case newPodHasSubpaths: + // new pod should be changed + if reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod was not changed") + } + // new pod should not have subpaths + if !reflect.DeepEqual(newPod, podWithoutSubpaths()) { + t.Errorf("new pod had subpaths: %v", diff.ObjectReflectDiff(newPod, podWithoutSubpaths())) + } + default: + // new pod should not need to be changed + if !reflect.DeepEqual(newPod, newPodInfo.pod()) { + t.Errorf("new pod changed: %v", diff.ObjectReflectDiff(newPod, newPodInfo.pod())) + } + } + }) + } + } + } +} diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index d577b2d2e1..bf50fb2fa8 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -1644,6 +1644,13 @@ type VolumeMount struct { // This field is beta in 1.10. // +optional MountPropagation *MountPropagationMode + // Expanded path within the volume from which the container's volume should be mounted. + // Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + // Defaults to "" (volume's root). + // SubPathExpr and SubPath are mutually exclusive. + // This field is alpha in 1.14. + // +optional + SubPathExpr string } // MountPropagationMode describes mount propagation. diff --git a/pkg/apis/core/v1/zz_generated.conversion.go b/pkg/apis/core/v1/zz_generated.conversion.go index 53e2d88841..83f150884e 100644 --- a/pkg/apis/core/v1/zz_generated.conversion.go +++ b/pkg/apis/core/v1/zz_generated.conversion.go @@ -7372,6 +7372,7 @@ func autoConvert_v1_VolumeMount_To_core_VolumeMount(in *v1.VolumeMount, out *cor out.MountPath = in.MountPath out.SubPath = in.SubPath out.MountPropagation = (*core.MountPropagationMode)(unsafe.Pointer(in.MountPropagation)) + out.SubPathExpr = in.SubPathExpr return nil } @@ -7386,6 +7387,7 @@ func autoConvert_core_VolumeMount_To_v1_VolumeMount(in *core.VolumeMount, out *v out.MountPath = in.MountPath out.SubPath = in.SubPath out.MountPropagation = (*v1.MountPropagationMode)(unsafe.Pointer(in.MountPropagation)) + out.SubPathExpr = in.SubPathExpr return nil } diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index b5e7ab5ec3..f7ba935ff8 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -2264,6 +2264,14 @@ func ValidateVolumeMounts(mounts []core.VolumeMount, voldevices map[string]strin allErrs = append(allErrs, validateLocalDescendingPath(mnt.SubPath, fldPath.Child("subPath"))...) } + if len(mnt.SubPathExpr) > 0 { + if len(mnt.SubPath) > 0 { + allErrs = append(allErrs, field.Invalid(idxPath.Child("subPathExpr"), mnt.SubPathExpr, "subPathExpr and subPath are mutually exclusive")) + } + + allErrs = append(allErrs, validateLocalDescendingPath(mnt.SubPathExpr, fldPath.Child("subPathExpr"))...) + } + if mnt.MountPropagation != nil { allErrs = append(allErrs, validateMountPropagation(mnt.MountPropagation, container, fldPath.Child("mountPropagation"))...) } diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index a00cf84809..45ec2c359c 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -4816,6 +4816,230 @@ func TestValidateDisabledSubpath(t *testing.T) { } } +func TestValidateSubpathMutuallyExclusive(t *testing.T) { + // Enable feature VolumeSubpathEnvExpansion and VolumeSubpath + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, true)() + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpath, true)() + + volumes := []core.Volume{ + {Name: "abc", VolumeSource: core.VolumeSource{PersistentVolumeClaim: &core.PersistentVolumeClaimVolumeSource{ClaimName: "testclaim1"}}}, + {Name: "abc-123", VolumeSource: core.VolumeSource{PersistentVolumeClaim: &core.PersistentVolumeClaimVolumeSource{ClaimName: "testclaim2"}}}, + {Name: "123", VolumeSource: core.VolumeSource{HostPath: &core.HostPathVolumeSource{Path: "/foo/baz", Type: newHostPathType(string(core.HostPathUnset))}}}, + } + vols, v1err := ValidateVolumes(volumes, field.NewPath("field")) + if len(v1err) > 0 { + t.Errorf("Invalid test volume - expected success %v", v1err) + return + } + + container := core.Container{ + SecurityContext: nil, + } + + goodVolumeDevices := []core.VolumeDevice{ + {Name: "xyz", DevicePath: "/foofoo"}, + {Name: "uvw", DevicePath: "/foofoo/share/test"}, + } + + cases := map[string]struct { + mounts []core.VolumeMount + expectError bool + }{ + "subpath and subpathexpr not specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + }, + }, + false, + }, + "subpath expr specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPathExpr: "$(POD_NAME)", + }, + }, + false, + }, + "subpath specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPath: "baz", + }, + }, + false, + }, + "subpath and subpathexpr specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPath: "baz", + SubPathExpr: "$(POD_NAME)", + }, + }, + true, + }, + } + + for name, test := range cases { + errs := ValidateVolumeMounts(test.mounts, GetVolumeDeviceMap(goodVolumeDevices), vols, &container, field.NewPath("field")) + + if len(errs) != 0 && !test.expectError { + t.Errorf("test %v failed: %+v", name, errs) + } + + if len(errs) == 0 && test.expectError { + t.Errorf("test %v failed, expected error", name) + } + } +} + +func TestValidateDisabledSubpathExpr(t *testing.T) { + // Enable feature VolumeSubpathEnvExpansion + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, true)() + + volumes := []core.Volume{ + {Name: "abc", VolumeSource: core.VolumeSource{PersistentVolumeClaim: &core.PersistentVolumeClaimVolumeSource{ClaimName: "testclaim1"}}}, + {Name: "abc-123", VolumeSource: core.VolumeSource{PersistentVolumeClaim: &core.PersistentVolumeClaimVolumeSource{ClaimName: "testclaim2"}}}, + {Name: "123", VolumeSource: core.VolumeSource{HostPath: &core.HostPathVolumeSource{Path: "/foo/baz", Type: newHostPathType(string(core.HostPathUnset))}}}, + } + vols, v1err := ValidateVolumes(volumes, field.NewPath("field")) + if len(v1err) > 0 { + t.Errorf("Invalid test volume - expected success %v", v1err) + return + } + + container := core.Container{ + SecurityContext: nil, + } + + goodVolumeDevices := []core.VolumeDevice{ + {Name: "xyz", DevicePath: "/foofoo"}, + {Name: "uvw", DevicePath: "/foofoo/share/test"}, + } + + cases := map[string]struct { + mounts []core.VolumeMount + expectError bool + }{ + "subpath expr not specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + }, + }, + false, + }, + "subpath expr specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPathExpr: "$(POD_NAME)", + }, + }, + false, + }, + } + + for name, test := range cases { + errs := ValidateVolumeMounts(test.mounts, GetVolumeDeviceMap(goodVolumeDevices), vols, &container, field.NewPath("field")) + + if len(errs) != 0 && !test.expectError { + t.Errorf("test %v failed: %+v", name, errs) + } + + if len(errs) == 0 && test.expectError { + t.Errorf("test %v failed, expected error", name) + } + } + + // Repeat with feature gate off + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, false)() + cases = map[string]struct { + mounts []core.VolumeMount + expectError bool + }{ + "subpath expr not specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + }, + }, + false, + }, + "subpath expr specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPathExpr: "$(POD_NAME)", + }, + }, + false, // validation should not fail, dropping the field is handled in PrepareForCreate/PrepareForUpdate + }, + } + + for name, test := range cases { + errs := ValidateVolumeMounts(test.mounts, GetVolumeDeviceMap(goodVolumeDevices), vols, &container, field.NewPath("field")) + + if len(errs) != 0 && !test.expectError { + t.Errorf("test %v failed: %+v", name, errs) + } + + if len(errs) == 0 && test.expectError { + t.Errorf("test %v failed, expected error", name) + } + } + + // Repeat with subpath feature gate off + defer utilfeaturetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpath, false)() + cases = map[string]struct { + mounts []core.VolumeMount + expectError bool + }{ + "subpath expr not specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + }, + }, + false, + }, + "subpath expr specified": { + []core.VolumeMount{ + { + Name: "abc-123", + MountPath: "/bab", + SubPathExpr: "$(POD_NAME)", + }, + }, + false, // validation should not fail, dropping the field is handled in PrepareForCreate/PrepareForUpdate + }, + } + + for name, test := range cases { + errs := ValidateVolumeMounts(test.mounts, GetVolumeDeviceMap(goodVolumeDevices), vols, &container, field.NewPath("field")) + + if len(errs) != 0 && !test.expectError { + t.Errorf("test %v failed: %+v", name, errs) + } + + if len(errs) == 0 && test.expectError { + t.Errorf("test %v failed, expected error", name) + } + } +} + func TestValidateMountPropagation(t *testing.T) { bTrue := true bFalse := false diff --git a/pkg/kubelet/container/BUILD b/pkg/kubelet/container/BUILD index 3995b79805..dfb9cdd259 100644 --- a/pkg/kubelet/container/BUILD +++ b/pkg/kubelet/container/BUILD @@ -29,6 +29,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/tools/reference:go_default_library", "//staging/src/k8s.io/client-go/tools/remotecommand:go_default_library", diff --git a/pkg/kubelet/container/helpers.go b/pkg/kubelet/container/helpers.go index 10d848a2d8..ddd414894c 100644 --- a/pkg/kubelet/container/helpers.go +++ b/pkg/kubelet/container/helpers.go @@ -27,6 +27,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/tools/record" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2" "k8s.io/kubernetes/pkg/kubelet/util/format" @@ -130,9 +131,22 @@ func ExpandContainerCommandOnlyStatic(containerCommand []string, envs []v1.EnvVa return command } -func ExpandContainerVolumeMounts(mount v1.VolumeMount, envs []EnvVar) (expandedSubpath string) { - mapping := expansion.MappingFuncFor(EnvVarsToMap(envs)) - return expansion.Expand(mount.SubPath, mapping) +func ExpandContainerVolumeMounts(mount v1.VolumeMount, envs []EnvVar) (string, error) { + + envmap := EnvVarsToMap(envs) + missingKeys := sets.NewString() + expanded := expansion.Expand(mount.SubPathExpr, func(key string) string { + value, ok := envmap[key] + if !ok || len(value) == 0 { + missingKeys.Insert(key) + } + return value + }) + + if len(missingKeys) > 0 { + return "", fmt.Errorf("missing value for %s", strings.Join(missingKeys.List(), ", ")) + } + return expanded, nil } func ExpandContainerCommandAndArgs(container *v1.Container, envs []EnvVar) (command []string, args []string) { diff --git a/pkg/kubelet/container/helpers_test.go b/pkg/kubelet/container/helpers_test.go index d6c2792c60..5a658241b3 100644 --- a/pkg/kubelet/container/helpers_test.go +++ b/pkg/kubelet/container/helpers_test.go @@ -145,19 +145,21 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { envs []EnvVar expectedSubPath string expectedMountPath string + expectedOk bool }{ { name: "subpath with no expansion", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{SubPath: "foo"}}, + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "foo"}}, }, expectedSubPath: "foo", expectedMountPath: "", + expectedOk: true, }, { name: "volumes with expanded subpath", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{SubPath: "foo/$(POD_NAME)"}}, + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "foo/$(POD_NAME)"}}, }, envs: []EnvVar{ { @@ -167,11 +169,12 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { }, expectedSubPath: "foo/bar", expectedMountPath: "", + expectedOk: true, }, { name: "volumes expanded with empty subpath", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{SubPath: ""}}, + VolumeMounts: []v1.VolumeMount{{SubPathExpr: ""}}, }, envs: []EnvVar{ { @@ -181,19 +184,21 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { }, expectedSubPath: "", expectedMountPath: "", + expectedOk: true, }, { name: "volumes expanded with no envs subpath", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{SubPath: "/foo/$(POD_NAME)"}}, + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "/foo/$(POD_NAME)"}}, }, expectedSubPath: "/foo/$(POD_NAME)", expectedMountPath: "", + expectedOk: false, }, { name: "volumes expanded with leading environment variable", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{SubPath: "$(POD_NAME)/bar"}}, + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "$(POD_NAME)/bar"}}, }, envs: []EnvVar{ { @@ -203,11 +208,12 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { }, expectedSubPath: "foo/bar", expectedMountPath: "", + expectedOk: true, }, { name: "volumes with volume and subpath", container: &v1.Container{ - VolumeMounts: []v1.VolumeMount{{MountPath: "/foo", SubPath: "$(POD_NAME)/bar"}}, + VolumeMounts: []v1.VolumeMount{{MountPath: "/foo", SubPathExpr: "$(POD_NAME)/bar"}}, }, envs: []EnvVar{ { @@ -217,6 +223,7 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { }, expectedSubPath: "foo/bar", expectedMountPath: "/foo", + expectedOk: true, }, { name: "volumes with volume and no subpath", @@ -231,11 +238,78 @@ func TestExpandVolumeMountsWithSubpath(t *testing.T) { }, expectedSubPath: "", expectedMountPath: "/foo", + expectedOk: true, + }, + { + name: "subpaths with empty environment variable", + container: &v1.Container{ + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "foo/$(POD_NAME)/$(ANNOTATION)"}}, + }, + envs: []EnvVar{ + { + Name: "ANNOTATION", + Value: "", + }, + }, + expectedSubPath: "foo/$(POD_NAME)/$(ANNOTATION)", + expectedMountPath: "", + expectedOk: false, + }, + { + name: "subpaths with missing env variables", + container: &v1.Container{ + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "foo/$(ODD_NAME)/$(POD_NAME)"}}, + }, + envs: []EnvVar{ + { + Name: "ODD_NAME", + Value: "bar", + }, + }, + expectedSubPath: "foo/$(ODD_NAME)/$(POD_NAME)", + expectedMountPath: "", + expectedOk: false, + }, + { + name: "subpaths with empty expansion", + container: &v1.Container{ + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "$()"}}, + }, + expectedSubPath: "$()", + expectedMountPath: "", + expectedOk: false, + }, + { + name: "subpaths with nested expandable envs", + container: &v1.Container{ + VolumeMounts: []v1.VolumeMount{{SubPathExpr: "$(POD_NAME$(ANNOTATION))"}}, + }, + envs: []EnvVar{ + { + Name: "POD_NAME", + Value: "foo", + }, + { + Name: "ANNOTATION", + Value: "bar", + }, + }, + expectedSubPath: "$(POD_NAME$(ANNOTATION))", + expectedMountPath: "", + expectedOk: false, }, } for _, tc := range cases { - actualSubPath := ExpandContainerVolumeMounts(tc.container.VolumeMounts[0], tc.envs) + actualSubPath, err := ExpandContainerVolumeMounts(tc.container.VolumeMounts[0], tc.envs) + ok := err == nil + if e, a := tc.expectedOk, ok; !reflect.DeepEqual(e, a) { + t.Errorf("%v: unexpected validation failure of subpath; expected %v, got %v", tc.name, e, a) + } + if !ok { + // if ExpandContainerVolumeMounts returns an error, we don't care what the actualSubPath value is + continue + } if e, a := tc.expectedSubPath, actualSubPath; !reflect.DeepEqual(e, a) { t.Errorf("%v: unexpected subpath; expected %v, got %v", tc.name, e, a) } diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 9d06d595eb..f66b0fef21 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -159,27 +159,40 @@ func makeMounts(pod *v1.Pod, podDir string, container *v1.Container, hostName, h if err != nil { return nil, cleanupAction, err } - if mount.SubPath != "" { + + subPath := mount.SubPath + if mount.SubPathExpr != "" { if !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpath) { return nil, cleanupAction, fmt.Errorf("volume subpaths are disabled") } - // Expand subpath variables - if utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpathEnvExpansion) { - mount.SubPath = kubecontainer.ExpandContainerVolumeMounts(mount, expandEnvs) + if !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpathEnvExpansion) { + return nil, cleanupAction, fmt.Errorf("volume subpath expansion is disabled") } - if filepath.IsAbs(mount.SubPath) { - return nil, cleanupAction, fmt.Errorf("error SubPath `%s` must not be an absolute path", mount.SubPath) - } + subPath, err = kubecontainer.ExpandContainerVolumeMounts(mount, expandEnvs) - err = volumevalidation.ValidatePathNoBacksteps(mount.SubPath) if err != nil { - return nil, cleanupAction, fmt.Errorf("unable to provision SubPath `%s`: %v", mount.SubPath, err) + return nil, cleanupAction, err + } + } + + if subPath != "" { + if !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpath) { + return nil, cleanupAction, fmt.Errorf("volume subpaths are disabled") + } + + if filepath.IsAbs(subPath) { + return nil, cleanupAction, fmt.Errorf("error SubPath `%s` must not be an absolute path", subPath) + } + + err = volumevalidation.ValidatePathNoBacksteps(subPath) + if err != nil { + return nil, cleanupAction, fmt.Errorf("unable to provision SubPath `%s`: %v", subPath, err) } volumePath := hostPath - hostPath = filepath.Join(volumePath, mount.SubPath) + hostPath = filepath.Join(volumePath, subPath) if subPathExists, err := mounter.ExistsPath(hostPath); err != nil { klog.Errorf("Could not determine if subPath %s exists; will not attempt to change its permissions", hostPath) @@ -193,7 +206,7 @@ func makeMounts(pod *v1.Pod, podDir string, container *v1.Container, hostName, h if err != nil { return nil, cleanupAction, err } - if err := mounter.SafeMakeDir(mount.SubPath, volumePath, perm); err != nil { + if err := mounter.SafeMakeDir(subPath, volumePath, perm); err != nil { // Don't pass detailed error back to the user because it could give information about host filesystem klog.Errorf("failed to create subPath directory for volumeMount %q of container %q: %v", mount.Name, container.Name, err) return nil, cleanupAction, fmt.Errorf("failed to create subPath directory for volumeMount %q of container %q", mount.Name, container.Name) diff --git a/staging/src/k8s.io/api/core/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go index 2d79edfcd0..46299a67c5 100644 --- a/staging/src/k8s.io/api/core/v1/generated.pb.go +++ b/staging/src/k8s.io/api/core/v1/generated.pb.go @@ -10545,6 +10545,10 @@ func (m *VolumeMount) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(len(*m.MountPropagation))) i += copy(dAtA[i:], *m.MountPropagation) } + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.SubPathExpr))) + i += copy(dAtA[i:], m.SubPathExpr) return i, nil } @@ -14396,6 +14400,8 @@ func (m *VolumeMount) Size() (n int) { l = len(*m.MountPropagation) n += 1 + l + sovGenerated(uint64(l)) } + l = len(m.SubPathExpr) + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -17280,6 +17286,7 @@ func (this *VolumeMount) String() string { `MountPath:` + fmt.Sprintf("%v", this.MountPath) + `,`, `SubPath:` + fmt.Sprintf("%v", this.SubPath) + `,`, `MountPropagation:` + valueToStringGenerated(this.MountPropagation) + `,`, + `SubPathExpr:` + fmt.Sprintf("%v", this.SubPathExpr) + `,`, `}`, }, "") return s @@ -50082,6 +50089,35 @@ func (m *VolumeMount) Unmarshal(dAtA []byte) error { s := MountPropagationMode(dAtA[iNdEx:postIndex]) m.MountPropagation = &s iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubPathExpr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubPathExpr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -51684,809 +51720,810 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12856 bytes of a gzipped FileDescriptorProto + // 12871 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x90, 0x24, 0x57, 0x56, 0x18, 0xbc, 0x59, 0x55, 0xfd, 0xa8, 0xd3, 0xef, 0x3b, 0x33, 0x52, 0x4f, 0x4b, 0x33, 0x35, 0x4a, 0xed, 0x8e, 0x46, 0x2b, 0xa9, 0x67, 0x35, 0x92, 0x56, 0x62, 0xa5, 0x15, 0x74, 0x77, 0x75, 0xcf, 0x94, 0x66, 0xba, 0xa7, 0x74, 0xab, 0x67, 0xb4, 0x2b, 0xb4, 0xcb, 0x66, 0x57, 0xdd, 0xee, 0x4e, 0x75, 0x76, 0x66, 0x29, 0x33, 0xab, 0x67, 0x5a, 0x1f, 0x44, 0x7c, 0x5e, 0x0c, 0x66, 0x0d, - 0xe1, 0xd8, 0x30, 0x1b, 0x7e, 0x00, 0x81, 0x23, 0x30, 0x0e, 0xc0, 0xd8, 0x0e, 0x63, 0x30, 0x60, - 0x16, 0x6c, 0x0c, 0xfe, 0x81, 0xff, 0xac, 0xb1, 0x23, 0x1c, 0x4b, 0x04, 0xe1, 0x36, 0x34, 0x0e, - 0x3b, 0xf8, 0x61, 0x70, 0x18, 0xff, 0x30, 0x6d, 0xc2, 0x38, 0xee, 0x33, 0xef, 0xcd, 0xca, 0xac, - 0xaa, 0x1e, 0xf5, 0xb4, 0x04, 0xb1, 0xff, 0xaa, 0xee, 0x39, 0xf7, 0xdc, 0x9b, 0xf7, 0x79, 0xce, - 0xb9, 0xe7, 0x01, 0xaf, 0xee, 0xbc, 0x12, 0xcd, 0xbb, 0xc1, 0xd5, 0x9d, 0xce, 0x06, 0x09, 0x7d, - 0x12, 0x93, 0xe8, 0xea, 0x1e, 0xf1, 0x5b, 0x41, 0x78, 0x55, 0x00, 0x9c, 0xb6, 0x7b, 0xb5, 0x19, - 0x84, 0xe4, 0xea, 0xde, 0xf3, 0x57, 0xb7, 0x88, 0x4f, 0x42, 0x27, 0x26, 0xad, 0xf9, 0x76, 0x18, - 0xc4, 0x01, 0x42, 0x1c, 0x67, 0xde, 0x69, 0xbb, 0xf3, 0x14, 0x67, 0x7e, 0xef, 0xf9, 0xb9, 0xe7, - 0xb6, 0xdc, 0x78, 0xbb, 0xb3, 0x31, 0xdf, 0x0c, 0x76, 0xaf, 0x6e, 0x05, 0x5b, 0xc1, 0x55, 0x86, - 0xba, 0xd1, 0xd9, 0x64, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x7b, 0x31, 0x69, 0x66, 0xd7, - 0x69, 0x6e, 0xbb, 0x3e, 0x09, 0xf7, 0xaf, 0xb6, 0x77, 0xb6, 0x58, 0xbb, 0x21, 0x89, 0x82, 0x4e, - 0xd8, 0x24, 0xe9, 0x86, 0x7b, 0xd6, 0x8a, 0xae, 0xee, 0x92, 0xd8, 0xc9, 0xe8, 0xee, 0xdc, 0xd5, - 0xbc, 0x5a, 0x61, 0xc7, 0x8f, 0xdd, 0xdd, 0xee, 0x66, 0x3e, 0xdd, 0xaf, 0x42, 0xd4, 0xdc, 0x26, - 0xbb, 0x4e, 0x57, 0xbd, 0x17, 0xf2, 0xea, 0x75, 0x62, 0xd7, 0xbb, 0xea, 0xfa, 0x71, 0x14, 0x87, - 0xe9, 0x4a, 0xf6, 0x37, 0x2d, 0xb8, 0xb4, 0xf0, 0x56, 0x63, 0xd9, 0x73, 0xa2, 0xd8, 0x6d, 0x2e, - 0x7a, 0x41, 0x73, 0xa7, 0x11, 0x07, 0x21, 0xb9, 0x1b, 0x78, 0x9d, 0x5d, 0xd2, 0x60, 0x03, 0x81, - 0x9e, 0x85, 0xd1, 0x3d, 0xf6, 0xbf, 0x56, 0x9d, 0xb5, 0x2e, 0x59, 0x57, 0xca, 0x8b, 0xd3, 0xbf, - 0x75, 0x50, 0xf9, 0xd8, 0xe1, 0x41, 0x65, 0xf4, 0xae, 0x28, 0xc7, 0x0a, 0x03, 0x5d, 0x86, 0xe1, - 0xcd, 0x68, 0x7d, 0xbf, 0x4d, 0x66, 0x0b, 0x0c, 0x77, 0x52, 0xe0, 0x0e, 0xaf, 0x34, 0x68, 0x29, - 0x16, 0x50, 0x74, 0x15, 0xca, 0x6d, 0x27, 0x8c, 0xdd, 0xd8, 0x0d, 0xfc, 0xd9, 0xe2, 0x25, 0xeb, - 0xca, 0xd0, 0xe2, 0x8c, 0x40, 0x2d, 0xd7, 0x25, 0x00, 0x27, 0x38, 0xb4, 0x1b, 0x21, 0x71, 0x5a, - 0xb7, 0x7d, 0x6f, 0x7f, 0xb6, 0x74, 0xc9, 0xba, 0x32, 0x9a, 0x74, 0x03, 0x8b, 0x72, 0xac, 0x30, - 0xec, 0x1f, 0x29, 0xc0, 0xe8, 0xc2, 0xe6, 0xa6, 0xeb, 0xbb, 0xf1, 0x3e, 0xba, 0x0b, 0xe3, 0x7e, - 0xd0, 0x22, 0xf2, 0x3f, 0xfb, 0x8a, 0xb1, 0x6b, 0x97, 0xe6, 0xbb, 0x97, 0xd2, 0xfc, 0x9a, 0x86, - 0xb7, 0x38, 0x7d, 0x78, 0x50, 0x19, 0xd7, 0x4b, 0xb0, 0x41, 0x07, 0x61, 0x18, 0x6b, 0x07, 0x2d, - 0x45, 0xb6, 0xc0, 0xc8, 0x56, 0xb2, 0xc8, 0xd6, 0x13, 0xb4, 0xc5, 0xa9, 0xc3, 0x83, 0xca, 0x98, - 0x56, 0x80, 0x75, 0x22, 0x68, 0x03, 0xa6, 0xe8, 0x5f, 0x3f, 0x76, 0x15, 0xdd, 0x22, 0xa3, 0xfb, - 0x64, 0x1e, 0x5d, 0x0d, 0x75, 0xf1, 0xcc, 0xe1, 0x41, 0x65, 0x2a, 0x55, 0x88, 0xd3, 0x04, 0xed, - 0xf7, 0x61, 0x72, 0x21, 0x8e, 0x9d, 0xe6, 0x36, 0x69, 0xf1, 0x19, 0x44, 0x2f, 0x42, 0xc9, 0x77, - 0x76, 0x89, 0x98, 0xdf, 0x4b, 0x62, 0x60, 0x4b, 0x6b, 0xce, 0x2e, 0x39, 0x3a, 0xa8, 0x4c, 0xdf, - 0xf1, 0xdd, 0xf7, 0x3a, 0x62, 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x35, 0x80, 0x16, 0xd9, 0x73, - 0x9b, 0xa4, 0xee, 0xc4, 0xdb, 0x62, 0xbe, 0x91, 0xa8, 0x0b, 0x55, 0x05, 0xc1, 0x1a, 0x96, 0x7d, - 0x1f, 0xca, 0x0b, 0x7b, 0x81, 0xdb, 0xaa, 0x07, 0xad, 0x08, 0xed, 0xc0, 0x54, 0x3b, 0x24, 0x9b, - 0x24, 0x54, 0x45, 0xb3, 0xd6, 0xa5, 0xe2, 0x95, 0xb1, 0x6b, 0x57, 0x32, 0x3f, 0xd6, 0x44, 0x5d, - 0xf6, 0xe3, 0x70, 0x7f, 0xf1, 0x51, 0xd1, 0xde, 0x54, 0x0a, 0x8a, 0xd3, 0x94, 0xed, 0x7f, 0x53, - 0x80, 0x73, 0x0b, 0xef, 0x77, 0x42, 0x52, 0x75, 0xa3, 0x9d, 0xf4, 0x0a, 0x6f, 0xb9, 0xd1, 0xce, - 0x5a, 0x32, 0x02, 0x6a, 0x69, 0x55, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x39, 0x18, 0xa1, 0xbf, 0xef, - 0xe0, 0x9a, 0xf8, 0xe4, 0x33, 0x02, 0x79, 0xac, 0xea, 0xc4, 0x4e, 0x95, 0x83, 0xb0, 0xc4, 0x41, - 0xab, 0x30, 0xd6, 0x64, 0x1b, 0x72, 0x6b, 0x35, 0x68, 0x11, 0x36, 0x99, 0xe5, 0xc5, 0x67, 0x28, - 0xfa, 0x52, 0x52, 0x7c, 0x74, 0x50, 0x99, 0xe5, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, - 0x5b, 0xed, 0xaf, 0x12, 0xa3, 0x04, 0x19, 0x7b, 0xeb, 0x8a, 0xb6, 0x55, 0x86, 0xd8, 0x56, 0x19, - 0xcf, 0xde, 0x26, 0xe8, 0x79, 0x28, 0xed, 0xb8, 0x7e, 0x6b, 0x76, 0x98, 0xd1, 0xba, 0x40, 0xe7, - 0xfc, 0xa6, 0xeb, 0xb7, 0x8e, 0x0e, 0x2a, 0x33, 0x46, 0x77, 0x68, 0x21, 0x66, 0xa8, 0xf6, 0x9f, - 0x58, 0x50, 0x61, 0xb0, 0x15, 0xd7, 0x23, 0x75, 0x12, 0x46, 0x6e, 0x14, 0x13, 0x3f, 0x36, 0x06, - 0xf4, 0x1a, 0x40, 0x44, 0x9a, 0x21, 0x89, 0xb5, 0x21, 0x55, 0x0b, 0xa3, 0xa1, 0x20, 0x58, 0xc3, - 0xa2, 0x07, 0x42, 0xb4, 0xed, 0x84, 0x6c, 0x7d, 0x89, 0x81, 0x55, 0x07, 0x42, 0x43, 0x02, 0x70, - 0x82, 0x63, 0x1c, 0x08, 0xc5, 0x7e, 0x07, 0x02, 0xfa, 0x2c, 0x4c, 0x25, 0x8d, 0x45, 0x6d, 0xa7, - 0x29, 0x07, 0x90, 0x6d, 0x99, 0x86, 0x09, 0xc2, 0x69, 0x5c, 0xfb, 0x1f, 0x5a, 0x62, 0xf1, 0xd0, - 0xaf, 0xfe, 0x88, 0x7f, 0xab, 0xfd, 0xcb, 0x16, 0x8c, 0x2c, 0xba, 0x7e, 0xcb, 0xf5, 0xb7, 0xd0, - 0x97, 0x60, 0x94, 0xde, 0x4d, 0x2d, 0x27, 0x76, 0xc4, 0xb9, 0xf7, 0x29, 0x6d, 0x6f, 0xa9, 0xab, - 0x62, 0xbe, 0xbd, 0xb3, 0x45, 0x0b, 0xa2, 0x79, 0x8a, 0x4d, 0x77, 0xdb, 0xed, 0x8d, 0x77, 0x49, - 0x33, 0x5e, 0x25, 0xb1, 0x93, 0x7c, 0x4e, 0x52, 0x86, 0x15, 0x55, 0x74, 0x13, 0x86, 0x63, 0x27, - 0xdc, 0x22, 0xb1, 0x38, 0x00, 0x33, 0x0f, 0x2a, 0x5e, 0x13, 0xd3, 0x1d, 0x49, 0xfc, 0x26, 0x49, - 0xae, 0x85, 0x75, 0x56, 0x15, 0x0b, 0x12, 0xf6, 0x5f, 0x1f, 0x86, 0xf3, 0x4b, 0x8d, 0x5a, 0xce, - 0xba, 0xba, 0x0c, 0xc3, 0xad, 0xd0, 0xdd, 0x23, 0xa1, 0x18, 0x67, 0x45, 0xa5, 0xca, 0x4a, 0xb1, - 0x80, 0xa2, 0x57, 0x60, 0x9c, 0x5f, 0x48, 0x37, 0x1c, 0xbf, 0xe5, 0xc9, 0x21, 0x3e, 0x2b, 0xb0, - 0xc7, 0xef, 0x6a, 0x30, 0x6c, 0x60, 0x1e, 0x73, 0x51, 0x5d, 0x4e, 0x6d, 0xc6, 0xbc, 0xcb, 0xee, - 0x2b, 0x16, 0x4c, 0xf3, 0x66, 0x16, 0xe2, 0x38, 0x74, 0x37, 0x3a, 0x31, 0x89, 0x66, 0x87, 0xd8, - 0x49, 0xb7, 0x94, 0x35, 0x5a, 0xb9, 0x23, 0x30, 0x7f, 0x37, 0x45, 0x85, 0x1f, 0x82, 0xb3, 0xa2, - 0xdd, 0xe9, 0x34, 0x18, 0x77, 0x35, 0x8b, 0xbe, 0xd7, 0x82, 0xb9, 0x66, 0xe0, 0xc7, 0x61, 0xe0, - 0x79, 0x24, 0xac, 0x77, 0x36, 0x3c, 0x37, 0xda, 0xe6, 0xeb, 0x14, 0x93, 0x4d, 0x76, 0x12, 0xe4, - 0xcc, 0xa1, 0x42, 0x12, 0x73, 0x78, 0xf1, 0xf0, 0xa0, 0x32, 0xb7, 0x94, 0x4b, 0x0a, 0xf7, 0x68, - 0x06, 0xed, 0x00, 0xa2, 0x57, 0x69, 0x23, 0x76, 0xb6, 0x48, 0xd2, 0xf8, 0xc8, 0xe0, 0x8d, 0x3f, - 0x72, 0x78, 0x50, 0x41, 0x6b, 0x5d, 0x24, 0x70, 0x06, 0x59, 0xf4, 0x1e, 0x9c, 0xa5, 0xa5, 0x5d, - 0xdf, 0x3a, 0x3a, 0x78, 0x73, 0xb3, 0x87, 0x07, 0x95, 0xb3, 0x6b, 0x19, 0x44, 0x70, 0x26, 0xe9, - 0xb9, 0x25, 0x38, 0x97, 0x39, 0x55, 0x68, 0x1a, 0x8a, 0x3b, 0x84, 0xb3, 0x20, 0x65, 0x4c, 0x7f, - 0xa2, 0xb3, 0x30, 0xb4, 0xe7, 0x78, 0x1d, 0xb1, 0x4a, 0x31, 0xff, 0xf3, 0x99, 0xc2, 0x2b, 0x96, - 0xdd, 0x84, 0xf1, 0x25, 0xa7, 0xed, 0x6c, 0xb8, 0x9e, 0x1b, 0xbb, 0x24, 0x42, 0x4f, 0x41, 0xd1, - 0x69, 0xb5, 0xd8, 0x15, 0x59, 0x5e, 0x3c, 0x77, 0x78, 0x50, 0x29, 0x2e, 0xb4, 0xe8, 0x59, 0x0d, - 0x0a, 0x6b, 0x1f, 0x53, 0x0c, 0xf4, 0x49, 0x28, 0xb5, 0xc2, 0xa0, 0x3d, 0x5b, 0x60, 0x98, 0x74, - 0xa8, 0x4a, 0xd5, 0x30, 0x68, 0xa7, 0x50, 0x19, 0x8e, 0xfd, 0xeb, 0x05, 0x78, 0x7c, 0x89, 0xb4, - 0xb7, 0x57, 0x1a, 0x39, 0x9b, 0xee, 0x0a, 0x8c, 0xee, 0x06, 0xbe, 0x1b, 0x07, 0x61, 0x24, 0x9a, - 0x66, 0xb7, 0xc9, 0xaa, 0x28, 0xc3, 0x0a, 0x8a, 0x2e, 0x41, 0xa9, 0x9d, 0x70, 0x02, 0xe3, 0x92, - 0x8b, 0x60, 0x3c, 0x00, 0x83, 0x50, 0x8c, 0x4e, 0x44, 0x42, 0x71, 0x0b, 0x2a, 0x8c, 0x3b, 0x11, - 0x09, 0x31, 0x83, 0x24, 0xc7, 0x29, 0x3d, 0x68, 0xc5, 0xb6, 0x4a, 0x1d, 0xa7, 0x14, 0x82, 0x35, - 0x2c, 0x54, 0x87, 0x72, 0xa4, 0x26, 0x75, 0x68, 0xf0, 0x49, 0x9d, 0x60, 0xe7, 0xad, 0x9a, 0xc9, - 0x84, 0x88, 0x71, 0x0c, 0x0c, 0xf7, 0x3d, 0x6f, 0xbf, 0x5e, 0x00, 0xc4, 0x87, 0xf0, 0x2f, 0xd8, - 0xc0, 0xdd, 0xe9, 0x1e, 0xb8, 0x4c, 0xce, 0xeb, 0x56, 0xd0, 0x74, 0xbc, 0xf4, 0x11, 0x7e, 0x52, - 0xa3, 0xf7, 0xbf, 0x2c, 0x78, 0x7c, 0xc9, 0xf5, 0x5b, 0x24, 0xcc, 0x59, 0x80, 0x0f, 0x47, 0x00, - 0x39, 0xde, 0x49, 0x6f, 0x2c, 0xb1, 0xd2, 0x09, 0x2c, 0x31, 0xfb, 0x8f, 0x2d, 0x40, 0xfc, 0xb3, - 0x3f, 0x72, 0x1f, 0x7b, 0xa7, 0xfb, 0x63, 0x4f, 0x60, 0x59, 0xd8, 0xb7, 0x60, 0x72, 0xc9, 0x73, - 0x89, 0x1f, 0xd7, 0xea, 0x4b, 0x81, 0xbf, 0xe9, 0x6e, 0xa1, 0xcf, 0xc0, 0x24, 0x95, 0x69, 0x83, - 0x4e, 0xdc, 0x20, 0xcd, 0xc0, 0x67, 0xec, 0x3f, 0x95, 0x04, 0xd1, 0xe1, 0x41, 0x65, 0x72, 0xdd, - 0x80, 0xe0, 0x14, 0xa6, 0xfd, 0xbb, 0x74, 0xfc, 0x82, 0xdd, 0x76, 0xe0, 0x13, 0x3f, 0x5e, 0x0a, - 0xfc, 0x16, 0x17, 0x13, 0x3f, 0x03, 0xa5, 0x98, 0x8e, 0x07, 0x1f, 0xbb, 0xcb, 0x72, 0xa3, 0xd0, - 0x51, 0x38, 0x3a, 0xa8, 0x3c, 0xd2, 0x5d, 0x83, 0x8d, 0x13, 0xab, 0x83, 0xbe, 0x0d, 0x86, 0xa3, - 0xd8, 0x89, 0x3b, 0x91, 0x18, 0xcd, 0x27, 0xe4, 0x68, 0x36, 0x58, 0xe9, 0xd1, 0x41, 0x65, 0x4a, - 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0x4f, 0xc3, 0xc8, 0x2e, 0x89, 0x22, 0x67, 0x4b, 0x72, 0xf8, - 0x53, 0xa2, 0xee, 0xc8, 0x2a, 0x2f, 0xc6, 0x12, 0x8e, 0x9e, 0x84, 0x21, 0x12, 0x86, 0x41, 0x28, - 0xf6, 0xe8, 0x84, 0x40, 0x1c, 0x5a, 0xa6, 0x85, 0x98, 0xc3, 0xec, 0x7f, 0x67, 0xc1, 0x94, 0xea, - 0x2b, 0x6f, 0xeb, 0x14, 0x58, 0xb9, 0xb7, 0x01, 0x9a, 0xf2, 0x03, 0x23, 0x76, 0x7b, 0x8c, 0x5d, - 0xbb, 0x9c, 0xc9, 0xa0, 0x74, 0x0d, 0x63, 0x42, 0x59, 0x15, 0x45, 0x58, 0xa3, 0x66, 0xff, 0x9a, - 0x05, 0x67, 0x52, 0x5f, 0x74, 0xcb, 0x8d, 0x62, 0xf4, 0x4e, 0xd7, 0x57, 0xcd, 0x0f, 0xf6, 0x55, - 0xb4, 0x36, 0xfb, 0x26, 0xb5, 0x94, 0x65, 0x89, 0xf6, 0x45, 0x37, 0x60, 0xc8, 0x8d, 0xc9, 0xae, - 0xfc, 0x98, 0x27, 0x7b, 0x7e, 0x0c, 0xef, 0x55, 0x32, 0x23, 0x35, 0x5a, 0x13, 0x73, 0x02, 0xf6, - 0x0f, 0x17, 0xa1, 0xcc, 0x97, 0xed, 0xaa, 0xd3, 0x3e, 0x85, 0xb9, 0xa8, 0x41, 0x89, 0x51, 0xe7, - 0x1d, 0x7f, 0x2a, 0xbb, 0xe3, 0xa2, 0x3b, 0xf3, 0x54, 0x4e, 0xe3, 0xac, 0xa0, 0xba, 0x1a, 0x68, - 0x11, 0x66, 0x24, 0x90, 0x03, 0xb0, 0xe1, 0xfa, 0x4e, 0xb8, 0x4f, 0xcb, 0x66, 0x8b, 0x8c, 0xe0, - 0x73, 0xbd, 0x09, 0x2e, 0x2a, 0x7c, 0x4e, 0x56, 0xf5, 0x35, 0x01, 0x60, 0x8d, 0xe8, 0xdc, 0xcb, - 0x50, 0x56, 0xc8, 0xc7, 0xe1, 0x71, 0xe6, 0x3e, 0x0b, 0x53, 0xa9, 0xb6, 0xfa, 0x55, 0x1f, 0xd7, - 0x59, 0xa4, 0x5f, 0x61, 0xa7, 0x80, 0xe8, 0xf5, 0xb2, 0xbf, 0x27, 0x4e, 0xd1, 0xf7, 0xe1, 0xac, - 0x97, 0x71, 0x38, 0x89, 0xa9, 0x1a, 0xfc, 0x30, 0x7b, 0x5c, 0x7c, 0xf6, 0xd9, 0x2c, 0x28, 0xce, - 0x6c, 0x83, 0x5e, 0xfb, 0x41, 0x9b, 0xae, 0x79, 0xc7, 0x63, 0xfd, 0x15, 0xd2, 0xf7, 0x6d, 0x51, - 0x86, 0x15, 0x94, 0x1e, 0x61, 0x67, 0x55, 0xe7, 0x6f, 0x92, 0xfd, 0x06, 0xf1, 0x48, 0x33, 0x0e, - 0xc2, 0x0f, 0xb5, 0xfb, 0x17, 0xf8, 0xe8, 0xf3, 0x13, 0x70, 0x4c, 0x10, 0x28, 0xde, 0x24, 0xfb, - 0x7c, 0x2a, 0xf4, 0xaf, 0x2b, 0xf6, 0xfc, 0xba, 0x9f, 0xb3, 0x60, 0x42, 0x7d, 0xdd, 0x29, 0x6c, - 0xf5, 0x45, 0x73, 0xab, 0x5f, 0xe8, 0xb9, 0xc0, 0x73, 0x36, 0xf9, 0xd7, 0x0b, 0x70, 0x5e, 0xe1, - 0x50, 0x76, 0x9f, 0xff, 0x11, 0xab, 0xea, 0x2a, 0x94, 0x7d, 0xa5, 0x3d, 0xb0, 0x4c, 0xb1, 0x3d, - 0xd1, 0x1d, 0x24, 0x38, 0x94, 0x6b, 0xf3, 0x13, 0x11, 0x7f, 0x5c, 0x57, 0xab, 0x09, 0x15, 0xda, - 0x22, 0x14, 0x3b, 0x6e, 0x4b, 0xdc, 0x19, 0x9f, 0x92, 0xa3, 0x7d, 0xa7, 0x56, 0x3d, 0x3a, 0xa8, - 0x3c, 0x91, 0xa7, 0xd2, 0xa5, 0x97, 0x55, 0x34, 0x7f, 0xa7, 0x56, 0xc5, 0xb4, 0x32, 0x5a, 0x80, - 0x29, 0xa9, 0xb5, 0xbe, 0x4b, 0x39, 0xa8, 0xc0, 0x17, 0x57, 0x8b, 0xd2, 0x8d, 0x61, 0x13, 0x8c, - 0xd3, 0xf8, 0xa8, 0x0a, 0xd3, 0x3b, 0x9d, 0x0d, 0xe2, 0x91, 0x98, 0x7f, 0xf0, 0x4d, 0xc2, 0x35, - 0x47, 0xe5, 0x44, 0xb4, 0xbc, 0x99, 0x82, 0xe3, 0xae, 0x1a, 0xf6, 0x9f, 0xb3, 0x23, 0x5e, 0x8c, - 0x5e, 0x3d, 0x0c, 0xe8, 0xc2, 0xa2, 0xd4, 0x3f, 0xcc, 0xe5, 0x3c, 0xc8, 0xaa, 0xb8, 0x49, 0xf6, - 0xd7, 0x03, 0xca, 0x6c, 0x67, 0xaf, 0x0a, 0x63, 0xcd, 0x97, 0x7a, 0xae, 0xf9, 0x5f, 0x28, 0xc0, - 0x39, 0x35, 0x02, 0x06, 0x5f, 0xf7, 0x17, 0x7d, 0x0c, 0x9e, 0x87, 0xb1, 0x16, 0xd9, 0x74, 0x3a, - 0x5e, 0xac, 0xd4, 0x98, 0x43, 0x5c, 0x95, 0x5d, 0x4d, 0x8a, 0xb1, 0x8e, 0x73, 0x8c, 0x61, 0xfb, - 0xc9, 0x31, 0x76, 0xb7, 0xc6, 0x0e, 0x5d, 0xe3, 0x6a, 0xd7, 0x58, 0xb9, 0xbb, 0xe6, 0x49, 0x18, - 0x72, 0x77, 0x29, 0xaf, 0x55, 0x30, 0x59, 0xa8, 0x1a, 0x2d, 0xc4, 0x1c, 0x86, 0x3e, 0x01, 0x23, - 0xcd, 0x60, 0x77, 0xd7, 0xf1, 0x5b, 0xec, 0xca, 0x2b, 0x2f, 0x8e, 0x51, 0x76, 0x6c, 0x89, 0x17, - 0x61, 0x09, 0x43, 0x8f, 0x43, 0xc9, 0x09, 0xb7, 0xa2, 0xd9, 0x12, 0xc3, 0x19, 0xa5, 0x2d, 0x2d, - 0x84, 0x5b, 0x11, 0x66, 0xa5, 0x54, 0xaa, 0xba, 0x17, 0x84, 0x3b, 0xae, 0xbf, 0x55, 0x75, 0x43, - 0xb1, 0x25, 0xd4, 0x5d, 0xf8, 0x96, 0x82, 0x60, 0x0d, 0x0b, 0xad, 0xc0, 0x50, 0x3b, 0x08, 0xe3, - 0x68, 0x76, 0x98, 0x0d, 0xf7, 0x13, 0x39, 0x07, 0x11, 0xff, 0xda, 0x7a, 0x10, 0xc6, 0xc9, 0x07, - 0xd0, 0x7f, 0x11, 0xe6, 0xd5, 0xd1, 0xb7, 0x41, 0x91, 0xf8, 0x7b, 0xb3, 0x23, 0x8c, 0xca, 0x5c, - 0x16, 0x95, 0x65, 0x7f, 0xef, 0xae, 0x13, 0x26, 0xa7, 0xf4, 0xb2, 0xbf, 0x87, 0x69, 0x1d, 0xf4, - 0x79, 0x28, 0xcb, 0x2d, 0x1e, 0x09, 0x35, 0x47, 0xe6, 0x12, 0x93, 0x07, 0x03, 0x26, 0xef, 0x75, - 0xdc, 0x90, 0xec, 0x12, 0x3f, 0x8e, 0x92, 0x33, 0x4d, 0x42, 0x23, 0x9c, 0x50, 0x43, 0x9f, 0x97, - 0xba, 0xb5, 0xd5, 0xa0, 0xe3, 0xc7, 0xd1, 0x6c, 0x99, 0x75, 0x2f, 0xf3, 0xd5, 0xe3, 0x6e, 0x82, - 0x97, 0x56, 0xbe, 0xf1, 0xca, 0xd8, 0x20, 0x85, 0x30, 0x4c, 0x78, 0xee, 0x1e, 0xf1, 0x49, 0x14, - 0xd5, 0xc3, 0x60, 0x83, 0xcc, 0x02, 0xeb, 0xf9, 0xf9, 0xec, 0xc7, 0x80, 0x60, 0x83, 0x2c, 0xce, - 0x1c, 0x1e, 0x54, 0x26, 0x6e, 0xe9, 0x75, 0xb0, 0x49, 0x02, 0xdd, 0x81, 0x49, 0x2a, 0xd7, 0xb8, - 0x09, 0xd1, 0xb1, 0x7e, 0x44, 0x99, 0xf4, 0x81, 0x8d, 0x4a, 0x38, 0x45, 0x04, 0xbd, 0x01, 0x65, - 0xcf, 0xdd, 0x24, 0xcd, 0xfd, 0xa6, 0x47, 0x66, 0xc7, 0x19, 0xc5, 0xcc, 0x6d, 0x75, 0x4b, 0x22, - 0x71, 0xb9, 0x48, 0xfd, 0xc5, 0x49, 0x75, 0x74, 0x17, 0x1e, 0x89, 0x49, 0xb8, 0xeb, 0xfa, 0x0e, - 0xdd, 0x0e, 0x42, 0x5e, 0x60, 0x4f, 0x2a, 0x13, 0x6c, 0xbd, 0x5d, 0x14, 0x43, 0xf7, 0xc8, 0x7a, - 0x26, 0x16, 0xce, 0xa9, 0x8d, 0x6e, 0xc3, 0x14, 0xdb, 0x09, 0xf5, 0x8e, 0xe7, 0xd5, 0x03, 0xcf, - 0x6d, 0xee, 0xcf, 0x4e, 0x32, 0x82, 0x9f, 0x90, 0xf7, 0x42, 0xcd, 0x04, 0x1f, 0x1d, 0x54, 0x20, - 0xf9, 0x87, 0xd3, 0xb5, 0xd1, 0x06, 0xd3, 0xa1, 0x77, 0x42, 0x37, 0xde, 0xa7, 0xeb, 0x97, 0xdc, - 0x8f, 0x67, 0xa7, 0x7a, 0x8a, 0xc2, 0x3a, 0xaa, 0x52, 0xb4, 0xeb, 0x85, 0x38, 0x4d, 0x90, 0x6e, - 0xed, 0x28, 0x6e, 0xb9, 0xfe, 0xec, 0x34, 0x3b, 0x31, 0xd4, 0xce, 0x68, 0xd0, 0x42, 0xcc, 0x61, - 0x4c, 0x7f, 0x4e, 0x7f, 0xdc, 0xa6, 0x27, 0xe8, 0x0c, 0x43, 0x4c, 0xf4, 0xe7, 0x12, 0x80, 0x13, - 0x1c, 0xca, 0xd4, 0xc4, 0xf1, 0xfe, 0x2c, 0x62, 0xa8, 0x6a, 0xbb, 0xac, 0xaf, 0x7f, 0x1e, 0xd3, - 0x72, 0x74, 0x0b, 0x46, 0x88, 0xbf, 0xb7, 0x12, 0x06, 0xbb, 0xb3, 0x67, 0xf2, 0xf7, 0xec, 0x32, - 0x47, 0xe1, 0x07, 0x7a, 0x22, 0xe0, 0x89, 0x62, 0x2c, 0x49, 0xa0, 0xfb, 0x30, 0x9b, 0x31, 0x23, - 0x7c, 0x02, 0xce, 0xb2, 0x09, 0x78, 0x4d, 0xd4, 0x9d, 0x5d, 0xcf, 0xc1, 0x3b, 0xea, 0x01, 0xc3, - 0xb9, 0xd4, 0xd1, 0x17, 0x60, 0x82, 0x6f, 0x28, 0xfe, 0xf8, 0x16, 0xcd, 0x9e, 0x63, 0x5f, 0x73, - 0x29, 0x7f, 0x73, 0x72, 0xc4, 0xc5, 0x73, 0xa2, 0x43, 0x13, 0x7a, 0x69, 0x84, 0x4d, 0x6a, 0xf6, - 0x06, 0x4c, 0xaa, 0x73, 0x8b, 0x2d, 0x1d, 0x54, 0x81, 0x21, 0xc6, 0xed, 0x08, 0xfd, 0x56, 0x99, - 0xce, 0x14, 0xe3, 0x84, 0x30, 0x2f, 0x67, 0x33, 0xe5, 0xbe, 0x4f, 0x16, 0xf7, 0x63, 0xc2, 0xa5, - 0xea, 0xa2, 0x36, 0x53, 0x12, 0x80, 0x13, 0x1c, 0xfb, 0xff, 0x72, 0xae, 0x31, 0x39, 0x1c, 0x07, - 0xb8, 0x0e, 0x9e, 0x85, 0xd1, 0xed, 0x20, 0x8a, 0x29, 0x36, 0x6b, 0x63, 0x28, 0xe1, 0x13, 0x6f, - 0x88, 0x72, 0xac, 0x30, 0xd0, 0xab, 0x30, 0xd1, 0xd4, 0x1b, 0x10, 0x77, 0x99, 0x1a, 0x02, 0xa3, - 0x75, 0x6c, 0xe2, 0xa2, 0x57, 0x60, 0x94, 0x3d, 0x9d, 0x37, 0x03, 0x4f, 0x30, 0x59, 0xf2, 0x42, - 0x1e, 0xad, 0x8b, 0xf2, 0x23, 0xed, 0x37, 0x56, 0xd8, 0xe8, 0x32, 0x0c, 0xd3, 0x2e, 0xd4, 0xea, - 0xe2, 0x16, 0x51, 0xaa, 0x9a, 0x1b, 0xac, 0x14, 0x0b, 0xa8, 0xfd, 0x37, 0x0b, 0xda, 0x28, 0x53, - 0x89, 0x94, 0xa0, 0x3a, 0x8c, 0xdc, 0x73, 0xdc, 0xd8, 0xf5, 0xb7, 0x04, 0xbb, 0xf0, 0x74, 0xcf, - 0x2b, 0x85, 0x55, 0x7a, 0x8b, 0x57, 0xe0, 0x97, 0x9e, 0xf8, 0x83, 0x25, 0x19, 0x4a, 0x31, 0xec, - 0xf8, 0x3e, 0xa5, 0x58, 0x18, 0x94, 0x22, 0xe6, 0x15, 0x38, 0x45, 0xf1, 0x07, 0x4b, 0x32, 0xe8, - 0x1d, 0x00, 0xb9, 0x2c, 0x49, 0x4b, 0x3c, 0x59, 0x3f, 0xdb, 0x9f, 0xe8, 0xba, 0xaa, 0xb3, 0x38, - 0x49, 0xaf, 0xd4, 0xe4, 0x3f, 0xd6, 0xe8, 0xd9, 0x31, 0x63, 0xab, 0xba, 0x3b, 0x83, 0xbe, 0x93, - 0x9e, 0x04, 0x4e, 0x18, 0x93, 0xd6, 0x42, 0x2c, 0x06, 0xe7, 0x93, 0x83, 0xc9, 0x14, 0xeb, 0xee, - 0x2e, 0xd1, 0x4f, 0x0d, 0x41, 0x04, 0x27, 0xf4, 0xec, 0x5f, 0x2a, 0xc2, 0x6c, 0x5e, 0x77, 0xe9, - 0xa2, 0x23, 0xf7, 0xdd, 0x78, 0x89, 0x72, 0x43, 0x96, 0xb9, 0xe8, 0x96, 0x45, 0x39, 0x56, 0x18, - 0x74, 0xf6, 0x23, 0x77, 0x4b, 0x8a, 0x84, 0x43, 0xc9, 0xec, 0x37, 0x58, 0x29, 0x16, 0x50, 0x8a, - 0x17, 0x12, 0x27, 0x12, 0x36, 0x11, 0xda, 0x2a, 0xc1, 0xac, 0x14, 0x0b, 0xa8, 0xae, 0x6f, 0x2a, - 0xf5, 0xd1, 0x37, 0x19, 0x43, 0x34, 0x74, 0xb2, 0x43, 0x84, 0xbe, 0x08, 0xb0, 0xe9, 0xfa, 0x6e, - 0xb4, 0xcd, 0xa8, 0x0f, 0x1f, 0x9b, 0xba, 0xe2, 0xa5, 0x56, 0x14, 0x15, 0xac, 0x51, 0x44, 0x2f, - 0xc1, 0x98, 0xda, 0x80, 0xb5, 0x2a, 0x7b, 0x20, 0xd2, 0x1e, 0xdc, 0x93, 0xd3, 0xa8, 0x8a, 0x75, - 0x3c, 0xfb, 0xdd, 0xf4, 0x7a, 0x11, 0x3b, 0x40, 0x1b, 0x5f, 0x6b, 0xd0, 0xf1, 0x2d, 0xf4, 0x1e, - 0x5f, 0xfb, 0x37, 0x8a, 0x30, 0x65, 0x34, 0xd6, 0x89, 0x06, 0x38, 0xb3, 0xae, 0xd3, 0x7b, 0xce, - 0x89, 0x89, 0xd8, 0x7f, 0x76, 0xff, 0xad, 0xa2, 0xdf, 0x85, 0x74, 0x07, 0xf0, 0xfa, 0xe8, 0x8b, - 0x50, 0xf6, 0x9c, 0x88, 0xe9, 0xae, 0x88, 0xd8, 0x77, 0x83, 0x10, 0x4b, 0xe4, 0x08, 0x27, 0x8a, - 0xb5, 0xab, 0x86, 0xd3, 0x4e, 0x48, 0xd2, 0x0b, 0x99, 0xf2, 0x3e, 0xd2, 0xe8, 0x46, 0x75, 0x82, - 0x32, 0x48, 0xfb, 0x98, 0xc3, 0xd0, 0x2b, 0x30, 0x1e, 0x12, 0xb6, 0x2a, 0x96, 0x28, 0x2b, 0xc7, - 0x96, 0xd9, 0x50, 0xc2, 0xf3, 0x61, 0x0d, 0x86, 0x0d, 0xcc, 0x84, 0x95, 0x1f, 0xee, 0xc1, 0xca, - 0x3f, 0x0d, 0x23, 0xec, 0x87, 0x5a, 0x01, 0x6a, 0x36, 0x6a, 0xbc, 0x18, 0x4b, 0x78, 0x7a, 0xc1, - 0x8c, 0x0e, 0xb8, 0x60, 0x3e, 0x09, 0x93, 0x55, 0x87, 0xec, 0x06, 0xfe, 0xb2, 0xdf, 0x6a, 0x07, - 0xae, 0x1f, 0xa3, 0x59, 0x28, 0xb1, 0xdb, 0x81, 0xef, 0xed, 0x12, 0xa5, 0x80, 0x4b, 0x94, 0x31, - 0xb7, 0xb7, 0xe0, 0x5c, 0x35, 0xb8, 0xe7, 0xdf, 0x73, 0xc2, 0xd6, 0x42, 0xbd, 0xa6, 0xc9, 0xb9, - 0x6b, 0x52, 0xce, 0xe2, 0x46, 0x2c, 0x99, 0x67, 0xaa, 0x56, 0x93, 0xdf, 0xb5, 0x2b, 0xae, 0x47, - 0x72, 0xb4, 0x11, 0x7f, 0xbb, 0x60, 0xb4, 0x94, 0xe0, 0xab, 0x07, 0x23, 0x2b, 0xf7, 0xc1, 0xe8, - 0x4d, 0x18, 0xdd, 0x74, 0x89, 0xd7, 0xc2, 0x64, 0x53, 0x2c, 0xb1, 0xa7, 0xf2, 0xdf, 0xe5, 0x57, - 0x28, 0xa6, 0xd4, 0x3e, 0x71, 0x29, 0x6d, 0x45, 0x54, 0xc6, 0x8a, 0x0c, 0xda, 0x81, 0x69, 0x29, - 0x06, 0x48, 0xa8, 0x58, 0x70, 0x4f, 0xf7, 0x92, 0x2d, 0x4c, 0xe2, 0x67, 0x0f, 0x0f, 0x2a, 0xd3, - 0x38, 0x45, 0x06, 0x77, 0x11, 0xa6, 0x62, 0xd9, 0x2e, 0x3d, 0x5a, 0x4b, 0x6c, 0xf8, 0x99, 0x58, - 0xc6, 0x24, 0x4c, 0x56, 0x6a, 0xff, 0x98, 0x05, 0x8f, 0x76, 0x8d, 0x8c, 0x90, 0xb4, 0x4f, 0x78, - 0x16, 0xd2, 0x92, 0x6f, 0xa1, 0xbf, 0xe4, 0x6b, 0xff, 0x23, 0x0b, 0xce, 0x2e, 0xef, 0xb6, 0xe3, - 0xfd, 0xaa, 0x6b, 0xbe, 0xee, 0xbc, 0x0c, 0xc3, 0xbb, 0xa4, 0xe5, 0x76, 0x76, 0xc5, 0xcc, 0x55, - 0xe4, 0xf1, 0xb3, 0xca, 0x4a, 0x8f, 0x0e, 0x2a, 0x13, 0x8d, 0x38, 0x08, 0x9d, 0x2d, 0xc2, 0x0b, - 0xb0, 0x40, 0x67, 0x87, 0xb8, 0xfb, 0x3e, 0xb9, 0xe5, 0xee, 0xba, 0xd2, 0xce, 0xa2, 0xa7, 0xee, - 0x6c, 0x5e, 0x0e, 0xe8, 0xfc, 0x9b, 0x1d, 0xc7, 0x8f, 0xdd, 0x78, 0x5f, 0x3c, 0xcc, 0x48, 0x22, - 0x38, 0xa1, 0x67, 0x7f, 0xd3, 0x82, 0x29, 0xb9, 0xee, 0x17, 0x5a, 0xad, 0x90, 0x44, 0x11, 0x9a, - 0x83, 0x82, 0xdb, 0x16, 0xbd, 0x04, 0xd1, 0xcb, 0x42, 0xad, 0x8e, 0x0b, 0x6e, 0x1b, 0xd5, 0xa1, - 0xcc, 0xcd, 0x35, 0x92, 0xc5, 0x35, 0x90, 0xd1, 0x07, 0xeb, 0xc1, 0xba, 0xac, 0x89, 0x13, 0x22, - 0x92, 0x83, 0x63, 0x67, 0x66, 0xd1, 0x7c, 0xf5, 0xba, 0x21, 0xca, 0xb1, 0xc2, 0x40, 0x57, 0x60, - 0xd4, 0x0f, 0x5a, 0xdc, 0x7a, 0x86, 0xdf, 0x7e, 0x6c, 0xc9, 0xae, 0x89, 0x32, 0xac, 0xa0, 0xf6, - 0x0f, 0x59, 0x30, 0x2e, 0xbf, 0x6c, 0x40, 0x66, 0x92, 0x6e, 0xad, 0x84, 0x91, 0x4c, 0xb6, 0x16, - 0x65, 0x06, 0x19, 0xc4, 0xe0, 0x01, 0x8b, 0xc7, 0xe1, 0x01, 0xed, 0x1f, 0x2d, 0xc0, 0xa4, 0xec, - 0x4e, 0xa3, 0xb3, 0x11, 0x91, 0x18, 0xad, 0x43, 0xd9, 0xe1, 0x43, 0x4e, 0xe4, 0x8a, 0x7d, 0x32, - 0x5b, 0xf8, 0x30, 0xe6, 0x27, 0xb9, 0x96, 0x17, 0x64, 0x6d, 0x9c, 0x10, 0x42, 0x1e, 0xcc, 0xf8, - 0x41, 0xcc, 0x8e, 0x68, 0x05, 0xef, 0xf5, 0x04, 0x92, 0xa6, 0x7e, 0x5e, 0x50, 0x9f, 0x59, 0x4b, - 0x53, 0xc1, 0xdd, 0x84, 0xd1, 0xb2, 0x54, 0x78, 0x14, 0xf3, 0xc5, 0x0d, 0x7d, 0x16, 0xb2, 0xf5, - 0x1d, 0xf6, 0xaf, 0x5a, 0x50, 0x96, 0x68, 0xa7, 0xf1, 0xda, 0xb5, 0x0a, 0x23, 0x11, 0x9b, 0x04, - 0x39, 0x34, 0x76, 0xaf, 0x8e, 0xf3, 0xf9, 0x4a, 0x6e, 0x1e, 0xfe, 0x3f, 0xc2, 0x92, 0x06, 0xd3, - 0x77, 0xab, 0xee, 0x7f, 0x44, 0xf4, 0xdd, 0xaa, 0x3f, 0x39, 0x37, 0xcc, 0x7f, 0x63, 0x7d, 0xd6, - 0xc4, 0x5a, 0xca, 0x20, 0xb5, 0x43, 0xb2, 0xe9, 0xde, 0x4f, 0x33, 0x48, 0x75, 0x56, 0x8a, 0x05, - 0x14, 0xbd, 0x03, 0xe3, 0x4d, 0xa9, 0xe8, 0x4c, 0x8e, 0x81, 0xcb, 0x3d, 0x95, 0xee, 0xea, 0x7d, - 0x86, 0x5b, 0xd6, 0x2e, 0x69, 0xf5, 0xb1, 0x41, 0xcd, 0x7c, 0x6e, 0x2f, 0xf6, 0x7b, 0x6e, 0x4f, - 0xe8, 0xe6, 0x3f, 0x3e, 0xff, 0xb8, 0x05, 0xc3, 0x5c, 0x5d, 0x36, 0x98, 0x7e, 0x51, 0x7b, 0xae, - 0x4a, 0xc6, 0xee, 0x2e, 0x2d, 0x14, 0xcf, 0x4f, 0x68, 0x15, 0xca, 0xec, 0x07, 0x53, 0x1b, 0x14, - 0xf3, 0x4d, 0x8a, 0x79, 0xab, 0x7a, 0x07, 0xef, 0xca, 0x6a, 0x38, 0xa1, 0x60, 0x7f, 0xad, 0x48, - 0x8f, 0xaa, 0x04, 0xd5, 0xb8, 0xc1, 0xad, 0x87, 0x77, 0x83, 0x17, 0x1e, 0xd6, 0x0d, 0xbe, 0x05, - 0x53, 0x4d, 0xed, 0x71, 0x2b, 0x99, 0xc9, 0x2b, 0x3d, 0x17, 0x89, 0xf6, 0x0e, 0xc6, 0x55, 0x46, - 0x4b, 0x26, 0x11, 0x9c, 0xa6, 0x8a, 0xbe, 0x13, 0xc6, 0xf9, 0x3c, 0x8b, 0x56, 0xb8, 0xc5, 0xc2, - 0x27, 0xf2, 0xd7, 0x8b, 0xde, 0x04, 0x5b, 0x89, 0x0d, 0xad, 0x3a, 0x36, 0x88, 0xd9, 0xbf, 0x34, - 0x0a, 0x43, 0xcb, 0x7b, 0xc4, 0x8f, 0x4f, 0xe1, 0x40, 0x6a, 0xc2, 0xa4, 0xeb, 0xef, 0x05, 0xde, - 0x1e, 0x69, 0x71, 0xf8, 0x71, 0x2e, 0xd7, 0x47, 0x04, 0xe9, 0xc9, 0x9a, 0x41, 0x02, 0xa7, 0x48, - 0x3e, 0x0c, 0x09, 0xf3, 0x3a, 0x0c, 0xf3, 0xb9, 0x17, 0xe2, 0x65, 0xa6, 0x32, 0x98, 0x0d, 0xa2, - 0xd8, 0x05, 0x89, 0xf4, 0xcb, 0xb5, 0xcf, 0xa2, 0x3a, 0x7a, 0x17, 0x26, 0x37, 0xdd, 0x30, 0x8a, - 0xa9, 0x68, 0x18, 0xc5, 0xce, 0x6e, 0xfb, 0x01, 0x24, 0x4a, 0x35, 0x0e, 0x2b, 0x06, 0x25, 0x9c, - 0xa2, 0x8c, 0xb6, 0x60, 0x82, 0x0a, 0x39, 0x49, 0x53, 0x23, 0xc7, 0x6e, 0x4a, 0xa9, 0x8c, 0x6e, - 0xe9, 0x84, 0xb0, 0x49, 0x97, 0x1e, 0x26, 0x4d, 0x26, 0x14, 0x8d, 0x32, 0x8e, 0x42, 0x1d, 0x26, - 0x5c, 0x1a, 0xe2, 0x30, 0x7a, 0x26, 0x31, 0xb3, 0x95, 0xb2, 0x79, 0x26, 0x69, 0xc6, 0x29, 0x5f, - 0x82, 0x32, 0xa1, 0x43, 0x48, 0x09, 0x0b, 0xc5, 0xf8, 0xd5, 0xc1, 0xfa, 0xba, 0xea, 0x36, 0xc3, - 0xc0, 0x94, 0xe5, 0x97, 0x25, 0x25, 0x9c, 0x10, 0x45, 0x4b, 0x30, 0x1c, 0x91, 0xd0, 0x25, 0x91, - 0x50, 0x91, 0xf7, 0x98, 0x46, 0x86, 0xc6, 0x6d, 0xcf, 0xf9, 0x6f, 0x2c, 0xaa, 0xd2, 0xe5, 0xe5, - 0x30, 0x69, 0x88, 0x69, 0xc5, 0xb5, 0xe5, 0xb5, 0xc0, 0x4a, 0xb1, 0x80, 0xa2, 0x37, 0x60, 0x24, - 0x24, 0x1e, 0x53, 0x16, 0x4d, 0x0c, 0xbe, 0xc8, 0xb9, 0xee, 0x89, 0xd7, 0xc3, 0x92, 0x00, 0xba, - 0x09, 0x28, 0x24, 0x94, 0x87, 0x70, 0xfd, 0x2d, 0x65, 0xcc, 0x21, 0x74, 0xdd, 0x8f, 0x89, 0xf6, - 0xcf, 0xe0, 0x04, 0x43, 0x5a, 0xa5, 0xe2, 0x8c, 0x6a, 0xe8, 0x3a, 0xcc, 0xa8, 0xd2, 0x9a, 0x1f, - 0xc5, 0x8e, 0xdf, 0x24, 0x4c, 0xcd, 0x5d, 0x4e, 0xb8, 0x22, 0x9c, 0x46, 0xc0, 0xdd, 0x75, 0xec, - 0x9f, 0xa1, 0xec, 0x0c, 0x1d, 0xad, 0x53, 0xe0, 0x05, 0x5e, 0x37, 0x79, 0x81, 0xf3, 0xb9, 0x33, - 0x97, 0xc3, 0x07, 0x1c, 0x5a, 0x30, 0xa6, 0xcd, 0x6c, 0xb2, 0x66, 0xad, 0x1e, 0x6b, 0xb6, 0x03, - 0xd3, 0x74, 0xa5, 0xdf, 0xde, 0x88, 0x48, 0xb8, 0x47, 0x5a, 0x6c, 0x61, 0x16, 0x1e, 0x6c, 0x61, - 0xaa, 0x57, 0xe6, 0x5b, 0x29, 0x82, 0xb8, 0xab, 0x09, 0xf4, 0xb2, 0xd4, 0x9c, 0x14, 0x0d, 0x23, - 0x2d, 0xae, 0x15, 0x39, 0x3a, 0xa8, 0x4c, 0x6b, 0x1f, 0xa2, 0x6b, 0x4a, 0xec, 0x2f, 0xc9, 0x6f, - 0x54, 0xaf, 0xf9, 0x4d, 0xb5, 0x58, 0x52, 0xaf, 0xf9, 0x6a, 0x39, 0xe0, 0x04, 0x87, 0xee, 0x51, - 0x2a, 0x82, 0xa4, 0x5f, 0xf3, 0xa9, 0x80, 0x82, 0x19, 0xc4, 0x7e, 0x01, 0x60, 0xf9, 0x3e, 0x69, - 0xf2, 0xa5, 0xae, 0x3f, 0x40, 0x5a, 0xf9, 0x0f, 0x90, 0xf6, 0x7f, 0xb0, 0x60, 0x72, 0x65, 0xc9, - 0x10, 0x13, 0xe7, 0x01, 0xb8, 0x6c, 0xf4, 0xd6, 0x5b, 0x6b, 0x52, 0xb7, 0xce, 0xd5, 0xa3, 0xaa, - 0x14, 0x6b, 0x18, 0xe8, 0x3c, 0x14, 0xbd, 0x8e, 0x2f, 0x44, 0x96, 0x91, 0xc3, 0x83, 0x4a, 0xf1, - 0x56, 0xc7, 0xc7, 0xb4, 0x4c, 0xb3, 0x10, 0x2c, 0x0e, 0x6c, 0x21, 0xd8, 0xd7, 0xbd, 0x0a, 0x55, - 0x60, 0xe8, 0xde, 0x3d, 0xb7, 0xc5, 0x8d, 0xd8, 0x85, 0xde, 0xff, 0xad, 0xb7, 0x6a, 0xd5, 0x08, - 0xf3, 0x72, 0xfb, 0xab, 0x45, 0x98, 0x5b, 0xf1, 0xc8, 0xfd, 0x0f, 0x68, 0xc8, 0x3f, 0xa8, 0x7d, - 0xe3, 0xf1, 0xf8, 0xc5, 0xe3, 0xda, 0xb0, 0xf6, 0x1f, 0x8f, 0x4d, 0x18, 0xe1, 0x8f, 0xd9, 0xd2, - 0xac, 0xff, 0xd5, 0xac, 0xd6, 0xf3, 0x07, 0x64, 0x9e, 0x3f, 0x8a, 0x0b, 0x73, 0x7e, 0x75, 0xd3, - 0x8a, 0x52, 0x2c, 0x89, 0xcf, 0x7d, 0x06, 0xc6, 0x75, 0xcc, 0x63, 0x59, 0x93, 0xff, 0x95, 0x22, - 0x4c, 0xd3, 0x1e, 0x3c, 0xd4, 0x89, 0xb8, 0xd3, 0x3d, 0x11, 0x27, 0x6d, 0x51, 0xdc, 0x7f, 0x36, - 0xde, 0x49, 0xcf, 0xc6, 0xf3, 0x79, 0xb3, 0x71, 0xda, 0x73, 0xf0, 0xbd, 0x16, 0x9c, 0x59, 0xf1, - 0x82, 0xe6, 0x4e, 0xca, 0xea, 0xf7, 0x25, 0x18, 0xa3, 0xe7, 0x78, 0x64, 0x78, 0x11, 0x19, 0x7e, - 0x65, 0x02, 0x84, 0x75, 0x3c, 0xad, 0xda, 0x9d, 0x3b, 0xb5, 0x6a, 0x96, 0x3b, 0x9a, 0x00, 0x61, - 0x1d, 0xcf, 0xfe, 0x86, 0x05, 0x17, 0xae, 0x2f, 0x2d, 0x27, 0x4b, 0xb1, 0xcb, 0x23, 0x8e, 0x4a, - 0x81, 0x2d, 0xad, 0x2b, 0x89, 0x14, 0x58, 0x65, 0xbd, 0x10, 0xd0, 0x8f, 0x8a, 0xb7, 0xe7, 0x4f, - 0x5b, 0x70, 0xe6, 0xba, 0x1b, 0xd3, 0x6b, 0x39, 0xed, 0x9b, 0x45, 0xef, 0xe5, 0xc8, 0x8d, 0x83, - 0x70, 0x3f, 0xed, 0x9b, 0x85, 0x15, 0x04, 0x6b, 0x58, 0xbc, 0xe5, 0x3d, 0x97, 0x99, 0x51, 0x15, - 0x4c, 0x55, 0x14, 0x16, 0xe5, 0x58, 0x61, 0xd0, 0x0f, 0x6b, 0xb9, 0x21, 0x13, 0x25, 0xf6, 0xc5, - 0x09, 0xab, 0x3e, 0xac, 0x2a, 0x01, 0x38, 0xc1, 0xb1, 0xff, 0xc8, 0x82, 0xca, 0x75, 0xaf, 0x13, - 0xc5, 0x24, 0xdc, 0x8c, 0x72, 0x4e, 0xc7, 0x17, 0xa0, 0x4c, 0xa4, 0xe0, 0x2e, 0x7a, 0xad, 0x58, - 0x4d, 0x25, 0xd1, 0x73, 0x17, 0x31, 0x85, 0x37, 0x80, 0x0f, 0xc1, 0xf1, 0x8c, 0xc0, 0x57, 0x00, - 0x11, 0xbd, 0x2d, 0xdd, 0x67, 0x8e, 0x39, 0xdf, 0x2c, 0x77, 0x41, 0x71, 0x46, 0x0d, 0xfb, 0xc7, - 0x2c, 0x38, 0xa7, 0x3e, 0xf8, 0x23, 0xf7, 0x99, 0xf6, 0xcf, 0x17, 0x60, 0xe2, 0xc6, 0xfa, 0x7a, - 0xfd, 0x3a, 0x89, 0xc5, 0xb5, 0xdd, 0x5f, 0xb7, 0x8e, 0x35, 0x15, 0x61, 0x2f, 0x29, 0xb0, 0x13, - 0xbb, 0xde, 0x3c, 0x77, 0xbd, 0x9e, 0xaf, 0xf9, 0xf1, 0xed, 0xb0, 0x11, 0x87, 0xae, 0xbf, 0x95, - 0xa9, 0x54, 0x94, 0xcc, 0x45, 0x31, 0x8f, 0xb9, 0x40, 0x2f, 0xc0, 0x30, 0xf3, 0xfd, 0x96, 0x93, - 0xf0, 0x98, 0x12, 0xa2, 0x58, 0xe9, 0xd1, 0x41, 0xa5, 0x7c, 0x07, 0xd7, 0xf8, 0x1f, 0x2c, 0x50, - 0xd1, 0x1d, 0x18, 0xdb, 0x8e, 0xe3, 0xf6, 0x0d, 0xe2, 0xb4, 0x48, 0x28, 0x8f, 0xc3, 0x8b, 0x59, - 0xc7, 0x21, 0x1d, 0x04, 0x8e, 0x96, 0x9c, 0x20, 0x49, 0x59, 0x84, 0x75, 0x3a, 0x76, 0x03, 0x20, - 0x81, 0x9d, 0x90, 0x42, 0xc5, 0xfe, 0x03, 0x0b, 0x46, 0xb8, 0x1b, 0x5e, 0x88, 0x5e, 0x83, 0x12, - 0xb9, 0x4f, 0x9a, 0x82, 0x55, 0xce, 0xec, 0x70, 0xc2, 0x69, 0xf1, 0xe7, 0x01, 0xfa, 0x1f, 0xb3, - 0x5a, 0xe8, 0x06, 0x8c, 0xd0, 0xde, 0x5e, 0x57, 0x3e, 0x89, 0x4f, 0xe4, 0x7d, 0xb1, 0x9a, 0x76, - 0xce, 0x9c, 0x89, 0x22, 0x2c, 0xab, 0x33, 0x55, 0x77, 0xb3, 0xdd, 0xa0, 0x27, 0x76, 0xdc, 0x8b, - 0xb1, 0x58, 0x5f, 0xaa, 0x73, 0x24, 0x41, 0x8d, 0xab, 0xba, 0x65, 0x21, 0x4e, 0x88, 0xd8, 0xeb, - 0x50, 0xa6, 0x93, 0xba, 0xe0, 0xb9, 0x4e, 0x6f, 0x2d, 0xfb, 0x33, 0x50, 0x96, 0x1a, 0xef, 0x48, - 0x78, 0x72, 0x31, 0xaa, 0x52, 0x21, 0x1e, 0xe1, 0x04, 0x6e, 0x6f, 0xc2, 0x59, 0x66, 0xea, 0xe0, - 0xc4, 0xdb, 0xc6, 0x1e, 0xeb, 0xbf, 0x98, 0x9f, 0x15, 0x92, 0x27, 0x9f, 0x99, 0x59, 0xcd, 0x59, - 0x62, 0x5c, 0x52, 0x4c, 0xa4, 0x50, 0xfb, 0x0f, 0x4b, 0xf0, 0x58, 0xad, 0x91, 0xef, 0xa1, 0xf9, - 0x0a, 0x8c, 0x73, 0xbe, 0x94, 0x2e, 0x6d, 0xc7, 0x13, 0xed, 0xaa, 0x87, 0xc0, 0x75, 0x0d, 0x86, - 0x0d, 0x4c, 0x74, 0x01, 0x8a, 0xee, 0x7b, 0x7e, 0xda, 0xee, 0xb8, 0xf6, 0xe6, 0x1a, 0xa6, 0xe5, - 0x14, 0x4c, 0x59, 0x5c, 0x7e, 0x77, 0x28, 0xb0, 0x62, 0x73, 0x5f, 0x87, 0x49, 0x37, 0x6a, 0x46, - 0x6e, 0xcd, 0xa7, 0xe7, 0x8c, 0x76, 0x52, 0x29, 0xad, 0x08, 0xed, 0xb4, 0x82, 0xe2, 0x14, 0xb6, - 0x76, 0x91, 0x0d, 0x0d, 0xcc, 0x26, 0xf7, 0x75, 0x6d, 0xa2, 0x12, 0x40, 0x9b, 0x7d, 0x5d, 0xc4, - 0xac, 0xf8, 0x84, 0x04, 0xc0, 0x3f, 0x38, 0xc2, 0x12, 0x46, 0x45, 0xce, 0xe6, 0xb6, 0xd3, 0x5e, - 0xe8, 0xc4, 0xdb, 0x55, 0x37, 0x6a, 0x06, 0x7b, 0x24, 0xdc, 0x67, 0xda, 0x82, 0xd1, 0x44, 0xe4, - 0x54, 0x80, 0xa5, 0x1b, 0x0b, 0x75, 0x8a, 0x89, 0xbb, 0xeb, 0x98, 0x6c, 0x30, 0x9c, 0x04, 0x1b, - 0xbc, 0x00, 0x53, 0xb2, 0x99, 0x06, 0x89, 0xd8, 0xa5, 0x38, 0xc6, 0x3a, 0xa6, 0x6c, 0x8b, 0x45, - 0xb1, 0xea, 0x56, 0x1a, 0x1f, 0xbd, 0x0c, 0x13, 0xae, 0xef, 0xc6, 0xae, 0x13, 0x07, 0x21, 0x63, - 0x29, 0xb8, 0x62, 0x80, 0x99, 0xee, 0xd5, 0x74, 0x00, 0x36, 0xf1, 0xec, 0xff, 0x52, 0x82, 0x19, - 0x36, 0x6d, 0xdf, 0x5a, 0x61, 0x1f, 0x99, 0x15, 0x76, 0xa7, 0x7b, 0x85, 0x9d, 0x04, 0x7f, 0xff, - 0x61, 0x2e, 0xb3, 0x77, 0xa1, 0xac, 0x8c, 0x9f, 0xa5, 0xf7, 0x83, 0x95, 0xe3, 0xfd, 0xd0, 0x9f, - 0xfb, 0x90, 0xef, 0xd6, 0xc5, 0xcc, 0x77, 0xeb, 0xbf, 0x6b, 0x41, 0x62, 0x03, 0x8a, 0x6e, 0x40, - 0xb9, 0x1d, 0x30, 0x3b, 0x8b, 0x50, 0x1a, 0x2f, 0x3d, 0x96, 0x79, 0x51, 0xf1, 0x4b, 0x91, 0x8f, - 0x5f, 0x5d, 0xd6, 0xc0, 0x49, 0x65, 0xb4, 0x08, 0x23, 0xed, 0x90, 0x34, 0x62, 0xe6, 0xf3, 0xdb, - 0x97, 0x0e, 0x5f, 0x23, 0x1c, 0x1f, 0xcb, 0x8a, 0xf6, 0x2f, 0x58, 0x00, 0xfc, 0x69, 0xd8, 0xf1, - 0xb7, 0xc8, 0x29, 0xa8, 0xbb, 0xab, 0x50, 0x8a, 0xda, 0xa4, 0xd9, 0xcb, 0x02, 0x26, 0xe9, 0x4f, - 0xa3, 0x4d, 0x9a, 0xc9, 0x80, 0xd3, 0x7f, 0x98, 0xd5, 0xb6, 0xbf, 0x0f, 0x60, 0x32, 0x41, 0xab, - 0xc5, 0x64, 0x17, 0x3d, 0x67, 0xf8, 0x00, 0x9e, 0x4f, 0xf9, 0x00, 0x96, 0x19, 0xb6, 0xa6, 0x59, - 0x7d, 0x17, 0x8a, 0xbb, 0xce, 0x7d, 0xa1, 0x3a, 0x7b, 0xa6, 0x77, 0x37, 0x28, 0xfd, 0xf9, 0x55, - 0xe7, 0x3e, 0x17, 0x12, 0x9f, 0x91, 0x0b, 0x64, 0xd5, 0xb9, 0x7f, 0xc4, 0xed, 0x5c, 0xd8, 0x21, - 0x75, 0xcb, 0x8d, 0xe2, 0x2f, 0xff, 0xe7, 0xe4, 0x3f, 0x5b, 0x76, 0xb4, 0x11, 0xd6, 0x96, 0xeb, - 0x8b, 0x87, 0xd2, 0x81, 0xda, 0x72, 0xfd, 0x74, 0x5b, 0xae, 0x3f, 0x40, 0x5b, 0xae, 0x8f, 0xde, - 0x87, 0x11, 0x61, 0x94, 0xc0, 0x8c, 0xdb, 0x4d, 0xb5, 0x5c, 0x5e, 0x7b, 0xc2, 0xa6, 0x81, 0xb7, - 0x79, 0x55, 0x0a, 0xc1, 0xa2, 0xb4, 0x6f, 0xbb, 0xb2, 0x41, 0xf4, 0xb7, 0x2c, 0x98, 0x14, 0xbf, - 0x31, 0x79, 0xaf, 0x43, 0xa2, 0x58, 0xf0, 0x9e, 0x9f, 0x1e, 0xbc, 0x0f, 0xa2, 0x22, 0xef, 0xca, - 0xa7, 0xe5, 0x31, 0x6b, 0x02, 0xfb, 0xf6, 0x28, 0xd5, 0x0b, 0xf4, 0x4f, 0x2c, 0x38, 0xbb, 0xeb, - 0xdc, 0xe7, 0x2d, 0xf2, 0x32, 0xec, 0xc4, 0x6e, 0x20, 0x8c, 0xf5, 0x5f, 0x1b, 0x6c, 0xfa, 0xbb, - 0xaa, 0xf3, 0x4e, 0x4a, 0xbb, 0xde, 0xb3, 0x59, 0x28, 0x7d, 0xbb, 0x9a, 0xd9, 0xaf, 0xb9, 0x4d, - 0x18, 0x95, 0xeb, 0x2d, 0x43, 0xd5, 0x50, 0xd5, 0x19, 0xeb, 0x63, 0xdb, 0x84, 0xe8, 0x8e, 0x78, - 0xb4, 0x1d, 0xb1, 0xd6, 0x1e, 0x6a, 0x3b, 0xef, 0xc2, 0xb8, 0xbe, 0xc6, 0x1e, 0x6a, 0x5b, 0xef, - 0xc1, 0x99, 0x8c, 0xb5, 0xf4, 0x50, 0x9b, 0xbc, 0x07, 0xe7, 0x73, 0xd7, 0xc7, 0xc3, 0x6c, 0xd8, - 0xfe, 0x79, 0x4b, 0x3f, 0x07, 0x4f, 0xe1, 0xcd, 0x61, 0xc9, 0x7c, 0x73, 0xb8, 0xd8, 0x7b, 0xe7, - 0xe4, 0x3c, 0x3c, 0xbc, 0xa3, 0x77, 0x9a, 0x9e, 0xea, 0xe8, 0x0d, 0x18, 0xf6, 0x68, 0x89, 0xb4, - 0x86, 0xb1, 0xfb, 0xef, 0xc8, 0x84, 0x97, 0x62, 0xe5, 0x11, 0x16, 0x14, 0xec, 0x5f, 0xb6, 0xa0, - 0x74, 0x0a, 0x23, 0x81, 0xcd, 0x91, 0x78, 0x2e, 0x97, 0xb4, 0x88, 0xe1, 0x36, 0x8f, 0x9d, 0x7b, - 0xcb, 0xf7, 0x63, 0xe2, 0x47, 0x4c, 0x54, 0xcc, 0x1c, 0x98, 0xef, 0x82, 0x33, 0xb7, 0x02, 0xa7, - 0xb5, 0xe8, 0x78, 0x8e, 0xdf, 0x24, 0x61, 0xcd, 0xdf, 0xea, 0x6b, 0x96, 0xa5, 0x1b, 0x51, 0x15, - 0xfa, 0x19, 0x51, 0xd9, 0xdb, 0x80, 0xf4, 0x06, 0x84, 0xe1, 0x2a, 0x86, 0x11, 0x97, 0x37, 0x25, - 0x86, 0xff, 0xa9, 0x6c, 0xee, 0xae, 0xab, 0x67, 0x9a, 0x49, 0x26, 0x2f, 0xc0, 0x92, 0x90, 0xfd, - 0x0a, 0x64, 0x3a, 0xab, 0xf5, 0x57, 0x1b, 0xd8, 0x9f, 0x87, 0x19, 0x56, 0xf3, 0x98, 0x22, 0xad, - 0x9d, 0xd2, 0x4a, 0x66, 0xc4, 0xc8, 0xb2, 0xbf, 0x62, 0xc1, 0xd4, 0x5a, 0x2a, 0x60, 0xc7, 0x65, - 0xf6, 0x00, 0x9a, 0xa1, 0x0c, 0x6f, 0xb0, 0x52, 0x2c, 0xa0, 0x27, 0xae, 0x83, 0xfa, 0x73, 0x0b, - 0x12, 0xff, 0xd1, 0x53, 0x60, 0xbc, 0x96, 0x0c, 0xc6, 0x2b, 0x53, 0x37, 0xa2, 0xba, 0x93, 0xc7, - 0x77, 0xa1, 0x9b, 0x2a, 0x58, 0x42, 0x0f, 0xb5, 0x48, 0x42, 0x86, 0xbb, 0xd6, 0x4f, 0x9a, 0x11, - 0x15, 0x64, 0xf8, 0x04, 0x66, 0x3b, 0xa5, 0x70, 0x3f, 0x22, 0xb6, 0x53, 0xaa, 0x3f, 0x39, 0x3b, - 0xb4, 0xae, 0x75, 0x99, 0x9d, 0x5c, 0xdf, 0xce, 0x6c, 0xe1, 0x1d, 0xcf, 0x7d, 0x9f, 0xa8, 0x88, - 0x2f, 0x15, 0x61, 0xdb, 0x2e, 0x4a, 0x8f, 0x0e, 0x2a, 0x13, 0xea, 0x1f, 0x0f, 0x0b, 0x96, 0x54, - 0xb1, 0x6f, 0xc0, 0x54, 0x6a, 0xc0, 0xd0, 0x4b, 0x30, 0xd4, 0xde, 0x76, 0x22, 0x92, 0xb2, 0x17, - 0x1d, 0xaa, 0xd3, 0xc2, 0xa3, 0x83, 0xca, 0xa4, 0xaa, 0xc0, 0x4a, 0x30, 0xc7, 0xb6, 0xff, 0x87, - 0x05, 0xa5, 0xb5, 0xa0, 0x75, 0x1a, 0x8b, 0xe9, 0x75, 0x63, 0x31, 0x3d, 0x9e, 0x17, 0x54, 0x31, - 0x77, 0x1d, 0xad, 0xa4, 0xd6, 0xd1, 0xc5, 0x5c, 0x0a, 0xbd, 0x97, 0xd0, 0x2e, 0x8c, 0xb1, 0x50, - 0x8d, 0xc2, 0x7e, 0xf5, 0x05, 0x43, 0x06, 0xa8, 0xa4, 0x64, 0x80, 0x29, 0x0d, 0x55, 0x93, 0x04, - 0x9e, 0x86, 0x11, 0x61, 0x43, 0x99, 0xb6, 0xfa, 0x17, 0xb8, 0x58, 0xc2, 0xed, 0x1f, 0x2f, 0x82, - 0x11, 0x1a, 0x12, 0xfd, 0xaa, 0x05, 0xf3, 0x21, 0x77, 0xa3, 0x6c, 0x55, 0x3b, 0xa1, 0xeb, 0x6f, - 0x35, 0x9a, 0xdb, 0xa4, 0xd5, 0xf1, 0x5c, 0x7f, 0xab, 0xb6, 0xe5, 0x07, 0xaa, 0x78, 0xf9, 0x3e, - 0x69, 0x76, 0xd8, 0x43, 0x48, 0x9f, 0x38, 0x94, 0xca, 0x46, 0xe9, 0xda, 0xe1, 0x41, 0x65, 0x1e, - 0x1f, 0x8b, 0x36, 0x3e, 0x66, 0x5f, 0xd0, 0x37, 0x2c, 0xb8, 0xca, 0x23, 0x26, 0x0e, 0xde, 0xff, - 0x1e, 0x12, 0x53, 0x5d, 0x92, 0x4a, 0x88, 0xac, 0x93, 0x70, 0x77, 0xf1, 0x65, 0x31, 0xa0, 0x57, - 0xeb, 0xc7, 0x6b, 0x0b, 0x1f, 0xb7, 0x73, 0xf6, 0xbf, 0x2e, 0xc2, 0x84, 0xf0, 0xe0, 0x17, 0xa1, - 0x61, 0x5e, 0x32, 0x96, 0xc4, 0x13, 0xa9, 0x25, 0x31, 0x63, 0x20, 0x9f, 0x4c, 0x54, 0x98, 0x08, - 0x66, 0x3c, 0x27, 0x8a, 0x6f, 0x10, 0x27, 0x8c, 0x37, 0x88, 0xc3, 0x6d, 0x77, 0x8a, 0xc7, 0xb6, - 0x33, 0x52, 0x2a, 0x9a, 0x5b, 0x69, 0x62, 0xb8, 0x9b, 0x3e, 0xda, 0x03, 0xc4, 0x0c, 0x90, 0x42, - 0xc7, 0x8f, 0xf8, 0xb7, 0xb8, 0xe2, 0xcd, 0xe0, 0x78, 0xad, 0xce, 0x89, 0x56, 0xd1, 0xad, 0x2e, - 0x6a, 0x38, 0xa3, 0x05, 0xcd, 0xb0, 0x6c, 0x68, 0x50, 0xc3, 0xb2, 0xe1, 0x3e, 0xae, 0x35, 0x3e, - 0x4c, 0x77, 0x05, 0x61, 0x78, 0x1b, 0xca, 0xca, 0x00, 0x50, 0x1c, 0x3a, 0xbd, 0x63, 0x99, 0xa4, - 0x29, 0x70, 0x35, 0x4a, 0x62, 0x7c, 0x9a, 0x90, 0xb3, 0xff, 0x69, 0xc1, 0x68, 0x90, 0x4f, 0xe2, - 0x1a, 0x8c, 0x3a, 0x51, 0xe4, 0x6e, 0xf9, 0xa4, 0x25, 0x76, 0xec, 0xc7, 0xf3, 0x76, 0xac, 0xd1, - 0x0c, 0x33, 0xc2, 0x5c, 0x10, 0x35, 0xb1, 0xa2, 0x81, 0x6e, 0x70, 0x0b, 0xa9, 0x3d, 0xc9, 0xf3, - 0x0f, 0x46, 0x0d, 0xa4, 0x0d, 0xd5, 0x1e, 0xc1, 0xa2, 0x3e, 0xfa, 0x02, 0x37, 0x61, 0xbb, 0xe9, - 0x07, 0xf7, 0xfc, 0xeb, 0x41, 0x20, 0xdd, 0xee, 0x06, 0x23, 0x38, 0x23, 0x0d, 0xd7, 0x54, 0x75, - 0x6c, 0x52, 0x1b, 0x2c, 0x50, 0xd1, 0x77, 0xc3, 0x19, 0x4a, 0xda, 0x74, 0x9e, 0x89, 0x10, 0x81, - 0x29, 0x11, 0x1e, 0x42, 0x96, 0x89, 0xb1, 0xcb, 0x64, 0xe7, 0xcd, 0xda, 0x89, 0xd2, 0xef, 0xa6, - 0x49, 0x02, 0xa7, 0x69, 0xda, 0x3f, 0x65, 0x01, 0x33, 0xfb, 0x3f, 0x05, 0x96, 0xe1, 0xb3, 0x26, - 0xcb, 0x30, 0x9b, 0x37, 0xc8, 0x39, 0xdc, 0xc2, 0x8b, 0x7c, 0x65, 0xd5, 0xc3, 0xe0, 0xfe, 0xbe, - 0x30, 0x1f, 0xe8, 0xcf, 0xc9, 0xda, 0xff, 0xc7, 0xe2, 0x87, 0x98, 0xf2, 0xc4, 0x47, 0xdf, 0x03, - 0xa3, 0x4d, 0xa7, 0xed, 0x34, 0x79, 0x1c, 0xe3, 0x5c, 0xad, 0x8e, 0x51, 0x69, 0x7e, 0x49, 0xd4, - 0xe0, 0x5a, 0x0a, 0x19, 0x66, 0x64, 0x54, 0x16, 0xf7, 0xd5, 0x4c, 0xa8, 0x26, 0xe7, 0x76, 0x60, - 0xc2, 0x20, 0xf6, 0x50, 0x45, 0xda, 0xef, 0xe1, 0x57, 0xac, 0x0a, 0x8b, 0xb3, 0x0b, 0x33, 0xbe, - 0xf6, 0x9f, 0x5e, 0x28, 0x52, 0x4c, 0xf9, 0x78, 0xbf, 0x4b, 0x94, 0xdd, 0x3e, 0x9a, 0x5b, 0x43, - 0x8a, 0x0c, 0xee, 0xa6, 0x6c, 0xff, 0x84, 0x05, 0x8f, 0xea, 0x88, 0x5a, 0x90, 0x84, 0x7e, 0x7a, - 0xe2, 0x2a, 0x8c, 0x06, 0x6d, 0x12, 0x3a, 0x71, 0x10, 0x8a, 0x5b, 0xe3, 0x8a, 0x1c, 0xf4, 0xdb, - 0xa2, 0xfc, 0x48, 0x04, 0x94, 0x94, 0xd4, 0x65, 0x39, 0x56, 0x35, 0xa9, 0x1c, 0xc3, 0x06, 0x23, - 0x12, 0x01, 0x2c, 0xd8, 0x19, 0xc0, 0x9e, 0x4c, 0x23, 0x2c, 0x20, 0xf6, 0x1f, 0x5a, 0x7c, 0x61, - 0xe9, 0x5d, 0x47, 0xef, 0xc1, 0xf4, 0xae, 0x13, 0x37, 0xb7, 0x97, 0xef, 0xb7, 0x43, 0xae, 0x1e, - 0x97, 0xe3, 0xf4, 0x4c, 0xbf, 0x71, 0xd2, 0x3e, 0x32, 0xb1, 0xca, 0x5b, 0x4d, 0x11, 0xc3, 0x5d, - 0xe4, 0xd1, 0x06, 0x8c, 0xb1, 0x32, 0x66, 0xfe, 0x1d, 0xf5, 0x62, 0x0d, 0xf2, 0x5a, 0x53, 0xaf, - 0xce, 0xab, 0x09, 0x1d, 0xac, 0x13, 0xb5, 0xbf, 0x5c, 0xe4, 0xbb, 0x9d, 0x71, 0xdb, 0x4f, 0xc3, - 0x48, 0x3b, 0x68, 0x2d, 0xd5, 0xaa, 0x58, 0xcc, 0x82, 0xba, 0x46, 0xea, 0xbc, 0x18, 0x4b, 0x38, - 0x7a, 0x15, 0x80, 0xdc, 0x8f, 0x49, 0xe8, 0x3b, 0x9e, 0xb2, 0x92, 0x51, 0x76, 0xa1, 0xd5, 0x60, - 0x2d, 0x88, 0xef, 0x44, 0xe4, 0xbb, 0x96, 0x15, 0x0a, 0xd6, 0xd0, 0xd1, 0x35, 0x80, 0x76, 0x18, - 0xec, 0xb9, 0x2d, 0xe6, 0x4f, 0x58, 0x34, 0x6d, 0x48, 0xea, 0x0a, 0x82, 0x35, 0x2c, 0xf4, 0x2a, - 0x4c, 0x74, 0xfc, 0x88, 0x73, 0x28, 0xce, 0x86, 0x08, 0xc7, 0x38, 0x9a, 0x58, 0x37, 0xdc, 0xd1, - 0x81, 0xd8, 0xc4, 0x45, 0x0b, 0x30, 0x1c, 0x3b, 0xcc, 0x26, 0x62, 0x28, 0xdf, 0x98, 0x73, 0x9d, - 0x62, 0xe8, 0x51, 0x74, 0x69, 0x05, 0x2c, 0x2a, 0xa2, 0xb7, 0xa5, 0x73, 0x06, 0x3f, 0xeb, 0x85, - 0x15, 0xf5, 0x60, 0xf7, 0x82, 0xe6, 0x9a, 0x21, 0xac, 0xb3, 0x0d, 0x5a, 0xf6, 0x37, 0xca, 0x00, - 0x09, 0x3b, 0x8e, 0xde, 0xef, 0x3a, 0x8f, 0x9e, 0xed, 0xcd, 0xc0, 0x9f, 0xdc, 0x61, 0x84, 0xbe, - 0xdf, 0x82, 0x31, 0xc7, 0xf3, 0x82, 0xa6, 0x13, 0xb3, 0x51, 0x2e, 0xf4, 0x3e, 0x0f, 0x45, 0xfb, - 0x0b, 0x49, 0x0d, 0xde, 0x85, 0x17, 0xe4, 0xc2, 0xd3, 0x20, 0x7d, 0x7b, 0xa1, 0x37, 0x8c, 0x3e, - 0x25, 0xa5, 0x34, 0xbe, 0x3c, 0xe6, 0xd2, 0x52, 0x5a, 0x99, 0x1d, 0xfd, 0x9a, 0x80, 0x86, 0xee, - 0x18, 0x91, 0xf6, 0x4a, 0xf9, 0x41, 0x27, 0x0c, 0xae, 0xb4, 0x5f, 0x90, 0x3d, 0x54, 0xd7, 0xbd, - 0xc9, 0x86, 0xf2, 0x23, 0xb3, 0x68, 0xe2, 0x4f, 0x1f, 0x4f, 0xb2, 0x77, 0x61, 0xaa, 0x65, 0xde, - 0xed, 0x62, 0x35, 0x3d, 0x95, 0x47, 0x37, 0xc5, 0x0a, 0x24, 0xb7, 0x79, 0x0a, 0x80, 0xd3, 0x84, - 0x51, 0x9d, 0xfb, 0xf5, 0xd5, 0xfc, 0xcd, 0x40, 0x58, 0xe3, 0xdb, 0xb9, 0x73, 0xb9, 0x1f, 0xc5, - 0x64, 0x97, 0x62, 0x26, 0x97, 0xf6, 0x9a, 0xa8, 0x8b, 0x15, 0x15, 0xf4, 0x06, 0x0c, 0x33, 0xc7, - 0xe0, 0x68, 0x76, 0x34, 0x5f, 0x99, 0x68, 0xc6, 0xb4, 0x48, 0x36, 0x15, 0xfb, 0x1b, 0x61, 0x41, - 0x01, 0xdd, 0x90, 0x81, 0x6f, 0xa2, 0x9a, 0x7f, 0x27, 0x22, 0x2c, 0xf0, 0x4d, 0x79, 0xf1, 0xe3, - 0x49, 0x4c, 0x1b, 0x5e, 0x9e, 0x19, 0x2f, 0xdf, 0xa8, 0x49, 0x99, 0x23, 0xf1, 0x5f, 0x86, 0xe1, - 0x9f, 0x85, 0xfc, 0xee, 0x99, 0xa1, 0xfa, 0x93, 0xe1, 0xbc, 0x6b, 0x92, 0xc0, 0x69, 0x9a, 0x94, - 0xd1, 0xe4, 0x3b, 0x57, 0xd8, 0xf3, 0xf7, 0xdb, 0xff, 0x5c, 0xbe, 0x66, 0x97, 0x0c, 0x2f, 0xc1, - 0xa2, 0xfe, 0xa9, 0xde, 0xfa, 0x73, 0x3e, 0x4c, 0xa7, 0xb7, 0xe8, 0x43, 0xe5, 0x32, 0xfe, 0xa0, - 0x04, 0x93, 0xe6, 0x92, 0x42, 0x57, 0xa1, 0x2c, 0x88, 0xa8, 0x28, 0xac, 0x6a, 0x97, 0xac, 0x4a, - 0x00, 0x4e, 0x70, 0x58, 0xf0, 0x5d, 0x56, 0x5d, 0xb3, 0xc3, 0x4c, 0x82, 0xef, 0x2a, 0x08, 0xd6, - 0xb0, 0xa8, 0xbc, 0xb4, 0x11, 0x04, 0xb1, 0xba, 0x54, 0xd4, 0xba, 0x5b, 0x64, 0xa5, 0x58, 0x40, - 0xe9, 0x65, 0xb2, 0x43, 0x42, 0x9f, 0x78, 0x66, 0x70, 0x37, 0x75, 0x99, 0xdc, 0xd4, 0x81, 0xd8, - 0xc4, 0xa5, 0xb7, 0x64, 0x10, 0xb1, 0x85, 0x2c, 0xa4, 0xb2, 0xc4, 0xae, 0xb5, 0xc1, 0x5d, 0xec, - 0x25, 0x1c, 0x7d, 0x1e, 0x1e, 0x55, 0x1e, 0xf1, 0x98, 0x2b, 0xaa, 0x65, 0x8b, 0xc3, 0x86, 0x12, - 0xe5, 0xd1, 0xa5, 0x6c, 0x34, 0x9c, 0x57, 0x1f, 0xbd, 0x0e, 0x93, 0x82, 0x73, 0x97, 0x14, 0x47, - 0x4c, 0xdb, 0x89, 0x9b, 0x06, 0x14, 0xa7, 0xb0, 0x65, 0x78, 0x3a, 0xc6, 0x3c, 0x4b, 0x0a, 0xa3, - 0xdd, 0xe1, 0xe9, 0x74, 0x38, 0xee, 0xaa, 0x81, 0x16, 0x60, 0x8a, 0xb3, 0x56, 0xae, 0xbf, 0xc5, - 0xe7, 0x44, 0xb8, 0xdb, 0xa8, 0x2d, 0x75, 0xdb, 0x04, 0xe3, 0x34, 0x3e, 0x7a, 0x05, 0xc6, 0x9d, - 0xb0, 0xb9, 0xed, 0xc6, 0xa4, 0x19, 0x77, 0x42, 0xee, 0x87, 0xa3, 0x19, 0x9f, 0x2c, 0x68, 0x30, - 0x6c, 0x60, 0xda, 0xef, 0xc3, 0x99, 0x0c, 0x4f, 0x3d, 0xba, 0x70, 0x9c, 0xb6, 0x2b, 0xbf, 0x29, - 0x65, 0xa1, 0xba, 0x50, 0xaf, 0xc9, 0xaf, 0xd1, 0xb0, 0xe8, 0xea, 0x64, 0x1e, 0x7d, 0x5a, 0xd6, - 0x0d, 0xb5, 0x3a, 0x57, 0x24, 0x00, 0x27, 0x38, 0xf6, 0xff, 0x2c, 0xc0, 0x54, 0x86, 0xf2, 0x9d, - 0x65, 0x7e, 0x48, 0xc9, 0x1e, 0x49, 0xa2, 0x07, 0x33, 0xda, 0x61, 0xe1, 0x18, 0xd1, 0x0e, 0x8b, - 0xfd, 0xa2, 0x1d, 0x96, 0x3e, 0x48, 0xb4, 0x43, 0x73, 0xc4, 0x86, 0x06, 0x1a, 0xb1, 0x8c, 0x08, - 0x89, 0xc3, 0xc7, 0x8c, 0x90, 0x68, 0x0c, 0xfa, 0xc8, 0x00, 0x83, 0xfe, 0xb5, 0x02, 0x4c, 0xa7, - 0x8d, 0xe4, 0x4e, 0x41, 0x1d, 0xfb, 0x86, 0xa1, 0x8e, 0xcd, 0xce, 0xa3, 0x92, 0x36, 0xdd, 0xcb, - 0x53, 0xcd, 0xe2, 0x94, 0x6a, 0xf6, 0x93, 0x03, 0x51, 0xeb, 0xad, 0xa6, 0xfd, 0xfb, 0x05, 0x38, - 0x97, 0xae, 0xb2, 0xe4, 0x39, 0xee, 0xee, 0x29, 0x8c, 0xcd, 0x6d, 0x63, 0x6c, 0x9e, 0x1b, 0xe4, - 0x6b, 0x58, 0xd7, 0x72, 0x07, 0xe8, 0xad, 0xd4, 0x00, 0x5d, 0x1d, 0x9c, 0x64, 0xef, 0x51, 0xfa, - 0x66, 0x11, 0x2e, 0x66, 0xd6, 0x4b, 0xb4, 0x99, 0x2b, 0x86, 0x36, 0xf3, 0x5a, 0x4a, 0x9b, 0x69, - 0xf7, 0xae, 0x7d, 0x32, 0xea, 0x4d, 0xe1, 0x42, 0xc9, 0x22, 0xe2, 0x3d, 0xa0, 0x6a, 0xd3, 0x70, - 0xa1, 0x54, 0x84, 0xb0, 0x49, 0xf7, 0x2f, 0x93, 0x4a, 0xf3, 0xdf, 0x5a, 0x70, 0x3e, 0x73, 0x6e, - 0x4e, 0x41, 0x85, 0xb5, 0x66, 0xaa, 0xb0, 0x9e, 0x1e, 0x78, 0xb5, 0xe6, 0xe8, 0xb4, 0x7e, 0xb3, - 0x94, 0xf3, 0x2d, 0x4c, 0x40, 0xbf, 0x0d, 0x63, 0x4e, 0xb3, 0x49, 0xa2, 0x68, 0x35, 0x68, 0xa9, - 0x08, 0x71, 0xcf, 0x31, 0x39, 0x2b, 0x29, 0x3e, 0x3a, 0xa8, 0xcc, 0xa5, 0x49, 0x24, 0x60, 0xac, - 0x53, 0x30, 0x83, 0x5a, 0x16, 0x4e, 0x34, 0xa8, 0xe5, 0x35, 0x80, 0x3d, 0xc5, 0xad, 0xa7, 0x85, - 0x7c, 0x8d, 0x8f, 0xd7, 0xb0, 0xd0, 0x17, 0x60, 0x34, 0x12, 0xd7, 0xb8, 0x58, 0x8a, 0x2f, 0x0c, - 0x38, 0x57, 0xce, 0x06, 0xf1, 0x4c, 0x5f, 0x7d, 0xa5, 0x0f, 0x51, 0x24, 0xd1, 0x77, 0xc0, 0x74, - 0xc4, 0x43, 0xc1, 0x2c, 0x79, 0x4e, 0xc4, 0xfc, 0x20, 0xc4, 0x2a, 0x64, 0x0e, 0xf8, 0x8d, 0x14, - 0x0c, 0x77, 0x61, 0xa3, 0x15, 0xf9, 0x51, 0x2c, 0x6e, 0x0d, 0x5f, 0x98, 0x97, 0x93, 0x0f, 0x12, - 0x79, 0xa7, 0xce, 0xa6, 0x87, 0x9f, 0x0d, 0xbc, 0x56, 0x13, 0x7d, 0x01, 0x80, 0x2e, 0x1f, 0xa1, - 0x4b, 0x18, 0xc9, 0x3f, 0x3c, 0xe9, 0xa9, 0xd2, 0xca, 0xb4, 0xfc, 0x64, 0xce, 0x8b, 0x55, 0x45, - 0x04, 0x6b, 0x04, 0xed, 0xaf, 0x95, 0xe0, 0xb1, 0x1e, 0x67, 0x24, 0x5a, 0x30, 0x9f, 0x40, 0x9f, - 0x49, 0x0b, 0xd7, 0x73, 0x99, 0x95, 0x0d, 0x69, 0x3b, 0xb5, 0x14, 0x0b, 0x1f, 0x78, 0x29, 0xfe, - 0xa0, 0xa5, 0xa9, 0x3d, 0xb8, 0x31, 0xdf, 0x67, 0x8f, 0x79, 0xf6, 0x9f, 0xa0, 0x1e, 0x64, 0x33, - 0x43, 0x99, 0x70, 0x6d, 0xe0, 0xee, 0x0c, 0xac, 0x5d, 0x38, 0x5d, 0xe5, 0xef, 0x97, 0x2d, 0x78, - 0x22, 0xb3, 0xbf, 0x86, 0xc9, 0xc6, 0x55, 0x28, 0x37, 0x69, 0xa1, 0xe6, 0xab, 0x96, 0x38, 0xf1, - 0x4a, 0x00, 0x4e, 0x70, 0x0c, 0xcb, 0x8c, 0x42, 0x5f, 0xcb, 0x8c, 0x7f, 0x65, 0x41, 0xd7, 0xfe, - 0x38, 0x85, 0x83, 0xba, 0x66, 0x1e, 0xd4, 0x1f, 0x1f, 0x64, 0x2e, 0x73, 0xce, 0xe8, 0x3f, 0x9e, - 0x82, 0x47, 0x72, 0x7c, 0x35, 0xf6, 0x60, 0x66, 0xab, 0x49, 0x4c, 0x2f, 0x40, 0xf1, 0x31, 0x99, - 0x0e, 0x93, 0x3d, 0x5d, 0x06, 0x59, 0x3e, 0xa2, 0x99, 0x2e, 0x14, 0xdc, 0xdd, 0x04, 0xfa, 0xb2, - 0x05, 0x67, 0x9d, 0x7b, 0x51, 0x57, 0xd6, 0x49, 0xb1, 0x66, 0x5e, 0xcc, 0x54, 0x82, 0xf4, 0xc9, - 0x52, 0xc9, 0x13, 0x34, 0x65, 0x61, 0xe1, 0xcc, 0xb6, 0x10, 0x16, 0x31, 0x43, 0x29, 0x3b, 0xdf, - 0xc3, 0x4f, 0x35, 0xcb, 0xa9, 0x86, 0x1f, 0xd9, 0x12, 0x82, 0x15, 0x1d, 0xf4, 0x25, 0x28, 0x6f, - 0x49, 0x4f, 0xb7, 0x8c, 0x2b, 0x21, 0x19, 0xc8, 0xde, 0xfe, 0x7f, 0xfc, 0x81, 0x52, 0x21, 0xe1, - 0x84, 0x28, 0x7a, 0x1d, 0x8a, 0xfe, 0x66, 0xd4, 0x2b, 0xc7, 0x51, 0xca, 0xa6, 0x89, 0x7b, 0x83, - 0xaf, 0xad, 0x34, 0x30, 0xad, 0x88, 0x6e, 0x40, 0x31, 0xdc, 0x68, 0x09, 0x0d, 0x5e, 0xe6, 0x19, - 0x8e, 0x17, 0xab, 0x39, 0xbd, 0x62, 0x94, 0xf0, 0x62, 0x15, 0x53, 0x12, 0xa8, 0x0e, 0x43, 0xcc, - 0xc1, 0x41, 0xdc, 0x07, 0x99, 0x9c, 0x6f, 0x0f, 0x47, 0x21, 0xee, 0x32, 0xce, 0x10, 0x30, 0x27, - 0x84, 0xd6, 0x61, 0xb8, 0xc9, 0xf2, 0xe1, 0x88, 0x80, 0xd5, 0x9f, 0xca, 0xd4, 0xd5, 0xf5, 0x48, - 0x14, 0x24, 0x54, 0x57, 0x0c, 0x03, 0x0b, 0x5a, 0x8c, 0x2a, 0x69, 0x6f, 0x6f, 0x46, 0x4c, 0xd6, - 0xcf, 0xa3, 0xda, 0x23, 0xff, 0x95, 0xa0, 0xca, 0x30, 0xb0, 0xa0, 0x85, 0x3e, 0x03, 0x85, 0xcd, - 0xa6, 0xf0, 0x7f, 0xc8, 0x54, 0xda, 0x99, 0x0e, 0xfd, 0x8b, 0xc3, 0x87, 0x07, 0x95, 0xc2, 0xca, - 0x12, 0x2e, 0x6c, 0x36, 0xd1, 0x1a, 0x8c, 0x6c, 0x72, 0x17, 0x60, 0xa1, 0x97, 0x7b, 0x2a, 0xdb, - 0x3b, 0xb9, 0xcb, 0x4b, 0x98, 0xdb, 0xed, 0x0b, 0x00, 0x96, 0x44, 0x58, 0x08, 0x4e, 0xe5, 0xca, - 0x2c, 0x62, 0x51, 0xcf, 0x1f, 0xcf, 0xfd, 0x9c, 0xdf, 0xcf, 0x89, 0x43, 0x34, 0xd6, 0x28, 0xd2, - 0x55, 0xed, 0xc8, 0xcc, 0x87, 0x22, 0x56, 0x47, 0xe6, 0xaa, 0xee, 0x93, 0x14, 0x92, 0xaf, 0x6a, - 0x85, 0x84, 0x13, 0xa2, 0x68, 0x07, 0x26, 0xf6, 0xa2, 0xf6, 0x36, 0x91, 0x5b, 0x9a, 0x85, 0xee, - 0xc8, 0xb9, 0xc2, 0xee, 0x0a, 0x44, 0x37, 0x8c, 0x3b, 0x8e, 0xd7, 0x75, 0x0a, 0xb1, 0x57, 0xed, - 0xbb, 0x3a, 0x31, 0x6c, 0xd2, 0xa6, 0xc3, 0xff, 0x5e, 0x27, 0xd8, 0xd8, 0x8f, 0x89, 0x08, 0x5e, - 0x9d, 0x39, 0xfc, 0x6f, 0x72, 0x94, 0xee, 0xe1, 0x17, 0x00, 0x2c, 0x89, 0xa0, 0xbb, 0x62, 0x78, - 0xd8, 0xe9, 0x39, 0x9d, 0x1f, 0x4c, 0x29, 0x33, 0xf5, 0xa8, 0x36, 0x28, 0xec, 0xb4, 0x4c, 0x48, - 0xb1, 0x53, 0xb2, 0xbd, 0x1d, 0xc4, 0x81, 0x9f, 0x3a, 0xa1, 0x67, 0xf2, 0x4f, 0xc9, 0x7a, 0x06, - 0x7e, 0xf7, 0x29, 0x99, 0x85, 0x85, 0x33, 0xdb, 0x42, 0x2d, 0x98, 0x6c, 0x07, 0x61, 0x7c, 0x2f, - 0x08, 0xe5, 0xfa, 0x42, 0x3d, 0xf4, 0x0a, 0x06, 0xa6, 0x68, 0x91, 0x05, 0x53, 0x37, 0x21, 0x38, - 0x45, 0x13, 0x7d, 0x0e, 0x46, 0xa2, 0xa6, 0xe3, 0x91, 0xda, 0xed, 0xd9, 0x33, 0xf9, 0xd7, 0x4f, - 0x83, 0xa3, 0xe4, 0xac, 0x2e, 0x36, 0x39, 0x02, 0x05, 0x4b, 0x72, 0x68, 0x05, 0x86, 0x58, 0x46, - 0x04, 0x16, 0x77, 0x3b, 0x27, 0x26, 0x54, 0x97, 0x85, 0x29, 0x3f, 0x9b, 0x58, 0x31, 0xe6, 0xd5, - 0xe9, 0x1e, 0x10, 0xec, 0x75, 0x10, 0xcd, 0x9e, 0xcb, 0xdf, 0x03, 0x82, 0x2b, 0xbf, 0xdd, 0xe8, - 0xb5, 0x07, 0x14, 0x12, 0x4e, 0x88, 0xd2, 0x93, 0x99, 0x9e, 0xa6, 0x8f, 0xf4, 0x30, 0x68, 0xc9, - 0x3d, 0x4b, 0xd9, 0xc9, 0x4c, 0x4f, 0x52, 0x4a, 0xc2, 0xfe, 0xbd, 0x91, 0x6e, 0x9e, 0x85, 0x09, - 0x64, 0x7f, 0xd5, 0xea, 0x7a, 0xab, 0xfb, 0xf4, 0xa0, 0xfa, 0xa1, 0x13, 0xe4, 0x56, 0xbf, 0x6c, - 0xc1, 0x23, 0xed, 0xcc, 0x0f, 0x11, 0x0c, 0xc0, 0x60, 0x6a, 0x26, 0xfe, 0xe9, 0x2a, 0x36, 0x7e, - 0x36, 0x1c, 0xe7, 0xb4, 0x94, 0x96, 0x08, 0x8a, 0x1f, 0x58, 0x22, 0x58, 0x85, 0x51, 0xc6, 0x64, - 0xf6, 0xc9, 0x0f, 0x97, 0x16, 0x8c, 0x18, 0x2b, 0xb1, 0x24, 0x2a, 0x62, 0x45, 0x02, 0xfd, 0x90, - 0x05, 0x17, 0xd2, 0x5d, 0xc7, 0x84, 0x81, 0x45, 0x24, 0x79, 0x2e, 0x0b, 0xae, 0x88, 0xef, 0xbf, - 0x50, 0xef, 0x85, 0x7c, 0xd4, 0x0f, 0x01, 0xf7, 0x6e, 0x0c, 0x55, 0x33, 0x84, 0xd1, 0x61, 0x53, - 0x01, 0x3f, 0x80, 0x40, 0xfa, 0x22, 0x8c, 0xef, 0x06, 0x1d, 0x3f, 0x16, 0xf6, 0x2f, 0xc2, 0x63, - 0x91, 0x3d, 0x38, 0xaf, 0x6a, 0xe5, 0xd8, 0xc0, 0x4a, 0x89, 0xb1, 0xa3, 0x0f, 0x2c, 0xc6, 0xbe, - 0x93, 0xca, 0x02, 0x5e, 0xce, 0x8f, 0x58, 0x28, 0x24, 0xfe, 0x63, 0xe4, 0x02, 0x3f, 0x5d, 0xd9, - 0xe8, 0x67, 0xac, 0x0c, 0xa6, 0x9e, 0x4b, 0xcb, 0xaf, 0x99, 0xd2, 0xf2, 0xe5, 0xb4, 0xb4, 0xdc, - 0xa5, 0x7c, 0x35, 0x04, 0xe5, 0xc1, 0xc3, 0x5e, 0x0f, 0x1a, 0x47, 0xce, 0xf6, 0xe0, 0x52, 0xbf, - 0x6b, 0x89, 0x19, 0x42, 0xb5, 0xd4, 0x53, 0x5b, 0x62, 0x08, 0xd5, 0xaa, 0x55, 0x31, 0x83, 0x0c, - 0x1a, 0x68, 0xc4, 0xfe, 0xef, 0x16, 0x14, 0xeb, 0x41, 0xeb, 0x14, 0x94, 0xc9, 0x9f, 0x35, 0x94, - 0xc9, 0x8f, 0xe5, 0x64, 0x67, 0xcf, 0x55, 0x1d, 0x2f, 0xa7, 0x54, 0xc7, 0x17, 0xf2, 0x08, 0xf4, - 0x56, 0x14, 0xff, 0x64, 0x11, 0xf4, 0x5c, 0xf2, 0xe8, 0x37, 0x1f, 0xc4, 0x0a, 0xb9, 0xd8, 0x2b, - 0xbd, 0xbc, 0xa0, 0xcc, 0xec, 0xa7, 0xa4, 0x13, 0xde, 0x5f, 0x30, 0x63, 0xe4, 0xb7, 0x88, 0xbb, - 0xb5, 0x1d, 0x93, 0x56, 0xfa, 0x73, 0x4e, 0xcf, 0x18, 0xf9, 0xbf, 0x5a, 0x30, 0x95, 0x6a, 0x1d, - 0x79, 0x30, 0xe1, 0xe9, 0x9a, 0x40, 0xb1, 0x4e, 0x1f, 0x48, 0x89, 0x28, 0x8c, 0x39, 0xb5, 0x22, - 0x6c, 0x12, 0x47, 0xf3, 0x00, 0xea, 0xa5, 0x4e, 0x6a, 0xc0, 0x18, 0xd7, 0xaf, 0x9e, 0xf2, 0x22, - 0xac, 0x61, 0xa0, 0x97, 0x60, 0x2c, 0x0e, 0xda, 0x81, 0x17, 0x6c, 0xed, 0xdf, 0x24, 0x32, 0xb4, - 0x8d, 0x32, 0xd1, 0x5a, 0x4f, 0x40, 0x58, 0xc7, 0xb3, 0x7f, 0xba, 0xc8, 0x3f, 0xd4, 0x8f, 0xdd, - 0x6f, 0xad, 0xc9, 0x8f, 0xf6, 0x9a, 0xfc, 0xa6, 0x05, 0xd3, 0xb4, 0x75, 0x66, 0x2e, 0x22, 0x2f, - 0x5b, 0x95, 0x7e, 0xc7, 0xea, 0x91, 0x7e, 0xe7, 0x32, 0x3d, 0xbb, 0x5a, 0x41, 0x27, 0x16, 0x1a, - 0x34, 0xed, 0x70, 0xa2, 0xa5, 0x58, 0x40, 0x05, 0x1e, 0x09, 0x43, 0xe1, 0x03, 0xa5, 0xe3, 0x91, - 0x30, 0xc4, 0x02, 0x2a, 0xb3, 0xf3, 0x94, 0x72, 0xb2, 0xf3, 0xb0, 0x40, 0x7d, 0xc2, 0xb0, 0x40, - 0xb0, 0x3d, 0x5a, 0xa0, 0x3e, 0x69, 0x71, 0x90, 0xe0, 0xd8, 0x3f, 0x5f, 0x84, 0xf1, 0x7a, 0xd0, - 0x4a, 0xde, 0xca, 0x5e, 0x34, 0xde, 0xca, 0x2e, 0xa5, 0xde, 0xca, 0xa6, 0x75, 0xdc, 0x6f, 0xbd, - 0x8c, 0x7d, 0x58, 0x2f, 0x63, 0xff, 0xd2, 0x62, 0xb3, 0x56, 0x5d, 0x6b, 0x88, 0xec, 0xc0, 0xcf, - 0xc3, 0x18, 0x3b, 0x90, 0x98, 0xd3, 0x9d, 0x7c, 0x40, 0x62, 0x81, 0xf7, 0xd7, 0x92, 0x62, 0xac, - 0xe3, 0xa0, 0x2b, 0x30, 0x1a, 0x11, 0x27, 0x6c, 0x6e, 0xab, 0x33, 0x4e, 0x3c, 0xaf, 0xf0, 0x32, - 0xac, 0xa0, 0xe8, 0xcd, 0x24, 0x46, 0x5c, 0x31, 0x3f, 0xcf, 0xad, 0xde, 0x1f, 0xbe, 0x45, 0xf2, - 0x03, 0xc3, 0xd9, 0x6f, 0x01, 0xea, 0xc6, 0x1f, 0x20, 0x38, 0x52, 0xc5, 0x0c, 0x8e, 0x54, 0xee, - 0x0a, 0x8c, 0xf4, 0x67, 0x16, 0x4c, 0xd6, 0x83, 0x16, 0xdd, 0xba, 0x7f, 0x99, 0xf6, 0xa9, 0x1e, - 0x20, 0x73, 0xb8, 0x47, 0x80, 0xcc, 0x7f, 0x60, 0xc1, 0x48, 0x3d, 0x68, 0x9d, 0x82, 0xde, 0xfd, - 0x35, 0x53, 0xef, 0xfe, 0x68, 0xce, 0x92, 0xc8, 0x51, 0xb5, 0xff, 0x62, 0x11, 0x26, 0x68, 0x3f, - 0x83, 0x2d, 0x39, 0x4b, 0xc6, 0x88, 0x58, 0x03, 0x8c, 0x08, 0x65, 0x73, 0x03, 0xcf, 0x0b, 0xee, - 0xa5, 0x67, 0x6c, 0x85, 0x95, 0x62, 0x01, 0x45, 0xcf, 0xc2, 0x68, 0x3b, 0x24, 0x7b, 0x6e, 0x20, - 0xf8, 0x47, 0xed, 0x15, 0xa3, 0x2e, 0xca, 0xb1, 0xc2, 0xa0, 0x72, 0x57, 0xe4, 0xfa, 0x4d, 0x22, - 0x93, 0x6c, 0x97, 0x58, 0x1e, 0x2e, 0x1e, 0xf9, 0x5a, 0x2b, 0xc7, 0x06, 0x16, 0x7a, 0x0b, 0xca, - 0xec, 0x3f, 0x3b, 0x51, 0x8e, 0x9f, 0x37, 0x48, 0xa4, 0x9b, 0x10, 0x04, 0x70, 0x42, 0x0b, 0x5d, - 0x03, 0x88, 0x65, 0x74, 0xe4, 0x48, 0xc4, 0xb8, 0x51, 0xbc, 0xb6, 0x8a, 0x9b, 0x1c, 0x61, 0x0d, - 0x0b, 0x3d, 0x03, 0xe5, 0xd8, 0x71, 0xbd, 0x5b, 0xae, 0x4f, 0x22, 0xa6, 0x72, 0x2e, 0xca, 0x6c, - 0x12, 0xa2, 0x10, 0x27, 0x70, 0xca, 0xeb, 0x30, 0x07, 0x70, 0x9e, 0x75, 0x6c, 0x94, 0x61, 0x33, - 0x5e, 0xe7, 0x96, 0x2a, 0xc5, 0x1a, 0x86, 0xfd, 0x0a, 0x9c, 0xab, 0x07, 0xad, 0x7a, 0x10, 0xc6, - 0x2b, 0x41, 0x78, 0xcf, 0x09, 0x5b, 0x72, 0xfe, 0x2a, 0x32, 0xb1, 0x01, 0x3d, 0x7b, 0x86, 0xf8, - 0xce, 0x34, 0x52, 0x16, 0xbc, 0xc0, 0xb8, 0x9d, 0x63, 0x3a, 0x75, 0x34, 0xd9, 0xbd, 0xab, 0x12, - 0x0c, 0x5e, 0x77, 0x62, 0x82, 0x6e, 0xb3, 0xa4, 0x64, 0xc9, 0x15, 0x24, 0xaa, 0x3f, 0xad, 0x25, - 0x25, 0x4b, 0x80, 0x99, 0x77, 0x96, 0x59, 0xdf, 0xfe, 0xb5, 0x22, 0x3b, 0x8d, 0x52, 0xf9, 0xf6, - 0xd0, 0x17, 0x61, 0x32, 0x22, 0xb7, 0x5c, 0xbf, 0x73, 0x5f, 0x0a, 0xe1, 0x3d, 0xdc, 0x72, 0x1a, - 0xcb, 0x3a, 0x26, 0x57, 0xe5, 0x99, 0x65, 0x38, 0x45, 0x8d, 0xce, 0x53, 0xd8, 0xf1, 0x17, 0xa2, - 0x3b, 0x11, 0x09, 0x45, 0xbe, 0x37, 0x36, 0x4f, 0x58, 0x16, 0xe2, 0x04, 0x4e, 0xd7, 0x25, 0xfb, - 0xb3, 0x16, 0xf8, 0x38, 0x08, 0x62, 0xb9, 0x92, 0x59, 0xc6, 0x20, 0xad, 0x1c, 0x1b, 0x58, 0x68, - 0x05, 0x50, 0xd4, 0x69, 0xb7, 0x3d, 0xf6, 0xb0, 0xef, 0x78, 0xd7, 0xc3, 0xa0, 0xd3, 0xe6, 0xaf, - 0x9e, 0x45, 0x1e, 0x98, 0xb0, 0xd1, 0x05, 0xc5, 0x19, 0x35, 0xe8, 0xe9, 0xb3, 0x19, 0xb1, 0xdf, - 0x6c, 0x75, 0x17, 0x85, 0x7a, 0xbd, 0xc1, 0x8a, 0xb0, 0x84, 0xd1, 0xc5, 0xc4, 0x9a, 0xe7, 0x98, - 0xc3, 0xc9, 0x62, 0xc2, 0xaa, 0x14, 0x6b, 0x18, 0x68, 0x19, 0x46, 0xa2, 0xfd, 0xa8, 0x19, 0x8b, - 0x88, 0x4c, 0x39, 0x99, 0x3b, 0x1b, 0x0c, 0x45, 0xcb, 0x26, 0xc1, 0xab, 0x60, 0x59, 0xd7, 0xfe, - 0x1e, 0x76, 0x19, 0xb2, 0xec, 0x60, 0x71, 0x27, 0x24, 0x68, 0x17, 0x26, 0xda, 0x6c, 0xca, 0x45, - 0xec, 0x6a, 0x31, 0x6f, 0x2f, 0x0e, 0x28, 0xd5, 0xde, 0xa3, 0x07, 0x8d, 0xd2, 0x3a, 0x31, 0x71, - 0xa1, 0xae, 0x93, 0xc3, 0x26, 0x75, 0xfb, 0x6b, 0x88, 0x9d, 0xb9, 0x0d, 0x2e, 0xaa, 0x8e, 0x08, - 0xd3, 0x62, 0xc1, 0x97, 0xcf, 0xe5, 0xeb, 0x4c, 0x92, 0x2f, 0x12, 0xe6, 0xc9, 0x58, 0xd6, 0x45, - 0x6f, 0xb2, 0x57, 0x6a, 0x7e, 0xd0, 0xf5, 0x4b, 0xd2, 0xcc, 0xb1, 0x8c, 0x07, 0x69, 0x51, 0x11, - 0x6b, 0x44, 0xd0, 0x2d, 0x98, 0x10, 0xc9, 0xa4, 0x84, 0x52, 0xac, 0x68, 0x28, 0x3d, 0x26, 0xb0, - 0x0e, 0x3c, 0x4a, 0x17, 0x60, 0xb3, 0x32, 0xda, 0x82, 0x0b, 0x5a, 0x66, 0xc5, 0xeb, 0xa1, 0xc3, - 0x5e, 0x2e, 0x5d, 0xb6, 0x89, 0xb4, 0x73, 0xf3, 0x89, 0xc3, 0x83, 0xca, 0x85, 0xf5, 0x5e, 0x88, - 0xb8, 0x37, 0x1d, 0x74, 0x1b, 0xce, 0x71, 0x0f, 0xbe, 0x2a, 0x71, 0x5a, 0x9e, 0xeb, 0xab, 0x83, - 0x99, 0xaf, 0xc3, 0xf3, 0x87, 0x07, 0x95, 0x73, 0x0b, 0x59, 0x08, 0x38, 0xbb, 0x1e, 0x7a, 0x0d, - 0xca, 0x2d, 0x3f, 0x12, 0x63, 0x30, 0x6c, 0x24, 0x0d, 0x2d, 0x57, 0xd7, 0x1a, 0xea, 0xfb, 0x93, - 0x3f, 0x38, 0xa9, 0x80, 0xb6, 0xb8, 0x62, 0x4c, 0xc9, 0xa1, 0x23, 0xf9, 0x09, 0xe2, 0xc5, 0x92, - 0x30, 0x7c, 0x78, 0xb8, 0x46, 0x58, 0xd9, 0xc0, 0x1a, 0xee, 0x3d, 0x06, 0x61, 0xf4, 0x06, 0x20, - 0xca, 0xa8, 0xb9, 0x4d, 0xb2, 0xd0, 0x64, 0x21, 0xc4, 0x99, 0x1e, 0x71, 0xd4, 0xf0, 0x99, 0x40, - 0x8d, 0x2e, 0x0c, 0x9c, 0x51, 0x0b, 0xdd, 0xa0, 0x07, 0x99, 0x5e, 0x2a, 0x6c, 0x79, 0x25, 0x73, - 0x3f, 0x5b, 0x25, 0xed, 0x90, 0x34, 0x9d, 0x98, 0xb4, 0x4c, 0x8a, 0x38, 0x55, 0x8f, 0xde, 0xa5, - 0x2a, 0x9b, 0x10, 0x98, 0x61, 0x33, 0xba, 0x33, 0x0a, 0x51, 0xb9, 0x78, 0x3b, 0x88, 0xe2, 0x35, - 0x12, 0xdf, 0x0b, 0xc2, 0x1d, 0x11, 0xa5, 0x2c, 0x09, 0x98, 0x99, 0x80, 0xb0, 0x8e, 0x47, 0xf9, - 0x60, 0xf6, 0x4c, 0x5c, 0xab, 0xb2, 0x17, 0xba, 0xd1, 0x64, 0x9f, 0xdc, 0xe0, 0xc5, 0x58, 0xc2, - 0x25, 0x6a, 0xad, 0xbe, 0xc4, 0x5e, 0xdb, 0x52, 0xa8, 0xb5, 0xfa, 0x12, 0x96, 0x70, 0x44, 0xba, - 0x13, 0xb2, 0x4e, 0xe6, 0x6b, 0x35, 0xbb, 0xaf, 0x83, 0x01, 0x73, 0xb2, 0xfa, 0x30, 0xad, 0x52, - 0xc1, 0xf2, 0xf0, 0x6d, 0xd1, 0xec, 0x14, 0x5b, 0x24, 0x83, 0xc7, 0x7e, 0x53, 0x7a, 0xe2, 0x5a, - 0x8a, 0x12, 0xee, 0xa2, 0x6d, 0x04, 0x32, 0x99, 0xee, 0x9b, 0x0d, 0xea, 0x2a, 0x94, 0xa3, 0xce, - 0x46, 0x2b, 0xd8, 0x75, 0x5c, 0x9f, 0x3d, 0x8e, 0x69, 0x4c, 0x56, 0x43, 0x02, 0x70, 0x82, 0x83, - 0x56, 0x60, 0xd4, 0x91, 0x4a, 0x60, 0x94, 0x1f, 0xb5, 0x40, 0xa9, 0x7e, 0xb9, 0x23, 0xaf, 0x54, - 0xfb, 0xaa, 0xba, 0xe8, 0x55, 0x98, 0x10, 0x7e, 0x5b, 0x3c, 0x96, 0x03, 0x7b, 0xbc, 0xd2, 0x0c, - 0xf3, 0x1b, 0x3a, 0x10, 0x9b, 0xb8, 0xe8, 0x0b, 0x30, 0x49, 0xa9, 0x24, 0x07, 0xdb, 0xec, 0xd9, - 0x41, 0x4e, 0x44, 0x2d, 0xcb, 0x87, 0x5e, 0x19, 0xa7, 0x88, 0xa1, 0x16, 0x3c, 0xee, 0x74, 0xe2, - 0x80, 0x29, 0xd2, 0xcd, 0xf5, 0xbf, 0x1e, 0xec, 0x10, 0x9f, 0xbd, 0x61, 0x8d, 0x2e, 0x5e, 0x3a, - 0x3c, 0xa8, 0x3c, 0xbe, 0xd0, 0x03, 0x0f, 0xf7, 0xa4, 0x82, 0xee, 0xc0, 0x58, 0x1c, 0x78, 0xcc, - 0x44, 0x9e, 0xb2, 0x12, 0x8f, 0xe4, 0x07, 0x02, 0x5a, 0x57, 0x68, 0xba, 0x12, 0x49, 0x55, 0xc5, - 0x3a, 0x1d, 0xb4, 0xce, 0xf7, 0x18, 0x0b, 0x91, 0x4a, 0xa2, 0xd9, 0x47, 0xf3, 0x07, 0x46, 0x45, - 0x52, 0x35, 0xb7, 0xa0, 0xa8, 0x89, 0x75, 0x32, 0xe8, 0x3a, 0xcc, 0xb4, 0x43, 0x37, 0x60, 0x0b, - 0x5b, 0x3d, 0x62, 0xcc, 0x9a, 0x89, 0x1d, 0xea, 0x69, 0x04, 0xdc, 0x5d, 0x87, 0x0a, 0x99, 0xb2, - 0x70, 0xf6, 0x3c, 0xcf, 0x12, 0xc6, 0x19, 0x6f, 0x5e, 0x86, 0x15, 0x14, 0xad, 0xb2, 0x73, 0x99, - 0x8b, 0x83, 0xb3, 0x73, 0xf9, 0xd1, 0x1e, 0x74, 0xb1, 0x91, 0xf3, 0x4b, 0xea, 0x2f, 0x4e, 0x28, - 0xd0, 0x7b, 0x23, 0xda, 0x76, 0x42, 0x52, 0x0f, 0x83, 0x26, 0x89, 0xb4, 0xa8, 0xcc, 0x8f, 0xf1, - 0x48, 0x8e, 0xf4, 0xde, 0x68, 0x64, 0x21, 0xe0, 0xec, 0x7a, 0xa8, 0xa5, 0x25, 0xc7, 0xa6, 0x6c, - 0x68, 0x34, 0xfb, 0x78, 0x0f, 0x83, 0xa3, 0x14, 0xcf, 0x9a, 0xac, 0x45, 0xa3, 0x38, 0xc2, 0x29, - 0x9a, 0xe8, 0x3b, 0x60, 0x5a, 0x04, 0x3e, 0x4a, 0xc6, 0xfd, 0x42, 0x62, 0xc9, 0x88, 0x53, 0x30, - 0xdc, 0x85, 0xcd, 0x63, 0x51, 0x3b, 0x1b, 0x1e, 0x11, 0x8b, 0xf0, 0x96, 0xeb, 0xef, 0x44, 0xb3, - 0x17, 0xd9, 0x57, 0x8b, 0x58, 0xd4, 0x69, 0x28, 0xce, 0xa8, 0x31, 0xf7, 0xed, 0x30, 0xd3, 0x75, - 0x73, 0x1d, 0x2b, 0x7e, 0xfb, 0x9f, 0x0e, 0x41, 0x59, 0x29, 0xe5, 0xd1, 0x55, 0xf3, 0xad, 0xe5, - 0x7c, 0xfa, 0xad, 0x65, 0x94, 0xca, 0x06, 0xfa, 0xf3, 0xca, 0xba, 0x61, 0xa8, 0x57, 0xc8, 0xcf, - 0x96, 0xa6, 0x73, 0xf7, 0x7d, 0x9d, 0xfe, 0x34, 0x1d, 0x4b, 0x71, 0xe0, 0x47, 0x9b, 0x52, 0x4f, - 0xb5, 0xcd, 0x80, 0xc9, 0x8a, 0xd1, 0x93, 0x54, 0x40, 0x6a, 0xd5, 0xea, 0xe9, 0xec, 0x9d, 0x75, - 0x5a, 0x88, 0x39, 0x8c, 0x09, 0x92, 0x94, 0xcd, 0x62, 0x82, 0xe4, 0xc8, 0x03, 0x0a, 0x92, 0x92, - 0x00, 0x4e, 0x68, 0x21, 0x0f, 0x66, 0x9a, 0x66, 0xe2, 0x55, 0xe5, 0xe8, 0xf7, 0x64, 0xdf, 0x14, - 0xa8, 0x1d, 0x2d, 0xcb, 0xdd, 0x52, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x5e, 0x85, 0xd1, 0xf7, 0x82, - 0x88, 0x2d, 0x4a, 0xc1, 0x6b, 0x48, 0x87, 0xa8, 0xd1, 0x37, 0x6f, 0x37, 0x58, 0xf9, 0xd1, 0x41, - 0x65, 0xac, 0x1e, 0xb4, 0xe4, 0x5f, 0xac, 0x2a, 0xa0, 0xfb, 0x70, 0xce, 0x38, 0xa1, 0x55, 0x77, - 0x61, 0xf0, 0xee, 0x5e, 0x10, 0xcd, 0x9d, 0xab, 0x65, 0x51, 0xc2, 0xd9, 0x0d, 0xd0, 0x63, 0xcf, - 0x0f, 0x44, 0xd2, 0x62, 0xc9, 0xcf, 0x30, 0xb6, 0xa5, 0xac, 0xbb, 0xc3, 0xa7, 0x10, 0x70, 0x77, - 0x1d, 0xfb, 0x57, 0xf8, 0x1b, 0x86, 0xd0, 0x74, 0x92, 0xa8, 0xe3, 0x9d, 0x46, 0x4e, 0xac, 0x65, - 0x43, 0x09, 0xfb, 0xc0, 0xef, 0x64, 0xbf, 0x61, 0xb1, 0x77, 0xb2, 0x75, 0xb2, 0xdb, 0xf6, 0xa8, - 0xbc, 0xfd, 0xf0, 0x3b, 0xfe, 0x26, 0x8c, 0xc6, 0xa2, 0xb5, 0x5e, 0x69, 0xbc, 0xb4, 0x4e, 0xb1, - 0xb7, 0x42, 0xc5, 0xe9, 0xc8, 0x52, 0xac, 0xc8, 0xd8, 0xff, 0x9c, 0xcf, 0x80, 0x84, 0x9c, 0x82, - 0x42, 0xac, 0x6a, 0x2a, 0xc4, 0x2a, 0x7d, 0xbe, 0x20, 0x47, 0x31, 0xf6, 0xcf, 0xcc, 0x7e, 0x33, - 0xa1, 0xf2, 0xa3, 0xfe, 0x40, 0x6b, 0xff, 0x88, 0x05, 0x67, 0xb3, 0x2c, 0x9a, 0x28, 0x77, 0xca, - 0x45, 0x5a, 0xf5, 0x60, 0xad, 0x46, 0xf0, 0xae, 0x28, 0xc7, 0x0a, 0x63, 0xe0, 0x0c, 0x19, 0xc7, - 0x8b, 0x18, 0x77, 0x1b, 0x26, 0xea, 0x21, 0xd1, 0xee, 0x80, 0xd7, 0xb9, 0x67, 0x1d, 0xef, 0xcf, - 0xb3, 0xc7, 0xf6, 0xaa, 0xb3, 0x7f, 0xb6, 0x00, 0x67, 0xf9, 0x8b, 0xd3, 0xc2, 0x5e, 0xe0, 0xb6, - 0xea, 0x41, 0x4b, 0x64, 0x37, 0x79, 0x1b, 0xc6, 0xdb, 0x9a, 0x1e, 0xa2, 0x57, 0xcc, 0x2a, 0x5d, - 0x5f, 0x91, 0xc8, 0x83, 0x7a, 0x29, 0x36, 0x68, 0xa1, 0x16, 0x8c, 0x93, 0x3d, 0xb7, 0xa9, 0x9e, - 0x2d, 0x0a, 0xc7, 0xbe, 0x1b, 0x54, 0x2b, 0xcb, 0x1a, 0x1d, 0x6c, 0x50, 0x7d, 0x08, 0x09, 0xef, - 0xec, 0x1f, 0xb5, 0xe0, 0xd1, 0x9c, 0x08, 0x57, 0xb4, 0xb9, 0x7b, 0xec, 0x6d, 0x4f, 0xe4, 0xce, - 0x52, 0xcd, 0xf1, 0x17, 0x3f, 0x2c, 0xa0, 0xe8, 0x73, 0x00, 0xfc, 0xc5, 0x8e, 0x8a, 0x47, 0xfd, - 0x42, 0x01, 0x19, 0x51, 0x4c, 0xb4, 0xe8, 0x13, 0xb2, 0x3e, 0xd6, 0x68, 0xd9, 0x3f, 0x55, 0x84, - 0x21, 0xf6, 0x42, 0x84, 0x56, 0x60, 0x64, 0x9b, 0xc7, 0x7c, 0x1e, 0x24, 0xbc, 0x74, 0x22, 0x67, - 0xf2, 0x02, 0x2c, 0x2b, 0xa3, 0x55, 0x38, 0xc3, 0x63, 0x66, 0x7b, 0x55, 0xe2, 0x39, 0xfb, 0x52, - 0x5d, 0xc1, 0xf3, 0x4d, 0xa9, 0x48, 0x1a, 0xb5, 0x6e, 0x14, 0x9c, 0x55, 0x0f, 0xbd, 0x0e, 0x93, - 0x94, 0xbf, 0x0b, 0x3a, 0xb1, 0xa4, 0xc4, 0xa3, 0x65, 0x2b, 0x86, 0x72, 0xdd, 0x80, 0xe2, 0x14, - 0x36, 0x15, 0xbc, 0xda, 0x5d, 0x8a, 0x99, 0xa1, 0x44, 0xf0, 0x32, 0x95, 0x31, 0x26, 0x2e, 0x33, - 0x65, 0xea, 0x30, 0xc3, 0xad, 0xf5, 0xed, 0x90, 0x44, 0xdb, 0x81, 0xd7, 0x12, 0xe9, 0xca, 0x13, - 0x53, 0xa6, 0x14, 0x1c, 0x77, 0xd5, 0xa0, 0x54, 0x36, 0x1d, 0xd7, 0xeb, 0x84, 0x24, 0xa1, 0x32, - 0x6c, 0x52, 0x59, 0x49, 0xc1, 0x71, 0x57, 0x0d, 0xba, 0x8e, 0xce, 0x89, 0xfc, 0xe1, 0xd2, 0xbf, - 0x5f, 0xd9, 0xa7, 0x8d, 0x48, 0x4f, 0xa7, 0x1e, 0x01, 0x6e, 0x84, 0x05, 0x8f, 0xca, 0x40, 0xae, - 0xe9, 0x13, 0x85, 0x8f, 0x93, 0xa4, 0xf2, 0x20, 0x59, 0xac, 0x7f, 0xa0, 0x00, 0x67, 0x32, 0xec, - 0x60, 0xf9, 0x51, 0xb5, 0xe5, 0x46, 0xb1, 0xca, 0xa9, 0xa3, 0x1d, 0x55, 0xbc, 0x1c, 0x2b, 0x0c, - 0xba, 0x1f, 0xf8, 0x61, 0x98, 0x3e, 0x00, 0x85, 0x9d, 0x99, 0x80, 0x1e, 0x33, 0x3b, 0xcd, 0x25, - 0x28, 0x75, 0x22, 0x22, 0x43, 0x53, 0xa9, 0xf3, 0x9b, 0x69, 0x98, 0x19, 0x84, 0xb2, 0xa6, 0x5b, - 0x4a, 0xb9, 0xab, 0xb1, 0xa6, 0x5c, 0x63, 0xcb, 0x61, 0xb4, 0x73, 0x31, 0xf1, 0x1d, 0x3f, 0x16, - 0x0c, 0x6c, 0x12, 0x50, 0x85, 0x95, 0x62, 0x01, 0xb5, 0xbf, 0x5a, 0x84, 0xf3, 0xb9, 0x96, 0xf1, - 0xb4, 0xeb, 0xbb, 0x81, 0xef, 0xc6, 0x81, 0x7a, 0xa5, 0xe4, 0x41, 0x54, 0x48, 0x7b, 0x7b, 0x55, - 0x94, 0x63, 0x85, 0x81, 0x2e, 0xcb, 0x8c, 0xf7, 0xe9, 0xec, 0x42, 0x8b, 0x55, 0x23, 0xe9, 0xfd, - 0xa0, 0x99, 0xdb, 0x9e, 0x84, 0x52, 0x3b, 0x08, 0xbc, 0xf4, 0xa1, 0x45, 0xbb, 0x1b, 0x04, 0x1e, - 0x66, 0x40, 0xf4, 0x09, 0x31, 0x5e, 0xa9, 0x67, 0x39, 0xec, 0xb4, 0x82, 0x48, 0x1b, 0xb4, 0xa7, - 0x61, 0x64, 0x87, 0xec, 0x87, 0xae, 0xbf, 0x95, 0x7e, 0xae, 0xbd, 0xc9, 0x8b, 0xb1, 0x84, 0x9b, - 0xb9, 0x26, 0x46, 0x4e, 0x3a, 0xe5, 0xda, 0x68, 0xdf, 0x2b, 0xf0, 0x07, 0x8b, 0x30, 0x85, 0x17, - 0xab, 0xdf, 0x9a, 0x88, 0x3b, 0xdd, 0x13, 0x71, 0xd2, 0x29, 0xd7, 0xfa, 0xcf, 0xc6, 0x2f, 0x5a, - 0x30, 0xc5, 0xe2, 0x31, 0x8b, 0xd0, 0x1d, 0x6e, 0xe0, 0x9f, 0x02, 0x8b, 0xf7, 0x24, 0x0c, 0x85, - 0xb4, 0xd1, 0x74, 0x5a, 0x21, 0xd6, 0x13, 0xcc, 0x61, 0xe8, 0x71, 0x28, 0xb1, 0x2e, 0xd0, 0xc9, - 0x1b, 0xe7, 0x19, 0x19, 0xaa, 0x4e, 0xec, 0x60, 0x56, 0xca, 0xfc, 0xd1, 0x31, 0x69, 0x7b, 0x2e, - 0xef, 0x74, 0xf2, 0x04, 0xf2, 0xd1, 0xf0, 0x47, 0xcf, 0xec, 0xda, 0x07, 0xf3, 0x47, 0xcf, 0x26, - 0xd9, 0x5b, 0x7c, 0xfa, 0xa3, 0x02, 0x5c, 0xcc, 0xac, 0x37, 0xb0, 0x3f, 0x7a, 0xef, 0xda, 0x27, - 0x63, 0x75, 0x93, 0x6d, 0x0c, 0x53, 0x3c, 0x45, 0x63, 0x98, 0xd2, 0xa0, 0x1c, 0xe6, 0xd0, 0x00, - 0x6e, 0xe2, 0x99, 0x43, 0xf6, 0x11, 0x71, 0x13, 0xcf, 0xec, 0x5b, 0x8e, 0xf8, 0xf7, 0xe7, 0x85, - 0x9c, 0x6f, 0x61, 0x82, 0xe0, 0x15, 0x7a, 0xce, 0x30, 0x60, 0x24, 0x38, 0xe6, 0x71, 0x7e, 0xc6, - 0xf0, 0x32, 0xac, 0xa0, 0xc8, 0xd5, 0x1c, 0xae, 0x0b, 0xf9, 0x59, 0x36, 0x73, 0x9b, 0x9a, 0x37, - 0x5f, 0xac, 0xd4, 0x10, 0x64, 0x38, 0x5f, 0xaf, 0x6a, 0xc2, 0x7b, 0x71, 0x70, 0xe1, 0x7d, 0x3c, - 0x5b, 0x70, 0x47, 0x0b, 0x30, 0xb5, 0xeb, 0xfa, 0xf4, 0xd8, 0xdc, 0x37, 0x59, 0x56, 0x15, 0x7f, - 0x64, 0xd5, 0x04, 0xe3, 0x34, 0xfe, 0xdc, 0xab, 0x30, 0xf1, 0xe0, 0x6a, 0xcb, 0x6f, 0x16, 0xe1, - 0xb1, 0x1e, 0xdb, 0x9e, 0x9f, 0xf5, 0xc6, 0x1c, 0x68, 0x67, 0x7d, 0xd7, 0x3c, 0xd4, 0xe1, 0xec, - 0x66, 0xc7, 0xf3, 0xf6, 0x99, 0xbd, 0x29, 0x69, 0x49, 0x0c, 0xc1, 0x53, 0x3e, 0x2e, 0x73, 0x60, - 0xac, 0x64, 0xe0, 0xe0, 0xcc, 0x9a, 0xe8, 0x0d, 0x40, 0x81, 0x48, 0xf1, 0x7b, 0x9d, 0xf8, 0xe2, - 0x1d, 0x80, 0x0d, 0x7c, 0x31, 0xd9, 0x8c, 0xb7, 0xbb, 0x30, 0x70, 0x46, 0x2d, 0x2a, 0x1c, 0xd0, - 0x5b, 0x69, 0x5f, 0x75, 0x2b, 0x25, 0x1c, 0x60, 0x1d, 0x88, 0x4d, 0x5c, 0x74, 0x1d, 0x66, 0x9c, - 0x3d, 0xc7, 0xe5, 0x71, 0xf9, 0x24, 0x01, 0x2e, 0x1d, 0x28, 0x65, 0xd9, 0x42, 0x1a, 0x01, 0x77, - 0xd7, 0x49, 0xb9, 0x64, 0x0f, 0xe7, 0xbb, 0x64, 0xf7, 0x3e, 0x17, 0xfb, 0xe9, 0x7e, 0xed, 0xff, - 0x64, 0xd1, 0xeb, 0x2b, 0x23, 0x4d, 0x3f, 0x1d, 0x07, 0xa5, 0xc3, 0xd4, 0xbc, 0xa3, 0xcf, 0x69, - 0x16, 0x25, 0x09, 0x10, 0x9b, 0xb8, 0x7c, 0x41, 0x44, 0x89, 0x53, 0x8e, 0xc1, 0xe2, 0x8b, 0xe8, - 0x0a, 0x0a, 0x03, 0x7d, 0x1e, 0x46, 0x5a, 0xee, 0x9e, 0x1b, 0x05, 0xa1, 0xd8, 0x2c, 0xc7, 0x74, - 0x6d, 0x48, 0xce, 0xc1, 0x2a, 0x27, 0x83, 0x25, 0x3d, 0xfb, 0x07, 0x0b, 0x30, 0x21, 0x5b, 0x7c, - 0xb3, 0x13, 0xc4, 0xce, 0x29, 0x5c, 0xcb, 0xd7, 0x8d, 0x6b, 0xf9, 0x13, 0xbd, 0x42, 0x4c, 0xb0, - 0x2e, 0xe5, 0x5e, 0xc7, 0xb7, 0x53, 0xd7, 0xf1, 0x53, 0xfd, 0x49, 0xf5, 0xbe, 0x86, 0xff, 0x85, - 0x05, 0x33, 0x06, 0xfe, 0x29, 0xdc, 0x06, 0x2b, 0xe6, 0x6d, 0xf0, 0x44, 0xdf, 0x6f, 0xc8, 0xb9, - 0x05, 0xbe, 0xaf, 0x98, 0xea, 0x3b, 0x3b, 0xfd, 0xdf, 0x83, 0xd2, 0xb6, 0x13, 0xb6, 0x7a, 0x85, - 0xb2, 0xed, 0xaa, 0x34, 0x7f, 0xc3, 0x09, 0x5b, 0xfc, 0x0c, 0x7f, 0x56, 0xe5, 0xc9, 0x74, 0xc2, - 0x56, 0x5f, 0x1f, 0x34, 0xd6, 0x14, 0x7a, 0x05, 0x86, 0xa3, 0x66, 0xd0, 0x56, 0x16, 0xa2, 0x97, - 0x78, 0x0e, 0x4d, 0x5a, 0x72, 0x74, 0x50, 0x41, 0x66, 0x73, 0xb4, 0x18, 0x0b, 0x7c, 0xf4, 0x36, - 0x4c, 0xb0, 0x5f, 0xca, 0x52, 0xa2, 0x98, 0x9f, 0x40, 0xa1, 0xa1, 0x23, 0x72, 0x83, 0x1b, 0xa3, - 0x08, 0x9b, 0xa4, 0xe6, 0xb6, 0xa0, 0xac, 0x3e, 0xeb, 0xa1, 0xfa, 0x0e, 0xfd, 0xfb, 0x22, 0x9c, - 0xc9, 0x58, 0x73, 0x28, 0x32, 0x66, 0xe2, 0xf9, 0x01, 0x97, 0xea, 0x07, 0x9c, 0x8b, 0x88, 0x49, - 0x43, 0x2d, 0xb1, 0xb6, 0x06, 0x6e, 0xf4, 0x4e, 0x44, 0xd2, 0x8d, 0xd2, 0xa2, 0xfe, 0x8d, 0xd2, - 0xc6, 0x4e, 0x6d, 0xa8, 0x69, 0x43, 0xaa, 0xa7, 0x0f, 0x75, 0x4e, 0xff, 0xa4, 0x08, 0x67, 0xb3, - 0xa2, 0xde, 0xa0, 0xef, 0x4e, 0x25, 0xd3, 0x79, 0x71, 0xd0, 0x78, 0x39, 0x3c, 0xc3, 0x8e, 0xc8, - 0x85, 0x3d, 0x6f, 0xa6, 0xd7, 0xe9, 0x3b, 0xcc, 0xa2, 0x4d, 0xe6, 0x70, 0x1a, 0xf2, 0x24, 0x48, - 0xf2, 0xf8, 0xf8, 0xf4, 0xc0, 0x1d, 0x10, 0xd9, 0x93, 0xa2, 0x94, 0xc3, 0xa9, 0x2c, 0xee, 0xef, - 0x70, 0x2a, 0x5b, 0x9e, 0x73, 0x61, 0x4c, 0xfb, 0x9a, 0x87, 0x3a, 0xe3, 0x3b, 0xf4, 0xb6, 0xd2, - 0xfa, 0xfd, 0x50, 0x67, 0xfd, 0x47, 0x2d, 0x48, 0x99, 0x63, 0x2a, 0xb5, 0x98, 0x95, 0xab, 0x16, - 0xbb, 0x04, 0xa5, 0x30, 0xf0, 0x48, 0x3a, 0x77, 0x0d, 0x0e, 0x3c, 0x82, 0x19, 0x84, 0x62, 0xc4, - 0x89, 0xb2, 0x63, 0x5c, 0x17, 0xe4, 0x84, 0x88, 0xf6, 0x24, 0x0c, 0x79, 0x64, 0x8f, 0x78, 0xe9, - 0xc0, 0xf0, 0xb7, 0x68, 0x21, 0xe6, 0x30, 0xfb, 0x17, 0x4b, 0x70, 0xa1, 0xa7, 0xcb, 0x36, 0x15, - 0x87, 0xb6, 0x9c, 0x98, 0xdc, 0x73, 0xf6, 0xd3, 0x11, 0x9c, 0xaf, 0xf3, 0x62, 0x2c, 0xe1, 0xcc, - 0x42, 0x9d, 0x47, 0x6c, 0x4c, 0x29, 0x11, 0x45, 0xa0, 0x46, 0x01, 0x35, 0x95, 0x52, 0xc5, 0x93, - 0x50, 0x4a, 0x5d, 0x03, 0x88, 0x22, 0x8f, 0xdb, 0x17, 0xb4, 0x84, 0xe9, 0x7b, 0x12, 0xd9, 0xb3, - 0x71, 0x4b, 0x40, 0xb0, 0x86, 0x85, 0xaa, 0x30, 0xdd, 0x0e, 0x83, 0x98, 0xeb, 0x64, 0xab, 0xdc, - 0x30, 0x69, 0xc8, 0xf4, 0x96, 0xad, 0xa7, 0xe0, 0xb8, 0xab, 0x06, 0x7a, 0x09, 0xc6, 0x84, 0x07, - 0x6d, 0x3d, 0x08, 0x3c, 0xa1, 0x06, 0x52, 0x66, 0x2e, 0x8d, 0x04, 0x84, 0x75, 0x3c, 0xad, 0x1a, - 0x53, 0xf4, 0x8e, 0x64, 0x56, 0xe3, 0xca, 0x5e, 0x0d, 0x2f, 0x15, 0x01, 0x6b, 0x74, 0xa0, 0x08, - 0x58, 0x89, 0x62, 0xac, 0x3c, 0xf0, 0xdb, 0x16, 0xf4, 0x55, 0x25, 0xfd, 0x5c, 0x09, 0xce, 0x88, - 0x85, 0xf3, 0xb0, 0x97, 0xcb, 0x9d, 0xee, 0xe5, 0x72, 0x12, 0xaa, 0xb3, 0x6f, 0xad, 0x99, 0xd3, - 0x5e, 0x33, 0x3f, 0x64, 0x81, 0xc9, 0x5e, 0xa1, 0xff, 0x2f, 0x37, 0x04, 0xfe, 0x4b, 0xb9, 0xec, - 0x5a, 0x4b, 0x5e, 0x20, 0x1f, 0x30, 0x18, 0xbe, 0xfd, 0x1f, 0x2d, 0x78, 0xa2, 0x2f, 0x45, 0xb4, - 0x0c, 0x65, 0xc6, 0x03, 0x6a, 0xd2, 0xd9, 0x53, 0xca, 0x70, 0x51, 0x02, 0x72, 0x58, 0xd2, 0xa4, - 0x26, 0x5a, 0xee, 0xca, 0x35, 0xf0, 0x74, 0x46, 0xae, 0x81, 0x73, 0xc6, 0xf0, 0x3c, 0x60, 0xb2, - 0x81, 0x5f, 0x29, 0xc2, 0x30, 0x5f, 0xf1, 0xa7, 0x20, 0x86, 0xad, 0x08, 0xbd, 0x6d, 0x8f, 0x18, - 0x58, 0xbc, 0x2f, 0xf3, 0x55, 0x27, 0x76, 0x38, 0x9b, 0xa0, 0x6e, 0xab, 0x44, 0xc3, 0x8b, 0xe6, - 0x8d, 0xfb, 0x6c, 0x2e, 0xa5, 0x98, 0x04, 0x4e, 0x43, 0xbb, 0xdd, 0xbe, 0x08, 0x10, 0xb1, 0x3c, - 0xfd, 0x94, 0x86, 0x88, 0xa6, 0xf6, 0xc9, 0x1e, 0xad, 0x37, 0x14, 0x32, 0xef, 0x43, 0xb2, 0xd3, - 0x15, 0x00, 0x6b, 0x14, 0xe7, 0x5e, 0x86, 0xb2, 0x42, 0xee, 0xa7, 0xc5, 0x19, 0xd7, 0x99, 0x8b, - 0xcf, 0xc2, 0x54, 0xaa, 0xad, 0x63, 0x29, 0x81, 0x7e, 0xc9, 0x82, 0x29, 0xde, 0xe5, 0x65, 0x7f, - 0x4f, 0x9c, 0xa9, 0xef, 0xc3, 0x59, 0x2f, 0xe3, 0x6c, 0x13, 0x33, 0x3a, 0xf8, 0x59, 0xa8, 0x94, - 0x3e, 0x59, 0x50, 0x9c, 0xd9, 0x06, 0xba, 0x42, 0xd7, 0x2d, 0x3d, 0xbb, 0x1c, 0x4f, 0x78, 0x3b, - 0x8d, 0xf3, 0x35, 0xcb, 0xcb, 0xb0, 0x82, 0xda, 0xbf, 0x63, 0xc1, 0x0c, 0xef, 0xf9, 0x4d, 0xb2, - 0xaf, 0x76, 0xf8, 0x87, 0xd9, 0x77, 0x91, 0xfe, 0xa3, 0x90, 0x93, 0xfe, 0x43, 0xff, 0xb4, 0x62, - 0xcf, 0x4f, 0xfb, 0x59, 0x0b, 0xc4, 0x0a, 0x3c, 0x05, 0x51, 0xfe, 0xdb, 0x4d, 0x51, 0x7e, 0x2e, - 0x7f, 0x51, 0xe7, 0xc8, 0xf0, 0x7f, 0x66, 0xc1, 0x34, 0x47, 0x48, 0xde, 0x9c, 0x3f, 0xd4, 0x79, - 0x18, 0x24, 0x8f, 0x9f, 0x4a, 0xee, 0x9d, 0xfd, 0x51, 0xc6, 0x64, 0x95, 0x7a, 0x4e, 0x56, 0x4b, - 0x6e, 0xa0, 0x63, 0xe4, 0xb0, 0x3c, 0x76, 0x18, 0x6d, 0xfb, 0x0f, 0x2d, 0x40, 0xbc, 0x19, 0x83, - 0xfd, 0xa1, 0x4c, 0x05, 0x2b, 0xd5, 0xae, 0x8b, 0xe4, 0xa8, 0x51, 0x10, 0xac, 0x61, 0x9d, 0xc8, - 0xf0, 0xa4, 0x0c, 0x07, 0x8a, 0xfd, 0x0d, 0x07, 0x8e, 0x31, 0xa2, 0xff, 0xbb, 0x04, 0x69, 0xf7, - 0x03, 0x74, 0x17, 0xc6, 0x9b, 0x4e, 0xdb, 0xd9, 0x70, 0x3d, 0x37, 0x76, 0x49, 0xd4, 0xcb, 0xe2, - 0x68, 0x49, 0xc3, 0x13, 0x4f, 0xbd, 0x5a, 0x09, 0x36, 0xe8, 0xa0, 0x79, 0x80, 0x76, 0xe8, 0xee, - 0xb9, 0x1e, 0xd9, 0x62, 0x1a, 0x07, 0xe6, 0x5f, 0xc9, 0xcd, 0x68, 0x64, 0x29, 0xd6, 0x30, 0x32, - 0x5c, 0xe5, 0x8a, 0x0f, 0xcf, 0x55, 0xae, 0x74, 0x4c, 0x57, 0xb9, 0xa1, 0x81, 0x5c, 0xe5, 0x30, - 0x3c, 0x22, 0x59, 0x24, 0xfa, 0x7f, 0xc5, 0xf5, 0x88, 0xe0, 0x8b, 0xb9, 0xd7, 0xe5, 0xdc, 0xe1, - 0x41, 0xe5, 0x11, 0x9c, 0x89, 0x81, 0x73, 0x6a, 0xa2, 0xcf, 0xc1, 0xac, 0xe3, 0x79, 0xc1, 0x3d, - 0x35, 0x6a, 0xcb, 0x51, 0xd3, 0xf1, 0xb8, 0xc6, 0x7e, 0x84, 0x51, 0x7d, 0xfc, 0xf0, 0xa0, 0x32, - 0xbb, 0x90, 0x83, 0x83, 0x73, 0x6b, 0xa7, 0x3c, 0xed, 0x46, 0xfb, 0x7a, 0xda, 0xbd, 0x06, 0xe5, - 0x76, 0x18, 0x34, 0x57, 0x35, 0xef, 0x9f, 0x8b, 0x2c, 0x43, 0xbe, 0x2c, 0x3c, 0x3a, 0xa8, 0x4c, - 0xa8, 0x3f, 0xec, 0x86, 0x4f, 0x2a, 0xd8, 0x3b, 0x70, 0xa6, 0x41, 0x42, 0x97, 0xe5, 0xde, 0x6c, - 0x25, 0x1b, 0x7a, 0x1d, 0xca, 0x61, 0xea, 0x08, 0x1b, 0x28, 0x90, 0x93, 0x16, 0x5f, 0x58, 0x1e, - 0x59, 0x09, 0x21, 0xfb, 0x4f, 0x2d, 0x18, 0x11, 0x96, 0xe8, 0xa7, 0xc0, 0x39, 0x2d, 0x18, 0x0a, - 0xec, 0x4a, 0xf6, 0x31, 0xcf, 0x3a, 0x93, 0xab, 0xba, 0xae, 0xa5, 0x54, 0xd7, 0x4f, 0xf4, 0x22, - 0xd2, 0x5b, 0x69, 0xfd, 0x77, 0x8a, 0x30, 0x69, 0x3a, 0x8f, 0x9c, 0xc2, 0x10, 0xac, 0xc1, 0x48, - 0x24, 0x3c, 0x95, 0x0a, 0xf9, 0x16, 0xd6, 0xe9, 0x49, 0x4c, 0xcc, 0xa7, 0x84, 0x6f, 0x92, 0x24, - 0x92, 0xe9, 0x02, 0x55, 0x7c, 0x88, 0x2e, 0x50, 0xfd, 0xfc, 0x77, 0x4a, 0x27, 0xe1, 0xbf, 0x63, - 0x7f, 0x9d, 0x5d, 0x35, 0x7a, 0xf9, 0x29, 0x70, 0x21, 0xd7, 0xcd, 0x4b, 0xc9, 0xee, 0xb1, 0xb2, - 0x44, 0xa7, 0x72, 0xb8, 0x91, 0x5f, 0xb0, 0xe0, 0x42, 0xc6, 0x57, 0x69, 0xac, 0xc9, 0xb3, 0x30, - 0xea, 0x74, 0x5a, 0xae, 0xda, 0xcb, 0xda, 0x33, 0xd6, 0x82, 0x28, 0xc7, 0x0a, 0x03, 0x2d, 0xc1, - 0x0c, 0xb9, 0xdf, 0x76, 0xf9, 0x3b, 0xa2, 0x6e, 0xe3, 0x58, 0xe4, 0xc1, 0x6d, 0x97, 0xd3, 0x40, - 0xdc, 0x8d, 0xaf, 0xdc, 0xbf, 0x8b, 0xb9, 0xee, 0xdf, 0xff, 0xd8, 0x82, 0x31, 0xe5, 0x95, 0xf2, - 0xd0, 0x47, 0xfb, 0x3b, 0xcc, 0xd1, 0x7e, 0xac, 0xc7, 0x68, 0xe7, 0x0c, 0xf3, 0xdf, 0x2b, 0xa8, - 0xfe, 0xd6, 0x83, 0x30, 0x1e, 0x80, 0xe5, 0x79, 0x05, 0x46, 0xdb, 0x61, 0x10, 0x07, 0xcd, 0xc0, - 0x13, 0x1c, 0xcf, 0xe3, 0x49, 0x74, 0x02, 0x5e, 0x7e, 0xa4, 0xfd, 0xc6, 0x0a, 0x9b, 0x8d, 0x5e, - 0x10, 0xc6, 0x82, 0xcb, 0x48, 0x46, 0x2f, 0x08, 0x63, 0xcc, 0x20, 0xa8, 0x05, 0x10, 0x3b, 0xe1, - 0x16, 0x89, 0x69, 0x99, 0x08, 0x74, 0x92, 0x7f, 0x78, 0x74, 0x62, 0xd7, 0x9b, 0x77, 0xfd, 0x38, - 0x8a, 0xc3, 0xf9, 0x9a, 0x1f, 0xdf, 0x0e, 0xb9, 0x00, 0xa5, 0x85, 0x1b, 0x50, 0xb4, 0xb0, 0x46, - 0x57, 0xfa, 0x84, 0xb2, 0x36, 0x86, 0xcc, 0x07, 0xf1, 0x35, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x32, - 0xbb, 0x4a, 0xd8, 0x00, 0x1d, 0x2f, 0x12, 0xc0, 0x37, 0x46, 0xd5, 0xd0, 0xb2, 0xd7, 0xb0, 0xaa, - 0x1e, 0x6f, 0xa0, 0xf7, 0xc9, 0x4d, 0x1b, 0xd6, 0xfd, 0x6d, 0x92, 0xa0, 0x04, 0xe8, 0x3b, 0xbb, - 0xec, 0x24, 0x9e, 0xeb, 0x73, 0x05, 0x1c, 0xc3, 0x32, 0x82, 0x05, 0xdc, 0x66, 0xe1, 0x88, 0x6b, - 0x75, 0xb1, 0xc8, 0xb5, 0x80, 0xdb, 0x02, 0x80, 0x13, 0x1c, 0x74, 0x55, 0x88, 0xdf, 0x25, 0x23, - 0xed, 0x9e, 0x14, 0xbf, 0xe5, 0xe7, 0x6b, 0xf2, 0xf7, 0xf3, 0x30, 0xa6, 0xd2, 0xef, 0xd5, 0x79, - 0x16, 0x33, 0x11, 0xf6, 0x65, 0x39, 0x29, 0xc6, 0x3a, 0x0e, 0x5a, 0x87, 0xa9, 0x88, 0xeb, 0x5e, - 0x54, 0x74, 0x3f, 0xae, 0xc3, 0xfa, 0xa4, 0xb4, 0xaf, 0x68, 0x98, 0xe0, 0x23, 0x56, 0xc4, 0x8f, - 0x0e, 0xe9, 0xd8, 0x99, 0x26, 0x81, 0x5e, 0x87, 0x49, 0x4f, 0x4f, 0x74, 0x5f, 0x17, 0x2a, 0x2e, - 0x65, 0xa6, 0x6c, 0xa4, 0xc1, 0xaf, 0xe3, 0x14, 0x36, 0xe5, 0x94, 0xf4, 0x12, 0x11, 0x91, 0xd2, - 0xf1, 0xb7, 0x48, 0x24, 0x92, 0x87, 0x31, 0x4e, 0xe9, 0x56, 0x0e, 0x0e, 0xce, 0xad, 0x8d, 0x5e, - 0x81, 0x71, 0xf9, 0xf9, 0x9a, 0xdb, 0x72, 0x62, 0x0c, 0xaf, 0xc1, 0xb0, 0x81, 0x89, 0xee, 0xc1, - 0x39, 0xf9, 0x7f, 0x3d, 0x74, 0x36, 0x37, 0xdd, 0xa6, 0xf0, 0x1a, 0xe7, 0x1e, 0x41, 0x0b, 0xd2, - 0xc5, 0x68, 0x39, 0x0b, 0xe9, 0xe8, 0xa0, 0x72, 0x49, 0x8c, 0x5a, 0x26, 0x9c, 0x4d, 0x62, 0x36, - 0x7d, 0xb4, 0x0a, 0x67, 0xb6, 0x89, 0xe3, 0xc5, 0xdb, 0x4b, 0xdb, 0xa4, 0xb9, 0x23, 0x37, 0x11, - 0x73, 0x86, 0xd6, 0x4c, 0xc8, 0x6f, 0x74, 0xa3, 0xe0, 0xac, 0x7a, 0xe8, 0x1d, 0x98, 0x6d, 0x77, - 0x36, 0x3c, 0x37, 0xda, 0x5e, 0x0b, 0x62, 0x66, 0xd2, 0xa1, 0xb2, 0xd7, 0x09, 0xaf, 0x69, 0xe5, - 0x08, 0x5e, 0xcf, 0xc1, 0xc3, 0xb9, 0x14, 0xd0, 0xfb, 0x70, 0x2e, 0xb5, 0x18, 0x84, 0x0f, 0xe7, - 0x64, 0x7e, 0x7c, 0xdf, 0x46, 0x56, 0x05, 0xe1, 0x93, 0x99, 0x05, 0xc2, 0xd9, 0x4d, 0x7c, 0x30, - 0x43, 0x9f, 0xf7, 0x68, 0x65, 0x8d, 0x29, 0x43, 0x5f, 0x82, 0x71, 0x7d, 0x15, 0x89, 0x0b, 0xe6, - 0x72, 0x36, 0xcf, 0xa2, 0xad, 0x36, 0xce, 0xd2, 0xa9, 0x15, 0xa5, 0xc3, 0xb0, 0x41, 0xd1, 0x26, - 0x90, 0xfd, 0x7d, 0xe8, 0x16, 0x8c, 0x36, 0x3d, 0x97, 0xf8, 0x71, 0xad, 0xde, 0x2b, 0xc8, 0xc8, - 0x92, 0xc0, 0x11, 0x03, 0x26, 0x02, 0xa2, 0xf2, 0x32, 0xac, 0x28, 0xd8, 0xbf, 0x5e, 0x80, 0x4a, - 0x9f, 0xe8, 0xba, 0x29, 0x7d, 0xb4, 0x35, 0x90, 0x3e, 0x7a, 0x41, 0xe6, 0xe2, 0x5b, 0x4b, 0x09, - 0xe9, 0xa9, 0x3c, 0x7b, 0x89, 0xa8, 0x9e, 0xc6, 0x1f, 0xd8, 0x3e, 0x58, 0x57, 0x69, 0x97, 0xfa, - 0x5a, 0xb8, 0x1b, 0x4f, 0x59, 0x43, 0x83, 0x0b, 0x22, 0xb9, 0xcf, 0x12, 0xf6, 0xd7, 0x0b, 0x70, - 0x4e, 0x0d, 0xe1, 0x5f, 0xde, 0x81, 0xbb, 0xd3, 0x3d, 0x70, 0x27, 0xf0, 0xa8, 0x63, 0xdf, 0x86, - 0x61, 0x1e, 0xa4, 0x65, 0x00, 0x06, 0xe8, 0x49, 0x33, 0xa2, 0x97, 0xba, 0xa6, 0x8d, 0xa8, 0x5e, - 0x7f, 0xcd, 0x82, 0xa9, 0xf5, 0xa5, 0x7a, 0x23, 0x68, 0xee, 0x90, 0x78, 0x81, 0x33, 0xac, 0x58, - 0xf0, 0x3f, 0xd6, 0x03, 0xf2, 0x35, 0x59, 0x1c, 0xd3, 0x25, 0x28, 0x6d, 0x07, 0x51, 0x9c, 0x7e, - 0xf1, 0xbd, 0x11, 0x44, 0x31, 0x66, 0x10, 0xfb, 0x77, 0x2d, 0x18, 0x62, 0x19, 0x64, 0xfb, 0xa5, - 0x35, 0x1e, 0xe4, 0xbb, 0xd0, 0x4b, 0x30, 0x4c, 0x36, 0x37, 0x49, 0x33, 0x16, 0xb3, 0x2a, 0xdd, - 0x56, 0x87, 0x97, 0x59, 0x29, 0xbd, 0xf4, 0x59, 0x63, 0xfc, 0x2f, 0x16, 0xc8, 0xe8, 0x2d, 0x28, - 0xc7, 0xee, 0x2e, 0x59, 0x68, 0xb5, 0xc4, 0x9b, 0xd9, 0x03, 0x78, 0x09, 0xaf, 0x4b, 0x02, 0x38, - 0xa1, 0x65, 0x7f, 0xb5, 0x00, 0x90, 0x84, 0x1a, 0xe8, 0xf7, 0x89, 0x8b, 0x5d, 0xaf, 0x29, 0x97, - 0x33, 0x5e, 0x53, 0x50, 0x42, 0x30, 0xe3, 0x29, 0x45, 0x0d, 0x53, 0x71, 0xa0, 0x61, 0x2a, 0x1d, - 0x67, 0x98, 0x96, 0x60, 0x26, 0x09, 0x95, 0x60, 0xc6, 0x8d, 0x61, 0x42, 0xca, 0x7a, 0x1a, 0x88, - 0xbb, 0xf1, 0x6d, 0x02, 0x97, 0x64, 0x04, 0x4f, 0x79, 0xd7, 0x30, 0x93, 0xcc, 0x63, 0x64, 0xb8, - 0x4e, 0x9e, 0x8b, 0x0a, 0xb9, 0xcf, 0x45, 0x3f, 0x61, 0xc1, 0xd9, 0x74, 0x3b, 0xcc, 0x47, 0xee, - 0x2b, 0x16, 0x9c, 0x63, 0x8f, 0x66, 0xac, 0xd5, 0xee, 0x27, 0xba, 0x17, 0xb3, 0x43, 0x48, 0xf4, - 0xee, 0x71, 0xe2, 0x1f, 0xbd, 0x9a, 0x45, 0x1a, 0x67, 0xb7, 0x68, 0x7f, 0xc5, 0x82, 0xf3, 0xb9, - 0x89, 0x8b, 0xd0, 0x15, 0x18, 0x75, 0xda, 0x2e, 0xd7, 0x48, 0x89, 0xfd, 0xce, 0xa4, 0xc7, 0x7a, - 0x8d, 0xeb, 0xa3, 0x14, 0x54, 0x25, 0x54, 0x2c, 0xe4, 0x26, 0x54, 0xec, 0x9b, 0x1f, 0xd1, 0xfe, - 0x7e, 0x0b, 0x84, 0x5b, 0xd4, 0x00, 0x87, 0xcc, 0xdb, 0x32, 0x1f, 0xad, 0x11, 0x3c, 0xfd, 0x52, - 0xbe, 0x9f, 0x98, 0x08, 0x99, 0xae, 0x2e, 0x75, 0x23, 0x50, 0xba, 0x41, 0xcb, 0x6e, 0x81, 0x80, - 0x56, 0x09, 0xd3, 0x59, 0xf5, 0xef, 0xcd, 0x35, 0x80, 0x16, 0xc3, 0xd5, 0xb2, 0x52, 0xaa, 0x2b, - 0xa4, 0xaa, 0x20, 0x58, 0xc3, 0xb2, 0x7f, 0xb8, 0x00, 0x63, 0x32, 0x58, 0x77, 0xc7, 0x1f, 0x44, - 0xb2, 0x3c, 0x56, 0xf6, 0x1e, 0x96, 0xc6, 0x95, 0x12, 0xae, 0x27, 0x02, 0x79, 0x92, 0xc6, 0x55, - 0x02, 0x70, 0x82, 0x83, 0x9e, 0x86, 0x91, 0xa8, 0xb3, 0xc1, 0xd0, 0x53, 0x4e, 0x3c, 0x0d, 0x5e, - 0x8c, 0x25, 0x1c, 0x7d, 0x0e, 0xa6, 0x79, 0xbd, 0x30, 0x68, 0x3b, 0x5b, 0x5c, 0xfd, 0x39, 0xa4, - 0xbc, 0x6f, 0xa7, 0x57, 0x53, 0xb0, 0xa3, 0x83, 0xca, 0xd9, 0x74, 0x19, 0x53, 0x9c, 0x77, 0x51, - 0xb1, 0xbf, 0x04, 0xa8, 0x3b, 0xfe, 0x38, 0x7a, 0x83, 0x9b, 0x52, 0xb9, 0x21, 0x69, 0xf5, 0xd2, - 0x88, 0xeb, 0xce, 0xa2, 0xd2, 0x90, 0x9e, 0xd7, 0xc2, 0xaa, 0xbe, 0xfd, 0x37, 0x8a, 0x30, 0x9d, - 0x76, 0x1d, 0x44, 0x37, 0x60, 0x98, 0x5f, 0x76, 0x82, 0x7c, 0x8f, 0x07, 0x57, 0xcd, 0xe1, 0x90, - 0x6d, 0x7b, 0x71, 0x5f, 0x8a, 0xfa, 0xe8, 0x1d, 0x18, 0x6b, 0x05, 0xf7, 0xfc, 0x7b, 0x4e, 0xd8, - 0x5a, 0xa8, 0xd7, 0xc4, 0xba, 0xcc, 0xe4, 0x99, 0xab, 0x09, 0x9a, 0xee, 0xc4, 0xc8, 0x1e, 0x17, - 0x12, 0x10, 0xd6, 0xc9, 0xa1, 0x75, 0x16, 0x53, 0x71, 0xd3, 0xdd, 0x5a, 0x75, 0xda, 0xbd, 0xec, - 0x6a, 0x97, 0x24, 0x92, 0x46, 0x79, 0x42, 0x04, 0x5e, 0xe4, 0x00, 0x9c, 0x10, 0x42, 0xdf, 0x0d, - 0x67, 0xa2, 0x1c, 0x35, 0x5b, 0x5e, 0x3a, 0x8a, 0x5e, 0x9a, 0xa7, 0xc5, 0x47, 0xa9, 0x34, 0x93, - 0xa5, 0x90, 0xcb, 0x6a, 0xc6, 0xfe, 0xf2, 0x19, 0x30, 0x76, 0xa3, 0x91, 0x9d, 0xc8, 0x3a, 0xa1, - 0xec, 0x44, 0x18, 0x46, 0xc9, 0x6e, 0x3b, 0xde, 0xaf, 0xba, 0x61, 0xaf, 0xec, 0x79, 0xcb, 0x02, - 0xa7, 0x9b, 0xa6, 0x84, 0x60, 0x45, 0x27, 0x3b, 0x85, 0x54, 0xf1, 0x43, 0x4c, 0x21, 0x55, 0x3a, - 0xc5, 0x14, 0x52, 0x6b, 0x30, 0xb2, 0xe5, 0xc6, 0x98, 0xb4, 0x03, 0xc1, 0x66, 0x66, 0xae, 0xc3, - 0xeb, 0x1c, 0xa5, 0x3b, 0x59, 0x89, 0x00, 0x60, 0x49, 0x04, 0xbd, 0xa1, 0x76, 0xe0, 0x70, 0xbe, - 0x94, 0xd6, 0xfd, 0x32, 0x98, 0xb9, 0x07, 0x45, 0xa2, 0xa8, 0x91, 0x07, 0x4d, 0x14, 0xb5, 0x22, - 0xd3, 0x3b, 0x8d, 0xe6, 0x1b, 0xc1, 0xb3, 0xec, 0x4d, 0x7d, 0x92, 0x3a, 0xdd, 0xd5, 0x53, 0x62, - 0x95, 0xf3, 0x4f, 0x02, 0x95, 0xed, 0x6a, 0xc0, 0x44, 0x58, 0xdf, 0x6f, 0xc1, 0xb9, 0x76, 0x56, - 0x76, 0x38, 0x91, 0x94, 0xe9, 0xa5, 0x81, 0xd3, 0xdf, 0x19, 0x0d, 0x32, 0x71, 0x3d, 0x13, 0x0d, - 0x67, 0x37, 0x47, 0x07, 0x3a, 0xdc, 0x68, 0x89, 0x4c, 0x4e, 0x4f, 0xe6, 0x64, 0xd4, 0xea, 0x91, - 0x47, 0x6b, 0x3d, 0x23, 0x7b, 0xd3, 0xc7, 0xf3, 0xb2, 0x37, 0x0d, 0x9c, 0xb3, 0xe9, 0x0d, 0x95, - 0x4b, 0x6b, 0x22, 0x7f, 0x29, 0xf1, 0x4c, 0x59, 0x7d, 0x33, 0x68, 0xbd, 0xa1, 0x32, 0x68, 0xf5, - 0x88, 0x2d, 0xc7, 0xf3, 0x63, 0xf5, 0xcd, 0x9b, 0xa5, 0xe5, 0xbe, 0x9a, 0x3a, 0x99, 0xdc, 0x57, - 0xc6, 0x55, 0xc3, 0xd3, 0x2f, 0x3d, 0xd3, 0xe7, 0xaa, 0x31, 0xe8, 0xf6, 0xbe, 0x6c, 0x78, 0x9e, - 0xaf, 0x99, 0x07, 0xca, 0xf3, 0x75, 0x57, 0xcf, 0x9b, 0x85, 0xfa, 0x24, 0x86, 0xa2, 0x48, 0x03, - 0x66, 0xcb, 0xba, 0xab, 0x5f, 0x80, 0x67, 0xf2, 0xe9, 0xaa, 0x7b, 0xae, 0x9b, 0x6e, 0xe6, 0x15, - 0xd8, 0x95, 0x85, 0xeb, 0xec, 0xe9, 0x64, 0xe1, 0x3a, 0x77, 0xe2, 0x59, 0xb8, 0x1e, 0x39, 0x85, - 0x2c, 0x5c, 0x8f, 0x7e, 0xa8, 0x59, 0xb8, 0x66, 0x1f, 0x42, 0x16, 0xae, 0xb5, 0x24, 0x0b, 0xd7, - 0xf9, 0xfc, 0x29, 0xc9, 0xb0, 0xcc, 0xcd, 0xc9, 0xbd, 0x75, 0x97, 0x3d, 0xcf, 0xf3, 0xd8, 0x16, - 0x22, 0xf8, 0x5d, 0x76, 0xc6, 0xe1, 0xac, 0x00, 0x18, 0x7c, 0x4a, 0x14, 0x08, 0x27, 0xa4, 0x28, - 0xdd, 0x24, 0x17, 0xd7, 0x63, 0x3d, 0x14, 0xb2, 0x59, 0xaa, 0xae, 0xfc, 0x0c, 0x5c, 0xf6, 0x0f, - 0x14, 0xe0, 0x62, 0xef, 0x75, 0x9d, 0xe8, 0xc9, 0xea, 0xc9, 0xbb, 0x4e, 0x4a, 0x4f, 0xc6, 0x85, - 0x9c, 0x04, 0x6b, 0xe0, 0x00, 0x40, 0xd7, 0x61, 0x46, 0x99, 0xe4, 0x7a, 0x6e, 0x73, 0x5f, 0xcb, - 0x44, 0xac, 0x5c, 0x0f, 0x1b, 0x69, 0x04, 0xdc, 0x5d, 0x07, 0x2d, 0xc0, 0x94, 0x51, 0x58, 0xab, - 0x0a, 0x61, 0x46, 0x29, 0xe6, 0x1a, 0x26, 0x18, 0xa7, 0xf1, 0xed, 0x9f, 0xb1, 0xe0, 0xd1, 0x9c, - 0x04, 0x15, 0x03, 0xc7, 0xb7, 0xd9, 0x84, 0xa9, 0xb6, 0x59, 0xb5, 0x4f, 0x18, 0x2c, 0x23, 0x0d, - 0x86, 0xea, 0x6b, 0x0a, 0x80, 0xd3, 0x44, 0x17, 0xaf, 0xfc, 0xd6, 0xef, 0x5f, 0xfc, 0xd8, 0x6f, - 0xff, 0xfe, 0xc5, 0x8f, 0xfd, 0xce, 0xef, 0x5f, 0xfc, 0xd8, 0xff, 0x7f, 0x78, 0xd1, 0xfa, 0xad, - 0xc3, 0x8b, 0xd6, 0x6f, 0x1f, 0x5e, 0xb4, 0x7e, 0xe7, 0xf0, 0xa2, 0xf5, 0x7b, 0x87, 0x17, 0xad, - 0xaf, 0xfe, 0xc1, 0xc5, 0x8f, 0xbd, 0x5d, 0xd8, 0x7b, 0xfe, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, - 0xc1, 0x91, 0x66, 0x56, 0x78, 0xe8, 0x00, 0x00, + 0xe1, 0xd8, 0xb0, 0x37, 0xfc, 0x00, 0x02, 0x47, 0x60, 0x1c, 0x80, 0xb1, 0x1d, 0xc6, 0x60, 0xc0, + 0x2c, 0xd8, 0x18, 0xfc, 0x03, 0xfb, 0xc7, 0x1a, 0x3b, 0xc2, 0xb1, 0x44, 0x10, 0x6e, 0x43, 0xe3, + 0xb0, 0x83, 0x1f, 0x06, 0x87, 0xf1, 0x0f, 0xd3, 0x26, 0x8c, 0xe3, 0x3e, 0xf3, 0xde, 0xac, 0xcc, + 0xaa, 0xea, 0x51, 0x4f, 0x4b, 0x10, 0xfb, 0xaf, 0xea, 0x9e, 0x73, 0xcf, 0xbd, 0x79, 0x9f, 0xe7, + 0x9c, 0x7b, 0x1e, 0xf0, 0xea, 0xce, 0x2b, 0xd1, 0xbc, 0x1b, 0x5c, 0xdd, 0xe9, 0x6c, 0x90, 0xd0, + 0x27, 0x31, 0x89, 0xae, 0xee, 0x11, 0xbf, 0x15, 0x84, 0x57, 0x05, 0xc0, 0x69, 0xbb, 0x57, 0x9b, + 0x41, 0x48, 0xae, 0xee, 0x3d, 0x7f, 0x75, 0x8b, 0xf8, 0x24, 0x74, 0x62, 0xd2, 0x9a, 0x6f, 0x87, + 0x41, 0x1c, 0x20, 0xc4, 0x71, 0xe6, 0x9d, 0xb6, 0x3b, 0x4f, 0x71, 0xe6, 0xf7, 0x9e, 0x9f, 0x7b, + 0x6e, 0xcb, 0x8d, 0xb7, 0x3b, 0x1b, 0xf3, 0xcd, 0x60, 0xf7, 0xea, 0x56, 0xb0, 0x15, 0x5c, 0x65, + 0xa8, 0x1b, 0x9d, 0x4d, 0xf6, 0x8f, 0xfd, 0x61, 0xbf, 0x38, 0x89, 0xb9, 0x17, 0x93, 0x66, 0x76, + 0x9d, 0xe6, 0xb6, 0xeb, 0x93, 0x70, 0xff, 0x6a, 0x7b, 0x67, 0x8b, 0xb5, 0x1b, 0x92, 0x28, 0xe8, + 0x84, 0x4d, 0x92, 0x6e, 0xb8, 0x67, 0xad, 0xe8, 0xea, 0x2e, 0x89, 0x9d, 0x8c, 0xee, 0xce, 0x5d, + 0xcd, 0xab, 0x15, 0x76, 0xfc, 0xd8, 0xdd, 0xed, 0x6e, 0xe6, 0xd3, 0xfd, 0x2a, 0x44, 0xcd, 0x6d, + 0xb2, 0xeb, 0x74, 0xd5, 0x7b, 0x21, 0xaf, 0x5e, 0x27, 0x76, 0xbd, 0xab, 0xae, 0x1f, 0x47, 0x71, + 0x98, 0xae, 0x64, 0x7f, 0xd3, 0x82, 0x4b, 0x0b, 0x6f, 0x35, 0x96, 0x3d, 0x27, 0x8a, 0xdd, 0xe6, + 0xa2, 0x17, 0x34, 0x77, 0x1a, 0x71, 0x10, 0x92, 0xbb, 0x81, 0xd7, 0xd9, 0x25, 0x0d, 0x36, 0x10, + 0xe8, 0x59, 0x18, 0xdd, 0x63, 0xff, 0x6b, 0xd5, 0x59, 0xeb, 0x92, 0x75, 0xa5, 0xbc, 0x38, 0xfd, + 0x9b, 0x07, 0x95, 0x8f, 0x1d, 0x1e, 0x54, 0x46, 0xef, 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x65, 0x18, + 0xde, 0x8c, 0xd6, 0xf7, 0xdb, 0x64, 0xb6, 0xc0, 0x70, 0x27, 0x05, 0xee, 0xf0, 0x4a, 0x83, 0x96, + 0x62, 0x01, 0x45, 0x57, 0xa1, 0xdc, 0x76, 0xc2, 0xd8, 0x8d, 0xdd, 0xc0, 0x9f, 0x2d, 0x5e, 0xb2, + 0xae, 0x0c, 0x2d, 0xce, 0x08, 0xd4, 0x72, 0x5d, 0x02, 0x70, 0x82, 0x43, 0xbb, 0x11, 0x12, 0xa7, + 0x75, 0xdb, 0xf7, 0xf6, 0x67, 0x4b, 0x97, 0xac, 0x2b, 0xa3, 0x49, 0x37, 0xb0, 0x28, 0xc7, 0x0a, + 0xc3, 0xfe, 0xe1, 0x02, 0x8c, 0x2e, 0x6c, 0x6e, 0xba, 0xbe, 0x1b, 0xef, 0xa3, 0xbb, 0x30, 0xee, + 0x07, 0x2d, 0x22, 0xff, 0xb3, 0xaf, 0x18, 0xbb, 0x76, 0x69, 0xbe, 0x7b, 0x29, 0xcd, 0xaf, 0x69, + 0x78, 0x8b, 0xd3, 0x87, 0x07, 0x95, 0x71, 0xbd, 0x04, 0x1b, 0x74, 0x10, 0x86, 0xb1, 0x76, 0xd0, + 0x52, 0x64, 0x0b, 0x8c, 0x6c, 0x25, 0x8b, 0x6c, 0x3d, 0x41, 0x5b, 0x9c, 0x3a, 0x3c, 0xa8, 0x8c, + 0x69, 0x05, 0x58, 0x27, 0x82, 0x36, 0x60, 0x8a, 0xfe, 0xf5, 0x63, 0x57, 0xd1, 0x2d, 0x32, 0xba, + 0x4f, 0xe6, 0xd1, 0xd5, 0x50, 0x17, 0xcf, 0x1c, 0x1e, 0x54, 0xa6, 0x52, 0x85, 0x38, 0x4d, 0xd0, + 0x7e, 0x1f, 0x26, 0x17, 0xe2, 0xd8, 0x69, 0x6e, 0x93, 0x16, 0x9f, 0x41, 0xf4, 0x22, 0x94, 0x7c, + 0x67, 0x97, 0x88, 0xf9, 0xbd, 0x24, 0x06, 0xb6, 0xb4, 0xe6, 0xec, 0x92, 0xa3, 0x83, 0xca, 0xf4, + 0x1d, 0xdf, 0x7d, 0xaf, 0x23, 0x56, 0x05, 0x2d, 0xc3, 0x0c, 0x1b, 0x5d, 0x03, 0x68, 0x91, 0x3d, + 0xb7, 0x49, 0xea, 0x4e, 0xbc, 0x2d, 0xe6, 0x1b, 0x89, 0xba, 0x50, 0x55, 0x10, 0xac, 0x61, 0xd9, + 0xf7, 0xa1, 0xbc, 0xb0, 0x17, 0xb8, 0xad, 0x7a, 0xd0, 0x8a, 0xd0, 0x0e, 0x4c, 0xb5, 0x43, 0xb2, + 0x49, 0x42, 0x55, 0x34, 0x6b, 0x5d, 0x2a, 0x5e, 0x19, 0xbb, 0x76, 0x25, 0xf3, 0x63, 0x4d, 0xd4, + 0x65, 0x3f, 0x0e, 0xf7, 0x17, 0x1f, 0x15, 0xed, 0x4d, 0xa5, 0xa0, 0x38, 0x4d, 0xd9, 0xfe, 0xd7, + 0x05, 0x38, 0xb7, 0xf0, 0x7e, 0x27, 0x24, 0x55, 0x37, 0xda, 0x49, 0xaf, 0xf0, 0x96, 0x1b, 0xed, + 0xac, 0x25, 0x23, 0xa0, 0x96, 0x56, 0x55, 0x94, 0x63, 0x85, 0x81, 0x9e, 0x83, 0x11, 0xfa, 0xfb, + 0x0e, 0xae, 0x89, 0x4f, 0x3e, 0x23, 0x90, 0xc7, 0xaa, 0x4e, 0xec, 0x54, 0x39, 0x08, 0x4b, 0x1c, + 0xb4, 0x0a, 0x63, 0x4d, 0xb6, 0x21, 0xb7, 0x56, 0x83, 0x16, 0x61, 0x93, 0x59, 0x5e, 0x7c, 0x86, + 0xa2, 0x2f, 0x25, 0xc5, 0x47, 0x07, 0x95, 0x59, 0xde, 0x37, 0x41, 0x42, 0x83, 0x61, 0xbd, 0x3e, + 0xb2, 0xd5, 0xfe, 0x2a, 0x31, 0x4a, 0x90, 0xb1, 0xb7, 0xae, 0x68, 0x5b, 0x65, 0x88, 0x6d, 0x95, + 0xf1, 0xec, 0x6d, 0x82, 0x9e, 0x87, 0xd2, 0x8e, 0xeb, 0xb7, 0x66, 0x87, 0x19, 0xad, 0x0b, 0x74, + 0xce, 0x6f, 0xba, 0x7e, 0xeb, 0xe8, 0xa0, 0x32, 0x63, 0x74, 0x87, 0x16, 0x62, 0x86, 0x6a, 0xff, + 0xb1, 0x05, 0x15, 0x06, 0x5b, 0x71, 0x3d, 0x52, 0x27, 0x61, 0xe4, 0x46, 0x31, 0xf1, 0x63, 0x63, + 0x40, 0xaf, 0x01, 0x44, 0xa4, 0x19, 0x92, 0x58, 0x1b, 0x52, 0xb5, 0x30, 0x1a, 0x0a, 0x82, 0x35, + 0x2c, 0x7a, 0x20, 0x44, 0xdb, 0x4e, 0xc8, 0xd6, 0x97, 0x18, 0x58, 0x75, 0x20, 0x34, 0x24, 0x00, + 0x27, 0x38, 0xc6, 0x81, 0x50, 0xec, 0x77, 0x20, 0xa0, 0xcf, 0xc2, 0x54, 0xd2, 0x58, 0xd4, 0x76, + 0x9a, 0x72, 0x00, 0xd9, 0x96, 0x69, 0x98, 0x20, 0x9c, 0xc6, 0xb5, 0xff, 0x81, 0x25, 0x16, 0x0f, + 0xfd, 0xea, 0x8f, 0xf8, 0xb7, 0xda, 0xbf, 0x64, 0xc1, 0xc8, 0xa2, 0xeb, 0xb7, 0x5c, 0x7f, 0x0b, + 0x7d, 0x09, 0x46, 0xe9, 0xdd, 0xd4, 0x72, 0x62, 0x47, 0x9c, 0x7b, 0x9f, 0xd2, 0xf6, 0x96, 0xba, + 0x2a, 0xe6, 0xdb, 0x3b, 0x5b, 0xb4, 0x20, 0x9a, 0xa7, 0xd8, 0x74, 0xb7, 0xdd, 0xde, 0x78, 0x97, + 0x34, 0xe3, 0x55, 0x12, 0x3b, 0xc9, 0xe7, 0x24, 0x65, 0x58, 0x51, 0x45, 0x37, 0x61, 0x38, 0x76, + 0xc2, 0x2d, 0x12, 0x8b, 0x03, 0x30, 0xf3, 0xa0, 0xe2, 0x35, 0x31, 0xdd, 0x91, 0xc4, 0x6f, 0x92, + 0xe4, 0x5a, 0x58, 0x67, 0x55, 0xb1, 0x20, 0x61, 0xff, 0xd5, 0x61, 0x38, 0xbf, 0xd4, 0xa8, 0xe5, + 0xac, 0xab, 0xcb, 0x30, 0xdc, 0x0a, 0xdd, 0x3d, 0x12, 0x8a, 0x71, 0x56, 0x54, 0xaa, 0xac, 0x14, + 0x0b, 0x28, 0x7a, 0x05, 0xc6, 0xf9, 0x85, 0x74, 0xc3, 0xf1, 0x5b, 0x9e, 0x1c, 0xe2, 0xb3, 0x02, + 0x7b, 0xfc, 0xae, 0x06, 0xc3, 0x06, 0xe6, 0x31, 0x17, 0xd5, 0xe5, 0xd4, 0x66, 0xcc, 0xbb, 0xec, + 0xbe, 0x62, 0xc1, 0x34, 0x6f, 0x66, 0x21, 0x8e, 0x43, 0x77, 0xa3, 0x13, 0x93, 0x68, 0x76, 0x88, + 0x9d, 0x74, 0x4b, 0x59, 0xa3, 0x95, 0x3b, 0x02, 0xf3, 0x77, 0x53, 0x54, 0xf8, 0x21, 0x38, 0x2b, + 0xda, 0x9d, 0x4e, 0x83, 0x71, 0x57, 0xb3, 0xe8, 0x7b, 0x2d, 0x98, 0x6b, 0x06, 0x7e, 0x1c, 0x06, + 0x9e, 0x47, 0xc2, 0x7a, 0x67, 0xc3, 0x73, 0xa3, 0x6d, 0xbe, 0x4e, 0x31, 0xd9, 0x64, 0x27, 0x41, + 0xce, 0x1c, 0x2a, 0x24, 0x31, 0x87, 0x17, 0x0f, 0x0f, 0x2a, 0x73, 0x4b, 0xb9, 0xa4, 0x70, 0x8f, + 0x66, 0xd0, 0x0e, 0x20, 0x7a, 0x95, 0x36, 0x62, 0x67, 0x8b, 0x24, 0x8d, 0x8f, 0x0c, 0xde, 0xf8, + 0x23, 0x87, 0x07, 0x15, 0xb4, 0xd6, 0x45, 0x02, 0x67, 0x90, 0x45, 0xef, 0xc1, 0x59, 0x5a, 0xda, + 0xf5, 0xad, 0xa3, 0x83, 0x37, 0x37, 0x7b, 0x78, 0x50, 0x39, 0xbb, 0x96, 0x41, 0x04, 0x67, 0x92, + 0x9e, 0x5b, 0x82, 0x73, 0x99, 0x53, 0x85, 0xa6, 0xa1, 0xb8, 0x43, 0x38, 0x0b, 0x52, 0xc6, 0xf4, + 0x27, 0x3a, 0x0b, 0x43, 0x7b, 0x8e, 0xd7, 0x11, 0xab, 0x14, 0xf3, 0x3f, 0x9f, 0x29, 0xbc, 0x62, + 0xd9, 0x4d, 0x18, 0x5f, 0x72, 0xda, 0xce, 0x86, 0xeb, 0xb9, 0xb1, 0x4b, 0x22, 0xf4, 0x14, 0x14, + 0x9d, 0x56, 0x8b, 0x5d, 0x91, 0xe5, 0xc5, 0x73, 0x87, 0x07, 0x95, 0xe2, 0x42, 0x8b, 0x9e, 0xd5, + 0xa0, 0xb0, 0xf6, 0x31, 0xc5, 0x40, 0x9f, 0x84, 0x52, 0x2b, 0x0c, 0xda, 0xb3, 0x05, 0x86, 0x49, + 0x87, 0xaa, 0x54, 0x0d, 0x83, 0x76, 0x0a, 0x95, 0xe1, 0xd8, 0xbf, 0x56, 0x80, 0xc7, 0x97, 0x48, + 0x7b, 0x7b, 0xa5, 0x91, 0xb3, 0xe9, 0xae, 0xc0, 0xe8, 0x6e, 0xe0, 0xbb, 0x71, 0x10, 0x46, 0xa2, + 0x69, 0x76, 0x9b, 0xac, 0x8a, 0x32, 0xac, 0xa0, 0xe8, 0x12, 0x94, 0xda, 0x09, 0x27, 0x30, 0x2e, + 0xb9, 0x08, 0xc6, 0x03, 0x30, 0x08, 0xc5, 0xe8, 0x44, 0x24, 0x14, 0xb7, 0xa0, 0xc2, 0xb8, 0x13, + 0x91, 0x10, 0x33, 0x48, 0x72, 0x9c, 0xd2, 0x83, 0x56, 0x6c, 0xab, 0xd4, 0x71, 0x4a, 0x21, 0x58, + 0xc3, 0x42, 0x75, 0x28, 0x47, 0x6a, 0x52, 0x87, 0x06, 0x9f, 0xd4, 0x09, 0x76, 0xde, 0xaa, 0x99, + 0x4c, 0x88, 0x18, 0xc7, 0xc0, 0x70, 0xdf, 0xf3, 0xf6, 0xeb, 0x05, 0x40, 0x7c, 0x08, 0xff, 0x9c, + 0x0d, 0xdc, 0x9d, 0xee, 0x81, 0xcb, 0xe4, 0xbc, 0x6e, 0x05, 0x4d, 0xc7, 0x4b, 0x1f, 0xe1, 0x27, + 0x35, 0x7a, 0xff, 0xcb, 0x82, 0xc7, 0x97, 0x5c, 0xbf, 0x45, 0xc2, 0x9c, 0x05, 0xf8, 0x70, 0x04, + 0x90, 0xe3, 0x9d, 0xf4, 0xc6, 0x12, 0x2b, 0x9d, 0xc0, 0x12, 0xb3, 0xff, 0xc8, 0x02, 0xc4, 0x3f, + 0xfb, 0x23, 0xf7, 0xb1, 0x77, 0xba, 0x3f, 0xf6, 0x04, 0x96, 0x85, 0x7d, 0x0b, 0x26, 0x97, 0x3c, + 0x97, 0xf8, 0x71, 0xad, 0xbe, 0x14, 0xf8, 0x9b, 0xee, 0x16, 0xfa, 0x0c, 0x4c, 0x52, 0x99, 0x36, + 0xe8, 0xc4, 0x0d, 0xd2, 0x0c, 0x7c, 0xc6, 0xfe, 0x53, 0x49, 0x10, 0x1d, 0x1e, 0x54, 0x26, 0xd7, + 0x0d, 0x08, 0x4e, 0x61, 0xda, 0xbf, 0x43, 0xc7, 0x2f, 0xd8, 0x6d, 0x07, 0x3e, 0xf1, 0xe3, 0xa5, + 0xc0, 0x6f, 0x71, 0x31, 0xf1, 0x33, 0x50, 0x8a, 0xe9, 0x78, 0xf0, 0xb1, 0xbb, 0x2c, 0x37, 0x0a, + 0x1d, 0x85, 0xa3, 0x83, 0xca, 0x23, 0xdd, 0x35, 0xd8, 0x38, 0xb1, 0x3a, 0xe8, 0xdb, 0x60, 0x38, + 0x8a, 0x9d, 0xb8, 0x13, 0x89, 0xd1, 0x7c, 0x42, 0x8e, 0x66, 0x83, 0x95, 0x1e, 0x1d, 0x54, 0xa6, + 0x54, 0x35, 0x5e, 0x84, 0x45, 0x05, 0xf4, 0x34, 0x8c, 0xec, 0x92, 0x28, 0x72, 0xb6, 0x24, 0x87, + 0x3f, 0x25, 0xea, 0x8e, 0xac, 0xf2, 0x62, 0x2c, 0xe1, 0xe8, 0x49, 0x18, 0x22, 0x61, 0x18, 0x84, + 0x62, 0x8f, 0x4e, 0x08, 0xc4, 0xa1, 0x65, 0x5a, 0x88, 0x39, 0xcc, 0xfe, 0x77, 0x16, 0x4c, 0xa9, + 0xbe, 0xf2, 0xb6, 0x4e, 0x81, 0x95, 0x7b, 0x1b, 0xa0, 0x29, 0x3f, 0x30, 0x62, 0xb7, 0xc7, 0xd8, + 0xb5, 0xcb, 0x99, 0x0c, 0x4a, 0xd7, 0x30, 0x26, 0x94, 0x55, 0x51, 0x84, 0x35, 0x6a, 0xf6, 0xaf, + 0x5a, 0x70, 0x26, 0xf5, 0x45, 0xb7, 0xdc, 0x28, 0x46, 0xef, 0x74, 0x7d, 0xd5, 0xfc, 0x60, 0x5f, + 0x45, 0x6b, 0xb3, 0x6f, 0x52, 0x4b, 0x59, 0x96, 0x68, 0x5f, 0x74, 0x03, 0x86, 0xdc, 0x98, 0xec, + 0xca, 0x8f, 0x79, 0xb2, 0xe7, 0xc7, 0xf0, 0x5e, 0x25, 0x33, 0x52, 0xa3, 0x35, 0x31, 0x27, 0x60, + 0xff, 0x8d, 0x22, 0x94, 0xf9, 0xb2, 0x5d, 0x75, 0xda, 0xa7, 0x30, 0x17, 0x35, 0x28, 0x31, 0xea, + 0xbc, 0xe3, 0x4f, 0x65, 0x77, 0x5c, 0x74, 0x67, 0x9e, 0xca, 0x69, 0x9c, 0x15, 0x54, 0x57, 0x03, + 0x2d, 0xc2, 0x8c, 0x04, 0x72, 0x00, 0x36, 0x5c, 0xdf, 0x09, 0xf7, 0x69, 0xd9, 0x6c, 0x91, 0x11, + 0x7c, 0xae, 0x37, 0xc1, 0x45, 0x85, 0xcf, 0xc9, 0xaa, 0xbe, 0x26, 0x00, 0xac, 0x11, 0x9d, 0x7b, + 0x19, 0xca, 0x0a, 0xf9, 0x38, 0x3c, 0xce, 0xdc, 0x67, 0x61, 0x2a, 0xd5, 0x56, 0xbf, 0xea, 0xe3, + 0x3a, 0x8b, 0xf4, 0xcb, 0xec, 0x14, 0x10, 0xbd, 0x5e, 0xf6, 0xf7, 0xc4, 0x29, 0xfa, 0x3e, 0x9c, + 0xf5, 0x32, 0x0e, 0x27, 0x31, 0x55, 0x83, 0x1f, 0x66, 0x8f, 0x8b, 0xcf, 0x3e, 0x9b, 0x05, 0xc5, + 0x99, 0x6d, 0xd0, 0x6b, 0x3f, 0x68, 0xd3, 0x35, 0xef, 0x78, 0xac, 0xbf, 0x42, 0xfa, 0xbe, 0x2d, + 0xca, 0xb0, 0x82, 0xd2, 0x23, 0xec, 0xac, 0xea, 0xfc, 0x4d, 0xb2, 0xdf, 0x20, 0x1e, 0x69, 0xc6, + 0x41, 0xf8, 0xa1, 0x76, 0xff, 0x02, 0x1f, 0x7d, 0x7e, 0x02, 0x8e, 0x09, 0x02, 0xc5, 0x9b, 0x64, + 0x9f, 0x4f, 0x85, 0xfe, 0x75, 0xc5, 0x9e, 0x5f, 0xf7, 0xb3, 0x16, 0x4c, 0xa8, 0xaf, 0x3b, 0x85, + 0xad, 0xbe, 0x68, 0x6e, 0xf5, 0x0b, 0x3d, 0x17, 0x78, 0xce, 0x26, 0xff, 0x7a, 0x01, 0xce, 0x2b, + 0x1c, 0xca, 0xee, 0xf3, 0x3f, 0x62, 0x55, 0x5d, 0x85, 0xb2, 0xaf, 0xb4, 0x07, 0x96, 0x29, 0xb6, + 0x27, 0xba, 0x83, 0x04, 0x87, 0x72, 0x6d, 0x7e, 0x22, 0xe2, 0x8f, 0xeb, 0x6a, 0x35, 0xa1, 0x42, + 0x5b, 0x84, 0x62, 0xc7, 0x6d, 0x89, 0x3b, 0xe3, 0x53, 0x72, 0xb4, 0xef, 0xd4, 0xaa, 0x47, 0x07, + 0x95, 0x27, 0xf2, 0x54, 0xba, 0xf4, 0xb2, 0x8a, 0xe6, 0xef, 0xd4, 0xaa, 0x98, 0x56, 0x46, 0x0b, + 0x30, 0x25, 0xb5, 0xd6, 0x77, 0x29, 0x07, 0x15, 0xf8, 0xe2, 0x6a, 0x51, 0xba, 0x31, 0x6c, 0x82, + 0x71, 0x1a, 0x1f, 0x55, 0x61, 0x7a, 0xa7, 0xb3, 0x41, 0x3c, 0x12, 0xf3, 0x0f, 0xbe, 0x49, 0xb8, + 0xe6, 0xa8, 0x9c, 0x88, 0x96, 0x37, 0x53, 0x70, 0xdc, 0x55, 0xc3, 0xfe, 0x33, 0x76, 0xc4, 0x8b, + 0xd1, 0xab, 0x87, 0x01, 0x5d, 0x58, 0x94, 0xfa, 0x87, 0xb9, 0x9c, 0x07, 0x59, 0x15, 0x37, 0xc9, + 0xfe, 0x7a, 0x40, 0x99, 0xed, 0xec, 0x55, 0x61, 0xac, 0xf9, 0x52, 0xcf, 0x35, 0xff, 0xf3, 0x05, + 0x38, 0xa7, 0x46, 0xc0, 0xe0, 0xeb, 0xfe, 0xbc, 0x8f, 0xc1, 0xf3, 0x30, 0xd6, 0x22, 0x9b, 0x4e, + 0xc7, 0x8b, 0x95, 0x1a, 0x73, 0x88, 0xab, 0xb2, 0xab, 0x49, 0x31, 0xd6, 0x71, 0x8e, 0x31, 0x6c, + 0x3f, 0x31, 0xc6, 0xee, 0xd6, 0xd8, 0xa1, 0x6b, 0x5c, 0xed, 0x1a, 0x2b, 0x77, 0xd7, 0x3c, 0x09, + 0x43, 0xee, 0x2e, 0xe5, 0xb5, 0x0a, 0x26, 0x0b, 0x55, 0xa3, 0x85, 0x98, 0xc3, 0xd0, 0x27, 0x60, + 0xa4, 0x19, 0xec, 0xee, 0x3a, 0x7e, 0x8b, 0x5d, 0x79, 0xe5, 0xc5, 0x31, 0xca, 0x8e, 0x2d, 0xf1, + 0x22, 0x2c, 0x61, 0xe8, 0x71, 0x28, 0x39, 0xe1, 0x56, 0x34, 0x5b, 0x62, 0x38, 0xa3, 0xb4, 0xa5, + 0x85, 0x70, 0x2b, 0xc2, 0xac, 0x94, 0x4a, 0x55, 0xf7, 0x82, 0x70, 0xc7, 0xf5, 0xb7, 0xaa, 0x6e, + 0x28, 0xb6, 0x84, 0xba, 0x0b, 0xdf, 0x52, 0x10, 0xac, 0x61, 0xa1, 0x15, 0x18, 0x6a, 0x07, 0x61, + 0x1c, 0xcd, 0x0e, 0xb3, 0xe1, 0x7e, 0x22, 0xe7, 0x20, 0xe2, 0x5f, 0x5b, 0x0f, 0xc2, 0x38, 0xf9, + 0x00, 0xfa, 0x2f, 0xc2, 0xbc, 0x3a, 0xfa, 0x36, 0x28, 0x12, 0x7f, 0x6f, 0x76, 0x84, 0x51, 0x99, + 0xcb, 0xa2, 0xb2, 0xec, 0xef, 0xdd, 0x75, 0xc2, 0xe4, 0x94, 0x5e, 0xf6, 0xf7, 0x30, 0xad, 0x83, + 0x3e, 0x0f, 0x65, 0xb9, 0xc5, 0x23, 0xa1, 0xe6, 0xc8, 0x5c, 0x62, 0xf2, 0x60, 0xc0, 0xe4, 0xbd, + 0x8e, 0x1b, 0x92, 0x5d, 0xe2, 0xc7, 0x51, 0x72, 0xa6, 0x49, 0x68, 0x84, 0x13, 0x6a, 0xe8, 0xf3, + 0x52, 0xb7, 0xb6, 0x1a, 0x74, 0xfc, 0x38, 0x9a, 0x2d, 0xb3, 0xee, 0x65, 0xbe, 0x7a, 0xdc, 0x4d, + 0xf0, 0xd2, 0xca, 0x37, 0x5e, 0x19, 0x1b, 0xa4, 0x10, 0x86, 0x09, 0xcf, 0xdd, 0x23, 0x3e, 0x89, + 0xa2, 0x7a, 0x18, 0x6c, 0x90, 0x59, 0x60, 0x3d, 0x3f, 0x9f, 0xfd, 0x18, 0x10, 0x6c, 0x90, 0xc5, + 0x99, 0xc3, 0x83, 0xca, 0xc4, 0x2d, 0xbd, 0x0e, 0x36, 0x49, 0xa0, 0x3b, 0x30, 0x49, 0xe5, 0x1a, + 0x37, 0x21, 0x3a, 0xd6, 0x8f, 0x28, 0x93, 0x3e, 0xb0, 0x51, 0x09, 0xa7, 0x88, 0xa0, 0x37, 0xa0, + 0xec, 0xb9, 0x9b, 0xa4, 0xb9, 0xdf, 0xf4, 0xc8, 0xec, 0x38, 0xa3, 0x98, 0xb9, 0xad, 0x6e, 0x49, + 0x24, 0x2e, 0x17, 0xa9, 0xbf, 0x38, 0xa9, 0x8e, 0xee, 0xc2, 0x23, 0x31, 0x09, 0x77, 0x5d, 0xdf, + 0xa1, 0xdb, 0x41, 0xc8, 0x0b, 0xec, 0x49, 0x65, 0x82, 0xad, 0xb7, 0x8b, 0x62, 0xe8, 0x1e, 0x59, + 0xcf, 0xc4, 0xc2, 0x39, 0xb5, 0xd1, 0x6d, 0x98, 0x62, 0x3b, 0xa1, 0xde, 0xf1, 0xbc, 0x7a, 0xe0, + 0xb9, 0xcd, 0xfd, 0xd9, 0x49, 0x46, 0xf0, 0x13, 0xf2, 0x5e, 0xa8, 0x99, 0xe0, 0xa3, 0x83, 0x0a, + 0x24, 0xff, 0x70, 0xba, 0x36, 0xda, 0x60, 0x3a, 0xf4, 0x4e, 0xe8, 0xc6, 0xfb, 0x74, 0xfd, 0x92, + 0xfb, 0xf1, 0xec, 0x54, 0x4f, 0x51, 0x58, 0x47, 0x55, 0x8a, 0x76, 0xbd, 0x10, 0xa7, 0x09, 0xd2, + 0xad, 0x1d, 0xc5, 0x2d, 0xd7, 0x9f, 0x9d, 0x66, 0x27, 0x86, 0xda, 0x19, 0x0d, 0x5a, 0x88, 0x39, + 0x8c, 0xe9, 0xcf, 0xe9, 0x8f, 0xdb, 0xf4, 0x04, 0x9d, 0x61, 0x88, 0x89, 0xfe, 0x5c, 0x02, 0x70, + 0x82, 0x43, 0x99, 0x9a, 0x38, 0xde, 0x9f, 0x45, 0x0c, 0x55, 0x6d, 0x97, 0xf5, 0xf5, 0xcf, 0x63, + 0x5a, 0x8e, 0x6e, 0xc1, 0x08, 0xf1, 0xf7, 0x56, 0xc2, 0x60, 0x77, 0xf6, 0x4c, 0xfe, 0x9e, 0x5d, + 0xe6, 0x28, 0xfc, 0x40, 0x4f, 0x04, 0x3c, 0x51, 0x8c, 0x25, 0x09, 0x74, 0x1f, 0x66, 0x33, 0x66, + 0x84, 0x4f, 0xc0, 0x59, 0x36, 0x01, 0xaf, 0x89, 0xba, 0xb3, 0xeb, 0x39, 0x78, 0x47, 0x3d, 0x60, + 0x38, 0x97, 0x3a, 0xfa, 0x02, 0x4c, 0xf0, 0x0d, 0xc5, 0x1f, 0xdf, 0xa2, 0xd9, 0x73, 0xec, 0x6b, + 0x2e, 0xe5, 0x6f, 0x4e, 0x8e, 0xb8, 0x78, 0x4e, 0x74, 0x68, 0x42, 0x2f, 0x8d, 0xb0, 0x49, 0xcd, + 0xde, 0x80, 0x49, 0x75, 0x6e, 0xb1, 0xa5, 0x83, 0x2a, 0x30, 0xc4, 0xb8, 0x1d, 0xa1, 0xdf, 0x2a, + 0xd3, 0x99, 0x62, 0x9c, 0x10, 0xe6, 0xe5, 0x6c, 0xa6, 0xdc, 0xf7, 0xc9, 0xe2, 0x7e, 0x4c, 0xb8, + 0x54, 0x5d, 0xd4, 0x66, 0x4a, 0x02, 0x70, 0x82, 0x63, 0xff, 0x5f, 0xce, 0x35, 0x26, 0x87, 0xe3, + 0x00, 0xd7, 0xc1, 0xb3, 0x30, 0xba, 0x1d, 0x44, 0x31, 0xc5, 0x66, 0x6d, 0x0c, 0x25, 0x7c, 0xe2, + 0x0d, 0x51, 0x8e, 0x15, 0x06, 0x7a, 0x15, 0x26, 0x9a, 0x7a, 0x03, 0xe2, 0x2e, 0x53, 0x43, 0x60, + 0xb4, 0x8e, 0x4d, 0x5c, 0xf4, 0x0a, 0x8c, 0xb2, 0xa7, 0xf3, 0x66, 0xe0, 0x09, 0x26, 0x4b, 0x5e, + 0xc8, 0xa3, 0x75, 0x51, 0x7e, 0xa4, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x86, 0x61, 0xda, 0x85, 0x5a, + 0x5d, 0xdc, 0x22, 0x4a, 0x55, 0x73, 0x83, 0x95, 0x62, 0x01, 0xb5, 0xff, 0x7a, 0x41, 0x1b, 0x65, + 0x2a, 0x91, 0x12, 0x54, 0x87, 0x91, 0x7b, 0x8e, 0x1b, 0xbb, 0xfe, 0x96, 0x60, 0x17, 0x9e, 0xee, + 0x79, 0xa5, 0xb0, 0x4a, 0x6f, 0xf1, 0x0a, 0xfc, 0xd2, 0x13, 0x7f, 0xb0, 0x24, 0x43, 0x29, 0x86, + 0x1d, 0xdf, 0xa7, 0x14, 0x0b, 0x83, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, 0x60, 0x49, 0x06, + 0xbd, 0x03, 0x20, 0x97, 0x25, 0x69, 0x89, 0x27, 0xeb, 0x67, 0xfb, 0x13, 0x5d, 0x57, 0x75, 0x16, + 0x27, 0xe9, 0x95, 0x9a, 0xfc, 0xc7, 0x1a, 0x3d, 0x3b, 0x66, 0x6c, 0x55, 0x77, 0x67, 0xd0, 0x77, + 0xd2, 0x93, 0xc0, 0x09, 0x63, 0xd2, 0x5a, 0x88, 0xc5, 0xe0, 0x7c, 0x72, 0x30, 0x99, 0x62, 0xdd, + 0xdd, 0x25, 0xfa, 0xa9, 0x21, 0x88, 0xe0, 0x84, 0x9e, 0xfd, 0x8b, 0x45, 0x98, 0xcd, 0xeb, 0x2e, + 0x5d, 0x74, 0xe4, 0xbe, 0x1b, 0x2f, 0x51, 0x6e, 0xc8, 0x32, 0x17, 0xdd, 0xb2, 0x28, 0xc7, 0x0a, + 0x83, 0xce, 0x7e, 0xe4, 0x6e, 0x49, 0x91, 0x70, 0x28, 0x99, 0xfd, 0x06, 0x2b, 0xc5, 0x02, 0x4a, + 0xf1, 0x42, 0xe2, 0x44, 0xc2, 0x26, 0x42, 0x5b, 0x25, 0x98, 0x95, 0x62, 0x01, 0xd5, 0xf5, 0x4d, + 0xa5, 0x3e, 0xfa, 0x26, 0x63, 0x88, 0x86, 0x4e, 0x76, 0x88, 0xd0, 0x17, 0x01, 0x36, 0x5d, 0xdf, + 0x8d, 0xb6, 0x19, 0xf5, 0xe1, 0x63, 0x53, 0x57, 0xbc, 0xd4, 0x8a, 0xa2, 0x82, 0x35, 0x8a, 0xe8, + 0x25, 0x18, 0x53, 0x1b, 0xb0, 0x56, 0x65, 0x0f, 0x44, 0xda, 0x83, 0x7b, 0x72, 0x1a, 0x55, 0xb1, + 0x8e, 0x67, 0xbf, 0x9b, 0x5e, 0x2f, 0x62, 0x07, 0x68, 0xe3, 0x6b, 0x0d, 0x3a, 0xbe, 0x85, 0xde, + 0xe3, 0x6b, 0xff, 0x7a, 0x11, 0xa6, 0x8c, 0xc6, 0x3a, 0xd1, 0x00, 0x67, 0xd6, 0x75, 0x7a, 0xcf, + 0x39, 0x31, 0x11, 0xfb, 0xcf, 0xee, 0xbf, 0x55, 0xf4, 0xbb, 0x90, 0xee, 0x00, 0x5e, 0x1f, 0x7d, + 0x11, 0xca, 0x9e, 0x13, 0x31, 0xdd, 0x15, 0x11, 0xfb, 0x6e, 0x10, 0x62, 0x89, 0x1c, 0xe1, 0x44, + 0xb1, 0x76, 0xd5, 0x70, 0xda, 0x09, 0x49, 0x7a, 0x21, 0x53, 0xde, 0x47, 0x1a, 0xdd, 0xa8, 0x4e, + 0x50, 0x06, 0x69, 0x1f, 0x73, 0x18, 0x7a, 0x05, 0xc6, 0x43, 0xc2, 0x56, 0xc5, 0x12, 0x65, 0xe5, + 0xd8, 0x32, 0x1b, 0x4a, 0x78, 0x3e, 0xac, 0xc1, 0xb0, 0x81, 0x99, 0xb0, 0xf2, 0xc3, 0x3d, 0x58, + 0xf9, 0xa7, 0x61, 0x84, 0xfd, 0x50, 0x2b, 0x40, 0xcd, 0x46, 0x8d, 0x17, 0x63, 0x09, 0x4f, 0x2f, + 0x98, 0xd1, 0x01, 0x17, 0xcc, 0x27, 0x61, 0xb2, 0xea, 0x90, 0xdd, 0xc0, 0x5f, 0xf6, 0x5b, 0xed, + 0xc0, 0xf5, 0x63, 0x34, 0x0b, 0x25, 0x76, 0x3b, 0xf0, 0xbd, 0x5d, 0xa2, 0x14, 0x70, 0x89, 0x32, + 0xe6, 0xf6, 0x16, 0x9c, 0xab, 0x06, 0xf7, 0xfc, 0x7b, 0x4e, 0xd8, 0x5a, 0xa8, 0xd7, 0x34, 0x39, + 0x77, 0x4d, 0xca, 0x59, 0xdc, 0x88, 0x25, 0xf3, 0x4c, 0xd5, 0x6a, 0xf2, 0xbb, 0x76, 0xc5, 0xf5, + 0x48, 0x8e, 0x36, 0xe2, 0x6f, 0x15, 0x8c, 0x96, 0x12, 0x7c, 0xf5, 0x60, 0x64, 0xe5, 0x3e, 0x18, + 0xbd, 0x09, 0xa3, 0x9b, 0x2e, 0xf1, 0x5a, 0x98, 0x6c, 0x8a, 0x25, 0xf6, 0x54, 0xfe, 0xbb, 0xfc, + 0x0a, 0xc5, 0x94, 0xda, 0x27, 0x2e, 0xa5, 0xad, 0x88, 0xca, 0x58, 0x91, 0x41, 0x3b, 0x30, 0x2d, + 0xc5, 0x00, 0x09, 0x15, 0x0b, 0xee, 0xe9, 0x5e, 0xb2, 0x85, 0x49, 0xfc, 0xec, 0xe1, 0x41, 0x65, + 0x1a, 0xa7, 0xc8, 0xe0, 0x2e, 0xc2, 0x54, 0x2c, 0xdb, 0xa5, 0x47, 0x6b, 0x89, 0x0d, 0x3f, 0x13, + 0xcb, 0x98, 0x84, 0xc9, 0x4a, 0xed, 0x1f, 0xb5, 0xe0, 0xd1, 0xae, 0x91, 0x11, 0x92, 0xf6, 0x09, + 0xcf, 0x42, 0x5a, 0xf2, 0x2d, 0xf4, 0x97, 0x7c, 0xed, 0x7f, 0x68, 0xc1, 0xd9, 0xe5, 0xdd, 0x76, + 0xbc, 0x5f, 0x75, 0xcd, 0xd7, 0x9d, 0x97, 0x61, 0x78, 0x97, 0xb4, 0xdc, 0xce, 0xae, 0x98, 0xb9, + 0x8a, 0x3c, 0x7e, 0x56, 0x59, 0xe9, 0xd1, 0x41, 0x65, 0xa2, 0x11, 0x07, 0xa1, 0xb3, 0x45, 0x78, + 0x01, 0x16, 0xe8, 0xec, 0x10, 0x77, 0xdf, 0x27, 0xb7, 0xdc, 0x5d, 0x57, 0xda, 0x59, 0xf4, 0xd4, + 0x9d, 0xcd, 0xcb, 0x01, 0x9d, 0x7f, 0xb3, 0xe3, 0xf8, 0xb1, 0x1b, 0xef, 0x8b, 0x87, 0x19, 0x49, + 0x04, 0x27, 0xf4, 0xec, 0x6f, 0x5a, 0x30, 0x25, 0xd7, 0xfd, 0x42, 0xab, 0x15, 0x92, 0x28, 0x42, + 0x73, 0x50, 0x70, 0xdb, 0xa2, 0x97, 0x20, 0x7a, 0x59, 0xa8, 0xd5, 0x71, 0xc1, 0x6d, 0xa3, 0x3a, + 0x94, 0xb9, 0xb9, 0x46, 0xb2, 0xb8, 0x06, 0x32, 0xfa, 0x60, 0x3d, 0x58, 0x97, 0x35, 0x71, 0x42, + 0x44, 0x72, 0x70, 0xec, 0xcc, 0x2c, 0x9a, 0xaf, 0x5e, 0x37, 0x44, 0x39, 0x56, 0x18, 0xe8, 0x0a, + 0x8c, 0xfa, 0x41, 0x8b, 0x5b, 0xcf, 0xf0, 0xdb, 0x8f, 0x2d, 0xd9, 0x35, 0x51, 0x86, 0x15, 0xd4, + 0xfe, 0x21, 0x0b, 0xc6, 0xe5, 0x97, 0x0d, 0xc8, 0x4c, 0xd2, 0xad, 0x95, 0x30, 0x92, 0xc9, 0xd6, + 0xa2, 0xcc, 0x20, 0x83, 0x18, 0x3c, 0x60, 0xf1, 0x38, 0x3c, 0xa0, 0xfd, 0x23, 0x05, 0x98, 0x94, + 0xdd, 0x69, 0x74, 0x36, 0x22, 0x12, 0xa3, 0x75, 0x28, 0x3b, 0x7c, 0xc8, 0x89, 0x5c, 0xb1, 0x4f, + 0x66, 0x0b, 0x1f, 0xc6, 0xfc, 0x24, 0xd7, 0xf2, 0x82, 0xac, 0x8d, 0x13, 0x42, 0xc8, 0x83, 0x19, + 0x3f, 0x88, 0xd9, 0x11, 0xad, 0xe0, 0xbd, 0x9e, 0x40, 0xd2, 0xd4, 0xcf, 0x0b, 0xea, 0x33, 0x6b, + 0x69, 0x2a, 0xb8, 0x9b, 0x30, 0x5a, 0x96, 0x0a, 0x8f, 0x62, 0xbe, 0xb8, 0xa1, 0xcf, 0x42, 0xb6, + 0xbe, 0xc3, 0xfe, 0x15, 0x0b, 0xca, 0x12, 0xed, 0x34, 0x5e, 0xbb, 0x56, 0x61, 0x24, 0x62, 0x93, + 0x20, 0x87, 0xc6, 0xee, 0xd5, 0x71, 0x3e, 0x5f, 0xc9, 0xcd, 0xc3, 0xff, 0x47, 0x58, 0xd2, 0x60, + 0xfa, 0x6e, 0xd5, 0xfd, 0x8f, 0x88, 0xbe, 0x5b, 0xf5, 0x27, 0xe7, 0x86, 0xf9, 0x6f, 0xac, 0xcf, + 0x9a, 0x58, 0x4b, 0x19, 0xa4, 0x76, 0x48, 0x36, 0xdd, 0xfb, 0x69, 0x06, 0xa9, 0xce, 0x4a, 0xb1, + 0x80, 0xa2, 0x77, 0x60, 0xbc, 0x29, 0x15, 0x9d, 0xc9, 0x31, 0x70, 0xb9, 0xa7, 0xd2, 0x5d, 0xbd, + 0xcf, 0x70, 0xcb, 0xda, 0x25, 0xad, 0x3e, 0x36, 0xa8, 0x99, 0xcf, 0xed, 0xc5, 0x7e, 0xcf, 0xed, + 0x09, 0xdd, 0xfc, 0xc7, 0xe7, 0x1f, 0xb3, 0x60, 0x98, 0xab, 0xcb, 0x06, 0xd3, 0x2f, 0x6a, 0xcf, + 0x55, 0xc9, 0xd8, 0xdd, 0xa5, 0x85, 0xe2, 0xf9, 0x09, 0xad, 0x42, 0x99, 0xfd, 0x60, 0x6a, 0x83, + 0x62, 0xbe, 0x49, 0x31, 0x6f, 0x55, 0xef, 0xe0, 0x5d, 0x59, 0x0d, 0x27, 0x14, 0xec, 0xaf, 0x15, + 0xe9, 0x51, 0x95, 0xa0, 0x1a, 0x37, 0xb8, 0xf5, 0xf0, 0x6e, 0xf0, 0xc2, 0xc3, 0xba, 0xc1, 0xb7, + 0x60, 0xaa, 0xa9, 0x3d, 0x6e, 0x25, 0x33, 0x79, 0xa5, 0xe7, 0x22, 0xd1, 0xde, 0xc1, 0xb8, 0xca, + 0x68, 0xc9, 0x24, 0x82, 0xd3, 0x54, 0xd1, 0x77, 0xc2, 0x38, 0x9f, 0x67, 0xd1, 0x0a, 0xb7, 0x58, + 0xf8, 0x44, 0xfe, 0x7a, 0xd1, 0x9b, 0x60, 0x2b, 0xb1, 0xa1, 0x55, 0xc7, 0x06, 0x31, 0xfb, 0x17, + 0x47, 0x61, 0x68, 0x79, 0x8f, 0xf8, 0xf1, 0x29, 0x1c, 0x48, 0x4d, 0x98, 0x74, 0xfd, 0xbd, 0xc0, + 0xdb, 0x23, 0x2d, 0x0e, 0x3f, 0xce, 0xe5, 0xfa, 0x88, 0x20, 0x3d, 0x59, 0x33, 0x48, 0xe0, 0x14, + 0xc9, 0x87, 0x21, 0x61, 0x5e, 0x87, 0x61, 0x3e, 0xf7, 0x42, 0xbc, 0xcc, 0x54, 0x06, 0xb3, 0x41, + 0x14, 0xbb, 0x20, 0x91, 0x7e, 0xb9, 0xf6, 0x59, 0x54, 0x47, 0xef, 0xc2, 0xe4, 0xa6, 0x1b, 0x46, + 0x31, 0x15, 0x0d, 0xa3, 0xd8, 0xd9, 0x6d, 0x3f, 0x80, 0x44, 0xa9, 0xc6, 0x61, 0xc5, 0xa0, 0x84, + 0x53, 0x94, 0xd1, 0x16, 0x4c, 0x50, 0x21, 0x27, 0x69, 0x6a, 0xe4, 0xd8, 0x4d, 0x29, 0x95, 0xd1, + 0x2d, 0x9d, 0x10, 0x36, 0xe9, 0xd2, 0xc3, 0xa4, 0xc9, 0x84, 0xa2, 0x51, 0xc6, 0x51, 0xa8, 0xc3, + 0x84, 0x4b, 0x43, 0x1c, 0x46, 0xcf, 0x24, 0x66, 0xb6, 0x52, 0x36, 0xcf, 0x24, 0xcd, 0x38, 0xe5, + 0x4b, 0x50, 0x26, 0x74, 0x08, 0x29, 0x61, 0xa1, 0x18, 0xbf, 0x3a, 0x58, 0x5f, 0x57, 0xdd, 0x66, + 0x18, 0x98, 0xb2, 0xfc, 0xb2, 0xa4, 0x84, 0x13, 0xa2, 0x68, 0x09, 0x86, 0x23, 0x12, 0xba, 0x24, + 0x12, 0x2a, 0xf2, 0x1e, 0xd3, 0xc8, 0xd0, 0xb8, 0xed, 0x39, 0xff, 0x8d, 0x45, 0x55, 0xba, 0xbc, + 0x1c, 0x26, 0x0d, 0x31, 0xad, 0xb8, 0xb6, 0xbc, 0x16, 0x58, 0x29, 0x16, 0x50, 0xf4, 0x06, 0x8c, + 0x84, 0xc4, 0x63, 0xca, 0xa2, 0x89, 0xc1, 0x17, 0x39, 0xd7, 0x3d, 0xf1, 0x7a, 0x58, 0x12, 0x40, + 0x37, 0x01, 0x85, 0x84, 0xf2, 0x10, 0xae, 0xbf, 0xa5, 0x8c, 0x39, 0x84, 0xae, 0xfb, 0x31, 0xd1, + 0xfe, 0x19, 0x9c, 0x60, 0x48, 0xab, 0x54, 0x9c, 0x51, 0x0d, 0x5d, 0x87, 0x19, 0x55, 0x5a, 0xf3, + 0xa3, 0xd8, 0xf1, 0x9b, 0x84, 0xa9, 0xb9, 0xcb, 0x09, 0x57, 0x84, 0xd3, 0x08, 0xb8, 0xbb, 0x8e, + 0xfd, 0xd3, 0x94, 0x9d, 0xa1, 0xa3, 0x75, 0x0a, 0xbc, 0xc0, 0xeb, 0x26, 0x2f, 0x70, 0x3e, 0x77, + 0xe6, 0x72, 0xf8, 0x80, 0x43, 0x0b, 0xc6, 0xb4, 0x99, 0x4d, 0xd6, 0xac, 0xd5, 0x63, 0xcd, 0x76, + 0x60, 0x9a, 0xae, 0xf4, 0xdb, 0x1b, 0x11, 0x09, 0xf7, 0x48, 0x8b, 0x2d, 0xcc, 0xc2, 0x83, 0x2d, + 0x4c, 0xf5, 0xca, 0x7c, 0x2b, 0x45, 0x10, 0x77, 0x35, 0x81, 0x5e, 0x96, 0x9a, 0x93, 0xa2, 0x61, + 0xa4, 0xc5, 0xb5, 0x22, 0x47, 0x07, 0x95, 0x69, 0xed, 0x43, 0x74, 0x4d, 0x89, 0xfd, 0x25, 0xf9, + 0x8d, 0xea, 0x35, 0xbf, 0xa9, 0x16, 0x4b, 0xea, 0x35, 0x5f, 0x2d, 0x07, 0x9c, 0xe0, 0xd0, 0x3d, + 0x4a, 0x45, 0x90, 0xf4, 0x6b, 0x3e, 0x15, 0x50, 0x30, 0x83, 0xd8, 0x2f, 0x00, 0x2c, 0xdf, 0x27, + 0x4d, 0xbe, 0xd4, 0xf5, 0x07, 0x48, 0x2b, 0xff, 0x01, 0xd2, 0xfe, 0x0f, 0x16, 0x4c, 0xae, 0x2c, + 0x19, 0x62, 0xe2, 0x3c, 0x00, 0x97, 0x8d, 0xde, 0x7a, 0x6b, 0x4d, 0xea, 0xd6, 0xb9, 0x7a, 0x54, + 0x95, 0x62, 0x0d, 0x03, 0x9d, 0x87, 0xa2, 0xd7, 0xf1, 0x85, 0xc8, 0x32, 0x72, 0x78, 0x50, 0x29, + 0xde, 0xea, 0xf8, 0x98, 0x96, 0x69, 0x16, 0x82, 0xc5, 0x81, 0x2d, 0x04, 0xfb, 0xba, 0x57, 0xa1, + 0x0a, 0x0c, 0xdd, 0xbb, 0xe7, 0xb6, 0xb8, 0x11, 0xbb, 0xd0, 0xfb, 0xbf, 0xf5, 0x56, 0xad, 0x1a, + 0x61, 0x5e, 0x6e, 0x7f, 0xb5, 0x08, 0x73, 0x2b, 0x1e, 0xb9, 0xff, 0x01, 0x0d, 0xf9, 0x07, 0xb5, + 0x6f, 0x3c, 0x1e, 0xbf, 0x78, 0x5c, 0x1b, 0xd6, 0xfe, 0xe3, 0xb1, 0x09, 0x23, 0xfc, 0x31, 0x5b, + 0x9a, 0xf5, 0xbf, 0x9a, 0xd5, 0x7a, 0xfe, 0x80, 0xcc, 0xf3, 0x47, 0x71, 0x61, 0xce, 0xaf, 0x6e, + 0x5a, 0x51, 0x8a, 0x25, 0xf1, 0xb9, 0xcf, 0xc0, 0xb8, 0x8e, 0x79, 0x2c, 0x6b, 0xf2, 0xbf, 0x54, + 0x84, 0x69, 0xda, 0x83, 0x87, 0x3a, 0x11, 0x77, 0xba, 0x27, 0xe2, 0xa4, 0x2d, 0x8a, 0xfb, 0xcf, + 0xc6, 0x3b, 0xe9, 0xd9, 0x78, 0x3e, 0x6f, 0x36, 0x4e, 0x7b, 0x0e, 0xbe, 0xd7, 0x82, 0x33, 0x2b, + 0x5e, 0xd0, 0xdc, 0x49, 0x59, 0xfd, 0xbe, 0x04, 0x63, 0xf4, 0x1c, 0x8f, 0x0c, 0x2f, 0x22, 0xc3, + 0xaf, 0x4c, 0x80, 0xb0, 0x8e, 0xa7, 0x55, 0xbb, 0x73, 0xa7, 0x56, 0xcd, 0x72, 0x47, 0x13, 0x20, + 0xac, 0xe3, 0xd9, 0xdf, 0xb0, 0xe0, 0xc2, 0xf5, 0xa5, 0xe5, 0x64, 0x29, 0x76, 0x79, 0xc4, 0x51, + 0x29, 0xb0, 0xa5, 0x75, 0x25, 0x91, 0x02, 0xab, 0xac, 0x17, 0x02, 0xfa, 0x51, 0xf1, 0xf6, 0xfc, + 0x29, 0x0b, 0xce, 0x5c, 0x77, 0x63, 0x7a, 0x2d, 0xa7, 0x7d, 0xb3, 0xe8, 0xbd, 0x1c, 0xb9, 0x71, + 0x10, 0xee, 0xa7, 0x7d, 0xb3, 0xb0, 0x82, 0x60, 0x0d, 0x8b, 0xb7, 0xbc, 0xe7, 0x32, 0x33, 0xaa, + 0x82, 0xa9, 0x8a, 0xc2, 0xa2, 0x1c, 0x2b, 0x0c, 0xfa, 0x61, 0x2d, 0x37, 0x64, 0xa2, 0xc4, 0xbe, + 0x38, 0x61, 0xd5, 0x87, 0x55, 0x25, 0x00, 0x27, 0x38, 0xf6, 0x1f, 0x5a, 0x50, 0xb9, 0xee, 0x75, + 0xa2, 0x98, 0x84, 0x9b, 0x51, 0xce, 0xe9, 0xf8, 0x02, 0x94, 0x89, 0x14, 0xdc, 0x45, 0xaf, 0x15, + 0xab, 0xa9, 0x24, 0x7a, 0xee, 0x22, 0xa6, 0xf0, 0x06, 0xf0, 0x21, 0x38, 0x9e, 0x11, 0xf8, 0x0a, + 0x20, 0xa2, 0xb7, 0xa5, 0xfb, 0xcc, 0x31, 0xe7, 0x9b, 0xe5, 0x2e, 0x28, 0xce, 0xa8, 0x61, 0xff, + 0xa8, 0x05, 0xe7, 0xd4, 0x07, 0x7f, 0xe4, 0x3e, 0xd3, 0xfe, 0xb9, 0x02, 0x4c, 0xdc, 0x58, 0x5f, + 0xaf, 0x5f, 0x27, 0xb1, 0xb8, 0xb6, 0xfb, 0xeb, 0xd6, 0xb1, 0xa6, 0x22, 0xec, 0x25, 0x05, 0x76, + 0x62, 0xd7, 0x9b, 0xe7, 0xae, 0xd7, 0xf3, 0x35, 0x3f, 0xbe, 0x1d, 0x36, 0xe2, 0xd0, 0xf5, 0xb7, + 0x32, 0x95, 0x8a, 0x92, 0xb9, 0x28, 0xe6, 0x31, 0x17, 0xe8, 0x05, 0x18, 0x66, 0xbe, 0xdf, 0x72, + 0x12, 0x1e, 0x53, 0x42, 0x14, 0x2b, 0x3d, 0x3a, 0xa8, 0x94, 0xef, 0xe0, 0x1a, 0xff, 0x83, 0x05, + 0x2a, 0xba, 0x03, 0x63, 0xdb, 0x71, 0xdc, 0xbe, 0x41, 0x9c, 0x16, 0x09, 0xe5, 0x71, 0x78, 0x31, + 0xeb, 0x38, 0xa4, 0x83, 0xc0, 0xd1, 0x92, 0x13, 0x24, 0x29, 0x8b, 0xb0, 0x4e, 0xc7, 0x6e, 0x00, + 0x24, 0xb0, 0x13, 0x52, 0xa8, 0xd8, 0xbf, 0x6f, 0xc1, 0x08, 0x77, 0xc3, 0x0b, 0xd1, 0x6b, 0x50, + 0x22, 0xf7, 0x49, 0x53, 0xb0, 0xca, 0x99, 0x1d, 0x4e, 0x38, 0x2d, 0xfe, 0x3c, 0x40, 0xff, 0x63, + 0x56, 0x0b, 0xdd, 0x80, 0x11, 0xda, 0xdb, 0xeb, 0xca, 0x27, 0xf1, 0x89, 0xbc, 0x2f, 0x56, 0xd3, + 0xce, 0x99, 0x33, 0x51, 0x84, 0x65, 0x75, 0xa6, 0xea, 0x6e, 0xb6, 0x1b, 0xf4, 0xc4, 0x8e, 0x7b, + 0x31, 0x16, 0xeb, 0x4b, 0x75, 0x8e, 0x24, 0xa8, 0x71, 0x55, 0xb7, 0x2c, 0xc4, 0x09, 0x11, 0x7b, + 0x1d, 0xca, 0x74, 0x52, 0x17, 0x3c, 0xd7, 0xe9, 0xad, 0x65, 0x7f, 0x06, 0xca, 0x52, 0xe3, 0x1d, + 0x09, 0x4f, 0x2e, 0x46, 0x55, 0x2a, 0xc4, 0x23, 0x9c, 0xc0, 0xed, 0x4d, 0x38, 0xcb, 0x4c, 0x1d, + 0x9c, 0x78, 0xdb, 0xd8, 0x63, 0xfd, 0x17, 0xf3, 0xb3, 0x42, 0xf2, 0xe4, 0x33, 0x33, 0xab, 0x39, + 0x4b, 0x8c, 0x4b, 0x8a, 0x89, 0x14, 0x6a, 0xff, 0x41, 0x09, 0x1e, 0xab, 0x35, 0xf2, 0x3d, 0x34, + 0x5f, 0x81, 0x71, 0xce, 0x97, 0xd2, 0xa5, 0xed, 0x78, 0xa2, 0x5d, 0xf5, 0x10, 0xb8, 0xae, 0xc1, + 0xb0, 0x81, 0x89, 0x2e, 0x40, 0xd1, 0x7d, 0xcf, 0x4f, 0xdb, 0x1d, 0xd7, 0xde, 0x5c, 0xc3, 0xb4, + 0x9c, 0x82, 0x29, 0x8b, 0xcb, 0xef, 0x0e, 0x05, 0x56, 0x6c, 0xee, 0xeb, 0x30, 0xe9, 0x46, 0xcd, + 0xc8, 0xad, 0xf9, 0xf4, 0x9c, 0xd1, 0x4e, 0x2a, 0xa5, 0x15, 0xa1, 0x9d, 0x56, 0x50, 0x9c, 0xc2, + 0xd6, 0x2e, 0xb2, 0xa1, 0x81, 0xd9, 0xe4, 0xbe, 0xae, 0x4d, 0x54, 0x02, 0x68, 0xb3, 0xaf, 0x8b, + 0x98, 0x15, 0x9f, 0x90, 0x00, 0xf8, 0x07, 0x47, 0x58, 0xc2, 0xa8, 0xc8, 0xd9, 0xdc, 0x76, 0xda, + 0x0b, 0x9d, 0x78, 0xbb, 0xea, 0x46, 0xcd, 0x60, 0x8f, 0x84, 0xfb, 0x4c, 0x5b, 0x30, 0x9a, 0x88, + 0x9c, 0x0a, 0xb0, 0x74, 0x63, 0xa1, 0x4e, 0x31, 0x71, 0x77, 0x1d, 0x93, 0x0d, 0x86, 0x93, 0x60, + 0x83, 0x17, 0x60, 0x4a, 0x36, 0xd3, 0x20, 0x11, 0xbb, 0x14, 0xc7, 0x58, 0xc7, 0x94, 0x6d, 0xb1, + 0x28, 0x56, 0xdd, 0x4a, 0xe3, 0xa3, 0x97, 0x61, 0xc2, 0xf5, 0xdd, 0xd8, 0x75, 0xe2, 0x20, 0x64, + 0x2c, 0x05, 0x57, 0x0c, 0x30, 0xd3, 0xbd, 0x9a, 0x0e, 0xc0, 0x26, 0x9e, 0xfd, 0x5f, 0x4a, 0x30, + 0xc3, 0xa6, 0xed, 0x5b, 0x2b, 0xec, 0x23, 0xb3, 0xc2, 0xee, 0x74, 0xaf, 0xb0, 0x93, 0xe0, 0xef, + 0x3f, 0xcc, 0x65, 0xf6, 0x2e, 0x94, 0x95, 0xf1, 0xb3, 0xf4, 0x7e, 0xb0, 0x72, 0xbc, 0x1f, 0xfa, + 0x73, 0x1f, 0xf2, 0xdd, 0xba, 0x98, 0xf9, 0x6e, 0xfd, 0x77, 0x2c, 0x48, 0x6c, 0x40, 0xd1, 0x0d, + 0x28, 0xb7, 0x03, 0x66, 0x67, 0x11, 0x4a, 0xe3, 0xa5, 0xc7, 0x32, 0x2f, 0x2a, 0x7e, 0x29, 0xf2, + 0xf1, 0xab, 0xcb, 0x1a, 0x38, 0xa9, 0x8c, 0x16, 0x61, 0xa4, 0x1d, 0x92, 0x46, 0xcc, 0x7c, 0x7e, + 0xfb, 0xd2, 0xe1, 0x6b, 0x84, 0xe3, 0x63, 0x59, 0xd1, 0xfe, 0x79, 0x0b, 0x80, 0x3f, 0x0d, 0x3b, + 0xfe, 0x16, 0x39, 0x05, 0x75, 0x77, 0x15, 0x4a, 0x51, 0x9b, 0x34, 0x7b, 0x59, 0xc0, 0x24, 0xfd, + 0x69, 0xb4, 0x49, 0x33, 0x19, 0x70, 0xfa, 0x0f, 0xb3, 0xda, 0xf6, 0xf7, 0x01, 0x4c, 0x26, 0x68, + 0xb5, 0x98, 0xec, 0xa2, 0xe7, 0x0c, 0x1f, 0xc0, 0xf3, 0x29, 0x1f, 0xc0, 0x32, 0xc3, 0xd6, 0x34, + 0xab, 0xef, 0x42, 0x71, 0xd7, 0xb9, 0x2f, 0x54, 0x67, 0xcf, 0xf4, 0xee, 0x06, 0xa5, 0x3f, 0xbf, + 0xea, 0xdc, 0xe7, 0x42, 0xe2, 0x33, 0x72, 0x81, 0xac, 0x3a, 0xf7, 0x8f, 0xb8, 0x9d, 0x0b, 0x3b, + 0xa4, 0x6e, 0xb9, 0x51, 0xfc, 0xe5, 0xff, 0x9c, 0xfc, 0x67, 0xcb, 0x8e, 0x36, 0xc2, 0xda, 0x72, + 0x7d, 0xf1, 0x50, 0x3a, 0x50, 0x5b, 0xae, 0x9f, 0x6e, 0xcb, 0xf5, 0x07, 0x68, 0xcb, 0xf5, 0xd1, + 0xfb, 0x30, 0x22, 0x8c, 0x12, 0x98, 0x71, 0xbb, 0xa9, 0x96, 0xcb, 0x6b, 0x4f, 0xd8, 0x34, 0xf0, + 0x36, 0xaf, 0x4a, 0x21, 0x58, 0x94, 0xf6, 0x6d, 0x57, 0x36, 0x88, 0xfe, 0xa6, 0x05, 0x93, 0xe2, + 0x37, 0x26, 0xef, 0x75, 0x48, 0x14, 0x0b, 0xde, 0xf3, 0xd3, 0x83, 0xf7, 0x41, 0x54, 0xe4, 0x5d, + 0xf9, 0xb4, 0x3c, 0x66, 0x4d, 0x60, 0xdf, 0x1e, 0xa5, 0x7a, 0x81, 0xfe, 0xb1, 0x05, 0x67, 0x77, + 0x9d, 0xfb, 0xbc, 0x45, 0x5e, 0x86, 0x9d, 0xd8, 0x0d, 0x84, 0xb1, 0xfe, 0x6b, 0x83, 0x4d, 0x7f, + 0x57, 0x75, 0xde, 0x49, 0x69, 0xd7, 0x7b, 0x36, 0x0b, 0xa5, 0x6f, 0x57, 0x33, 0xfb, 0x35, 0xb7, + 0x09, 0xa3, 0x72, 0xbd, 0x65, 0xa8, 0x1a, 0xaa, 0x3a, 0x63, 0x7d, 0x6c, 0x9b, 0x10, 0xdd, 0x11, + 0x8f, 0xb6, 0x23, 0xd6, 0xda, 0x43, 0x6d, 0xe7, 0x5d, 0x18, 0xd7, 0xd7, 0xd8, 0x43, 0x6d, 0xeb, + 0x3d, 0x38, 0x93, 0xb1, 0x96, 0x1e, 0x6a, 0x93, 0xf7, 0xe0, 0x7c, 0xee, 0xfa, 0x78, 0x98, 0x0d, + 0xdb, 0x3f, 0x67, 0xe9, 0xe7, 0xe0, 0x29, 0xbc, 0x39, 0x2c, 0x99, 0x6f, 0x0e, 0x17, 0x7b, 0xef, + 0x9c, 0x9c, 0x87, 0x87, 0x77, 0xf4, 0x4e, 0xd3, 0x53, 0x1d, 0xbd, 0x01, 0xc3, 0x1e, 0x2d, 0x91, + 0xd6, 0x30, 0x76, 0xff, 0x1d, 0x99, 0xf0, 0x52, 0xac, 0x3c, 0xc2, 0x82, 0x82, 0xfd, 0x4b, 0x16, + 0x94, 0x4e, 0x61, 0x24, 0xb0, 0x39, 0x12, 0xcf, 0xe5, 0x92, 0x16, 0x31, 0xdc, 0xe6, 0xb1, 0x73, + 0x6f, 0xf9, 0x7e, 0x4c, 0xfc, 0x88, 0x89, 0x8a, 0x99, 0x03, 0xf3, 0x5d, 0x70, 0xe6, 0x56, 0xe0, + 0xb4, 0x16, 0x1d, 0xcf, 0xf1, 0x9b, 0x24, 0xac, 0xf9, 0x5b, 0x7d, 0xcd, 0xb2, 0x74, 0x23, 0xaa, + 0x42, 0x3f, 0x23, 0x2a, 0x7b, 0x1b, 0x90, 0xde, 0x80, 0x30, 0x5c, 0xc5, 0x30, 0xe2, 0xf2, 0xa6, + 0xc4, 0xf0, 0x3f, 0x95, 0xcd, 0xdd, 0x75, 0xf5, 0x4c, 0x33, 0xc9, 0xe4, 0x05, 0x58, 0x12, 0xb2, + 0x5f, 0x81, 0x4c, 0x67, 0xb5, 0xfe, 0x6a, 0x03, 0xfb, 0xf3, 0x30, 0xc3, 0x6a, 0x1e, 0x53, 0xa4, + 0xb5, 0x53, 0x5a, 0xc9, 0x8c, 0x18, 0x59, 0xf6, 0x57, 0x2c, 0x98, 0x5a, 0x4b, 0x05, 0xec, 0xb8, + 0xcc, 0x1e, 0x40, 0x33, 0x94, 0xe1, 0x0d, 0x56, 0x8a, 0x05, 0xf4, 0xc4, 0x75, 0x50, 0x7f, 0x66, + 0x41, 0xe2, 0x3f, 0x7a, 0x0a, 0x8c, 0xd7, 0x92, 0xc1, 0x78, 0x65, 0xea, 0x46, 0x54, 0x77, 0xf2, + 0xf8, 0x2e, 0x74, 0x53, 0x05, 0x4b, 0xe8, 0xa1, 0x16, 0x49, 0xc8, 0x70, 0xd7, 0xfa, 0x49, 0x33, + 0xa2, 0x82, 0x0c, 0x9f, 0xc0, 0x6c, 0xa7, 0x14, 0xee, 0x47, 0xc4, 0x76, 0x4a, 0xf5, 0x27, 0x67, + 0x87, 0xd6, 0xb5, 0x2e, 0xb3, 0x93, 0xeb, 0xdb, 0x99, 0x2d, 0xbc, 0xe3, 0xb9, 0xef, 0x13, 0x15, + 0xf1, 0xa5, 0x22, 0x6c, 0xdb, 0x45, 0xe9, 0xd1, 0x41, 0x65, 0x42, 0xfd, 0xe3, 0x61, 0xc1, 0x92, + 0x2a, 0xf6, 0x0d, 0x98, 0x4a, 0x0d, 0x18, 0x7a, 0x09, 0x86, 0xda, 0xdb, 0x4e, 0x44, 0x52, 0xf6, + 0xa2, 0x43, 0x75, 0x5a, 0x78, 0x74, 0x50, 0x99, 0x54, 0x15, 0x58, 0x09, 0xe6, 0xd8, 0xf6, 0xff, + 0xb0, 0xa0, 0xb4, 0x16, 0xb4, 0x4e, 0x63, 0x31, 0xbd, 0x6e, 0x2c, 0xa6, 0xc7, 0xf3, 0x82, 0x2a, + 0xe6, 0xae, 0xa3, 0x95, 0xd4, 0x3a, 0xba, 0x98, 0x4b, 0xa1, 0xf7, 0x12, 0xda, 0x85, 0x31, 0x16, + 0xaa, 0x51, 0xd8, 0xaf, 0xbe, 0x60, 0xc8, 0x00, 0x95, 0x94, 0x0c, 0x30, 0xa5, 0xa1, 0x6a, 0x92, + 0xc0, 0xd3, 0x30, 0x22, 0x6c, 0x28, 0xd3, 0x56, 0xff, 0x02, 0x17, 0x4b, 0xb8, 0xfd, 0x63, 0x45, + 0x30, 0x42, 0x43, 0xa2, 0x5f, 0xb1, 0x60, 0x3e, 0xe4, 0x6e, 0x94, 0xad, 0x6a, 0x27, 0x74, 0xfd, + 0xad, 0x46, 0x73, 0x9b, 0xb4, 0x3a, 0x9e, 0xeb, 0x6f, 0xd5, 0xb6, 0xfc, 0x40, 0x15, 0x2f, 0xdf, + 0x27, 0xcd, 0x0e, 0x7b, 0x08, 0xe9, 0x13, 0x87, 0x52, 0xd9, 0x28, 0x5d, 0x3b, 0x3c, 0xa8, 0xcc, + 0xe3, 0x63, 0xd1, 0xc6, 0xc7, 0xec, 0x0b, 0xfa, 0x86, 0x05, 0x57, 0x79, 0xc4, 0xc4, 0xc1, 0xfb, + 0xdf, 0x43, 0x62, 0xaa, 0x4b, 0x52, 0x09, 0x91, 0x75, 0x12, 0xee, 0x2e, 0xbe, 0x2c, 0x06, 0xf4, + 0x6a, 0xfd, 0x78, 0x6d, 0xe1, 0xe3, 0x76, 0xce, 0xfe, 0x57, 0x45, 0x98, 0x10, 0x1e, 0xfc, 0x22, + 0x34, 0xcc, 0x4b, 0xc6, 0x92, 0x78, 0x22, 0xb5, 0x24, 0x66, 0x0c, 0xe4, 0x93, 0x89, 0x0a, 0x13, + 0xc1, 0x8c, 0xe7, 0x44, 0xf1, 0x0d, 0xe2, 0x84, 0xf1, 0x06, 0x71, 0xb8, 0xed, 0x4e, 0xf1, 0xd8, + 0x76, 0x46, 0x4a, 0x45, 0x73, 0x2b, 0x4d, 0x0c, 0x77, 0xd3, 0x47, 0x7b, 0x80, 0x98, 0x01, 0x52, + 0xe8, 0xf8, 0x11, 0xff, 0x16, 0x57, 0xbc, 0x19, 0x1c, 0xaf, 0xd5, 0x39, 0xd1, 0x2a, 0xba, 0xd5, + 0x45, 0x0d, 0x67, 0xb4, 0xa0, 0x19, 0x96, 0x0d, 0x0d, 0x6a, 0x58, 0x36, 0xdc, 0xc7, 0xb5, 0xc6, + 0x87, 0xe9, 0xae, 0x20, 0x0c, 0x6f, 0x43, 0x59, 0x19, 0x00, 0x8a, 0x43, 0xa7, 0x77, 0x2c, 0x93, + 0x34, 0x05, 0xae, 0x46, 0x49, 0x8c, 0x4f, 0x13, 0x72, 0xf6, 0x3f, 0x29, 0x18, 0x0d, 0xf2, 0x49, + 0x5c, 0x83, 0x51, 0x27, 0x8a, 0xdc, 0x2d, 0x9f, 0xb4, 0xc4, 0x8e, 0xfd, 0x78, 0xde, 0x8e, 0x35, + 0x9a, 0x61, 0x46, 0x98, 0x0b, 0xa2, 0x26, 0x56, 0x34, 0xd0, 0x0d, 0x6e, 0x21, 0xb5, 0x27, 0x79, + 0xfe, 0xc1, 0xa8, 0x81, 0xb4, 0xa1, 0xda, 0x23, 0x58, 0xd4, 0x47, 0x5f, 0xe0, 0x26, 0x6c, 0x37, + 0xfd, 0xe0, 0x9e, 0x7f, 0x3d, 0x08, 0xa4, 0xdb, 0xdd, 0x60, 0x04, 0x67, 0xa4, 0xe1, 0x9a, 0xaa, + 0x8e, 0x4d, 0x6a, 0x83, 0x05, 0x2a, 0xfa, 0x6e, 0x38, 0x43, 0x49, 0x9b, 0xce, 0x33, 0x11, 0x22, + 0x30, 0x25, 0xc2, 0x43, 0xc8, 0x32, 0x31, 0x76, 0x99, 0xec, 0xbc, 0x59, 0x3b, 0x51, 0xfa, 0xdd, + 0x34, 0x49, 0xe0, 0x34, 0x4d, 0xfb, 0x27, 0x2d, 0x60, 0x66, 0xff, 0xa7, 0xc0, 0x32, 0x7c, 0xd6, + 0x64, 0x19, 0x66, 0xf3, 0x06, 0x39, 0x87, 0x5b, 0x78, 0x91, 0xaf, 0xac, 0x7a, 0x18, 0xdc, 0xdf, + 0x17, 0xe6, 0x03, 0xfd, 0x39, 0x59, 0xfb, 0xff, 0x58, 0xfc, 0x10, 0x53, 0x9e, 0xf8, 0xe8, 0x7b, + 0x60, 0xb4, 0xe9, 0xb4, 0x9d, 0x26, 0x8f, 0x63, 0x9c, 0xab, 0xd5, 0x31, 0x2a, 0xcd, 0x2f, 0x89, + 0x1a, 0x5c, 0x4b, 0x21, 0xc3, 0x8c, 0x8c, 0xca, 0xe2, 0xbe, 0x9a, 0x09, 0xd5, 0xe4, 0xdc, 0x0e, + 0x4c, 0x18, 0xc4, 0x1e, 0xaa, 0x48, 0xfb, 0x3d, 0xfc, 0x8a, 0x55, 0x61, 0x71, 0x76, 0x61, 0xc6, + 0xd7, 0xfe, 0xd3, 0x0b, 0x45, 0x8a, 0x29, 0x1f, 0xef, 0x77, 0x89, 0xb2, 0xdb, 0x47, 0x73, 0x6b, + 0x48, 0x91, 0xc1, 0xdd, 0x94, 0xed, 0x1f, 0xb7, 0xe0, 0x51, 0x1d, 0x51, 0x0b, 0x92, 0xd0, 0x4f, + 0x4f, 0x5c, 0x85, 0xd1, 0xa0, 0x4d, 0x42, 0x27, 0x0e, 0x42, 0x71, 0x6b, 0x5c, 0x91, 0x83, 0x7e, + 0x5b, 0x94, 0x1f, 0x89, 0x80, 0x92, 0x92, 0xba, 0x2c, 0xc7, 0xaa, 0x26, 0x95, 0x63, 0xd8, 0x60, + 0x44, 0x22, 0x80, 0x05, 0x3b, 0x03, 0xd8, 0x93, 0x69, 0x84, 0x05, 0xc4, 0xfe, 0x03, 0x8b, 0x2f, + 0x2c, 0xbd, 0xeb, 0xe8, 0x3d, 0x98, 0xde, 0x75, 0xe2, 0xe6, 0xf6, 0xf2, 0xfd, 0x76, 0xc8, 0xd5, + 0xe3, 0x72, 0x9c, 0x9e, 0xe9, 0x37, 0x4e, 0xda, 0x47, 0x26, 0x56, 0x79, 0xab, 0x29, 0x62, 0xb8, + 0x8b, 0x3c, 0xda, 0x80, 0x31, 0x56, 0xc6, 0xcc, 0xbf, 0xa3, 0x5e, 0xac, 0x41, 0x5e, 0x6b, 0xea, + 0xd5, 0x79, 0x35, 0xa1, 0x83, 0x75, 0xa2, 0xf6, 0x97, 0x8b, 0x7c, 0xb7, 0x33, 0x6e, 0xfb, 0x69, + 0x18, 0x69, 0x07, 0xad, 0xa5, 0x5a, 0x15, 0x8b, 0x59, 0x50, 0xd7, 0x48, 0x9d, 0x17, 0x63, 0x09, + 0x47, 0xaf, 0x02, 0x90, 0xfb, 0x31, 0x09, 0x7d, 0xc7, 0x53, 0x56, 0x32, 0xca, 0x2e, 0xb4, 0x1a, + 0xac, 0x05, 0xf1, 0x9d, 0x88, 0x7c, 0xd7, 0xb2, 0x42, 0xc1, 0x1a, 0x3a, 0xba, 0x06, 0xd0, 0x0e, + 0x83, 0x3d, 0xb7, 0xc5, 0xfc, 0x09, 0x8b, 0xa6, 0x0d, 0x49, 0x5d, 0x41, 0xb0, 0x86, 0x85, 0x5e, + 0x85, 0x89, 0x8e, 0x1f, 0x71, 0x0e, 0xc5, 0xd9, 0x10, 0xe1, 0x18, 0x47, 0x13, 0xeb, 0x86, 0x3b, + 0x3a, 0x10, 0x9b, 0xb8, 0x68, 0x01, 0x86, 0x63, 0x87, 0xd9, 0x44, 0x0c, 0xe5, 0x1b, 0x73, 0xae, + 0x53, 0x0c, 0x3d, 0x8a, 0x2e, 0xad, 0x80, 0x45, 0x45, 0xf4, 0xb6, 0x74, 0xce, 0xe0, 0x67, 0xbd, + 0xb0, 0xa2, 0x1e, 0xec, 0x5e, 0xd0, 0x5c, 0x33, 0x84, 0x75, 0xb6, 0x41, 0xcb, 0xfe, 0x46, 0x19, + 0x20, 0x61, 0xc7, 0xd1, 0xfb, 0x5d, 0xe7, 0xd1, 0xb3, 0xbd, 0x19, 0xf8, 0x93, 0x3b, 0x8c, 0xd0, + 0xf7, 0x5b, 0x30, 0xe6, 0x78, 0x5e, 0xd0, 0x74, 0x62, 0x36, 0xca, 0x85, 0xde, 0xe7, 0xa1, 0x68, + 0x7f, 0x21, 0xa9, 0xc1, 0xbb, 0xf0, 0x82, 0x5c, 0x78, 0x1a, 0xa4, 0x6f, 0x2f, 0xf4, 0x86, 0xd1, + 0xa7, 0xa4, 0x94, 0xc6, 0x97, 0xc7, 0x5c, 0x5a, 0x4a, 0x2b, 0xb3, 0xa3, 0x5f, 0x13, 0xd0, 0xd0, + 0x1d, 0x23, 0xd2, 0x5e, 0x29, 0x3f, 0xe8, 0x84, 0xc1, 0x95, 0xf6, 0x0b, 0xb2, 0x87, 0xea, 0xba, + 0x37, 0xd9, 0x50, 0x7e, 0x64, 0x16, 0x4d, 0xfc, 0xe9, 0xe3, 0x49, 0xf6, 0x2e, 0x4c, 0xb5, 0xcc, + 0xbb, 0x5d, 0xac, 0xa6, 0xa7, 0xf2, 0xe8, 0xa6, 0x58, 0x81, 0xe4, 0x36, 0x4f, 0x01, 0x70, 0x9a, + 0x30, 0xaa, 0x73, 0xbf, 0xbe, 0x9a, 0xbf, 0x19, 0x08, 0x6b, 0x7c, 0x3b, 0x77, 0x2e, 0xf7, 0xa3, + 0x98, 0xec, 0x52, 0xcc, 0xe4, 0xd2, 0x5e, 0x13, 0x75, 0xb1, 0xa2, 0x82, 0xde, 0x80, 0x61, 0xe6, + 0x18, 0x1c, 0xcd, 0x8e, 0xe6, 0x2b, 0x13, 0xcd, 0x98, 0x16, 0xc9, 0xa6, 0x62, 0x7f, 0x23, 0x2c, + 0x28, 0xa0, 0x1b, 0x32, 0xf0, 0x4d, 0x54, 0xf3, 0xef, 0x44, 0x84, 0x05, 0xbe, 0x29, 0x2f, 0x7e, + 0x3c, 0x89, 0x69, 0xc3, 0xcb, 0x33, 0xe3, 0xe5, 0x1b, 0x35, 0x29, 0x73, 0x24, 0xfe, 0xcb, 0x30, + 0xfc, 0xb3, 0x90, 0xdf, 0x3d, 0x33, 0x54, 0x7f, 0x32, 0x9c, 0x77, 0x4d, 0x12, 0x38, 0x4d, 0x93, + 0x32, 0x9a, 0x7c, 0xe7, 0x0a, 0x7b, 0xfe, 0x7e, 0xfb, 0x9f, 0xcb, 0xd7, 0xec, 0x92, 0xe1, 0x25, + 0x58, 0xd4, 0x3f, 0xd5, 0x5b, 0x7f, 0xce, 0x87, 0xe9, 0xf4, 0x16, 0x7d, 0xa8, 0x5c, 0xc6, 0xef, + 0x97, 0x60, 0xd2, 0x5c, 0x52, 0xe8, 0x2a, 0x94, 0x05, 0x11, 0x15, 0x85, 0x55, 0xed, 0x92, 0x55, + 0x09, 0xc0, 0x09, 0x0e, 0x0b, 0xbe, 0xcb, 0xaa, 0x6b, 0x76, 0x98, 0x49, 0xf0, 0x5d, 0x05, 0xc1, + 0x1a, 0x16, 0x95, 0x97, 0x36, 0x82, 0x20, 0x56, 0x97, 0x8a, 0x5a, 0x77, 0x8b, 0xac, 0x14, 0x0b, + 0x28, 0xbd, 0x4c, 0x76, 0x48, 0xe8, 0x13, 0xcf, 0x0c, 0xee, 0xa6, 0x2e, 0x93, 0x9b, 0x3a, 0x10, + 0x9b, 0xb8, 0xf4, 0x96, 0x0c, 0x22, 0xb6, 0x90, 0x85, 0x54, 0x96, 0xd8, 0xb5, 0x36, 0xb8, 0x8b, + 0xbd, 0x84, 0xa3, 0xcf, 0xc3, 0xa3, 0xca, 0x23, 0x1e, 0x73, 0x45, 0xb5, 0x6c, 0x71, 0xd8, 0x50, + 0xa2, 0x3c, 0xba, 0x94, 0x8d, 0x86, 0xf3, 0xea, 0xa3, 0xd7, 0x61, 0x52, 0x70, 0xee, 0x92, 0xe2, + 0x88, 0x69, 0x3b, 0x71, 0xd3, 0x80, 0xe2, 0x14, 0xb6, 0x0c, 0x4f, 0xc7, 0x98, 0x67, 0x49, 0x61, + 0xb4, 0x3b, 0x3c, 0x9d, 0x0e, 0xc7, 0x5d, 0x35, 0xd0, 0x02, 0x4c, 0x71, 0xd6, 0xca, 0xf5, 0xb7, + 0xf8, 0x9c, 0x08, 0x77, 0x1b, 0xb5, 0xa5, 0x6e, 0x9b, 0x60, 0x9c, 0xc6, 0x47, 0xaf, 0xc0, 0xb8, + 0x13, 0x36, 0xb7, 0xdd, 0x98, 0x34, 0xe3, 0x4e, 0xc8, 0xfd, 0x70, 0x34, 0xe3, 0x93, 0x05, 0x0d, + 0x86, 0x0d, 0x4c, 0xfb, 0x7d, 0x38, 0x93, 0xe1, 0xa9, 0x47, 0x17, 0x8e, 0xd3, 0x76, 0xe5, 0x37, + 0xa5, 0x2c, 0x54, 0x17, 0xea, 0x35, 0xf9, 0x35, 0x1a, 0x16, 0x5d, 0x9d, 0xcc, 0xa3, 0x4f, 0xcb, + 0xba, 0xa1, 0x56, 0xe7, 0x8a, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x9f, 0x05, 0x98, 0xca, 0x50, 0xbe, + 0xb3, 0xcc, 0x0f, 0x29, 0xd9, 0x23, 0x49, 0xf4, 0x60, 0x46, 0x3b, 0x2c, 0x1c, 0x23, 0xda, 0x61, + 0xb1, 0x5f, 0xb4, 0xc3, 0xd2, 0x07, 0x89, 0x76, 0x68, 0x8e, 0xd8, 0xd0, 0x40, 0x23, 0x96, 0x11, + 0x21, 0x71, 0xf8, 0x98, 0x11, 0x12, 0x8d, 0x41, 0x1f, 0x19, 0x60, 0xd0, 0xbf, 0x56, 0x80, 0xe9, + 0xb4, 0x91, 0xdc, 0x29, 0xa8, 0x63, 0xdf, 0x30, 0xd4, 0xb1, 0xd9, 0x79, 0x54, 0xd2, 0xa6, 0x7b, + 0x79, 0xaa, 0x59, 0x9c, 0x52, 0xcd, 0x7e, 0x72, 0x20, 0x6a, 0xbd, 0xd5, 0xb4, 0x7f, 0xaf, 0x00, + 0xe7, 0xd2, 0x55, 0x96, 0x3c, 0xc7, 0xdd, 0x3d, 0x85, 0xb1, 0xb9, 0x6d, 0x8c, 0xcd, 0x73, 0x83, + 0x7c, 0x0d, 0xeb, 0x5a, 0xee, 0x00, 0xbd, 0x95, 0x1a, 0xa0, 0xab, 0x83, 0x93, 0xec, 0x3d, 0x4a, + 0xdf, 0x2c, 0xc2, 0xc5, 0xcc, 0x7a, 0x89, 0x36, 0x73, 0xc5, 0xd0, 0x66, 0x5e, 0x4b, 0x69, 0x33, + 0xed, 0xde, 0xb5, 0x4f, 0x46, 0xbd, 0x29, 0x5c, 0x28, 0x59, 0x44, 0xbc, 0x07, 0x54, 0x6d, 0x1a, + 0x2e, 0x94, 0x8a, 0x10, 0x36, 0xe9, 0xfe, 0x45, 0x52, 0x69, 0xfe, 0x1b, 0x0b, 0xce, 0x67, 0xce, + 0xcd, 0x29, 0xa8, 0xb0, 0xd6, 0x4c, 0x15, 0xd6, 0xd3, 0x03, 0xaf, 0xd6, 0x1c, 0x9d, 0xd6, 0x6f, + 0x94, 0x72, 0xbe, 0x85, 0x09, 0xe8, 0xb7, 0x61, 0xcc, 0x69, 0x36, 0x49, 0x14, 0xad, 0x06, 0x2d, + 0x15, 0x21, 0xee, 0x39, 0x26, 0x67, 0x25, 0xc5, 0x47, 0x07, 0x95, 0xb9, 0x34, 0x89, 0x04, 0x8c, + 0x75, 0x0a, 0x66, 0x50, 0xcb, 0xc2, 0x89, 0x06, 0xb5, 0xbc, 0x06, 0xb0, 0xa7, 0xb8, 0xf5, 0xb4, + 0x90, 0xaf, 0xf1, 0xf1, 0x1a, 0x16, 0xfa, 0x02, 0x8c, 0x46, 0xe2, 0x1a, 0x17, 0x4b, 0xf1, 0x85, + 0x01, 0xe7, 0xca, 0xd9, 0x20, 0x9e, 0xe9, 0xab, 0xaf, 0xf4, 0x21, 0x8a, 0x24, 0xfa, 0x0e, 0x98, + 0x8e, 0x78, 0x28, 0x98, 0x25, 0xcf, 0x89, 0x98, 0x1f, 0x84, 0x58, 0x85, 0xcc, 0x01, 0xbf, 0x91, + 0x82, 0xe1, 0x2e, 0x6c, 0xb4, 0x22, 0x3f, 0x8a, 0xc5, 0xad, 0xe1, 0x0b, 0xf3, 0x72, 0xf2, 0x41, + 0x22, 0xef, 0xd4, 0xd9, 0xf4, 0xf0, 0xb3, 0x81, 0xd7, 0x6a, 0xa2, 0x2f, 0x00, 0xd0, 0xe5, 0x23, + 0x74, 0x09, 0x23, 0xf9, 0x87, 0x27, 0x3d, 0x55, 0x5a, 0x99, 0x96, 0x9f, 0xcc, 0x79, 0xb1, 0xaa, + 0x88, 0x60, 0x8d, 0xa0, 0xfd, 0xb5, 0x12, 0x3c, 0xd6, 0xe3, 0x8c, 0x44, 0x0b, 0xe6, 0x13, 0xe8, + 0x33, 0x69, 0xe1, 0x7a, 0x2e, 0xb3, 0xb2, 0x21, 0x6d, 0xa7, 0x96, 0x62, 0xe1, 0x03, 0x2f, 0xc5, + 0x1f, 0xb4, 0x34, 0xb5, 0x07, 0x37, 0xe6, 0xfb, 0xec, 0x31, 0xcf, 0xfe, 0x13, 0xd4, 0x83, 0x6c, + 0x66, 0x28, 0x13, 0xae, 0x0d, 0xdc, 0x9d, 0x81, 0xb5, 0x0b, 0xa7, 0xab, 0xfc, 0xfd, 0xb2, 0x05, + 0x4f, 0x64, 0xf6, 0xd7, 0x30, 0xd9, 0xb8, 0x0a, 0xe5, 0x26, 0x2d, 0xd4, 0x7c, 0xd5, 0x12, 0x27, + 0x5e, 0x09, 0xc0, 0x09, 0x8e, 0x61, 0x99, 0x51, 0xe8, 0x6b, 0x99, 0xf1, 0x2f, 0x2d, 0xe8, 0xda, + 0x1f, 0xa7, 0x70, 0x50, 0xd7, 0xcc, 0x83, 0xfa, 0xe3, 0x83, 0xcc, 0x65, 0xce, 0x19, 0xfd, 0x47, + 0x53, 0xf0, 0x48, 0x8e, 0xaf, 0xc6, 0x1e, 0xcc, 0x6c, 0x35, 0x89, 0xe9, 0x05, 0x28, 0x3e, 0x26, + 0xd3, 0x61, 0xb2, 0xa7, 0xcb, 0x20, 0xcb, 0x47, 0x34, 0xd3, 0x85, 0x82, 0xbb, 0x9b, 0x40, 0x5f, + 0xb6, 0xe0, 0xac, 0x73, 0x2f, 0xea, 0xca, 0x3a, 0x29, 0xd6, 0xcc, 0x8b, 0x99, 0x4a, 0x90, 0x3e, + 0x59, 0x2a, 0x79, 0x82, 0xa6, 0x2c, 0x2c, 0x9c, 0xd9, 0x16, 0xc2, 0x22, 0x66, 0x28, 0x65, 0xe7, + 0x7b, 0xf8, 0xa9, 0x66, 0x39, 0xd5, 0xf0, 0x23, 0x5b, 0x42, 0xb0, 0xa2, 0x83, 0xbe, 0x04, 0xe5, + 0x2d, 0xe9, 0xe9, 0x96, 0x71, 0x25, 0x24, 0x03, 0xd9, 0xdb, 0xff, 0x8f, 0x3f, 0x50, 0x2a, 0x24, + 0x9c, 0x10, 0x45, 0xaf, 0x43, 0xd1, 0xdf, 0x8c, 0x7a, 0xe5, 0x38, 0x4a, 0xd9, 0x34, 0x71, 0x6f, + 0xf0, 0xb5, 0x95, 0x06, 0xa6, 0x15, 0xd1, 0x0d, 0x28, 0x86, 0x1b, 0x2d, 0xa1, 0xc1, 0xcb, 0x3c, + 0xc3, 0xf1, 0x62, 0x35, 0xa7, 0x57, 0x8c, 0x12, 0x5e, 0xac, 0x62, 0x4a, 0x02, 0xd5, 0x61, 0x88, + 0x39, 0x38, 0x88, 0xfb, 0x20, 0x93, 0xf3, 0xed, 0xe1, 0x28, 0xc4, 0x5d, 0xc6, 0x19, 0x02, 0xe6, + 0x84, 0xd0, 0x3a, 0x0c, 0x37, 0x59, 0x3e, 0x1c, 0x11, 0xb0, 0xfa, 0x53, 0x99, 0xba, 0xba, 0x1e, + 0x89, 0x82, 0x84, 0xea, 0x8a, 0x61, 0x60, 0x41, 0x8b, 0x51, 0x25, 0xed, 0xed, 0xcd, 0x88, 0xc9, + 0xfa, 0x79, 0x54, 0x7b, 0xe4, 0xbf, 0x12, 0x54, 0x19, 0x06, 0x16, 0xb4, 0xd0, 0x67, 0xa0, 0xb0, + 0xd9, 0x14, 0xfe, 0x0f, 0x99, 0x4a, 0x3b, 0xd3, 0xa1, 0x7f, 0x71, 0xf8, 0xf0, 0xa0, 0x52, 0x58, + 0x59, 0xc2, 0x85, 0xcd, 0x26, 0x5a, 0x83, 0x91, 0x4d, 0xee, 0x02, 0x2c, 0xf4, 0x72, 0x4f, 0x65, + 0x7b, 0x27, 0x77, 0x79, 0x09, 0x73, 0xbb, 0x7d, 0x01, 0xc0, 0x92, 0x08, 0x0b, 0xc1, 0xa9, 0x5c, + 0x99, 0x45, 0x2c, 0xea, 0xf9, 0xe3, 0xb9, 0x9f, 0xf3, 0xfb, 0x39, 0x71, 0x88, 0xc6, 0x1a, 0x45, + 0xba, 0xaa, 0x1d, 0x99, 0xf9, 0x50, 0xc4, 0xea, 0xc8, 0x5c, 0xd5, 0x7d, 0x92, 0x42, 0xf2, 0x55, + 0xad, 0x90, 0x70, 0x42, 0x14, 0xed, 0xc0, 0xc4, 0x5e, 0xd4, 0xde, 0x26, 0x72, 0x4b, 0xb3, 0xd0, + 0x1d, 0x39, 0x57, 0xd8, 0x5d, 0x81, 0xe8, 0x86, 0x71, 0xc7, 0xf1, 0xba, 0x4e, 0x21, 0xf6, 0xaa, + 0x7d, 0x57, 0x27, 0x86, 0x4d, 0xda, 0x74, 0xf8, 0xdf, 0xeb, 0x04, 0x1b, 0xfb, 0x31, 0x11, 0xc1, + 0xab, 0x33, 0x87, 0xff, 0x4d, 0x8e, 0xd2, 0x3d, 0xfc, 0x02, 0x80, 0x25, 0x11, 0x74, 0x57, 0x0c, + 0x0f, 0x3b, 0x3d, 0xa7, 0xf3, 0x83, 0x29, 0x65, 0xa6, 0x1e, 0xd5, 0x06, 0x85, 0x9d, 0x96, 0x09, + 0x29, 0x76, 0x4a, 0xb6, 0xb7, 0x83, 0x38, 0xf0, 0x53, 0x27, 0xf4, 0x4c, 0xfe, 0x29, 0x59, 0xcf, + 0xc0, 0xef, 0x3e, 0x25, 0xb3, 0xb0, 0x70, 0x66, 0x5b, 0xa8, 0x05, 0x93, 0xed, 0x20, 0x8c, 0xef, + 0x05, 0xa1, 0x5c, 0x5f, 0xa8, 0x87, 0x5e, 0xc1, 0xc0, 0x14, 0x2d, 0xb2, 0x60, 0xea, 0x26, 0x04, + 0xa7, 0x68, 0xa2, 0xcf, 0xc1, 0x48, 0xd4, 0x74, 0x3c, 0x52, 0xbb, 0x3d, 0x7b, 0x26, 0xff, 0xfa, + 0x69, 0x70, 0x94, 0x9c, 0xd5, 0xc5, 0x26, 0x47, 0xa0, 0x60, 0x49, 0x0e, 0xad, 0xc0, 0x10, 0xcb, + 0x88, 0xc0, 0xe2, 0x6e, 0xe7, 0xc4, 0x84, 0xea, 0xb2, 0x30, 0xe5, 0x67, 0x13, 0x2b, 0xc6, 0xbc, + 0x3a, 0xdd, 0x03, 0x82, 0xbd, 0x0e, 0xa2, 0xd9, 0x73, 0xf9, 0x7b, 0x40, 0x70, 0xe5, 0xb7, 0x1b, + 0xbd, 0xf6, 0x80, 0x42, 0xc2, 0x09, 0x51, 0x7a, 0x32, 0xd3, 0xd3, 0xf4, 0x91, 0x1e, 0x06, 0x2d, + 0xb9, 0x67, 0x29, 0x3b, 0x99, 0xe9, 0x49, 0x4a, 0x49, 0xd8, 0xbf, 0x3b, 0xd2, 0xcd, 0xb3, 0x30, + 0x81, 0xec, 0x2f, 0x5b, 0x5d, 0x6f, 0x75, 0x9f, 0x1e, 0x54, 0x3f, 0x74, 0x82, 0xdc, 0xea, 0x97, + 0x2d, 0x78, 0xa4, 0x9d, 0xf9, 0x21, 0x82, 0x01, 0x18, 0x4c, 0xcd, 0xc4, 0x3f, 0x5d, 0xc5, 0xc6, + 0xcf, 0x86, 0xe3, 0x9c, 0x96, 0xd2, 0x12, 0x41, 0xf1, 0x03, 0x4b, 0x04, 0xab, 0x30, 0xca, 0x98, + 0xcc, 0x3e, 0xf9, 0xe1, 0xd2, 0x82, 0x11, 0x63, 0x25, 0x96, 0x44, 0x45, 0xac, 0x48, 0xa0, 0x1f, + 0xb2, 0xe0, 0x42, 0xba, 0xeb, 0x98, 0x30, 0xb0, 0x88, 0x24, 0xcf, 0x65, 0xc1, 0x15, 0xf1, 0xfd, + 0x17, 0xea, 0xbd, 0x90, 0x8f, 0xfa, 0x21, 0xe0, 0xde, 0x8d, 0xa1, 0x6a, 0x86, 0x30, 0x3a, 0x6c, + 0x2a, 0xe0, 0x07, 0x10, 0x48, 0x5f, 0x84, 0xf1, 0xdd, 0xa0, 0xe3, 0xc7, 0xc2, 0xfe, 0x45, 0x78, + 0x2c, 0xb2, 0x07, 0xe7, 0x55, 0xad, 0x1c, 0x1b, 0x58, 0x29, 0x31, 0x76, 0xf4, 0x81, 0xc5, 0xd8, + 0x77, 0x52, 0x59, 0xc0, 0xcb, 0xf9, 0x11, 0x0b, 0x85, 0xc4, 0x7f, 0x8c, 0x5c, 0xe0, 0xa7, 0x2b, + 0x1b, 0xfd, 0xb4, 0x95, 0xc1, 0xd4, 0x73, 0x69, 0xf9, 0x35, 0x53, 0x5a, 0xbe, 0x9c, 0x96, 0x96, + 0xbb, 0x94, 0xaf, 0x86, 0xa0, 0x3c, 0x78, 0xd8, 0xeb, 0x41, 0xe3, 0xc8, 0xd9, 0x1e, 0x5c, 0xea, + 0x77, 0x2d, 0x31, 0x43, 0xa8, 0x96, 0x7a, 0x6a, 0x4b, 0x0c, 0xa1, 0x5a, 0xb5, 0x2a, 0x66, 0x90, + 0x41, 0x03, 0x8d, 0xd8, 0xff, 0xdd, 0x82, 0x62, 0x3d, 0x68, 0x9d, 0x82, 0x32, 0xf9, 0xb3, 0x86, + 0x32, 0xf9, 0xb1, 0x9c, 0xec, 0xec, 0xb9, 0xaa, 0xe3, 0xe5, 0x94, 0xea, 0xf8, 0x42, 0x1e, 0x81, + 0xde, 0x8a, 0xe2, 0x9f, 0x28, 0x82, 0x9e, 0x4b, 0x1e, 0xfd, 0xc6, 0x83, 0x58, 0x21, 0x17, 0x7b, + 0xa5, 0x97, 0x17, 0x94, 0x99, 0xfd, 0x94, 0x74, 0xc2, 0xfb, 0x73, 0x66, 0x8c, 0xfc, 0x16, 0x71, + 0xb7, 0xb6, 0x63, 0xd2, 0x4a, 0x7f, 0xce, 0xe9, 0x19, 0x23, 0xff, 0x57, 0x0b, 0xa6, 0x52, 0xad, + 0x23, 0x0f, 0x26, 0x3c, 0x5d, 0x13, 0x28, 0xd6, 0xe9, 0x03, 0x29, 0x11, 0x85, 0x31, 0xa7, 0x56, + 0x84, 0x4d, 0xe2, 0x68, 0x1e, 0x40, 0xbd, 0xd4, 0x49, 0x0d, 0x18, 0xe3, 0xfa, 0xd5, 0x53, 0x5e, + 0x84, 0x35, 0x0c, 0xf4, 0x12, 0x8c, 0xc5, 0x41, 0x3b, 0xf0, 0x82, 0xad, 0xfd, 0x9b, 0x44, 0x86, + 0xb6, 0x51, 0x26, 0x5a, 0xeb, 0x09, 0x08, 0xeb, 0x78, 0xf6, 0x4f, 0x15, 0xf9, 0x87, 0xfa, 0xb1, + 0xfb, 0xad, 0x35, 0xf9, 0xd1, 0x5e, 0x93, 0xdf, 0xb4, 0x60, 0x9a, 0xb6, 0xce, 0xcc, 0x45, 0xe4, + 0x65, 0xab, 0xd2, 0xef, 0x58, 0x3d, 0xd2, 0xef, 0x5c, 0xa6, 0x67, 0x57, 0x2b, 0xe8, 0xc4, 0x42, + 0x83, 0xa6, 0x1d, 0x4e, 0xb4, 0x14, 0x0b, 0xa8, 0xc0, 0x23, 0x61, 0x28, 0x7c, 0xa0, 0x74, 0x3c, + 0x12, 0x86, 0x58, 0x40, 0x65, 0x76, 0x9e, 0x52, 0x4e, 0x76, 0x1e, 0x16, 0xa8, 0x4f, 0x18, 0x16, + 0x08, 0xb6, 0x47, 0x0b, 0xd4, 0x27, 0x2d, 0x0e, 0x12, 0x1c, 0xfb, 0xe7, 0x8a, 0x30, 0x5e, 0x0f, + 0x5a, 0xc9, 0x5b, 0xd9, 0x8b, 0xc6, 0x5b, 0xd9, 0xa5, 0xd4, 0x5b, 0xd9, 0xb4, 0x8e, 0xfb, 0xad, + 0x97, 0xb1, 0x0f, 0xeb, 0x65, 0xec, 0x5f, 0x58, 0x6c, 0xd6, 0xaa, 0x6b, 0x0d, 0x91, 0x1d, 0xf8, + 0x79, 0x18, 0x63, 0x07, 0x12, 0x73, 0xba, 0x93, 0x0f, 0x48, 0x2c, 0xf0, 0xfe, 0x5a, 0x52, 0x8c, + 0x75, 0x1c, 0x74, 0x05, 0x46, 0x23, 0xe2, 0x84, 0xcd, 0x6d, 0x75, 0xc6, 0x89, 0xe7, 0x15, 0x5e, + 0x86, 0x15, 0x14, 0xbd, 0x99, 0xc4, 0x88, 0x2b, 0xe6, 0xe7, 0xb9, 0xd5, 0xfb, 0xc3, 0xb7, 0x48, + 0x7e, 0x60, 0x38, 0xfb, 0x2d, 0x40, 0xdd, 0xf8, 0x03, 0x04, 0x47, 0xaa, 0x98, 0xc1, 0x91, 0xca, + 0x5d, 0x81, 0x91, 0xfe, 0xd4, 0x82, 0xc9, 0x7a, 0xd0, 0xa2, 0x5b, 0xf7, 0x2f, 0xd2, 0x3e, 0xd5, + 0x03, 0x64, 0x0e, 0xf7, 0x08, 0x90, 0xf9, 0xf7, 0x2d, 0x18, 0xa9, 0x07, 0xad, 0x53, 0xd0, 0xbb, + 0xbf, 0x66, 0xea, 0xdd, 0x1f, 0xcd, 0x59, 0x12, 0x39, 0xaa, 0xf6, 0x5f, 0x28, 0xc2, 0x04, 0xed, + 0x67, 0xb0, 0x25, 0x67, 0xc9, 0x18, 0x11, 0x6b, 0x80, 0x11, 0xa1, 0x6c, 0x6e, 0xe0, 0x79, 0xc1, + 0xbd, 0xf4, 0x8c, 0xad, 0xb0, 0x52, 0x2c, 0xa0, 0xe8, 0x59, 0x18, 0x6d, 0x87, 0x64, 0xcf, 0x0d, + 0x04, 0xff, 0xa8, 0xbd, 0x62, 0xd4, 0x45, 0x39, 0x56, 0x18, 0x54, 0xee, 0x8a, 0x5c, 0xbf, 0x49, + 0x64, 0x92, 0xed, 0x12, 0xcb, 0xc3, 0xc5, 0x23, 0x5f, 0x6b, 0xe5, 0xd8, 0xc0, 0x42, 0x6f, 0x41, + 0x99, 0xfd, 0x67, 0x27, 0xca, 0xf1, 0xf3, 0x06, 0x89, 0x74, 0x13, 0x82, 0x00, 0x4e, 0x68, 0xa1, + 0x6b, 0x00, 0xb1, 0x8c, 0x8e, 0x1c, 0x89, 0x18, 0x37, 0x8a, 0xd7, 0x56, 0x71, 0x93, 0x23, 0xac, + 0x61, 0xa1, 0x67, 0xa0, 0x1c, 0x3b, 0xae, 0x77, 0xcb, 0xf5, 0x49, 0xc4, 0x54, 0xce, 0x45, 0x99, + 0x4d, 0x42, 0x14, 0xe2, 0x04, 0x4e, 0x79, 0x1d, 0xe6, 0x00, 0xce, 0xb3, 0x8e, 0x8d, 0x32, 0x6c, + 0xc6, 0xeb, 0xdc, 0x52, 0xa5, 0x58, 0xc3, 0xb0, 0x5f, 0x81, 0x73, 0xf5, 0xa0, 0x55, 0x0f, 0xc2, + 0x78, 0x25, 0x08, 0xef, 0x39, 0x61, 0x4b, 0xce, 0x5f, 0x45, 0x26, 0x36, 0xa0, 0x67, 0xcf, 0x10, + 0xdf, 0x99, 0x46, 0xca, 0x82, 0x17, 0x18, 0xb7, 0x73, 0x4c, 0xa7, 0x8e, 0x26, 0xbb, 0x77, 0x55, + 0x82, 0xc1, 0xeb, 0x4e, 0x4c, 0xd0, 0x6d, 0x96, 0x94, 0x2c, 0xb9, 0x82, 0x44, 0xf5, 0xa7, 0xb5, + 0xa4, 0x64, 0x09, 0x30, 0xf3, 0xce, 0x32, 0xeb, 0xdb, 0xbf, 0x5a, 0x64, 0xa7, 0x51, 0x2a, 0xdf, + 0x1e, 0xfa, 0x22, 0x4c, 0x46, 0xe4, 0x96, 0xeb, 0x77, 0xee, 0x4b, 0x21, 0xbc, 0x87, 0x5b, 0x4e, + 0x63, 0x59, 0xc7, 0xe4, 0xaa, 0x3c, 0xb3, 0x0c, 0xa7, 0xa8, 0xd1, 0x79, 0x0a, 0x3b, 0xfe, 0x42, + 0x74, 0x27, 0x22, 0xa1, 0xc8, 0xf7, 0xc6, 0xe6, 0x09, 0xcb, 0x42, 0x9c, 0xc0, 0xe9, 0xba, 0x64, + 0x7f, 0xd6, 0x02, 0x1f, 0x07, 0x41, 0x2c, 0x57, 0x32, 0xcb, 0x18, 0xa4, 0x95, 0x63, 0x03, 0x0b, + 0xad, 0x00, 0x8a, 0x3a, 0xed, 0xb6, 0xc7, 0x1e, 0xf6, 0x1d, 0xef, 0x7a, 0x18, 0x74, 0xda, 0xfc, + 0xd5, 0xb3, 0xc8, 0x03, 0x13, 0x36, 0xba, 0xa0, 0x38, 0xa3, 0x06, 0x3d, 0x7d, 0x36, 0x23, 0xf6, + 0x9b, 0xad, 0xee, 0xa2, 0x50, 0xaf, 0x37, 0x58, 0x11, 0x96, 0x30, 0xba, 0x98, 0x58, 0xf3, 0x1c, + 0x73, 0x38, 0x59, 0x4c, 0x58, 0x95, 0x62, 0x0d, 0x03, 0x2d, 0xc3, 0x48, 0xb4, 0x1f, 0x35, 0x63, + 0x11, 0x91, 0x29, 0x27, 0x73, 0x67, 0x83, 0xa1, 0x68, 0xd9, 0x24, 0x78, 0x15, 0x2c, 0xeb, 0xda, + 0xdf, 0xc3, 0x2e, 0x43, 0x96, 0x1d, 0x2c, 0xee, 0x84, 0x04, 0xed, 0xc2, 0x44, 0x9b, 0x4d, 0xb9, + 0x88, 0x5d, 0x2d, 0xe6, 0xed, 0xc5, 0x01, 0xa5, 0xda, 0x7b, 0xf4, 0xa0, 0x51, 0x5a, 0x27, 0x26, + 0x2e, 0xd4, 0x75, 0x72, 0xd8, 0xa4, 0x6e, 0x7f, 0x0d, 0xb1, 0x33, 0xb7, 0xc1, 0x45, 0xd5, 0x11, + 0x61, 0x5a, 0x2c, 0xf8, 0xf2, 0xb9, 0x7c, 0x9d, 0x49, 0xf2, 0x45, 0xc2, 0x3c, 0x19, 0xcb, 0xba, + 0xe8, 0x4d, 0xf6, 0x4a, 0xcd, 0x0f, 0xba, 0x7e, 0x49, 0x9a, 0x39, 0x96, 0xf1, 0x20, 0x2d, 0x2a, + 0x62, 0x8d, 0x08, 0xba, 0x05, 0x13, 0x22, 0x99, 0x94, 0x50, 0x8a, 0x15, 0x0d, 0xa5, 0xc7, 0x04, + 0xd6, 0x81, 0x47, 0xe9, 0x02, 0x6c, 0x56, 0x46, 0x5b, 0x70, 0x41, 0xcb, 0xac, 0x78, 0x3d, 0x74, + 0xd8, 0xcb, 0xa5, 0xcb, 0x36, 0x91, 0x76, 0x6e, 0x3e, 0x71, 0x78, 0x50, 0xb9, 0xb0, 0xde, 0x0b, + 0x11, 0xf7, 0xa6, 0x83, 0x6e, 0xc3, 0x39, 0xee, 0xc1, 0x57, 0x25, 0x4e, 0xcb, 0x73, 0x7d, 0x75, + 0x30, 0xf3, 0x75, 0x78, 0xfe, 0xf0, 0xa0, 0x72, 0x6e, 0x21, 0x0b, 0x01, 0x67, 0xd7, 0x43, 0xaf, + 0x41, 0xb9, 0xe5, 0x47, 0x62, 0x0c, 0x86, 0x8d, 0xa4, 0xa1, 0xe5, 0xea, 0x5a, 0x43, 0x7d, 0x7f, + 0xf2, 0x07, 0x27, 0x15, 0xd0, 0x16, 0x57, 0x8c, 0x29, 0x39, 0x74, 0x24, 0x3f, 0x41, 0xbc, 0x58, + 0x12, 0x86, 0x0f, 0x0f, 0xd7, 0x08, 0x2b, 0x1b, 0x58, 0xc3, 0xbd, 0xc7, 0x20, 0x8c, 0xde, 0x00, + 0x44, 0x19, 0x35, 0xb7, 0x49, 0x16, 0x9a, 0x2c, 0x84, 0x38, 0xd3, 0x23, 0x8e, 0x1a, 0x3e, 0x13, + 0xa8, 0xd1, 0x85, 0x81, 0x33, 0x6a, 0xa1, 0x1b, 0xf4, 0x20, 0xd3, 0x4b, 0x85, 0x2d, 0xaf, 0x64, + 0xee, 0x67, 0xab, 0xa4, 0x1d, 0x92, 0xa6, 0x13, 0x93, 0x96, 0x49, 0x11, 0xa7, 0xea, 0xd1, 0xbb, + 0x54, 0x65, 0x13, 0x02, 0x33, 0x6c, 0x46, 0x77, 0x46, 0x21, 0x2a, 0x17, 0x6f, 0x07, 0x51, 0xbc, + 0x46, 0xe2, 0x7b, 0x41, 0xb8, 0x23, 0xa2, 0x94, 0x25, 0x01, 0x33, 0x13, 0x10, 0xd6, 0xf1, 0x28, + 0x1f, 0xcc, 0x9e, 0x89, 0x6b, 0x55, 0xf6, 0x42, 0x37, 0x9a, 0xec, 0x93, 0x1b, 0xbc, 0x18, 0x4b, + 0xb8, 0x44, 0xad, 0xd5, 0x97, 0xd8, 0x6b, 0x5b, 0x0a, 0xb5, 0x56, 0x5f, 0xc2, 0x12, 0x8e, 0x48, + 0x77, 0x42, 0xd6, 0xc9, 0x7c, 0xad, 0x66, 0xf7, 0x75, 0x30, 0x60, 0x4e, 0x56, 0x1f, 0xa6, 0x55, + 0x2a, 0x58, 0x1e, 0xbe, 0x2d, 0x9a, 0x9d, 0x62, 0x8b, 0x64, 0xf0, 0xd8, 0x6f, 0x4a, 0x4f, 0x5c, + 0x4b, 0x51, 0xc2, 0x5d, 0xb4, 0x8d, 0x40, 0x26, 0xd3, 0x7d, 0xb3, 0x41, 0x5d, 0x85, 0x72, 0xd4, + 0xd9, 0x68, 0x05, 0xbb, 0x8e, 0xeb, 0xb3, 0xc7, 0x31, 0x8d, 0xc9, 0x6a, 0x48, 0x00, 0x4e, 0x70, + 0xd0, 0x0a, 0x8c, 0x3a, 0x52, 0x09, 0x8c, 0xf2, 0xa3, 0x16, 0x28, 0xd5, 0x2f, 0x77, 0xe4, 0x95, + 0x6a, 0x5f, 0x55, 0x17, 0xbd, 0x0a, 0x13, 0xc2, 0x6f, 0x8b, 0xc7, 0x72, 0x60, 0x8f, 0x57, 0x9a, + 0x61, 0x7e, 0x43, 0x07, 0x62, 0x13, 0x17, 0x7d, 0x01, 0x26, 0x29, 0x95, 0xe4, 0x60, 0x9b, 0x3d, + 0x3b, 0xc8, 0x89, 0xa8, 0x65, 0xf9, 0xd0, 0x2b, 0xe3, 0x14, 0x31, 0xd4, 0x82, 0xc7, 0x9d, 0x4e, + 0x1c, 0x30, 0x45, 0xba, 0xb9, 0xfe, 0xd7, 0x83, 0x1d, 0xe2, 0xb3, 0x37, 0xac, 0xd1, 0xc5, 0x4b, + 0x87, 0x07, 0x95, 0xc7, 0x17, 0x7a, 0xe0, 0xe1, 0x9e, 0x54, 0xd0, 0x1d, 0x18, 0x8b, 0x03, 0x8f, + 0x99, 0xc8, 0x53, 0x56, 0xe2, 0x91, 0xfc, 0x40, 0x40, 0xeb, 0x0a, 0x4d, 0x57, 0x22, 0xa9, 0xaa, + 0x58, 0xa7, 0x83, 0xd6, 0xf9, 0x1e, 0x63, 0x21, 0x52, 0x49, 0x34, 0xfb, 0x68, 0xfe, 0xc0, 0xa8, + 0x48, 0xaa, 0xe6, 0x16, 0x14, 0x35, 0xb1, 0x4e, 0x06, 0x5d, 0x87, 0x99, 0x76, 0xe8, 0x06, 0x6c, + 0x61, 0xab, 0x47, 0x8c, 0x59, 0x33, 0xb1, 0x43, 0x3d, 0x8d, 0x80, 0xbb, 0xeb, 0x50, 0x21, 0x53, + 0x16, 0xce, 0x9e, 0xe7, 0x59, 0xc2, 0x38, 0xe3, 0xcd, 0xcb, 0xb0, 0x82, 0xa2, 0x55, 0x76, 0x2e, + 0x73, 0x71, 0x70, 0x76, 0x2e, 0x3f, 0xda, 0x83, 0x2e, 0x36, 0x72, 0x7e, 0x49, 0xfd, 0xc5, 0x09, + 0x05, 0x7a, 0x6f, 0x44, 0xdb, 0x4e, 0x48, 0xea, 0x61, 0xd0, 0x24, 0x91, 0x16, 0x95, 0xf9, 0x31, + 0x1e, 0xc9, 0x91, 0xde, 0x1b, 0x8d, 0x2c, 0x04, 0x9c, 0x5d, 0x0f, 0xb5, 0xb4, 0xe4, 0xd8, 0x94, + 0x0d, 0x8d, 0x66, 0x1f, 0xef, 0x61, 0x70, 0x94, 0xe2, 0x59, 0x93, 0xb5, 0x68, 0x14, 0x47, 0x38, + 0x45, 0x13, 0x7d, 0x07, 0x4c, 0x8b, 0xc0, 0x47, 0xc9, 0xb8, 0x5f, 0x48, 0x2c, 0x19, 0x71, 0x0a, + 0x86, 0xbb, 0xb0, 0x79, 0x2c, 0x6a, 0x67, 0xc3, 0x23, 0x62, 0x11, 0xde, 0x72, 0xfd, 0x9d, 0x68, + 0xf6, 0x22, 0xfb, 0x6a, 0x11, 0x8b, 0x3a, 0x0d, 0xc5, 0x19, 0x35, 0xe6, 0xbe, 0x1d, 0x66, 0xba, + 0x6e, 0xae, 0x63, 0xc5, 0x6f, 0xff, 0x93, 0x21, 0x28, 0x2b, 0xa5, 0x3c, 0xba, 0x6a, 0xbe, 0xb5, + 0x9c, 0x4f, 0xbf, 0xb5, 0x8c, 0x52, 0xd9, 0x40, 0x7f, 0x5e, 0x59, 0x37, 0x0c, 0xf5, 0x0a, 0xf9, + 0xd9, 0xd2, 0x74, 0xee, 0xbe, 0xaf, 0xd3, 0x9f, 0xa6, 0x63, 0x29, 0x0e, 0xfc, 0x68, 0x53, 0xea, + 0xa9, 0xb6, 0x19, 0x30, 0x59, 0x31, 0x7a, 0x92, 0x0a, 0x48, 0xad, 0x5a, 0x3d, 0x9d, 0xbd, 0xb3, + 0x4e, 0x0b, 0x31, 0x87, 0x31, 0x41, 0x92, 0xb2, 0x59, 0x4c, 0x90, 0x1c, 0x79, 0x40, 0x41, 0x52, + 0x12, 0xc0, 0x09, 0x2d, 0xe4, 0xc1, 0x4c, 0xd3, 0x4c, 0xbc, 0xaa, 0x1c, 0xfd, 0x9e, 0xec, 0x9b, + 0x02, 0xb5, 0xa3, 0x65, 0xb9, 0x5b, 0x4a, 0x53, 0xc1, 0xdd, 0x84, 0xd1, 0xab, 0x30, 0xfa, 0x5e, + 0x10, 0xb1, 0x45, 0x29, 0x78, 0x0d, 0xe9, 0x10, 0x35, 0xfa, 0xe6, 0xed, 0x06, 0x2b, 0x3f, 0x3a, + 0xa8, 0x8c, 0xd5, 0x83, 0x96, 0xfc, 0x8b, 0x55, 0x05, 0x74, 0x1f, 0xce, 0x19, 0x27, 0xb4, 0xea, + 0x2e, 0x0c, 0xde, 0xdd, 0x0b, 0xa2, 0xb9, 0x73, 0xb5, 0x2c, 0x4a, 0x38, 0xbb, 0x01, 0x7a, 0xec, + 0xf9, 0x81, 0x48, 0x5a, 0x2c, 0xf9, 0x19, 0xc6, 0xb6, 0x94, 0x75, 0x77, 0xf8, 0x14, 0x02, 0xee, + 0xae, 0x63, 0xff, 0x32, 0x7f, 0xc3, 0x10, 0x9a, 0x4e, 0x12, 0x75, 0xbc, 0xd3, 0xc8, 0x89, 0xb5, + 0x6c, 0x28, 0x61, 0x1f, 0xf8, 0x9d, 0xec, 0xd7, 0x2d, 0xf6, 0x4e, 0xb6, 0x4e, 0x76, 0xdb, 0x1e, + 0x95, 0xb7, 0x1f, 0x7e, 0xc7, 0xdf, 0x84, 0xd1, 0x58, 0xb4, 0xd6, 0x2b, 0x8d, 0x97, 0xd6, 0x29, + 0xf6, 0x56, 0xa8, 0x38, 0x1d, 0x59, 0x8a, 0x15, 0x19, 0xfb, 0x9f, 0xf1, 0x19, 0x90, 0x90, 0x53, + 0x50, 0x88, 0x55, 0x4d, 0x85, 0x58, 0xa5, 0xcf, 0x17, 0xe4, 0x28, 0xc6, 0xfe, 0xa9, 0xd9, 0x6f, + 0x26, 0x54, 0x7e, 0xd4, 0x1f, 0x68, 0xed, 0x1f, 0xb6, 0xe0, 0x6c, 0x96, 0x45, 0x13, 0xe5, 0x4e, + 0xb9, 0x48, 0xab, 0x1e, 0xac, 0xd5, 0x08, 0xde, 0x15, 0xe5, 0x58, 0x61, 0x0c, 0x9c, 0x21, 0xe3, + 0x78, 0x11, 0xe3, 0x6e, 0xc3, 0x44, 0x3d, 0x24, 0xda, 0x1d, 0xf0, 0x3a, 0xf7, 0xac, 0xe3, 0xfd, + 0x79, 0xf6, 0xd8, 0x5e, 0x75, 0xf6, 0xcf, 0x14, 0xe0, 0x2c, 0x7f, 0x71, 0x5a, 0xd8, 0x0b, 0xdc, + 0x56, 0x3d, 0x68, 0x89, 0xec, 0x26, 0x6f, 0xc3, 0x78, 0x5b, 0xd3, 0x43, 0xf4, 0x8a, 0x59, 0xa5, + 0xeb, 0x2b, 0x12, 0x79, 0x50, 0x2f, 0xc5, 0x06, 0x2d, 0xd4, 0x82, 0x71, 0xb2, 0xe7, 0x36, 0xd5, + 0xb3, 0x45, 0xe1, 0xd8, 0x77, 0x83, 0x6a, 0x65, 0x59, 0xa3, 0x83, 0x0d, 0xaa, 0x0f, 0x21, 0xe1, + 0x9d, 0xfd, 0x23, 0x16, 0x3c, 0x9a, 0x13, 0xe1, 0x8a, 0x36, 0x77, 0x8f, 0xbd, 0xed, 0x89, 0xdc, + 0x59, 0xaa, 0x39, 0xfe, 0xe2, 0x87, 0x05, 0x14, 0x7d, 0x0e, 0x80, 0xbf, 0xd8, 0x51, 0xf1, 0xa8, + 0x5f, 0x28, 0x20, 0x23, 0x8a, 0x89, 0x16, 0x7d, 0x42, 0xd6, 0xc7, 0x1a, 0x2d, 0xfb, 0x27, 0x8b, + 0x30, 0xc4, 0x5e, 0x88, 0xd0, 0x0a, 0x8c, 0x6c, 0xf3, 0x98, 0xcf, 0x83, 0x84, 0x97, 0x4e, 0xe4, + 0x4c, 0x5e, 0x80, 0x65, 0x65, 0xb4, 0x0a, 0x67, 0x78, 0xcc, 0x6c, 0xaf, 0x4a, 0x3c, 0x67, 0x5f, + 0xaa, 0x2b, 0x78, 0xbe, 0x29, 0x15, 0x49, 0xa3, 0xd6, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0xd7, 0x61, + 0x92, 0xf2, 0x77, 0x41, 0x27, 0x96, 0x94, 0x78, 0xb4, 0x6c, 0xc5, 0x50, 0xae, 0x1b, 0x50, 0x9c, + 0xc2, 0xa6, 0x82, 0x57, 0xbb, 0x4b, 0x31, 0x33, 0x94, 0x08, 0x5e, 0xa6, 0x32, 0xc6, 0xc4, 0x65, + 0xa6, 0x4c, 0x1d, 0x66, 0xb8, 0xb5, 0xbe, 0x1d, 0x92, 0x68, 0x3b, 0xf0, 0x5a, 0x22, 0x5d, 0x79, + 0x62, 0xca, 0x94, 0x82, 0xe3, 0xae, 0x1a, 0x94, 0xca, 0xa6, 0xe3, 0x7a, 0x9d, 0x90, 0x24, 0x54, + 0x86, 0x4d, 0x2a, 0x2b, 0x29, 0x38, 0xee, 0xaa, 0x41, 0xd7, 0xd1, 0x39, 0x91, 0x3f, 0x5c, 0xfa, + 0xf7, 0x2b, 0xfb, 0xb4, 0x11, 0xe9, 0xe9, 0xd4, 0x23, 0xc0, 0x8d, 0xb0, 0xe0, 0x51, 0x19, 0xc8, + 0x35, 0x7d, 0xa2, 0xf0, 0x71, 0x92, 0x54, 0x1e, 0x24, 0x8b, 0xf5, 0x0f, 0x14, 0xe0, 0x4c, 0x86, + 0x1d, 0x2c, 0x3f, 0xaa, 0xb6, 0xdc, 0x28, 0x56, 0x39, 0x75, 0xb4, 0xa3, 0x8a, 0x97, 0x63, 0x85, + 0x41, 0xf7, 0x03, 0x3f, 0x0c, 0xd3, 0x07, 0xa0, 0xb0, 0x33, 0x13, 0xd0, 0x63, 0x66, 0xa7, 0xb9, + 0x04, 0xa5, 0x4e, 0x44, 0x64, 0x68, 0x2a, 0x75, 0x7e, 0x33, 0x0d, 0x33, 0x83, 0x50, 0xd6, 0x74, + 0x4b, 0x29, 0x77, 0x35, 0xd6, 0x94, 0x6b, 0x6c, 0x39, 0x8c, 0x76, 0x2e, 0x26, 0xbe, 0xe3, 0xc7, + 0x82, 0x81, 0x4d, 0x02, 0xaa, 0xb0, 0x52, 0x2c, 0xa0, 0xf6, 0x57, 0x8b, 0x70, 0x3e, 0xd7, 0x32, + 0x9e, 0x76, 0x7d, 0x37, 0xf0, 0xdd, 0x38, 0x50, 0xaf, 0x94, 0x3c, 0x88, 0x0a, 0x69, 0x6f, 0xaf, + 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x65, 0x99, 0xf1, 0x3e, 0x9d, 0x5d, 0x68, 0xb1, 0x6a, 0x24, 0xbd, + 0x1f, 0x34, 0x73, 0xdb, 0x93, 0x50, 0x6a, 0x07, 0x81, 0x97, 0x3e, 0xb4, 0x68, 0x77, 0x83, 0xc0, + 0xc3, 0x0c, 0x88, 0x3e, 0x21, 0xc6, 0x2b, 0xf5, 0x2c, 0x87, 0x9d, 0x56, 0x10, 0x69, 0x83, 0xf6, + 0x34, 0x8c, 0xec, 0x90, 0xfd, 0xd0, 0xf5, 0xb7, 0xd2, 0xcf, 0xb5, 0x37, 0x79, 0x31, 0x96, 0x70, + 0x33, 0xd7, 0xc4, 0xc8, 0x49, 0xa7, 0x5c, 0x1b, 0xed, 0x7b, 0x05, 0xfe, 0x60, 0x11, 0xa6, 0xf0, + 0x62, 0xf5, 0x5b, 0x13, 0x71, 0xa7, 0x7b, 0x22, 0x4e, 0x3a, 0xe5, 0x5a, 0xff, 0xd9, 0xf8, 0x05, + 0x0b, 0xa6, 0x58, 0x3c, 0x66, 0x11, 0xba, 0xc3, 0x0d, 0xfc, 0x53, 0x60, 0xf1, 0x9e, 0x84, 0xa1, + 0x90, 0x36, 0x9a, 0x4e, 0x2b, 0xc4, 0x7a, 0x82, 0x39, 0x0c, 0x3d, 0x0e, 0x25, 0xd6, 0x05, 0x3a, + 0x79, 0xe3, 0x3c, 0x23, 0x43, 0xd5, 0x89, 0x1d, 0xcc, 0x4a, 0x99, 0x3f, 0x3a, 0x26, 0x6d, 0xcf, + 0xe5, 0x9d, 0x4e, 0x9e, 0x40, 0x3e, 0x1a, 0xfe, 0xe8, 0x99, 0x5d, 0xfb, 0x60, 0xfe, 0xe8, 0xd9, + 0x24, 0x7b, 0x8b, 0x4f, 0x7f, 0x58, 0x80, 0x8b, 0x99, 0xf5, 0x06, 0xf6, 0x47, 0xef, 0x5d, 0xfb, + 0x64, 0xac, 0x6e, 0xb2, 0x8d, 0x61, 0x8a, 0xa7, 0x68, 0x0c, 0x53, 0x1a, 0x94, 0xc3, 0x1c, 0x1a, + 0xc0, 0x4d, 0x3c, 0x73, 0xc8, 0x3e, 0x22, 0x6e, 0xe2, 0x99, 0x7d, 0xcb, 0x11, 0xff, 0xfe, 0xac, + 0x90, 0xf3, 0x2d, 0x4c, 0x10, 0xbc, 0x42, 0xcf, 0x19, 0x06, 0x8c, 0x04, 0xc7, 0x3c, 0xce, 0xcf, + 0x18, 0x5e, 0x86, 0x15, 0x14, 0xb9, 0x9a, 0xc3, 0x75, 0x21, 0x3f, 0xcb, 0x66, 0x6e, 0x53, 0xf3, + 0xe6, 0x8b, 0x95, 0x1a, 0x82, 0x0c, 0xe7, 0xeb, 0x55, 0x4d, 0x78, 0x2f, 0x0e, 0x2e, 0xbc, 0x8f, + 0x67, 0x0b, 0xee, 0x68, 0x01, 0xa6, 0x76, 0x5d, 0x9f, 0x1e, 0x9b, 0xfb, 0x26, 0xcb, 0xaa, 0xe2, + 0x8f, 0xac, 0x9a, 0x60, 0x9c, 0xc6, 0x9f, 0x7b, 0x15, 0x26, 0x1e, 0x5c, 0x6d, 0xf9, 0xcd, 0x22, + 0x3c, 0xd6, 0x63, 0xdb, 0xf3, 0xb3, 0xde, 0x98, 0x03, 0xed, 0xac, 0xef, 0x9a, 0x87, 0x3a, 0x9c, + 0xdd, 0xec, 0x78, 0xde, 0x3e, 0xb3, 0x37, 0x25, 0x2d, 0x89, 0x21, 0x78, 0xca, 0xc7, 0x65, 0x0e, + 0x8c, 0x95, 0x0c, 0x1c, 0x9c, 0x59, 0x13, 0xbd, 0x01, 0x28, 0x10, 0x29, 0x7e, 0xaf, 0x13, 0x5f, + 0xbc, 0x03, 0xb0, 0x81, 0x2f, 0x26, 0x9b, 0xf1, 0x76, 0x17, 0x06, 0xce, 0xa8, 0x45, 0x85, 0x03, + 0x7a, 0x2b, 0xed, 0xab, 0x6e, 0xa5, 0x84, 0x03, 0xac, 0x03, 0xb1, 0x89, 0x8b, 0xae, 0xc3, 0x8c, + 0xb3, 0xe7, 0xb8, 0x3c, 0x2e, 0x9f, 0x24, 0xc0, 0xa5, 0x03, 0xa5, 0x2c, 0x5b, 0x48, 0x23, 0xe0, + 0xee, 0x3a, 0x29, 0x97, 0xec, 0xe1, 0x7c, 0x97, 0xec, 0xde, 0xe7, 0x62, 0x3f, 0xdd, 0xaf, 0xfd, + 0x9f, 0x2c, 0x7a, 0x7d, 0x65, 0xa4, 0xe9, 0xa7, 0xe3, 0xa0, 0x74, 0x98, 0x9a, 0x77, 0xf4, 0x39, + 0xcd, 0xa2, 0x24, 0x01, 0x62, 0x13, 0x97, 0x2f, 0x88, 0x28, 0x71, 0xca, 0x31, 0x58, 0x7c, 0x11, + 0x5d, 0x41, 0x61, 0xa0, 0xcf, 0xc3, 0x48, 0xcb, 0xdd, 0x73, 0xa3, 0x20, 0x14, 0x9b, 0xe5, 0x98, + 0xae, 0x0d, 0xc9, 0x39, 0x58, 0xe5, 0x64, 0xb0, 0xa4, 0x67, 0xff, 0x60, 0x01, 0x26, 0x64, 0x8b, + 0x6f, 0x76, 0x82, 0xd8, 0x39, 0x85, 0x6b, 0xf9, 0xba, 0x71, 0x2d, 0x7f, 0xa2, 0x57, 0x88, 0x09, + 0xd6, 0xa5, 0xdc, 0xeb, 0xf8, 0x76, 0xea, 0x3a, 0x7e, 0xaa, 0x3f, 0xa9, 0xde, 0xd7, 0xf0, 0x3f, + 0xb7, 0x60, 0xc6, 0xc0, 0x3f, 0x85, 0xdb, 0x60, 0xc5, 0xbc, 0x0d, 0x9e, 0xe8, 0xfb, 0x0d, 0x39, + 0xb7, 0xc0, 0xf7, 0x15, 0x53, 0x7d, 0x67, 0xa7, 0xff, 0x7b, 0x50, 0xda, 0x76, 0xc2, 0x56, 0xaf, + 0x50, 0xb6, 0x5d, 0x95, 0xe6, 0x6f, 0x38, 0x61, 0x8b, 0x9f, 0xe1, 0xcf, 0xaa, 0x3c, 0x99, 0x4e, + 0xd8, 0xea, 0xeb, 0x83, 0xc6, 0x9a, 0x42, 0xaf, 0xc0, 0x70, 0xd4, 0x0c, 0xda, 0xca, 0x42, 0xf4, + 0x12, 0xcf, 0xa1, 0x49, 0x4b, 0x8e, 0x0e, 0x2a, 0xc8, 0x6c, 0x8e, 0x16, 0x63, 0x81, 0x8f, 0xde, + 0x86, 0x09, 0xf6, 0x4b, 0x59, 0x4a, 0x14, 0xf3, 0x13, 0x28, 0x34, 0x74, 0x44, 0x6e, 0x70, 0x63, + 0x14, 0x61, 0x93, 0xd4, 0xdc, 0x16, 0x94, 0xd5, 0x67, 0x3d, 0x54, 0xdf, 0xa1, 0x7f, 0x5f, 0x84, + 0x33, 0x19, 0x6b, 0x0e, 0x45, 0xc6, 0x4c, 0x3c, 0x3f, 0xe0, 0x52, 0xfd, 0x80, 0x73, 0x11, 0x31, + 0x69, 0xa8, 0x25, 0xd6, 0xd6, 0xc0, 0x8d, 0xde, 0x89, 0x48, 0xba, 0x51, 0x5a, 0xd4, 0xbf, 0x51, + 0xda, 0xd8, 0xa9, 0x0d, 0x35, 0x6d, 0x48, 0xf5, 0xf4, 0xa1, 0xce, 0xe9, 0x1f, 0x17, 0xe1, 0x6c, + 0x56, 0xd4, 0x1b, 0xf4, 0xdd, 0xa9, 0x64, 0x3a, 0x2f, 0x0e, 0x1a, 0x2f, 0x87, 0x67, 0xd8, 0x11, + 0xb9, 0xb0, 0xe7, 0xcd, 0xf4, 0x3a, 0x7d, 0x87, 0x59, 0xb4, 0xc9, 0x1c, 0x4e, 0x43, 0x9e, 0x04, + 0x49, 0x1e, 0x1f, 0x9f, 0x1e, 0xb8, 0x03, 0x22, 0x7b, 0x52, 0x94, 0x72, 0x38, 0x95, 0xc5, 0xfd, + 0x1d, 0x4e, 0x65, 0xcb, 0x73, 0x2e, 0x8c, 0x69, 0x5f, 0xf3, 0x50, 0x67, 0x7c, 0x87, 0xde, 0x56, + 0x5a, 0xbf, 0x1f, 0xea, 0xac, 0xff, 0x88, 0x05, 0x29, 0x73, 0x4c, 0xa5, 0x16, 0xb3, 0x72, 0xd5, + 0x62, 0x97, 0xa0, 0x14, 0x06, 0x1e, 0x49, 0xe7, 0xae, 0xc1, 0x81, 0x47, 0x30, 0x83, 0x50, 0x8c, + 0x38, 0x51, 0x76, 0x8c, 0xeb, 0x82, 0x9c, 0x10, 0xd1, 0x9e, 0x84, 0x21, 0x8f, 0xec, 0x11, 0x2f, + 0x1d, 0x18, 0xfe, 0x16, 0x2d, 0xc4, 0x1c, 0x66, 0xff, 0x42, 0x09, 0x2e, 0xf4, 0x74, 0xd9, 0xa6, + 0xe2, 0xd0, 0x96, 0x13, 0x93, 0x7b, 0xce, 0x7e, 0x3a, 0x82, 0xf3, 0x75, 0x5e, 0x8c, 0x25, 0x9c, + 0x59, 0xa8, 0xf3, 0x88, 0x8d, 0x29, 0x25, 0xa2, 0x08, 0xd4, 0x28, 0xa0, 0xa6, 0x52, 0xaa, 0x78, + 0x12, 0x4a, 0xa9, 0x6b, 0x00, 0x51, 0xe4, 0x71, 0xfb, 0x82, 0x96, 0x30, 0x7d, 0x4f, 0x22, 0x7b, + 0x36, 0x6e, 0x09, 0x08, 0xd6, 0xb0, 0x50, 0x15, 0xa6, 0xdb, 0x61, 0x10, 0x73, 0x9d, 0x6c, 0x95, + 0x1b, 0x26, 0x0d, 0x99, 0xde, 0xb2, 0xf5, 0x14, 0x1c, 0x77, 0xd5, 0x40, 0x2f, 0xc1, 0x98, 0xf0, + 0xa0, 0xad, 0x07, 0x81, 0x27, 0xd4, 0x40, 0xca, 0xcc, 0xa5, 0x91, 0x80, 0xb0, 0x8e, 0xa7, 0x55, + 0x63, 0x8a, 0xde, 0x91, 0xcc, 0x6a, 0x5c, 0xd9, 0xab, 0xe1, 0xa5, 0x22, 0x60, 0x8d, 0x0e, 0x14, + 0x01, 0x2b, 0x51, 0x8c, 0x95, 0x07, 0x7e, 0xdb, 0x82, 0xbe, 0xaa, 0xa4, 0x9f, 0x2d, 0xc1, 0x19, + 0xb1, 0x70, 0x1e, 0xf6, 0x72, 0xb9, 0xd3, 0xbd, 0x5c, 0x4e, 0x42, 0x75, 0xf6, 0xad, 0x35, 0x73, + 0xda, 0x6b, 0xe6, 0x87, 0x2c, 0x30, 0xd9, 0x2b, 0xf4, 0xff, 0xe5, 0x86, 0xc0, 0x7f, 0x29, 0x97, + 0x5d, 0x6b, 0xc9, 0x0b, 0xe4, 0x03, 0x06, 0xc3, 0xb7, 0xff, 0xa3, 0x05, 0x4f, 0xf4, 0xa5, 0x88, + 0x96, 0xa1, 0xcc, 0x78, 0x40, 0x4d, 0x3a, 0x7b, 0x4a, 0x19, 0x2e, 0x4a, 0x40, 0x0e, 0x4b, 0x9a, + 0xd4, 0x44, 0xcb, 0x5d, 0xb9, 0x06, 0x9e, 0xce, 0xc8, 0x35, 0x70, 0xce, 0x18, 0x9e, 0x07, 0x4c, + 0x36, 0xf0, 0xcb, 0x45, 0x18, 0xe6, 0x2b, 0xfe, 0x14, 0xc4, 0xb0, 0x15, 0xa1, 0xb7, 0xed, 0x11, + 0x03, 0x8b, 0xf7, 0x65, 0xbe, 0xea, 0xc4, 0x0e, 0x67, 0x13, 0xd4, 0x6d, 0x95, 0x68, 0x78, 0xd1, + 0xbc, 0x71, 0x9f, 0xcd, 0xa5, 0x14, 0x93, 0xc0, 0x69, 0x68, 0xb7, 0xdb, 0x17, 0x01, 0x22, 0x96, + 0xa7, 0x9f, 0xd2, 0x10, 0xd1, 0xd4, 0x3e, 0xd9, 0xa3, 0xf5, 0x86, 0x42, 0xe6, 0x7d, 0x48, 0x76, + 0xba, 0x02, 0x60, 0x8d, 0xe2, 0xdc, 0xcb, 0x50, 0x56, 0xc8, 0xfd, 0xb4, 0x38, 0xe3, 0x3a, 0x73, + 0xf1, 0x59, 0x98, 0x4a, 0xb5, 0x75, 0x2c, 0x25, 0xd0, 0x2f, 0x5a, 0x30, 0xc5, 0xbb, 0xbc, 0xec, + 0xef, 0x89, 0x33, 0xf5, 0x7d, 0x38, 0xeb, 0x65, 0x9c, 0x6d, 0x62, 0x46, 0x07, 0x3f, 0x0b, 0x95, + 0xd2, 0x27, 0x0b, 0x8a, 0x33, 0xdb, 0x40, 0x57, 0xe8, 0xba, 0xa5, 0x67, 0x97, 0xe3, 0x09, 0x6f, + 0xa7, 0x71, 0xbe, 0x66, 0x79, 0x19, 0x56, 0x50, 0xfb, 0xb7, 0x2d, 0x98, 0xe1, 0x3d, 0xbf, 0x49, + 0xf6, 0xd5, 0x0e, 0xff, 0x30, 0xfb, 0x2e, 0xd2, 0x7f, 0x14, 0x72, 0xd2, 0x7f, 0xe8, 0x9f, 0x56, + 0xec, 0xf9, 0x69, 0x3f, 0x63, 0x81, 0x58, 0x81, 0xa7, 0x20, 0xca, 0x7f, 0xbb, 0x29, 0xca, 0xcf, + 0xe5, 0x2f, 0xea, 0x1c, 0x19, 0xfe, 0x4f, 0x2d, 0x98, 0xe6, 0x08, 0xc9, 0x9b, 0xf3, 0x87, 0x3a, + 0x0f, 0x83, 0xe4, 0xf1, 0x53, 0xc9, 0xbd, 0xb3, 0x3f, 0xca, 0x98, 0xac, 0x52, 0xcf, 0xc9, 0x6a, + 0xc9, 0x0d, 0x74, 0x8c, 0x1c, 0x96, 0xc7, 0x0e, 0xa3, 0x6d, 0xff, 0x81, 0x05, 0x88, 0x37, 0x63, + 0xb0, 0x3f, 0x94, 0xa9, 0x60, 0xa5, 0xda, 0x75, 0x91, 0x1c, 0x35, 0x0a, 0x82, 0x35, 0xac, 0x13, + 0x19, 0x9e, 0x94, 0xe1, 0x40, 0xb1, 0xbf, 0xe1, 0xc0, 0x31, 0x46, 0xf4, 0x7f, 0x97, 0x20, 0xed, + 0x7e, 0x80, 0xee, 0xc2, 0x78, 0xd3, 0x69, 0x3b, 0x1b, 0xae, 0xe7, 0xc6, 0x2e, 0x89, 0x7a, 0x59, + 0x1c, 0x2d, 0x69, 0x78, 0xe2, 0xa9, 0x57, 0x2b, 0xc1, 0x06, 0x1d, 0x34, 0x0f, 0xd0, 0x0e, 0xdd, + 0x3d, 0xd7, 0x23, 0x5b, 0x4c, 0xe3, 0xc0, 0xfc, 0x2b, 0xb9, 0x19, 0x8d, 0x2c, 0xc5, 0x1a, 0x46, + 0x86, 0xab, 0x5c, 0xf1, 0xe1, 0xb9, 0xca, 0x95, 0x8e, 0xe9, 0x2a, 0x37, 0x34, 0x90, 0xab, 0x1c, + 0x86, 0x47, 0x24, 0x8b, 0x44, 0xff, 0xaf, 0xb8, 0x1e, 0x11, 0x7c, 0x31, 0xf7, 0xba, 0x9c, 0x3b, + 0x3c, 0xa8, 0x3c, 0x82, 0x33, 0x31, 0x70, 0x4e, 0x4d, 0xf4, 0x39, 0x98, 0x75, 0x3c, 0x2f, 0xb8, + 0xa7, 0x46, 0x6d, 0x39, 0x6a, 0x3a, 0x1e, 0xd7, 0xd8, 0x8f, 0x30, 0xaa, 0x8f, 0x1f, 0x1e, 0x54, + 0x66, 0x17, 0x72, 0x70, 0x70, 0x6e, 0xed, 0x94, 0xa7, 0xdd, 0x68, 0x5f, 0x4f, 0xbb, 0xd7, 0xa0, + 0xdc, 0x0e, 0x83, 0xe6, 0xaa, 0xe6, 0xfd, 0x73, 0x91, 0x65, 0xc8, 0x97, 0x85, 0x47, 0x07, 0x95, + 0x09, 0xf5, 0x87, 0xdd, 0xf0, 0x49, 0x05, 0x7b, 0x07, 0xce, 0x34, 0x48, 0xe8, 0xb2, 0xdc, 0x9b, + 0xad, 0x64, 0x43, 0xaf, 0x43, 0x39, 0x4c, 0x1d, 0x61, 0x03, 0x05, 0x72, 0xd2, 0xe2, 0x0b, 0xcb, + 0x23, 0x2b, 0x21, 0x64, 0xff, 0x89, 0x05, 0x23, 0xc2, 0x12, 0xfd, 0x14, 0x38, 0xa7, 0x05, 0x43, + 0x81, 0x5d, 0xc9, 0x3e, 0xe6, 0x59, 0x67, 0x72, 0x55, 0xd7, 0xb5, 0x94, 0xea, 0xfa, 0x89, 0x5e, + 0x44, 0x7a, 0x2b, 0xad, 0xff, 0x76, 0x11, 0x26, 0x4d, 0xe7, 0x91, 0x53, 0x18, 0x82, 0x35, 0x18, + 0x89, 0x84, 0xa7, 0x52, 0x21, 0xdf, 0xc2, 0x3a, 0x3d, 0x89, 0x89, 0xf9, 0x94, 0xf0, 0x4d, 0x92, + 0x44, 0x32, 0x5d, 0xa0, 0x8a, 0x0f, 0xd1, 0x05, 0xaa, 0x9f, 0xff, 0x4e, 0xe9, 0x24, 0xfc, 0x77, + 0xec, 0xaf, 0xb3, 0xab, 0x46, 0x2f, 0x3f, 0x05, 0x2e, 0xe4, 0xba, 0x79, 0x29, 0xd9, 0x3d, 0x56, + 0x96, 0xe8, 0x54, 0x0e, 0x37, 0xf2, 0xf3, 0x16, 0x5c, 0xc8, 0xf8, 0x2a, 0x8d, 0x35, 0x79, 0x16, + 0x46, 0x9d, 0x4e, 0xcb, 0x55, 0x7b, 0x59, 0x7b, 0xc6, 0x5a, 0x10, 0xe5, 0x58, 0x61, 0xa0, 0x25, + 0x98, 0x21, 0xf7, 0xdb, 0x2e, 0x7f, 0x47, 0xd4, 0x6d, 0x1c, 0x8b, 0x3c, 0xb8, 0xed, 0x72, 0x1a, + 0x88, 0xbb, 0xf1, 0x95, 0xfb, 0x77, 0x31, 0xd7, 0xfd, 0xfb, 0x1f, 0x59, 0x30, 0xa6, 0xbc, 0x52, + 0x1e, 0xfa, 0x68, 0x7f, 0x87, 0x39, 0xda, 0x8f, 0xf5, 0x18, 0xed, 0x9c, 0x61, 0xfe, 0xbb, 0x05, + 0xd5, 0xdf, 0x7a, 0x10, 0xc6, 0x03, 0xb0, 0x3c, 0xaf, 0xc0, 0x68, 0x3b, 0x0c, 0xe2, 0xa0, 0x19, + 0x78, 0x82, 0xe3, 0x79, 0x3c, 0x89, 0x4e, 0xc0, 0xcb, 0x8f, 0xb4, 0xdf, 0x58, 0x61, 0xb3, 0xd1, + 0x0b, 0xc2, 0x58, 0x70, 0x19, 0xc9, 0xe8, 0x05, 0x61, 0x8c, 0x19, 0x04, 0xb5, 0x00, 0x62, 0x27, + 0xdc, 0x22, 0x31, 0x2d, 0x13, 0x81, 0x4e, 0xf2, 0x0f, 0x8f, 0x4e, 0xec, 0x7a, 0xf3, 0xae, 0x1f, + 0x47, 0x71, 0x38, 0x5f, 0xf3, 0xe3, 0xdb, 0x21, 0x17, 0xa0, 0xb4, 0x70, 0x03, 0x8a, 0x16, 0xd6, + 0xe8, 0x4a, 0x9f, 0x50, 0xd6, 0xc6, 0x90, 0xf9, 0x20, 0xbe, 0x26, 0xca, 0xb1, 0xc2, 0xb0, 0x5f, + 0x66, 0x57, 0x09, 0x1b, 0xa0, 0xe3, 0x45, 0x02, 0xf8, 0xc6, 0xa8, 0x1a, 0x5a, 0xf6, 0x1a, 0x56, + 0xd5, 0xe3, 0x0d, 0xf4, 0x3e, 0xb9, 0x69, 0xc3, 0xba, 0xbf, 0x4d, 0x12, 0x94, 0x00, 0x7d, 0x67, + 0x97, 0x9d, 0xc4, 0x73, 0x7d, 0xae, 0x80, 0x63, 0x58, 0x46, 0xb0, 0x80, 0xdb, 0x2c, 0x1c, 0x71, + 0xad, 0x2e, 0x16, 0xb9, 0x16, 0x70, 0x5b, 0x00, 0x70, 0x82, 0x83, 0xae, 0x0a, 0xf1, 0xbb, 0x64, + 0xa4, 0xdd, 0x93, 0xe2, 0xb7, 0xfc, 0x7c, 0x4d, 0xfe, 0x7e, 0x1e, 0xc6, 0x54, 0xfa, 0xbd, 0x3a, + 0xcf, 0x62, 0x26, 0xc2, 0xbe, 0x2c, 0x27, 0xc5, 0x58, 0xc7, 0x41, 0xeb, 0x30, 0x15, 0x71, 0xdd, + 0x8b, 0x8a, 0xee, 0xc7, 0x75, 0x58, 0x9f, 0x94, 0xf6, 0x15, 0x0d, 0x13, 0x7c, 0xc4, 0x8a, 0xf8, + 0xd1, 0x21, 0x1d, 0x3b, 0xd3, 0x24, 0xd0, 0xeb, 0x30, 0xe9, 0xe9, 0x89, 0xee, 0xeb, 0x42, 0xc5, + 0xa5, 0xcc, 0x94, 0x8d, 0x34, 0xf8, 0x75, 0x9c, 0xc2, 0xa6, 0x9c, 0x92, 0x5e, 0x22, 0x22, 0x52, + 0x3a, 0xfe, 0x16, 0x89, 0x44, 0xf2, 0x30, 0xc6, 0x29, 0xdd, 0xca, 0xc1, 0xc1, 0xb9, 0xb5, 0xd1, + 0x2b, 0x30, 0x2e, 0x3f, 0x5f, 0x73, 0x5b, 0x4e, 0x8c, 0xe1, 0x35, 0x18, 0x36, 0x30, 0xd1, 0x3d, + 0x38, 0x27, 0xff, 0xaf, 0x87, 0xce, 0xe6, 0xa6, 0xdb, 0x14, 0x5e, 0xe3, 0xdc, 0x23, 0x68, 0x41, + 0xba, 0x18, 0x2d, 0x67, 0x21, 0x1d, 0x1d, 0x54, 0x2e, 0x89, 0x51, 0xcb, 0x84, 0xb3, 0x49, 0xcc, + 0xa6, 0x8f, 0x56, 0xe1, 0xcc, 0x36, 0x71, 0xbc, 0x78, 0x7b, 0x69, 0x9b, 0x34, 0x77, 0xe4, 0x26, + 0x62, 0xce, 0xd0, 0x9a, 0x09, 0xf9, 0x8d, 0x6e, 0x14, 0x9c, 0x55, 0x0f, 0xbd, 0x03, 0xb3, 0xed, + 0xce, 0x86, 0xe7, 0x46, 0xdb, 0x6b, 0x41, 0xcc, 0x4c, 0x3a, 0x54, 0xf6, 0x3a, 0xe1, 0x35, 0xad, + 0x1c, 0xc1, 0xeb, 0x39, 0x78, 0x38, 0x97, 0x02, 0x7a, 0x1f, 0xce, 0xa5, 0x16, 0x83, 0xf0, 0xe1, + 0x9c, 0xcc, 0x8f, 0xef, 0xdb, 0xc8, 0xaa, 0x20, 0x7c, 0x32, 0xb3, 0x40, 0x38, 0xbb, 0x89, 0x0f, + 0x66, 0xe8, 0xf3, 0x1e, 0xad, 0xac, 0x31, 0x65, 0xe8, 0x4b, 0x30, 0xae, 0xaf, 0x22, 0x71, 0xc1, + 0x5c, 0xce, 0xe6, 0x59, 0xb4, 0xd5, 0xc6, 0x59, 0x3a, 0xb5, 0xa2, 0x74, 0x18, 0x36, 0x28, 0xda, + 0x04, 0xb2, 0xbf, 0x0f, 0xdd, 0x82, 0xd1, 0xa6, 0xe7, 0x12, 0x3f, 0xae, 0xd5, 0x7b, 0x05, 0x19, + 0x59, 0x12, 0x38, 0x62, 0xc0, 0x44, 0x40, 0x54, 0x5e, 0x86, 0x15, 0x05, 0xfb, 0xd7, 0x0a, 0x50, + 0xe9, 0x13, 0x5d, 0x37, 0xa5, 0x8f, 0xb6, 0x06, 0xd2, 0x47, 0x2f, 0xc8, 0x5c, 0x7c, 0x6b, 0x29, + 0x21, 0x3d, 0x95, 0x67, 0x2f, 0x11, 0xd5, 0xd3, 0xf8, 0x03, 0xdb, 0x07, 0xeb, 0x2a, 0xed, 0x52, + 0x5f, 0x0b, 0x77, 0xe3, 0x29, 0x6b, 0x68, 0x70, 0x41, 0x24, 0xf7, 0x59, 0xc2, 0xfe, 0x7a, 0x01, + 0xce, 0xa9, 0x21, 0xfc, 0x8b, 0x3b, 0x70, 0x77, 0xba, 0x07, 0xee, 0x04, 0x1e, 0x75, 0xec, 0xdb, + 0x30, 0xcc, 0x83, 0xb4, 0x0c, 0xc0, 0x00, 0x3d, 0x69, 0x46, 0xf4, 0x52, 0xd7, 0xb4, 0x11, 0xd5, + 0xeb, 0xaf, 0x58, 0x30, 0xb5, 0xbe, 0x54, 0x6f, 0x04, 0xcd, 0x1d, 0x12, 0x2f, 0x70, 0x86, 0x15, + 0x0b, 0xfe, 0xc7, 0x7a, 0x40, 0xbe, 0x26, 0x8b, 0x63, 0xba, 0x04, 0xa5, 0xed, 0x20, 0x8a, 0xd3, + 0x2f, 0xbe, 0x37, 0x82, 0x28, 0xc6, 0x0c, 0x62, 0xff, 0x8e, 0x05, 0x43, 0x2c, 0x83, 0x6c, 0xbf, + 0xb4, 0xc6, 0x83, 0x7c, 0x17, 0x7a, 0x09, 0x86, 0xc9, 0xe6, 0x26, 0x69, 0xc6, 0x62, 0x56, 0xa5, + 0xdb, 0xea, 0xf0, 0x32, 0x2b, 0xa5, 0x97, 0x3e, 0x6b, 0x8c, 0xff, 0xc5, 0x02, 0x19, 0xbd, 0x05, + 0xe5, 0xd8, 0xdd, 0x25, 0x0b, 0xad, 0x96, 0x78, 0x33, 0x7b, 0x00, 0x2f, 0xe1, 0x75, 0x49, 0x00, + 0x27, 0xb4, 0xec, 0xaf, 0x16, 0x00, 0x92, 0x50, 0x03, 0xfd, 0x3e, 0x71, 0xb1, 0xeb, 0x35, 0xe5, + 0x72, 0xc6, 0x6b, 0x0a, 0x4a, 0x08, 0x66, 0x3c, 0xa5, 0xa8, 0x61, 0x2a, 0x0e, 0x34, 0x4c, 0xa5, + 0xe3, 0x0c, 0xd3, 0x12, 0xcc, 0x24, 0xa1, 0x12, 0xcc, 0xb8, 0x31, 0x4c, 0x48, 0x59, 0x4f, 0x03, + 0x71, 0x37, 0xbe, 0x4d, 0xe0, 0x92, 0x8c, 0xe0, 0x29, 0xef, 0x1a, 0x66, 0x92, 0x79, 0x8c, 0x0c, + 0xd7, 0xc9, 0x73, 0x51, 0x21, 0xf7, 0xb9, 0xe8, 0xc7, 0x2d, 0x38, 0x9b, 0x6e, 0x87, 0xf9, 0xc8, + 0x7d, 0xc5, 0x82, 0x73, 0xec, 0xd1, 0x8c, 0xb5, 0xda, 0xfd, 0x44, 0xf7, 0x62, 0x76, 0x08, 0x89, + 0xde, 0x3d, 0x4e, 0xfc, 0xa3, 0x57, 0xb3, 0x48, 0xe3, 0xec, 0x16, 0xed, 0xaf, 0x58, 0x70, 0x3e, + 0x37, 0x71, 0x11, 0xba, 0x02, 0xa3, 0x4e, 0xdb, 0xe5, 0x1a, 0x29, 0xb1, 0xdf, 0x99, 0xf4, 0x58, + 0xaf, 0x71, 0x7d, 0x94, 0x82, 0xaa, 0x84, 0x8a, 0x85, 0xdc, 0x84, 0x8a, 0x7d, 0xf3, 0x23, 0xda, + 0xdf, 0x6f, 0x81, 0x70, 0x8b, 0x1a, 0xe0, 0x90, 0x79, 0x5b, 0xe6, 0xa3, 0x35, 0x82, 0xa7, 0x5f, + 0xca, 0xf7, 0x13, 0x13, 0x21, 0xd3, 0xd5, 0xa5, 0x6e, 0x04, 0x4a, 0x37, 0x68, 0xd9, 0x2d, 0x10, + 0xd0, 0x2a, 0x61, 0x3a, 0xab, 0xfe, 0xbd, 0xb9, 0x06, 0xd0, 0x62, 0xb8, 0x5a, 0x56, 0x4a, 0x75, + 0x85, 0x54, 0x15, 0x04, 0x6b, 0x58, 0xf6, 0xbf, 0x2d, 0xc0, 0x98, 0x0c, 0xd6, 0xdd, 0xf1, 0x07, + 0x91, 0x2c, 0x8f, 0x95, 0xbd, 0x87, 0xa5, 0x71, 0xa5, 0x84, 0xeb, 0x89, 0x40, 0x9e, 0xa4, 0x71, + 0x95, 0x00, 0x9c, 0xe0, 0xa0, 0xa7, 0x61, 0x24, 0xea, 0x6c, 0x30, 0xf4, 0x94, 0x13, 0x4f, 0x83, + 0x17, 0x63, 0x09, 0x47, 0x9f, 0x83, 0x69, 0x5e, 0x2f, 0x0c, 0xda, 0xce, 0x16, 0x57, 0x7f, 0x0e, + 0x29, 0xef, 0xdb, 0xe9, 0xd5, 0x14, 0xec, 0xe8, 0xa0, 0x72, 0x36, 0x5d, 0xc6, 0x14, 0xe7, 0x5d, + 0x54, 0xd8, 0x63, 0x3c, 0x6f, 0x84, 0x2e, 0xd3, 0xae, 0x37, 0xfc, 0x04, 0x84, 0x75, 0x3c, 0xfb, + 0x4b, 0x80, 0xba, 0xc3, 0x96, 0xa3, 0x37, 0xb8, 0x05, 0x96, 0x1b, 0x92, 0x56, 0x2f, 0x45, 0xba, + 0xee, 0x63, 0x2a, 0xed, 0xef, 0x79, 0x2d, 0xac, 0xea, 0xdb, 0x7f, 0xad, 0x08, 0xd3, 0x69, 0x8f, + 0x43, 0x74, 0x03, 0x86, 0xf9, 0x1d, 0x29, 0xc8, 0xf7, 0x78, 0xa7, 0xd5, 0xfc, 0x14, 0xd9, 0x69, + 0x21, 0xae, 0x59, 0x51, 0x1f, 0xbd, 0x03, 0x63, 0xad, 0xe0, 0x9e, 0x7f, 0xcf, 0x09, 0x5b, 0x0b, + 0xf5, 0x9a, 0x58, 0xce, 0x99, 0xac, 0x76, 0x35, 0x41, 0xd3, 0x7d, 0x1f, 0xd9, 0x9b, 0x44, 0x02, + 0xc2, 0x3a, 0x39, 0xb4, 0xce, 0x42, 0x31, 0x6e, 0xba, 0x5b, 0xab, 0x4e, 0xbb, 0x97, 0x39, 0xee, + 0x92, 0x44, 0xd2, 0x28, 0x4f, 0x88, 0x78, 0x8d, 0x1c, 0x80, 0x13, 0x42, 0xe8, 0xbb, 0xe1, 0x4c, + 0x94, 0xa3, 0x9d, 0xcb, 0xcb, 0x62, 0xd1, 0x4b, 0x61, 0xb5, 0xf8, 0x28, 0x15, 0x82, 0xb2, 0xf4, + 0x78, 0x59, 0xcd, 0xd8, 0x5f, 0x3e, 0x03, 0xc6, 0x26, 0x36, 0x92, 0x1a, 0x59, 0x27, 0x94, 0xd4, + 0x08, 0xc3, 0x28, 0xd9, 0x6d, 0xc7, 0xfb, 0x55, 0x37, 0xec, 0x95, 0x74, 0x6f, 0x59, 0xe0, 0x74, + 0xd3, 0x94, 0x10, 0xac, 0xe8, 0x64, 0x67, 0x9e, 0x2a, 0x7e, 0x88, 0x99, 0xa7, 0x4a, 0xa7, 0x98, + 0x79, 0x6a, 0x0d, 0x46, 0xb6, 0xdc, 0x18, 0x93, 0x76, 0x20, 0xb8, 0xd3, 0xcc, 0x75, 0x78, 0x9d, + 0xa3, 0x74, 0xe7, 0x38, 0x11, 0x00, 0x2c, 0x89, 0xa0, 0x37, 0xd4, 0x0e, 0x1c, 0xce, 0x17, 0xee, + 0xba, 0x1f, 0x14, 0x33, 0xf7, 0xa0, 0xc8, 0x2f, 0x35, 0xf2, 0xa0, 0xf9, 0xa5, 0x56, 0x64, 0x56, + 0xa8, 0xd1, 0x7c, 0xdb, 0x79, 0x96, 0xf4, 0xa9, 0x4f, 0x2e, 0xa8, 0xbb, 0x7a, 0x26, 0xad, 0x72, + 0xfe, 0x49, 0xa0, 0x92, 0x64, 0x0d, 0x98, 0x3f, 0xeb, 0xfb, 0x2d, 0x38, 0xd7, 0xce, 0x4a, 0x2a, + 0x27, 0x72, 0x39, 0xbd, 0x34, 0x70, 0xd6, 0x3c, 0xa3, 0x41, 0x26, 0xe5, 0x67, 0xa2, 0xe1, 0xec, + 0xe6, 0xe8, 0x40, 0x87, 0x1b, 0x2d, 0x91, 0x00, 0xea, 0xc9, 0x9c, 0x44, 0x5c, 0x3d, 0xd2, 0x6f, + 0xad, 0x67, 0x24, 0x7d, 0xfa, 0x78, 0x5e, 0xd2, 0xa7, 0x81, 0x53, 0x3d, 0xbd, 0xa1, 0x52, 0x70, + 0x4d, 0xe4, 0x2f, 0x25, 0x9e, 0x60, 0xab, 0x6f, 0xe2, 0xad, 0x37, 0x54, 0xe2, 0xad, 0x1e, 0x21, + 0xe9, 0x78, 0x5a, 0xad, 0xbe, 0xe9, 0xb6, 0xb4, 0x94, 0x59, 0x53, 0x27, 0x93, 0x32, 0xcb, 0xb8, + 0x6a, 0x78, 0xd6, 0xa6, 0x67, 0xfa, 0x5c, 0x35, 0x06, 0xdd, 0xde, 0x97, 0x0d, 0x4f, 0x0f, 0x36, + 0xf3, 0x40, 0xe9, 0xc1, 0xee, 0xea, 0xe9, 0xb6, 0x50, 0x9f, 0x7c, 0x52, 0x14, 0x69, 0xc0, 0x24, + 0x5b, 0x77, 0xf5, 0x0b, 0xf0, 0x4c, 0x3e, 0x5d, 0x75, 0xcf, 0x75, 0xd3, 0xcd, 0xbc, 0x02, 0xbb, + 0x92, 0x77, 0x9d, 0x3d, 0x9d, 0xe4, 0x5d, 0xe7, 0x4e, 0x3c, 0x79, 0xd7, 0x23, 0xa7, 0x90, 0xbc, + 0xeb, 0xd1, 0x0f, 0x35, 0x79, 0xd7, 0xec, 0x43, 0x48, 0xde, 0xb5, 0x96, 0x24, 0xef, 0x3a, 0x9f, + 0x3f, 0x25, 0x19, 0x06, 0xbd, 0x39, 0x29, 0xbb, 0xee, 0xb2, 0x57, 0x7d, 0x1e, 0x12, 0x43, 0xc4, + 0xcc, 0xcb, 0x4e, 0x54, 0x9c, 0x15, 0x37, 0x83, 0x4f, 0x89, 0x02, 0xe1, 0x84, 0x14, 0xa5, 0x9b, + 0xa4, 0xf0, 0x7a, 0xac, 0x87, 0x1e, 0x37, 0x4b, 0x43, 0x96, 0x9f, 0xb8, 0xcb, 0xfe, 0x81, 0x02, + 0x5c, 0xec, 0xbd, 0xae, 0x13, 0xf5, 0x5a, 0x3d, 0x79, 0x0e, 0x4a, 0xa9, 0xd7, 0xb8, 0x6c, 0x94, + 0x60, 0x0d, 0x1c, 0x37, 0xe8, 0x3a, 0xcc, 0x28, 0x4b, 0x5e, 0xcf, 0x6d, 0xee, 0x6b, 0x09, 0x8c, + 0x95, 0xc7, 0x62, 0x23, 0x8d, 0x80, 0xbb, 0xeb, 0xa0, 0x05, 0x98, 0x32, 0x0a, 0x6b, 0x55, 0x21, + 0x03, 0x29, 0x7d, 0x5e, 0xc3, 0x04, 0xe3, 0x34, 0xbe, 0xfd, 0xd3, 0x16, 0x3c, 0x9a, 0x93, 0xd7, + 0x62, 0xe0, 0xb0, 0x38, 0x9b, 0x30, 0xd5, 0x36, 0xab, 0xf6, 0x89, 0x9e, 0x65, 0x64, 0xcf, 0x50, + 0x7d, 0x4d, 0x01, 0x70, 0x9a, 0xe8, 0xe2, 0x95, 0xdf, 0xfc, 0xbd, 0x8b, 0x1f, 0xfb, 0xad, 0xdf, + 0xbb, 0xf8, 0xb1, 0xdf, 0xfe, 0xbd, 0x8b, 0x1f, 0xfb, 0xff, 0x0f, 0x2f, 0x5a, 0xbf, 0x79, 0x78, + 0xd1, 0xfa, 0xad, 0xc3, 0x8b, 0xd6, 0x6f, 0x1f, 0x5e, 0xb4, 0x7e, 0xf7, 0xf0, 0xa2, 0xf5, 0xd5, + 0xdf, 0xbf, 0xf8, 0xb1, 0xb7, 0x0b, 0x7b, 0xcf, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, + 0xcc, 0xdd, 0xd4, 0xaf, 0xe8, 0x00, 0x00, } diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index 3f6b2c755e..07500a3611 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -4604,6 +4604,14 @@ message VolumeMount { // This field is beta in 1.10. // +optional optional string mountPropagation = 5; + + // Expanded path within the volume from which the container's volume should be mounted. + // Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + // Defaults to "" (volume's root). + // SubPathExpr and SubPath are mutually exclusive. + // This field is alpha in 1.14. + // +optional + optional string subPathExpr = 6; } // VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from. diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index c092ae17ee..2fd5fa3e1b 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -1737,6 +1737,13 @@ type VolumeMount struct { // This field is beta in 1.10. // +optional MountPropagation *MountPropagationMode `json:"mountPropagation,omitempty" protobuf:"bytes,5,opt,name=mountPropagation,casttype=MountPropagationMode"` + // Expanded path within the volume from which the container's volume should be mounted. + // Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + // Defaults to "" (volume's root). + // SubPathExpr and SubPath are mutually exclusive. + // This field is alpha in 1.14. + // +optional + SubPathExpr string `json:"subPathExpr,omitempty" protobuf:"bytes,6,opt,name=subPathExpr"` } // MountPropagationMode describes mount propagation. diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index 7acdc2f1af..6854126a26 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -2260,6 +2260,7 @@ var map_VolumeMount = map[string]string{ "mountPath": "Path within the container at which the volume should be mounted. Must not contain ':'.", "subPath": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", "mountPropagation": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.", + "subPathExpr": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive. This field is alpha in 1.14.", } func (VolumeMount) SwaggerDoc() map[string]string { diff --git a/test/e2e/common/expansion.go b/test/e2e/common/expansion.go index 71f0bf13b6..ae3a00e255 100644 --- a/test/e2e/common/expansion.go +++ b/test/e2e/common/expansion.go @@ -17,11 +17,14 @@ limitations under the License. package common import ( + "fmt" "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" imageutils "k8s.io/kubernetes/test/utils/image" + "time" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -175,9 +178,9 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { }, VolumeMounts: []v1.VolumeMount{ { - Name: "workdir1", - MountPath: "/logscontainer", - SubPath: "$(POD_NAME)", + Name: "workdir1", + MountPath: "/logscontainer", + SubPathExpr: "$(POD_NAME)", }, { Name: "workdir2", @@ -235,9 +238,9 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { }, VolumeMounts: []v1.VolumeMount{ { - Name: "workdir1", - MountPath: "/logscontainer", - SubPath: "$(POD_NAME)", + Name: "workdir1", + MountPath: "/logscontainer", + SubPathExpr: "$(POD_NAME)", }, }, }, @@ -284,9 +287,9 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { }, VolumeMounts: []v1.VolumeMount{ { - Name: "workdir1", - MountPath: "/logscontainer", - SubPath: "$(POD_NAME)", + Name: "workdir1", + MountPath: "/logscontainer", + SubPathExpr: "$(POD_NAME)", }, }, }, @@ -306,6 +309,338 @@ var _ = framework.KubeDescribe("Variable Expansion", func() { // Pod should fail testPodFailSubpath(f, pod) }) + + /* + Testname: var-expansion-subpath-ready-from-failed-state + Description: Verify that a failing subpath expansion can be modified during the lifecycle of a container. + */ + It("should verify that a failing subpath expansion can be modified during the lifecycle of a container [Feature:VolumeSubpathEnvExpansion][NodeAlphaFeature:VolumeSubpathEnvExpansion][Slow]", func() { + + podName := "var-expansion-" + string(uuid.NewUUID()) + containerName := "dapi-container" + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + Labels: map[string]string{"name": podName}, + Annotations: map[string]string{"notmysubpath": "mypath"}, + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: containerName, + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"sh", "-c", "tail -f /dev/null"}, + Env: []v1.EnvVar{ + { + Name: "POD_NAME", + Value: "foo", + }, + { + Name: "ANNOTATION", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.annotations['mysubpath']", + }, + }, + }, + }, + VolumeMounts: []v1.VolumeMount{ + { + Name: "workdir1", + MountPath: "/subpath_mount", + SubPathExpr: "$(ANNOTATION)/$(POD_NAME)", + }, + { + Name: "workdir2", + MountPath: "/volume_mount", + }, + }, + }, + }, + Volumes: []v1.Volume{ + { + Name: "workdir1", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + { + Name: "workdir2", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + }, + }, + } + + By("creating the pod with failed condition") + pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod) + Expect(err).ToNot(HaveOccurred(), "while creating pod") + + err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) + Expect(err).To(HaveOccurred(), "while waiting for pod to be running") + + var podClient *framework.PodClient + podClient = f.PodClient() + + By("updating the pod") + podClient.Update(podName, func(pod *v1.Pod) { + pod.ObjectMeta.Annotations = map[string]string{"mysubpath": "mypath"} + }) + + By("waiting for pod running") + err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) + Expect(err).NotTo(HaveOccurred(), "while waiting for pod to be running") + + By("deleting the pod gracefully") + err = framework.DeletePodWithWait(f, f.ClientSet, pod) + Expect(err).NotTo(HaveOccurred(), "failed to delete pod") + }) + + /* + Testname: var-expansion-subpath-test-writes + Description: Verify that a subpath expansion can be used to write files into subpaths. + 1. valid subpathexpr starts a container running + 2. test for valid subpath writes + 3. successful expansion of the subpathexpr isn't required for volume cleanup + + */ + It("should succeed in writing subpaths in container [Feature:VolumeSubpathEnvExpansion][NodeAlphaFeature:VolumeSubpathEnvExpansion][Slow]", func() { + + podName := "var-expansion-" + string(uuid.NewUUID()) + containerName := "dapi-container" + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + Labels: map[string]string{"name": podName}, + Annotations: map[string]string{"mysubpath": "mypath"}, + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: containerName, + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"sh", "-c", "tail -f /dev/null"}, + Env: []v1.EnvVar{ + { + Name: "POD_NAME", + Value: "foo", + }, + { + Name: "ANNOTATION", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.annotations['mysubpath']", + }, + }, + }, + }, + VolumeMounts: []v1.VolumeMount{ + { + Name: "workdir1", + MountPath: "/subpath_mount", + SubPathExpr: "$(ANNOTATION)/$(POD_NAME)", + }, + { + Name: "workdir2", + MountPath: "/volume_mount", + }, + }, + }, + }, + RestartPolicy: v1.RestartPolicyNever, + Volumes: []v1.Volume{ + { + Name: "workdir1", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + { + Name: "workdir2", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + }, + }, + } + + By("creating the pod") + pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod) + + By("waiting for pod running") + err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) + Expect(err).NotTo(HaveOccurred(), "while waiting for pod to be running") + + By("creating a file in subpath") + cmd := "touch /volume_mount/mypath/foo/test.log" + _, err = framework.RunHostCmd(pod.Namespace, pod.Name, cmd) + if err != nil { + framework.Failf("expected to be able to write to subpath") + } + + By("test for file in mounted path") + cmd = "test -f /subpath_mount/test.log" + _, err = framework.RunHostCmd(pod.Namespace, pod.Name, cmd) + if err != nil { + framework.Failf("expected to be able to verify file") + } + + By("updating the annotation value") + var podClient *framework.PodClient + podClient = f.PodClient() + + podClient.Update(podName, func(pod *v1.Pod) { + pod.ObjectMeta.Annotations["mysubpath"] = "mynewpath" + }) + + By("waiting for annotated pod running") + err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) + Expect(err).NotTo(HaveOccurred(), "while waiting for annotated pod to be running") + + By("deleting the pod gracefully") + err = framework.DeletePodWithWait(f, f.ClientSet, pod) + Expect(err).NotTo(HaveOccurred(), "failed to delete pod") + }) + + /* + Testname: var-expansion-subpath-lifecycle + Description: Verify should not change the subpath mount on a container restart if the environment variable changes + 1. valid subpathexpr starts a container running + 2. test for valid subpath writes + 3. container restarts + 4. delete cleanly + + */ + + It("should not change the subpath mount on a container restart if the environment variable changes [Feature:VolumeSubpathEnvExpansion][NodeAlphaFeature:VolumeSubpathEnvExpansion][Slow]", func() { + + suffix := string(uuid.NewUUID()) + podName := fmt.Sprintf("var-expansion-%s", suffix) + containerName := "dapi-container" + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: podName, + Labels: map[string]string{"name": podName}, + Annotations: map[string]string{"mysubpath": "foo"}, + }, + Spec: v1.PodSpec{ + InitContainers: []v1.Container{ + { + Name: fmt.Sprintf("init-volume-%s", suffix), + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"sh", "-c", "mkdir -p /volume_mount/foo; touch /volume_mount/foo/test.log"}, + VolumeMounts: []v1.VolumeMount{ + { + Name: "workdir1", + MountPath: "/subpath_mount", + }, + { + Name: "workdir2", + MountPath: "/volume_mount", + }, + }, + }, + }, + + Containers: []v1.Container{ + { + Name: containerName, + Image: imageutils.GetE2EImage(imageutils.BusyBox), + Command: []string{"/bin/sh", "-ec", "sleep 100000"}, + Env: []v1.EnvVar{ + { + Name: "POD_NAME", + ValueFrom: &v1.EnvVarSource{ + FieldRef: &v1.ObjectFieldSelector{ + APIVersion: "v1", + FieldPath: "metadata.annotations['mysubpath']", + }, + }, + }, + }, + VolumeMounts: []v1.VolumeMount{ + { + Name: "workdir1", + MountPath: "/subpath_mount", + SubPathExpr: "$(POD_NAME)", + }, + { + Name: "workdir2", + MountPath: "/volume_mount", + }, + }, + }, + }, + RestartPolicy: v1.RestartPolicyOnFailure, + Volumes: []v1.Volume{ + { + Name: "workdir1", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + { + Name: "workdir2", + VolumeSource: v1.VolumeSource{ + HostPath: &v1.HostPathVolumeSource{Path: "/tmp"}, + }, + }, + }, + }, + } + + // Add liveness probe to subpath container + pod.Spec.Containers[0].LivenessProbe = &v1.Probe{ + Handler: v1.Handler{ + Exec: &v1.ExecAction{ + + Command: []string{"cat", "/subpath_mount/test.log"}, + }, + }, + InitialDelaySeconds: 1, + FailureThreshold: 1, + PeriodSeconds: 2, + } + + // Start pod + By(fmt.Sprintf("Creating pod %s", pod.Name)) + pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod) + Expect(err).ToNot(HaveOccurred(), "while creating pod") + defer func() { + framework.DeletePodWithWait(f, f.ClientSet, pod) + }() + err = framework.WaitForPodRunningInNamespace(f.ClientSet, pod) + Expect(err).ToNot(HaveOccurred(), "while waiting for pod to be running") + + var podClient *framework.PodClient + podClient = f.PodClient() + + By("updating the pod") + podClient.Update(podName, func(pod *v1.Pod) { + pod.ObjectMeta.Annotations = map[string]string{"mysubpath": "newsubpath"} + }) + + By("waiting for pod and container restart") + waitForPodContainerRestart(f, pod, "/volume_mount/foo/test.log") + + By("test for subpath mounted with old value") + cmd := "test -f /volume_mount/foo/test.log" + _, err = framework.RunHostCmd(pod.Namespace, pod.Name, cmd) + if err != nil { + framework.Failf("expected to be able to verify old file exists") + } + + cmd = "test ! -f /volume_mount/newsubpath/test.log" + _, err = framework.RunHostCmd(pod.Namespace, pod.Name, cmd) + if err != nil { + framework.Failf("expected to be able to verify new file does not exist") + } + }) }) func testPodFailSubpath(f *framework.Framework, pod *v1.Pod) { @@ -320,3 +655,70 @@ func testPodFailSubpath(f *framework.Framework, pod *v1.Pod) { err = framework.WaitTimeoutForPodRunningInNamespace(f.ClientSet, pod.Name, pod.Namespace, framework.PodStartShortTimeout) Expect(err).To(HaveOccurred(), "while waiting for pod to be running") } + +// Tests that the existing subpath mount is detected when a container restarts +func waitForPodContainerRestart(f *framework.Framework, pod *v1.Pod, volumeMount string) { + + By("Failing liveness probe") + out, err := framework.RunKubectl("exec", fmt.Sprintf("--namespace=%s", pod.Namespace), pod.Name, "--container", pod.Spec.Containers[0].Name, "--", "/bin/sh", "-c", fmt.Sprintf("rm %v", volumeMount)) + + framework.Logf("Pod exec output: %v", out) + Expect(err).ToNot(HaveOccurred(), "while failing liveness probe") + + // Check that container has restarted + By("Waiting for container to restart") + restarts := int32(0) + err = wait.PollImmediate(10*time.Second, 2*time.Minute, func() (bool, error) { + pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Get(pod.Name, metav1.GetOptions{}) + if err != nil { + return false, err + } + for _, status := range pod.Status.ContainerStatuses { + if status.Name == pod.Spec.Containers[0].Name { + framework.Logf("Container %v, restarts: %v", status.Name, status.RestartCount) + restarts = status.RestartCount + if restarts > 0 { + framework.Logf("Container has restart count: %v", restarts) + return true, nil + } + } + } + return false, nil + }) + Expect(err).ToNot(HaveOccurred(), "while waiting for container to restart") + + // Fix liveness probe + By("Rewriting the file") + out, err = framework.RunKubectl("exec", fmt.Sprintf("--namespace=%s", pod.Namespace), pod.Name, "--container", pod.Spec.Containers[0].Name, "--", "/bin/sh", "-c", fmt.Sprintf("echo test-after > %v", volumeMount)) + framework.Logf("Pod exec output: %v", out) + Expect(err).ToNot(HaveOccurred(), "while rewriting the probe file") + + // Wait for container restarts to stabilize + By("Waiting for container to stop restarting") + stableCount := int(0) + stableThreshold := int(time.Minute / framework.Poll) + err = wait.PollImmediate(framework.Poll, 2*time.Minute, func() (bool, error) { + pod, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Get(pod.Name, metav1.GetOptions{}) + if err != nil { + return false, err + } + for _, status := range pod.Status.ContainerStatuses { + if status.Name == pod.Spec.Containers[0].Name { + if status.RestartCount == restarts { + stableCount++ + if stableCount > stableThreshold { + framework.Logf("Container restart has stabilized") + return true, nil + } + } else { + restarts = status.RestartCount + stableCount = 0 + framework.Logf("Container has restart count: %v", restarts) + } + break + } + } + return false, nil + }) + Expect(err).ToNot(HaveOccurred(), "while waiting for container to stabilize") +}