From 3687b242c1861f5a9ef535a93791d4298769e7dd Mon Sep 17 00:00:00 2001 From: Roman Tkachenko Date: Thu, 7 Nov 2024 17:10:55 -0800 Subject: [PATCH 01/19] Bump e on v17 (#48647) --- e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e b/e index df73c4fffdc4d..cf01edbe47753 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit df73c4fffdc4d2dbc1a4ce47a5b33816d4a96458 +Subproject commit cf01edbe477532dab555ca116eef7f47b85d7de8 From 50df51f368b0ffb091882819868b7ecac99f01d4 Mon Sep 17 00:00:00 2001 From: Tim Buckley Date: Thu, 7 Nov 2024 18:25:13 -0700 Subject: [PATCH 02/19] Machine ID: Fix usage of "starts" and "configures" terminology (#48494) This fixes an issue in tbot's CLI help text where all "configure" commands claimed to start a bot when they were actually generating a configuration. This was caused by commands being reused for both start and configure cases and the help text was statically defined. This fixes the issue by introducing a CommandMode enum to indicate to a command at construction time whether it will be used for the "start" or "configure" case, and implements a stringer to return the appropriate term for each case. --- lib/tbot/cli/cli_test.go | 4 +-- lib/tbot/cli/start_application.go | 5 ++-- lib/tbot/cli/start_application_tunnel.go | 5 ++-- lib/tbot/cli/start_database.go | 5 ++-- lib/tbot/cli/start_database_tunnel.go | 5 ++-- lib/tbot/cli/start_identity.go | 5 ++-- lib/tbot/cli/start_kubernetes.go | 5 ++-- lib/tbot/cli/start_legacy.go | 4 +-- lib/tbot/cli/start_shared.go | 24 ++++++++++++++++++ lib/tbot/cli/start_spiffe_svid.go | 5 ++-- tool/tbot/main.go | 32 ++++++++++++------------ 11 files changed, 65 insertions(+), 34 deletions(-) diff --git a/lib/tbot/cli/cli_test.go b/lib/tbot/cli/cli_test.go index 64ce04a6705fd..6e60e8c7b18f0 100644 --- a/lib/tbot/cli/cli_test.go +++ b/lib/tbot/cli/cli_test.go @@ -138,7 +138,7 @@ type startConfigureTestCase struct { func testStartConfigureCommand[T startConfigureCommand]( t *testing.T, - newCommand func(parentCmd *kingpin.CmdClause, action MutatorAction) T, + newCommand func(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) T, testCases []startConfigureTestCase, ) { for _, tt := range testCases { @@ -148,7 +148,7 @@ func testStartConfigureCommand[T startConfigureCommand]( cmd := newCommand(subcommand, func(mut ConfigMutator) error { actionCalled = true return nil - }) + }, CommandModeStart) command, err := app.Parse(tt.args) require.NoError(t, err) diff --git a/lib/tbot/cli/start_application.go b/lib/tbot/cli/start_application.go index 8f4eb84cb76db..eb3c2a4507655 100644 --- a/lib/tbot/cli/start_application.go +++ b/lib/tbot/cli/start_application.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -40,8 +41,8 @@ type ApplicationCommand struct { // NewApplicationCommand initializes a command and flag for application outputs // and returns a struct that will contain the parse result. -func NewApplicationCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *ApplicationCommand { - cmd := parentCmd.Command("application", "Starts with an application output.").Alias("app") +func NewApplicationCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *ApplicationCommand { + cmd := parentCmd.Command("application", fmt.Sprintf("%s tbot with an application output.", mode)).Alias("app") c := &ApplicationCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/lib/tbot/cli/start_application_tunnel.go b/lib/tbot/cli/start_application_tunnel.go index 47e3c73988e34..3c005f4ca1cea 100644 --- a/lib/tbot/cli/start_application_tunnel.go +++ b/lib/tbot/cli/start_application_tunnel.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -39,8 +40,8 @@ type ApplicationTunnelCommand struct { // NewApplicationTunnelCommand initializes flags for an app tunnel command and // returns a struct to contain the parse result. -func NewApplicationTunnelCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *ApplicationTunnelCommand { - cmd := parentCmd.Command("application-tunnel", "Starts an application tunnel.").Alias("app-tunnel") +func NewApplicationTunnelCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *ApplicationTunnelCommand { + cmd := parentCmd.Command("application-tunnel", fmt.Sprintf("%s tbot with an application tunnel.", mode)).Alias("app-tunnel") c := &ApplicationTunnelCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/lib/tbot/cli/start_database.go b/lib/tbot/cli/start_database.go index bfa076077856a..794f72a18f243 100644 --- a/lib/tbot/cli/start_database.go +++ b/lib/tbot/cli/start_database.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -42,8 +43,8 @@ type DatabaseCommand struct { // NewDatabaseCommand initializes a command and flags for database outputs and // returns a struct that will contain the parse result. -func NewDatabaseCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *DatabaseCommand { - cmd := parentCmd.Command("database", "Starts with a database output.").Alias("db") +func NewDatabaseCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *DatabaseCommand { + cmd := parentCmd.Command("database", fmt.Sprintf("%s tbot with a database output.", mode)).Alias("db") c := &DatabaseCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/lib/tbot/cli/start_database_tunnel.go b/lib/tbot/cli/start_database_tunnel.go index 378ebaa8919e3..44f119d9381ce 100644 --- a/lib/tbot/cli/start_database_tunnel.go +++ b/lib/tbot/cli/start_database_tunnel.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -40,8 +41,8 @@ type DatabaseTunnelCommand struct { } // NewDatabaseTunnelCommand creates a command supporting `tbot start database-tunnel` -func NewDatabaseTunnelCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *DatabaseTunnelCommand { - cmd := parentCmd.Command("database-tunnel", "Start a database tunnel listener.").Alias("db-tunnel") +func NewDatabaseTunnelCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *DatabaseTunnelCommand { + cmd := parentCmd.Command("database-tunnel", fmt.Sprintf("%s tbot with a database tunnel listener.", mode)).Alias("db-tunnel") c := &DatabaseTunnelCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/lib/tbot/cli/start_identity.go b/lib/tbot/cli/start_identity.go index 087fbc7262482..60985489104e8 100644 --- a/lib/tbot/cli/start_identity.go +++ b/lib/tbot/cli/start_identity.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -39,8 +40,8 @@ type IdentityCommand struct { // NewIdentityCommand initializes the command and flags for identity outputs // and returns a struct that will contain the parse result. -func NewIdentityCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *IdentityCommand { - cmd := parentCmd.Command("identity", "Start with an identity output for SSH and Teleport API access.").Alias("ssh").Alias("id") +func NewIdentityCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *IdentityCommand { + cmd := parentCmd.Command("identity", fmt.Sprintf("%s tbot with an identity output for SSH and Teleport API access.", mode)).Alias("ssh").Alias("id") c := &IdentityCommand{} c.sharedDestinationArgs = newSharedDestinationArgs(cmd) diff --git a/lib/tbot/cli/start_kubernetes.go b/lib/tbot/cli/start_kubernetes.go index e03bddc57d972..5c5c9e41c2d27 100644 --- a/lib/tbot/cli/start_kubernetes.go +++ b/lib/tbot/cli/start_kubernetes.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -40,8 +41,8 @@ type KubernetesCommand struct { // NewKubernetesCommand initializes the command and flags for kubernetes outputs // and returns a struct to contain the parse result. -func NewKubernetesCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *KubernetesCommand { - cmd := parentCmd.Command("kubernetes", "Starts with a kubernetes output.").Alias("k8s") +func NewKubernetesCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *KubernetesCommand { + cmd := parentCmd.Command("kubernetes", fmt.Sprintf("%s tbot with a kubernetes output.", mode)).Alias("k8s") c := &KubernetesCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/lib/tbot/cli/start_legacy.go b/lib/tbot/cli/start_legacy.go index def7d0b8ed765..0d406a2062fa4 100644 --- a/lib/tbot/cli/start_legacy.go +++ b/lib/tbot/cli/start_legacy.go @@ -132,7 +132,7 @@ type LegacyCommand struct { // NewLegacyCommand initializes and returns a command supporting // `tbot start legacy` and `tbot configure legacy`. -func NewLegacyCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *LegacyCommand { +func NewLegacyCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *LegacyCommand { joinMethodList := fmt.Sprintf( "(%s)", strings.Join(config.SupportedJoinMethods, ", "), @@ -140,7 +140,7 @@ func NewLegacyCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *Legac c := &LegacyCommand{ action: action, - cmd: parentCmd.Command("legacy", "Start with either a config file or a legacy output.").Default(), + cmd: parentCmd.Command("legacy", fmt.Sprintf("%s tbot with either a config file or a legacy output.", mode)).Default(), } c.AuthProxyArgs = newAuthProxyArgs(c.cmd) c.LegacyDestinationDirArgs = newLegacyDestinationDirArgs(c.cmd) diff --git a/lib/tbot/cli/start_shared.go b/lib/tbot/cli/start_shared.go index ba3501f8b6f85..2e2a07a94020c 100644 --- a/lib/tbot/cli/start_shared.go +++ b/lib/tbot/cli/start_shared.go @@ -287,3 +287,27 @@ func (s *sharedDestinationArgs) BuildDestination() (bot.Destination, error) { return dest, nil } + +// CommandMode is a simple enum to help shared start/configure command +// substitute the correct verb based on whether they are being used for "start" +// or "configure" actions. +type CommandMode int + +const ( + // CommandModeStart indicates a command instance will be used for + // `tbot start ...` + CommandModeStart CommandMode = iota + + // CommandModeConfigure indicates a command instance will be used for + // `tbot configure ...` + CommandModeConfigure +) + +func (c CommandMode) String() string { + switch c { + case CommandModeConfigure: + return "Configures" + default: + return "Starts" + } +} diff --git a/lib/tbot/cli/start_spiffe_svid.go b/lib/tbot/cli/start_spiffe_svid.go index b6a7d2029f409..dd179d16279aa 100644 --- a/lib/tbot/cli/start_spiffe_svid.go +++ b/lib/tbot/cli/start_spiffe_svid.go @@ -19,6 +19,7 @@ package cli import ( + "fmt" "log/slog" "github.com/alecthomas/kingpin/v2" @@ -45,8 +46,8 @@ type SPIFFESVIDCommand struct { // NewSPIFFESVIDCommand initializes the command and flags for the // `spiffe-svid` output and returns a struct that will contain the parse // result. -func NewSPIFFESVIDCommand(parentCmd *kingpin.CmdClause, action MutatorAction) *SPIFFESVIDCommand { - cmd := parentCmd.Command("spiffe-svid", "Starts with a SPIFFE-compatible SVID output.") +func NewSPIFFESVIDCommand(parentCmd *kingpin.CmdClause, action MutatorAction, mode CommandMode) *SPIFFESVIDCommand { + cmd := parentCmd.Command("spiffe-svid", fmt.Sprintf("%s tbot with a SPIFFE-compatible SVID output.", mode)) c := &SPIFFESVIDCommand{} c.sharedStartArgs = newSharedStartArgs(cmd) diff --git a/tool/tbot/main.go b/tool/tbot/main.go index b73fc6c2c2b0e..666eb0d37ac13 100644 --- a/tool/tbot/main.go +++ b/tool/tbot/main.go @@ -117,29 +117,29 @@ func Run(args []string, stdout io.Writer) error { }), // `start` and `configure` commands - cli.NewLegacyCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewLegacyCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewLegacyCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewLegacyCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewIdentityCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewIdentityCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewIdentityCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewIdentityCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewDatabaseCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewDatabaseCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewDatabaseCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewDatabaseCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewKubernetesCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewKubernetesCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewKubernetesCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewKubernetesCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewApplicationCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewApplicationCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewApplicationCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewApplicationCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewApplicationTunnelCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewApplicationTunnelCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewApplicationTunnelCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewApplicationTunnelCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewDatabaseTunnelCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewDatabaseTunnelCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewDatabaseTunnelCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewDatabaseTunnelCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), - cli.NewSPIFFESVIDCommand(startCmd, buildConfigAndStart(ctx, globalCfg)), - cli.NewSPIFFESVIDCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout)), + cli.NewSPIFFESVIDCommand(startCmd, buildConfigAndStart(ctx, globalCfg), cli.CommandModeStart), + cli.NewSPIFFESVIDCommand(configureCmd, buildConfigAndConfigure(ctx, globalCfg, &configureOutPath, stdout), cli.CommandModeConfigure), ) // Initialize legacy-style commands. These are simple enough to not really From 6c80a28c023f5aa375a89e039115bd3d907f36a7 Mon Sep 17 00:00:00 2001 From: Gavin Frazar Date: Thu, 7 Nov 2024 18:29:44 -0800 Subject: [PATCH 03/19] tsh --cluster saves oracle wallet to leaf dir (#48614) --- lib/client/db/oracle/oracle.go | 4 ++-- tool/tsh/common/db.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/client/db/oracle/oracle.go b/lib/client/db/oracle/oracle.go index 8b8878b35df3f..a5f570f03945f 100644 --- a/lib/client/db/oracle/oracle.go +++ b/lib/client/db/oracle/oracle.go @@ -42,8 +42,8 @@ import ( // wallet.jks - Java Wallet format used by JDBC Drivers. // sqlnet.ora - Generic Oracle Client Configuration File allowing to specify Wallet Location. // tnsnames.ora - Oracle Net Service mapped to connections descriptors. -func GenerateClientConfiguration(signer crypto.Signer, db tlsca.RouteToDatabase, profile *client.ProfileStatus) error { - walletPath := profile.OracleWalletDir(profile.Cluster, db.ServiceName) +func GenerateClientConfiguration(signer crypto.Signer, db tlsca.RouteToDatabase, profile *client.ProfileStatus, siteName string) error { + walletPath := profile.OracleWalletDir(siteName, db.ServiceName) if err := os.MkdirAll(walletPath, teleport.PrivateDirMode); err != nil { return trace.Wrap(err) } diff --git a/tool/tsh/common/db.go b/tool/tsh/common/db.go index 0dc7b8f21deb7..7f58efa15dbf9 100644 --- a/tool/tsh/common/db.go +++ b/tool/tsh/common/db.go @@ -335,7 +335,7 @@ func databaseLogin(cf *CLIConf, tc *client.TeleportClient, dbInfo *databaseInfo) if err := generateDBLocalProxyCert(keyRing.TLSPrivateKey, profile); err != nil { return trace.Wrap(err) } - err = oracle.GenerateClientConfiguration(keyRing.TLSPrivateKey, dbInfo.RouteToDatabase, profile) + err = oracle.GenerateClientConfiguration(keyRing.TLSPrivateKey, dbInfo.RouteToDatabase, profile, tc.SiteName) if err != nil { return trace.Wrap(err) } From 94cc8545e8e9f2f8dd999b7655d5cf2930ef83fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Cie=C5=9Blak?= Date: Fri, 8 Nov 2024 09:30:57 +0100 Subject: [PATCH 04/19] [v17] Fix access request sidebar not transitioning to success state in Connect (#48590) * Don't perform dry runs if request is being submitted * Replace incorrect uses of clusterUri and deprecate it --- .../useAccessRequestCheckout.ts | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/web/packages/teleterm/src/ui/AccessRequestCheckout/useAccessRequestCheckout.ts b/web/packages/teleterm/src/ui/AccessRequestCheckout/useAccessRequestCheckout.ts index bbf092b32d565..42710aab46bba 100644 --- a/web/packages/teleterm/src/ui/AccessRequestCheckout/useAccessRequestCheckout.ts +++ b/web/packages/teleterm/src/ui/AccessRequestCheckout/useAccessRequestCheckout.ts @@ -57,6 +57,15 @@ export default function useAccessRequestCheckout() { const ctx = useAppContext(); useWorkspaceServiceState(); ctx.clustersService.useState(); + /** + * @deprecated Do not use it here. This value comes from the cluster selector next to the search + * bar. Changing the cluster should not affect the request checkout in any way. + * clusterUri is kept here just to not break existing code that depends on it. + * See https://github.com/gravitational/teleport/issues/48510. + * + * Instead, in most cases you want to use rootClusterUri or the cluster URI derived from a URI of + * a resource that you're operating on. + */ const clusterUri = ctx.workspacesService?.getActiveWorkspace()?.localClusterUri; const rootClusterUri = ctx.workspacesService?.getRootClusterUri(); @@ -87,6 +96,12 @@ export default function useAccessRequestCheckout() { const { attempt: createRequestAttempt, setAttempt: setCreateRequestAttempt } = useAttempt(''); + // isCreatingRequest is an auxiliary variable that helps to differentiate between a dry run being + // performed vs an actual request being created, as both types of requests use the same attempt + // object (createRequestAttempt). + // TODO(ravicious): Remove this in React 19 when useSyncExternalStore updates are batched with + // other updates. + const [isCreatingRequest, setIsCreatingRequest] = useState(false); const { attempt: fetchResourceRolesAttempt, run: runFetchResourceRoles } = useAttempt('success'); @@ -112,10 +127,15 @@ export default function useAccessRequestCheckout() { // suggested reviewers. // Options and reviewers can change depending on the selected // roles or resources. - if (showCheckout && requestedCount == 0) { + if (showCheckout && requestedCount == 0 && !isCreatingRequest) { performDryRun(); } - }, [showCheckout, pendingAccessRequestRequest]); + }, [ + showCheckout, + pendingAccessRequestRequest, + requestedCount, + isCreatingRequest, + ]); useEffect(() => { if (!pendingAccessRequestRequest || requestedCount > 0) { @@ -123,7 +143,7 @@ export default function useAccessRequestCheckout() { } runFetchResourceRoles(() => - retryWithRelogin(ctx, clusterUri, async () => { + retryWithRelogin(ctx, rootClusterUri, async () => { const { response } = await ctx.tshd.getRequestableRoles({ clusterUri: rootClusterUri, resourceIds: pendingAccessRequestsWithoutParentResource @@ -142,11 +162,11 @@ export default function useAccessRequestCheckout() { setSelectedResourceRequestRoles(response.applicableRoles); }) ); - }, [pendingAccessRequestRequest]); + }, [pendingAccessRequestRequest, requestedCount]); useEffect(() => { clearCreateAttempt(); - }, [clusterUri]); + }, [rootClusterUri]); useEffect(() => { if ( @@ -266,7 +286,7 @@ export default function useAccessRequestCheckout() { } function getAssumedRequests() { - if (!clusterUri) { + if (!rootClusterUri) { return []; } const assumed = ctx.clustersService.getAssumedRequests(rootClusterUri); @@ -315,7 +335,7 @@ export default function useAccessRequestCheckout() { setCreateRequestAttempt({ status: 'processing' }); - return retryWithRelogin(ctx, clusterUri, () => + return retryWithRelogin(ctx, rootClusterUri, () => ctx.clustersService.createAccessRequest(params).then(({ response }) => { return { accessRequest: response.request, @@ -349,6 +369,7 @@ export default function useAccessRequestCheckout() { } async function createRequest(req: CreateRequest) { + setIsCreatingRequest(true); let requestedCount: number; try { const response = await prepareAndCreateRequest(req); @@ -360,6 +381,7 @@ export default function useAccessRequestCheckout() { setRequestedCount(requestedCount); reset(); setCreateRequestAttempt({ status: 'success' }); + setIsCreatingRequest(false); } function clearCreateAttempt() { @@ -408,7 +430,7 @@ export default function useAccessRequestCheckout() { useSearchAsRoles: true, nextKey: '', resourceType: 'namespace', - clusterUri, + clusterUri: clusterUri, predicateExpression: '', kubernetesCluster: kubeCluster, kubernetesNamespace: '', @@ -435,11 +457,9 @@ export default function useAccessRequestCheckout() { goToRequestsList, requestedCount, clearCreateAttempt, - clusterUri, selectedResourceRequestRoles, setSelectedResourceRequestRoles, resourceRequestRoles, - rootClusterUri, fetchResourceRolesAttempt, createRequestAttempt, collapseBar, From 77f7d8a4f3d7bc8dbdc4b0430bc45877f1a80e8a Mon Sep 17 00:00:00 2001 From: Trent Clarke Date: Fri, 8 Nov 2024 20:30:38 +1100 Subject: [PATCH 05/19] [v17] Add PluginAWSICStatusV1 to record group import status (#48660) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backports #48551 Co-authored-by: Marek SmoliƄski --- api/proto/teleport/legacy/types/types.proto | 29 + api/types/plugin.go | 1 + api/types/types.pb.go | 1482 +++++++++++++------ 3 files changed, 1027 insertions(+), 485 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index f91123ca27453..5e8a2632df6d1 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -6597,6 +6597,33 @@ message AWSICProvisioningSpec { string bearer_token = 2; } +// PluginAWSICStatusV1 defines AWS Identity Center plugin sub-process status. +message PluginAWSICStatusV1 { + // GroupImportStatus is a status of Identity Center group and group members import. + AWSICGroupImportStatus group_import_status = 1; +} + +// AWSICGroupImportStatus defines Identity Center group and group members import status. +message AWSICGroupImportStatus { + // StatusCode is a status code of group and group members import operation. + AWSICGroupImportStatusCode status_code = 1; + // ErrorMessage contains error message for a group and group members import attempt + // that met with an error. + string error_message = 2; +} + +// AWSICGroupImportStatus defines Identity Center group and group members +// import status codes. +enum AWSICGroupImportStatusCode { + // UNSPECIFIED denotes that a status is unknown. + UNSPECIFIED = 0; + // DONE denotes that the group and group members import operation was + // completed. + DONE = 1; + // FAILED denotes that the group and group members import met with an error. + FAILED = 2; +} + // PluginEmailSettings holds the settings for an Email Access Request plugin. message PluginEmailSettings { option (gogoproto.equal) = true; @@ -6672,6 +6699,8 @@ message PluginStatusV1 { PluginEntraIDStatusV1 entra_id = 5; // Okta holds status details for the Okta plugin PluginOktaStatusV1 okta = 7; + // AWSIC holds status details for the AWS Identity Center plugin. + PluginAWSICStatusV1 aws_ic = 8; } // last_raw_error variable stores the most recent raw error message received from an API or service. diff --git a/api/types/plugin.go b/api/types/plugin.go index b0fca5eba8a51..7e2bbd7a7350b 100644 --- a/api/types/plugin.go +++ b/api/types/plugin.go @@ -127,6 +127,7 @@ type PluginStatus interface { GetGitlab() *PluginGitlabStatusV1 GetEntraId() *PluginEntraIDStatusV1 GetOkta() *PluginOktaStatusV1 + GetAwsIc() *PluginAWSICStatusV1 } // NewPluginV1 creates a new PluginV1 resource. diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 449b7e282c078..e69e995efeefb 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -830,6 +830,40 @@ func (EntraIDCredentialsSource) EnumDescriptor() ([]byte, []int) { return fileDescriptor_9198ee693835762e, []int{21} } +// AWSICGroupImportStatus defines Identity Center group and group members +// import status codes. +type AWSICGroupImportStatusCode int32 + +const ( + // UNSPECIFIED denotes that a status is unknown. + AWSICGroupImportStatusCode_UNSPECIFIED AWSICGroupImportStatusCode = 0 + // DONE denotes that the group and group members import operation was + // completed. + AWSICGroupImportStatusCode_DONE AWSICGroupImportStatusCode = 1 + // FAILED denotes that the group and group members import met with an error. + AWSICGroupImportStatusCode_FAILED AWSICGroupImportStatusCode = 2 +) + +var AWSICGroupImportStatusCode_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "DONE", + 2: "FAILED", +} + +var AWSICGroupImportStatusCode_value = map[string]int32{ + "UNSPECIFIED": 0, + "DONE": 1, + "FAILED": 2, +} + +func (x AWSICGroupImportStatusCode) String() string { + return proto.EnumName(AWSICGroupImportStatusCode_name, int32(x)) +} + +func (AWSICGroupImportStatusCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{22} +} + type PluginStatusCode int32 const ( @@ -868,7 +902,7 @@ func (x PluginStatusCode) String() string { } func (PluginStatusCode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{22} + return fileDescriptor_9198ee693835762e, []int{23} } // OktaPluginSyncStatusCode indicates the possible states of an Okta @@ -904,7 +938,7 @@ func (x OktaPluginSyncStatusCode) String() string { } func (OktaPluginSyncStatusCode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{23} + return fileDescriptor_9198ee693835762e, []int{24} } // HeadlessAuthenticationState is a headless authentication state. @@ -939,7 +973,7 @@ func (x HeadlessAuthenticationState) String() string { } func (HeadlessAuthenticationState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{24} + return fileDescriptor_9198ee693835762e, []int{25} } // InstallParamEnrollMode is the mode used to enroll the node into the cluster. @@ -972,7 +1006,7 @@ func (x InstallParamEnrollMode) String() string { } func (InstallParamEnrollMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{25} + return fileDescriptor_9198ee693835762e, []int{26} } // The type of a KeepAlive. When adding a new type, please double-check @@ -1227,7 +1261,7 @@ func (x OktaAssignmentSpecV1_OktaAssignmentStatus) String() string { } func (OktaAssignmentSpecV1_OktaAssignmentStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{330, 0} + return fileDescriptor_9198ee693835762e, []int{332, 0} } // OktaAssignmentTargetType is the type of Okta object that an assignment is targeting. @@ -1259,7 +1293,7 @@ func (x OktaAssignmentTargetV1_OktaAssignmentTargetType) String() string { } func (OktaAssignmentTargetV1_OktaAssignmentTargetType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{331, 0} + return fileDescriptor_9198ee693835762e, []int{333, 0} } type KeepAlive struct { @@ -16931,6 +16965,93 @@ func (m *AWSICProvisioningSpec) XXX_DiscardUnknown() { var xxx_messageInfo_AWSICProvisioningSpec proto.InternalMessageInfo +// PluginAWSICStatusV1 defines AWS Identity Center plugin sub-process status. +type PluginAWSICStatusV1 struct { + // GroupImportStatus is a status of Identity Center group and group members import. + GroupImportStatus *AWSICGroupImportStatus `protobuf:"bytes,1,opt,name=group_import_status,json=groupImportStatus,proto3" json:"group_import_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PluginAWSICStatusV1) Reset() { *m = PluginAWSICStatusV1{} } +func (m *PluginAWSICStatusV1) String() string { return proto.CompactTextString(m) } +func (*PluginAWSICStatusV1) ProtoMessage() {} +func (*PluginAWSICStatusV1) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{287} +} +func (m *PluginAWSICStatusV1) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PluginAWSICStatusV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PluginAWSICStatusV1.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PluginAWSICStatusV1) XXX_Merge(src proto.Message) { + xxx_messageInfo_PluginAWSICStatusV1.Merge(m, src) +} +func (m *PluginAWSICStatusV1) XXX_Size() int { + return m.Size() +} +func (m *PluginAWSICStatusV1) XXX_DiscardUnknown() { + xxx_messageInfo_PluginAWSICStatusV1.DiscardUnknown(m) +} + +var xxx_messageInfo_PluginAWSICStatusV1 proto.InternalMessageInfo + +// AWSICGroupImportStatus defines Identity Center group and group members import status. +type AWSICGroupImportStatus struct { + // StatusCode is a status code of group and group members import operation. + StatusCode AWSICGroupImportStatusCode `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3,enum=types.AWSICGroupImportStatusCode" json:"status_code,omitempty"` + // ErrorMessage contains error message for a group and group members import attempt + // that met with an error. + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AWSICGroupImportStatus) Reset() { *m = AWSICGroupImportStatus{} } +func (m *AWSICGroupImportStatus) String() string { return proto.CompactTextString(m) } +func (*AWSICGroupImportStatus) ProtoMessage() {} +func (*AWSICGroupImportStatus) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{288} +} +func (m *AWSICGroupImportStatus) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AWSICGroupImportStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AWSICGroupImportStatus.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AWSICGroupImportStatus) XXX_Merge(src proto.Message) { + xxx_messageInfo_AWSICGroupImportStatus.Merge(m, src) +} +func (m *AWSICGroupImportStatus) XXX_Size() int { + return m.Size() +} +func (m *AWSICGroupImportStatus) XXX_DiscardUnknown() { + xxx_messageInfo_AWSICGroupImportStatus.DiscardUnknown(m) +} + +var xxx_messageInfo_AWSICGroupImportStatus proto.InternalMessageInfo + // PluginEmailSettings holds the settings for an Email Access Request plugin. type PluginEmailSettings struct { // Sender specifies the email sender. @@ -16953,7 +17074,7 @@ func (m *PluginEmailSettings) Reset() { *m = PluginEmailSettings{} } func (m *PluginEmailSettings) String() string { return proto.CompactTextString(m) } func (*PluginEmailSettings) ProtoMessage() {} func (*PluginEmailSettings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{287} + return fileDescriptor_9198ee693835762e, []int{289} } func (m *PluginEmailSettings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17041,7 +17162,7 @@ func (m *MailgunSpec) Reset() { *m = MailgunSpec{} } func (m *MailgunSpec) String() string { return proto.CompactTextString(m) } func (*MailgunSpec) ProtoMessage() {} func (*MailgunSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{288} + return fileDescriptor_9198ee693835762e, []int{290} } func (m *MailgunSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17088,7 +17209,7 @@ func (m *SMTPSpec) Reset() { *m = SMTPSpec{} } func (m *SMTPSpec) String() string { return proto.CompactTextString(m) } func (*SMTPSpec) ProtoMessage() {} func (*SMTPSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{289} + return fileDescriptor_9198ee693835762e, []int{291} } func (m *SMTPSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17133,7 +17254,7 @@ func (m *PluginBootstrapCredentialsV1) Reset() { *m = PluginBootstrapCre func (m *PluginBootstrapCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginBootstrapCredentialsV1) ProtoMessage() {} func (*PluginBootstrapCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{290} + return fileDescriptor_9198ee693835762e, []int{292} } func (m *PluginBootstrapCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17233,7 +17354,7 @@ func (m *PluginIdSecretCredential) Reset() { *m = PluginIdSecretCredenti func (m *PluginIdSecretCredential) String() string { return proto.CompactTextString(m) } func (*PluginIdSecretCredential) ProtoMessage() {} func (*PluginIdSecretCredential) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{291} + return fileDescriptor_9198ee693835762e, []int{293} } func (m *PluginIdSecretCredential) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17276,7 +17397,7 @@ func (m *PluginOAuth2AuthorizationCodeCredentials) Reset() { func (m *PluginOAuth2AuthorizationCodeCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AuthorizationCodeCredentials) ProtoMessage() {} func (*PluginOAuth2AuthorizationCodeCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{292} + return fileDescriptor_9198ee693835762e, []int{294} } func (m *PluginOAuth2AuthorizationCodeCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17319,6 +17440,7 @@ type PluginStatusV1 struct { // *PluginStatusV1_Gitlab // *PluginStatusV1_EntraId // *PluginStatusV1_Okta + // *PluginStatusV1_AwsIc Details isPluginStatusV1_Details `protobuf_oneof:"details"` // last_raw_error variable stores the most recent raw error message received from an API or service. // It is intended to capture the original error message without any modifications or formatting. @@ -17334,7 +17456,7 @@ func (m *PluginStatusV1) Reset() { *m = PluginStatusV1{} } func (m *PluginStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginStatusV1) ProtoMessage() {} func (*PluginStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{293} + return fileDescriptor_9198ee693835762e, []int{295} } func (m *PluginStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17378,10 +17500,14 @@ type PluginStatusV1_EntraId struct { type PluginStatusV1_Okta struct { Okta *PluginOktaStatusV1 `protobuf:"bytes,7,opt,name=okta,proto3,oneof" json:"okta,omitempty"` } +type PluginStatusV1_AwsIc struct { + AwsIc *PluginAWSICStatusV1 `protobuf:"bytes,8,opt,name=aws_ic,json=awsIc,proto3,oneof" json:"aws_ic,omitempty"` +} func (*PluginStatusV1_Gitlab) isPluginStatusV1_Details() {} func (*PluginStatusV1_EntraId) isPluginStatusV1_Details() {} func (*PluginStatusV1_Okta) isPluginStatusV1_Details() {} +func (*PluginStatusV1_AwsIc) isPluginStatusV1_Details() {} func (m *PluginStatusV1) GetDetails() isPluginStatusV1_Details { if m != nil { @@ -17411,12 +17537,20 @@ func (m *PluginStatusV1) GetOkta() *PluginOktaStatusV1 { return nil } +func (m *PluginStatusV1) GetAwsIc() *PluginAWSICStatusV1 { + if x, ok := m.GetDetails().(*PluginStatusV1_AwsIc); ok { + return x.AwsIc + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*PluginStatusV1) XXX_OneofWrappers() []interface{} { return []interface{}{ (*PluginStatusV1_Gitlab)(nil), (*PluginStatusV1_EntraId)(nil), (*PluginStatusV1_Okta)(nil), + (*PluginStatusV1_AwsIc)(nil), } } @@ -17437,7 +17571,7 @@ func (m *PluginGitlabStatusV1) Reset() { *m = PluginGitlabStatusV1{} } func (m *PluginGitlabStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginGitlabStatusV1) ProtoMessage() {} func (*PluginGitlabStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{294} + return fileDescriptor_9198ee693835762e, []int{296} } func (m *PluginGitlabStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17481,7 +17615,7 @@ func (m *PluginEntraIDStatusV1) Reset() { *m = PluginEntraIDStatusV1{} } func (m *PluginEntraIDStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDStatusV1) ProtoMessage() {} func (*PluginEntraIDStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{295} + return fileDescriptor_9198ee693835762e, []int{297} } func (m *PluginEntraIDStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17535,7 +17669,7 @@ func (m *PluginOktaStatusV1) Reset() { *m = PluginOktaStatusV1{} } func (m *PluginOktaStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusV1) ProtoMessage() {} func (*PluginOktaStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{296} + return fileDescriptor_9198ee693835762e, []int{298} } func (m *PluginOktaStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17583,7 +17717,7 @@ func (m *PluginOktaStatusDetailsSSO) Reset() { *m = PluginOktaStatusDeta func (m *PluginOktaStatusDetailsSSO) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSSO) ProtoMessage() {} func (*PluginOktaStatusDetailsSSO) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{297} + return fileDescriptor_9198ee693835762e, []int{299} } func (m *PluginOktaStatusDetailsSSO) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17640,7 +17774,7 @@ func (m *PluginOktaStatusDetailsAppGroupSync) Reset() { *m = PluginOktaS func (m *PluginOktaStatusDetailsAppGroupSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAppGroupSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAppGroupSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{298} + return fileDescriptor_9198ee693835762e, []int{300} } func (m *PluginOktaStatusDetailsAppGroupSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17694,7 +17828,7 @@ func (m *PluginOktaStatusDetailsUsersSync) Reset() { *m = PluginOktaStat func (m *PluginOktaStatusDetailsUsersSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsUsersSync) ProtoMessage() {} func (*PluginOktaStatusDetailsUsersSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{299} + return fileDescriptor_9198ee693835762e, []int{301} } func (m *PluginOktaStatusDetailsUsersSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17737,7 +17871,7 @@ func (m *PluginOktaStatusDetailsSCIM) Reset() { *m = PluginOktaStatusDet func (m *PluginOktaStatusDetailsSCIM) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSCIM) ProtoMessage() {} func (*PluginOktaStatusDetailsSCIM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{300} + return fileDescriptor_9198ee693835762e, []int{302} } func (m *PluginOktaStatusDetailsSCIM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17799,7 +17933,7 @@ func (m *PluginOktaStatusDetailsAccessListsSync) Reset() { func (m *PluginOktaStatusDetailsAccessListsSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAccessListsSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAccessListsSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{301} + return fileDescriptor_9198ee693835762e, []int{303} } func (m *PluginOktaStatusDetailsAccessListsSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17847,7 +17981,7 @@ func (m *PluginCredentialsV1) Reset() { *m = PluginCredentialsV1{} } func (m *PluginCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginCredentialsV1) ProtoMessage() {} func (*PluginCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{302} + return fileDescriptor_9198ee693835762e, []int{304} } func (m *PluginCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17958,7 +18092,7 @@ func (m *PluginOAuth2AccessTokenCredentials) Reset() { *m = PluginOAuth2 func (m *PluginOAuth2AccessTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AccessTokenCredentials) ProtoMessage() {} func (*PluginOAuth2AccessTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{303} + return fileDescriptor_9198ee693835762e, []int{305} } func (m *PluginOAuth2AccessTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17999,7 +18133,7 @@ func (m *PluginBearerTokenCredentials) Reset() { *m = PluginBearerTokenC func (m *PluginBearerTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginBearerTokenCredentials) ProtoMessage() {} func (*PluginBearerTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{304} + return fileDescriptor_9198ee693835762e, []int{306} } func (m *PluginBearerTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18041,7 +18175,7 @@ func (m *PluginStaticCredentialsRef) Reset() { *m = PluginStaticCredenti func (m *PluginStaticCredentialsRef) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsRef) ProtoMessage() {} func (*PluginStaticCredentialsRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{305} + return fileDescriptor_9198ee693835762e, []int{307} } func (m *PluginStaticCredentialsRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18083,7 +18217,7 @@ func (m *PluginListV1) Reset() { *m = PluginListV1{} } func (m *PluginListV1) String() string { return proto.CompactTextString(m) } func (*PluginListV1) ProtoMessage() {} func (*PluginListV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{306} + return fileDescriptor_9198ee693835762e, []int{308} } func (m *PluginListV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18126,7 +18260,7 @@ type PluginStaticCredentialsV1 struct { func (m *PluginStaticCredentialsV1) Reset() { *m = PluginStaticCredentialsV1{} } func (*PluginStaticCredentialsV1) ProtoMessage() {} func (*PluginStaticCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{307} + return fileDescriptor_9198ee693835762e, []int{309} } func (m *PluginStaticCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18172,7 +18306,7 @@ func (m *PluginStaticCredentialsSpecV1) Reset() { *m = PluginStaticCrede func (m *PluginStaticCredentialsSpecV1) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsSpecV1) ProtoMessage() {} func (*PluginStaticCredentialsSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{308} + return fileDescriptor_9198ee693835762e, []int{310} } func (m *PluginStaticCredentialsSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18274,7 +18408,7 @@ func (m *PluginStaticCredentialsBasicAuth) Reset() { *m = PluginStaticCr func (m *PluginStaticCredentialsBasicAuth) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsBasicAuth) ProtoMessage() {} func (*PluginStaticCredentialsBasicAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{309} + return fileDescriptor_9198ee693835762e, []int{311} } func (m *PluginStaticCredentialsBasicAuth) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18320,7 +18454,7 @@ func (m *PluginStaticCredentialsOAuthClientSecret) Reset() { func (m *PluginStaticCredentialsOAuthClientSecret) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsOAuthClientSecret) ProtoMessage() {} func (*PluginStaticCredentialsOAuthClientSecret) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{310} + return fileDescriptor_9198ee693835762e, []int{312} } func (m *PluginStaticCredentialsOAuthClientSecret) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18363,7 +18497,7 @@ type SAMLIdPServiceProviderV1 struct { func (m *SAMLIdPServiceProviderV1) Reset() { *m = SAMLIdPServiceProviderV1{} } func (*SAMLIdPServiceProviderV1) ProtoMessage() {} func (*SAMLIdPServiceProviderV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{311} + return fileDescriptor_9198ee693835762e, []int{313} } func (m *SAMLIdPServiceProviderV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18434,7 +18568,7 @@ func (m *SAMLIdPServiceProviderSpecV1) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderSpecV1) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderSpecV1) ProtoMessage() {} func (*SAMLIdPServiceProviderSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{312} + return fileDescriptor_9198ee693835762e, []int{314} } func (m *SAMLIdPServiceProviderSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18481,7 +18615,7 @@ func (m *SAMLAttributeMapping) Reset() { *m = SAMLAttributeMapping{} } func (m *SAMLAttributeMapping) String() string { return proto.CompactTextString(m) } func (*SAMLAttributeMapping) ProtoMessage() {} func (*SAMLAttributeMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{313} + return fileDescriptor_9198ee693835762e, []int{315} } func (m *SAMLAttributeMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18523,7 +18657,7 @@ func (m *IdPOptions) Reset() { *m = IdPOptions{} } func (m *IdPOptions) String() string { return proto.CompactTextString(m) } func (*IdPOptions) ProtoMessage() {} func (*IdPOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{314} + return fileDescriptor_9198ee693835762e, []int{316} } func (m *IdPOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18565,7 +18699,7 @@ func (m *IdPSAMLOptions) Reset() { *m = IdPSAMLOptions{} } func (m *IdPSAMLOptions) String() string { return proto.CompactTextString(m) } func (*IdPSAMLOptions) ProtoMessage() {} func (*IdPSAMLOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{315} + return fileDescriptor_9198ee693835762e, []int{317} } func (m *IdPSAMLOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18615,7 +18749,7 @@ func (m *KubernetesResourceV1) Reset() { *m = KubernetesResourceV1{} } func (m *KubernetesResourceV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceV1) ProtoMessage() {} func (*KubernetesResourceV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{316} + return fileDescriptor_9198ee693835762e, []int{318} } func (m *KubernetesResourceV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18657,7 +18791,7 @@ func (m *KubernetesResourceSpecV1) Reset() { *m = KubernetesResourceSpec func (m *KubernetesResourceSpecV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceSpecV1) ProtoMessage() {} func (*KubernetesResourceSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{317} + return fileDescriptor_9198ee693835762e, []int{319} } func (m *KubernetesResourceSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18703,7 +18837,7 @@ func (m *ClusterMaintenanceConfigV1) Reset() { *m = ClusterMaintenanceCo func (m *ClusterMaintenanceConfigV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigV1) ProtoMessage() {} func (*ClusterMaintenanceConfigV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{318} + return fileDescriptor_9198ee693835762e, []int{320} } func (m *ClusterMaintenanceConfigV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18745,7 +18879,7 @@ func (m *ClusterMaintenanceConfigSpecV1) Reset() { *m = ClusterMaintenan func (m *ClusterMaintenanceConfigSpecV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigSpecV1) ProtoMessage() {} func (*ClusterMaintenanceConfigSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{319} + return fileDescriptor_9198ee693835762e, []int{321} } func (m *ClusterMaintenanceConfigSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18791,7 +18925,7 @@ func (m *AgentUpgradeWindow) Reset() { *m = AgentUpgradeWindow{} } func (m *AgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeWindow) ProtoMessage() {} func (*AgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{320} + return fileDescriptor_9198ee693835762e, []int{322} } func (m *AgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18838,7 +18972,7 @@ func (m *ScheduledAgentUpgradeWindow) Reset() { *m = ScheduledAgentUpgra func (m *ScheduledAgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*ScheduledAgentUpgradeWindow) ProtoMessage() {} func (*ScheduledAgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{321} + return fileDescriptor_9198ee693835762e, []int{323} } func (m *ScheduledAgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18881,7 +19015,7 @@ func (m *AgentUpgradeSchedule) Reset() { *m = AgentUpgradeSchedule{} } func (m *AgentUpgradeSchedule) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeSchedule) ProtoMessage() {} func (*AgentUpgradeSchedule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{322} + return fileDescriptor_9198ee693835762e, []int{324} } func (m *AgentUpgradeSchedule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18924,7 +19058,7 @@ type UserGroupV1 struct { func (m *UserGroupV1) Reset() { *m = UserGroupV1{} } func (*UserGroupV1) ProtoMessage() {} func (*UserGroupV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{323} + return fileDescriptor_9198ee693835762e, []int{325} } func (m *UserGroupV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18966,7 +19100,7 @@ func (m *UserGroupSpecV1) Reset() { *m = UserGroupSpecV1{} } func (m *UserGroupSpecV1) String() string { return proto.CompactTextString(m) } func (*UserGroupSpecV1) ProtoMessage() {} func (*UserGroupSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{324} + return fileDescriptor_9198ee693835762e, []int{326} } func (m *UserGroupSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19010,7 +19144,7 @@ func (m *OktaImportRuleSpecV1) Reset() { *m = OktaImportRuleSpecV1{} } func (m *OktaImportRuleSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleSpecV1) ProtoMessage() {} func (*OktaImportRuleSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{325} + return fileDescriptor_9198ee693835762e, []int{327} } func (m *OktaImportRuleSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19054,7 +19188,7 @@ func (m *OktaImportRuleMappingV1) Reset() { *m = OktaImportRuleMappingV1 func (m *OktaImportRuleMappingV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMappingV1) ProtoMessage() {} func (*OktaImportRuleMappingV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{326} + return fileDescriptor_9198ee693835762e, []int{328} } func (m *OktaImportRuleMappingV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19097,7 +19231,7 @@ type OktaImportRuleV1 struct { func (m *OktaImportRuleV1) Reset() { *m = OktaImportRuleV1{} } func (*OktaImportRuleV1) ProtoMessage() {} func (*OktaImportRuleV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{327} + return fileDescriptor_9198ee693835762e, []int{329} } func (m *OktaImportRuleV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19145,7 +19279,7 @@ func (m *OktaImportRuleMatchV1) Reset() { *m = OktaImportRuleMatchV1{} } func (m *OktaImportRuleMatchV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMatchV1) ProtoMessage() {} func (*OktaImportRuleMatchV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{328} + return fileDescriptor_9198ee693835762e, []int{330} } func (m *OktaImportRuleMatchV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19188,7 +19322,7 @@ type OktaAssignmentV1 struct { func (m *OktaAssignmentV1) Reset() { *m = OktaAssignmentV1{} } func (*OktaAssignmentV1) ProtoMessage() {} func (*OktaAssignmentV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{329} + return fileDescriptor_9198ee693835762e, []int{331} } func (m *OktaAssignmentV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19242,7 +19376,7 @@ func (m *OktaAssignmentSpecV1) Reset() { *m = OktaAssignmentSpecV1{} } func (m *OktaAssignmentSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentSpecV1) ProtoMessage() {} func (*OktaAssignmentSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{330} + return fileDescriptor_9198ee693835762e, []int{332} } func (m *OktaAssignmentSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19286,7 +19420,7 @@ func (m *OktaAssignmentTargetV1) Reset() { *m = OktaAssignmentTargetV1{} func (m *OktaAssignmentTargetV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentTargetV1) ProtoMessage() {} func (*OktaAssignmentTargetV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{331} + return fileDescriptor_9198ee693835762e, []int{333} } func (m *OktaAssignmentTargetV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19331,7 +19465,7 @@ type IntegrationV1 struct { func (m *IntegrationV1) Reset() { *m = IntegrationV1{} } func (*IntegrationV1) ProtoMessage() {} func (*IntegrationV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{332} + return fileDescriptor_9198ee693835762e, []int{334} } func (m *IntegrationV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19376,7 +19510,7 @@ func (m *IntegrationSpecV1) Reset() { *m = IntegrationSpecV1{} } func (m *IntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*IntegrationSpecV1) ProtoMessage() {} func (*IntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{333} + return fileDescriptor_9198ee693835762e, []int{335} } func (m *IntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19483,7 +19617,7 @@ func (m *AWSOIDCIntegrationSpecV1) Reset() { *m = AWSOIDCIntegrationSpec func (m *AWSOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AWSOIDCIntegrationSpecV1) ProtoMessage() {} func (*AWSOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{334} + return fileDescriptor_9198ee693835762e, []int{336} } func (m *AWSOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19529,7 +19663,7 @@ func (m *AzureOIDCIntegrationSpecV1) Reset() { *m = AzureOIDCIntegration func (m *AzureOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AzureOIDCIntegrationSpecV1) ProtoMessage() {} func (*AzureOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{335} + return fileDescriptor_9198ee693835762e, []int{337} } func (m *AzureOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19590,7 +19724,7 @@ func (m *HeadlessAuthentication) Reset() { *m = HeadlessAuthentication{} func (m *HeadlessAuthentication) String() string { return proto.CompactTextString(m) } func (*HeadlessAuthentication) ProtoMessage() {} func (*HeadlessAuthentication) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{336} + return fileDescriptor_9198ee693835762e, []int{338} } func (m *HeadlessAuthentication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19647,7 +19781,7 @@ func (m *WatchKind) Reset() { *m = WatchKind{} } func (m *WatchKind) String() string { return proto.CompactTextString(m) } func (*WatchKind) ProtoMessage() {} func (*WatchKind) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{337} + return fileDescriptor_9198ee693835762e, []int{339} } func (m *WatchKind) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19697,7 +19831,7 @@ func (m *WatchStatusV1) Reset() { *m = WatchStatusV1{} } func (m *WatchStatusV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusV1) ProtoMessage() {} func (*WatchStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{338} + return fileDescriptor_9198ee693835762e, []int{340} } func (m *WatchStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19738,7 +19872,7 @@ func (m *WatchStatusSpecV1) Reset() { *m = WatchStatusSpecV1{} } func (m *WatchStatusSpecV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusSpecV1) ProtoMessage() {} func (*WatchStatusSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{339} + return fileDescriptor_9198ee693835762e, []int{341} } func (m *WatchStatusSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19788,7 +19922,7 @@ func (m *ServerInfoV1) Reset() { *m = ServerInfoV1{} } func (m *ServerInfoV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoV1) ProtoMessage() {} func (*ServerInfoV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{340} + return fileDescriptor_9198ee693835762e, []int{342} } func (m *ServerInfoV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19830,7 +19964,7 @@ func (m *ServerInfoSpecV1) Reset() { *m = ServerInfoSpecV1{} } func (m *ServerInfoSpecV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoSpecV1) ProtoMessage() {} func (*ServerInfoSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{341} + return fileDescriptor_9198ee693835762e, []int{343} } func (m *ServerInfoSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19887,7 +20021,7 @@ func (m *JamfSpecV1) Reset() { *m = JamfSpecV1{} } func (m *JamfSpecV1) String() string { return proto.CompactTextString(m) } func (*JamfSpecV1) ProtoMessage() {} func (*JamfSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{342} + return fileDescriptor_9198ee693835762e, []int{344} } func (m *JamfSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19952,7 +20086,7 @@ func (m *JamfInventoryEntry) Reset() { *m = JamfInventoryEntry{} } func (m *JamfInventoryEntry) String() string { return proto.CompactTextString(m) } func (*JamfInventoryEntry) ProtoMessage() {} func (*JamfInventoryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{343} + return fileDescriptor_9198ee693835762e, []int{345} } func (m *JamfInventoryEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20009,7 +20143,7 @@ type MessageWithHeader struct { func (m *MessageWithHeader) Reset() { *m = MessageWithHeader{} } func (*MessageWithHeader) ProtoMessage() {} func (*MessageWithHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{344} + return fileDescriptor_9198ee693835762e, []int{346} } func (m *MessageWithHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20073,7 +20207,7 @@ func (m *AWSMatcher) Reset() { *m = AWSMatcher{} } func (m *AWSMatcher) String() string { return proto.CompactTextString(m) } func (*AWSMatcher) ProtoMessage() {} func (*AWSMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{345} + return fileDescriptor_9198ee693835762e, []int{347} } func (m *AWSMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20118,7 +20252,7 @@ func (m *AssumeRole) Reset() { *m = AssumeRole{} } func (m *AssumeRole) String() string { return proto.CompactTextString(m) } func (*AssumeRole) ProtoMessage() {} func (*AssumeRole) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{346} + return fileDescriptor_9198ee693835762e, []int{348} } func (m *AssumeRole) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20180,7 +20314,7 @@ func (m *InstallerParams) Reset() { *m = InstallerParams{} } func (m *InstallerParams) String() string { return proto.CompactTextString(m) } func (*InstallerParams) ProtoMessage() {} func (*InstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{347} + return fileDescriptor_9198ee693835762e, []int{349} } func (m *InstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20223,7 +20357,7 @@ func (m *AWSSSM) Reset() { *m = AWSSSM{} } func (m *AWSSSM) String() string { return proto.CompactTextString(m) } func (*AWSSSM) ProtoMessage() {} func (*AWSSSM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{348} + return fileDescriptor_9198ee693835762e, []int{350} } func (m *AWSSSM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20266,7 +20400,7 @@ func (m *AzureInstallerParams) Reset() { *m = AzureInstallerParams{} } func (m *AzureInstallerParams) String() string { return proto.CompactTextString(m) } func (*AzureInstallerParams) ProtoMessage() {} func (*AzureInstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{349} + return fileDescriptor_9198ee693835762e, []int{351} } func (m *AzureInstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20320,7 +20454,7 @@ func (m *AzureMatcher) Reset() { *m = AzureMatcher{} } func (m *AzureMatcher) String() string { return proto.CompactTextString(m) } func (*AzureMatcher) ProtoMessage() {} func (*AzureMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{350} + return fileDescriptor_9198ee693835762e, []int{352} } func (m *AzureMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20375,7 +20509,7 @@ func (m *GCPMatcher) Reset() { *m = GCPMatcher{} } func (m *GCPMatcher) String() string { return proto.CompactTextString(m) } func (*GCPMatcher) ProtoMessage() {} func (*GCPMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{351} + return fileDescriptor_9198ee693835762e, []int{353} } func (m *GCPMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20421,7 +20555,7 @@ func (m *KubernetesMatcher) Reset() { *m = KubernetesMatcher{} } func (m *KubernetesMatcher) String() string { return proto.CompactTextString(m) } func (*KubernetesMatcher) ProtoMessage() {} func (*KubernetesMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{352} + return fileDescriptor_9198ee693835762e, []int{354} } func (m *KubernetesMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20463,7 +20597,7 @@ func (m *OktaOptions) Reset() { *m = OktaOptions{} } func (m *OktaOptions) String() string { return proto.CompactTextString(m) } func (*OktaOptions) ProtoMessage() {} func (*OktaOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{353} + return fileDescriptor_9198ee693835762e, []int{355} } func (m *OktaOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20505,7 +20639,7 @@ func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } func (m *AccessGraphSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphSync) ProtoMessage() {} func (*AccessGraphSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{354} + return fileDescriptor_9198ee693835762e, []int{356} } func (m *AccessGraphSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20551,7 +20685,7 @@ func (m *AccessGraphAWSSync) Reset() { *m = AccessGraphAWSSync{} } func (m *AccessGraphAWSSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphAWSSync) ProtoMessage() {} func (*AccessGraphAWSSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{355} + return fileDescriptor_9198ee693835762e, []int{357} } func (m *AccessGraphAWSSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20603,6 +20737,7 @@ func init() { proto.RegisterEnum("types.RequireMFAType", RequireMFAType_name, RequireMFAType_value) proto.RegisterEnum("types.SignatureAlgorithmSuite", SignatureAlgorithmSuite_name, SignatureAlgorithmSuite_value) proto.RegisterEnum("types.EntraIDCredentialsSource", EntraIDCredentialsSource_name, EntraIDCredentialsSource_value) + proto.RegisterEnum("types.AWSICGroupImportStatusCode", AWSICGroupImportStatusCode_name, AWSICGroupImportStatusCode_value) proto.RegisterEnum("types.PluginStatusCode", PluginStatusCode_name, PluginStatusCode_value) proto.RegisterEnum("types.OktaPluginSyncStatusCode", OktaPluginSyncStatusCode_name, OktaPluginSyncStatusCode_value) proto.RegisterEnum("types.HeadlessAuthenticationState", HeadlessAuthenticationState_name, HeadlessAuthenticationState_value) @@ -20927,6 +21062,8 @@ func init() { proto.RegisterType((*PluginDatadogAccessSettings)(nil), "types.PluginDatadogAccessSettings") proto.RegisterType((*PluginAWSICSettings)(nil), "types.PluginAWSICSettings") proto.RegisterType((*AWSICProvisioningSpec)(nil), "types.AWSICProvisioningSpec") + proto.RegisterType((*PluginAWSICStatusV1)(nil), "types.PluginAWSICStatusV1") + proto.RegisterType((*AWSICGroupImportStatus)(nil), "types.AWSICGroupImportStatus") proto.RegisterType((*PluginEmailSettings)(nil), "types.PluginEmailSettings") proto.RegisterType((*MailgunSpec)(nil), "types.MailgunSpec") proto.RegisterType((*SMTPSpec)(nil), "types.SMTPSpec") @@ -21005,7 +21142,7 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29240 bytes of a gzipped FileDescriptorProto + // 29326 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x1c, 0x49, 0x7a, 0x20, 0x36, 0xdd, 0x8d, 0x47, 0xe3, 0xc3, 0xab, 0x91, 0x00, 0x49, 0x10, 0x33, 0x9c, 0xe6, 0xd4, 0xcc, 0x70, 0x38, 0xb3, 0x33, 0xe4, 0x12, 0xdc, 0xe1, 0xee, 0xec, 0xbc, 0xb6, 0xf1, 0x20, @@ -22485,355 +22622,360 @@ var fileDescriptor_9198ee693835762e = []byte{ 0xd6, 0x2d, 0x43, 0x11, 0xf5, 0x5f, 0xda, 0x5f, 0x84, 0x53, 0x34, 0xf9, 0x76, 0x02, 0xb7, 0xb3, 0x9b, 0xb0, 0x93, 0x1f, 0xfa, 0x4a, 0x16, 0x3b, 0x39, 0x2b, 0x6f, 0x08, 0xfc, 0x98, 0xeb, 0xac, 0xdb, 0x0b, 0xa4, 0x36, 0xfc, 0x71, 0xbc, 0xd4, 0x33, 0x3e, 0x27, 0x63, 0x5a, 0xe7, 0xfe, 0x7f, - 0xf6, 0xae, 0xe6, 0xc7, 0x91, 0xe3, 0xba, 0x4f, 0x93, 0x9c, 0x19, 0xce, 0xe3, 0x7c, 0xf4, 0xd4, - 0xae, 0x76, 0x47, 0x3b, 0xfb, 0xa1, 0xed, 0xfd, 0xd0, 0x2e, 0xd7, 0x92, 0xbc, 0xab, 0xc8, 0xd2, - 0xca, 0x91, 0xe5, 0x1e, 0xb2, 0x39, 0xd3, 0xbb, 0xfc, 0x52, 0x77, 0x73, 0xc6, 0x2b, 0xd9, 0xee, - 0x50, 0xc3, 0x9e, 0x19, 0xc6, 0x1c, 0x92, 0x66, 0x93, 0x5a, 0xaf, 0x10, 0x20, 0x71, 0x02, 0xd8, - 0x40, 0xbe, 0x9c, 0x38, 0x01, 0x62, 0x04, 0x01, 0x72, 0x88, 0x10, 0xe4, 0x90, 0xbf, 0x20, 0xc9, - 0xc5, 0x37, 0x01, 0x86, 0x01, 0x03, 0xc9, 0x29, 0x01, 0x84, 0x44, 0x40, 0x72, 0x48, 0x72, 0x0b, - 0xe2, 0x83, 0x4f, 0x41, 0xbd, 0xaa, 0xea, 0xae, 0xfe, 0x20, 0x77, 0x56, 0x2b, 0x25, 0x31, 0xe0, - 0xd3, 0x0c, 0xab, 0x5e, 0x55, 0xd7, 0x77, 0xbd, 0xf7, 0xea, 0xbd, 0xdf, 0x4b, 0x5b, 0xd6, 0x27, - 0xdf, 0x53, 0x75, 0x20, 0xf2, 0x61, 0xc5, 0x74, 0x97, 0xdc, 0x2c, 0x4a, 0x70, 0xdb, 0xbc, 0x21, - 0xd2, 0xd1, 0x60, 0xb3, 0x90, 0x98, 0xeb, 0xfb, 0xf1, 0x24, 0xb2, 0x09, 0x4b, 0x41, 0xd4, 0x69, - 0x7e, 0x71, 0xe4, 0x59, 0x82, 0xd9, 0xe1, 0x3d, 0xfc, 0xb6, 0x02, 0xcf, 0x3d, 0x6e, 0x84, 0xc8, - 0x1e, 0x9c, 0x41, 0xd3, 0x0b, 0x7f, 0x10, 0x0c, 0xb2, 0xbb, 0xdf, 0xde, 0x3f, 0xf2, 0xf8, 0x9a, - 0xd4, 0x52, 0x87, 0x7a, 0x38, 0xb4, 0xed, 0x86, 0x34, 0xca, 0xc3, 0xa1, 0xed, 0x0f, 0xc4, 0xef, - 0x12, 0x2d, 0xce, 0xdb, 0xd0, 0x81, 0xcd, 0x19, 0x25, 0xa5, 0x63, 0x41, 0x91, 0x8f, 0x85, 0x1b, - 0xa0, 0x1e, 0x78, 0x1d, 0xca, 0xf1, 0x7a, 0x1d, 0x6c, 0xda, 0x7b, 0x77, 0x58, 0x14, 0x75, 0x6b, - 0x35, 0x48, 0xb7, 0xfd, 0xc1, 0xee, 0x1d, 0xfe, 0x95, 0x63, 0x71, 0xa1, 0xc9, 0xac, 0x3f, 0x79, - 0x11, 0x4e, 0xc5, 0x40, 0x41, 0x42, 0x2f, 0x73, 0x6b, 0x9d, 0x66, 0x45, 0x21, 0xa4, 0x2e, 0xc3, - 0xb2, 0x98, 0xf3, 0x51, 0xe0, 0xab, 0x66, 0x15, 0x78, 0x1a, 0xdd, 0x53, 0xfc, 0x73, 0x13, 0xd1, - 0xa9, 0x54, 0xa9, 0xe1, 0x04, 0x9c, 0x32, 0x79, 0x01, 0x48, 0xc0, 0x95, 0x07, 0xc7, 0x00, 0xff, - 0xe0, 0xba, 0xc8, 0x09, 0xf6, 0x2f, 0xff, 0xec, 0xdf, 0x65, 0xe0, 0x54, 0x8a, 0xb8, 0x41, 0x59, - 0xfc, 0x6e, 0x7f, 0xec, 0x1d, 0x32, 0x01, 0x41, 0xee, 0xe4, 0x9a, 0x94, 0xce, 0x75, 0x48, 0x0b, - 0x2c, 0x4a, 0x38, 0xff, 0x16, 0xff, 0x45, 0x8f, 0x86, 0xf6, 0x48, 0xa8, 0x47, 0xe8, 0xbf, 0xc4, - 0x84, 0x75, 0x0c, 0x7d, 0xe0, 0x77, 0x07, 0x18, 0x41, 0x01, 0x59, 0x8c, 0x5c, 0x44, 0x48, 0xc3, - 0x56, 0x34, 0x25, 0x22, 0xca, 0x63, 0x58, 0xea, 0x30, 0x96, 0x42, 0xbe, 0x08, 0xe7, 0xa4, 0x9b, - 0xc4, 0x8d, 0xed, 0x2b, 0xb4, 0x46, 0xb7, 0xce, 0xb6, 0x83, 0x3b, 0xa5, 0x1c, 0xd9, 0x61, 0x5b, - 0x70, 0x11, 0x27, 0xb1, 0xdb, 0x19, 0xba, 0x89, 0x58, 0x19, 0xd8, 0x55, 0x06, 0x2e, 0x7f, 0x8e, - 0x52, 0x99, 0x9d, 0x61, 0x2c, 0x6c, 0x06, 0xed, 0x35, 0x1f, 0xbe, 0x77, 0xe0, 0x99, 0xd4, 0x16, - 0xd3, 0xeb, 0x03, 0x8d, 0x9d, 0x42, 0xce, 0x67, 0x91, 0xfe, 0xa6, 0xac, 0xcf, 0x65, 0x58, 0x7e, - 0xd7, 0x6b, 0x8f, 0xbc, 0x11, 0xbf, 0x97, 0xf9, 0x92, 0x60, 0x69, 0xf2, 0xb5, 0xfc, 0xf7, 0x8a, - 0x98, 0x9b, 0x88, 0x58, 0x47, 0x07, 0xdc, 0xf7, 0xfa, 0xe2, 0xf5, 0x62, 0xc9, 0xe2, 0xbf, 0x9e, - 0x70, 0x01, 0x90, 0x57, 0x61, 0x99, 0x56, 0x7b, 0x38, 0xe9, 0xb3, 0x89, 0xc8, 0x46, 0x20, 0x62, - 0x6a, 0x2c, 0x8b, 0x76, 0x66, 0x67, 0xce, 0x2a, 0x1c, 0x87, 0x3f, 0x29, 0x87, 0xe8, 0x1f, 0x8f, - 0x87, 0xf2, 0xf4, 0x09, 0x15, 0x97, 0x5d, 0x73, 0x9a, 0xbc, 0x48, 0x9e, 0xd2, 0x84, 0x1c, 0xe2, - 0xd6, 0x02, 0x53, 0x72, 0x69, 0xb7, 0xa0, 0x20, 0xd5, 0x4d, 0x3b, 0xc3, 0x7c, 0x3e, 0x44, 0x67, - 0xd8, 0x2f, 0x3e, 0x04, 0xef, 0x42, 0x5e, 0x54, 0x49, 0x59, 0xe1, 0xa3, 0x81, 0x2f, 0x96, 0x3e, - 0xfe, 0x4f, 0xd3, 0x28, 0x5f, 0x8b, 0x9d, 0x9c, 0xb7, 0xf0, 0x7f, 0x3c, 0x3f, 0xc7, 0x6d, 0xca, - 0x03, 0xf7, 0x7c, 0x77, 0x88, 0xb6, 0x43, 0x01, 0xc3, 0x48, 0xd3, 0x9d, 0x9e, 0xcf, 0x2c, 0x8a, - 0xf8, 0x37, 0xfe, 0x32, 0x23, 0x64, 0xcb, 0xad, 0xc1, 0x60, 0xec, 0x8f, 0x47, 0xed, 0x61, 0x44, - 0x13, 0x46, 0x8e, 0xe1, 0x59, 0x64, 0xbd, 0xee, 0x60, 0x04, 0x83, 0xc1, 0x48, 0x40, 0x36, 0xec, - 0x0b, 0x33, 0xe8, 0xc2, 0x9d, 0x97, 0xa2, 0xcc, 0xa1, 0x4e, 0xa9, 0x75, 0x99, 0x98, 0x8a, 0x42, - 0x52, 0xad, 0x3b, 0x73, 0xd6, 0x59, 0x56, 0x67, 0x82, 0x8a, 0xec, 0xa4, 0xac, 0x8f, 0xb8, 0x2a, - 0x6c, 0x2b, 0x5c, 0x2c, 0xd1, 0x5a, 0xe5, 0x65, 0x44, 0xbe, 0x04, 0x4b, 0xdd, 0x8e, 0x1c, 0xa8, - 0x2f, 0xae, 0x84, 0x31, 0x3b, 0x0c, 0x2c, 0x38, 0xac, 0x83, 0x4e, 0x5c, 0x97, 0xa7, 0x6e, 0xad, - 0x44, 0x74, 0x86, 0xda, 0x96, 0x10, 0x63, 0x92, 0xc5, 0xc8, 0x2a, 0x64, 0x82, 0x03, 0x37, 0xd3, - 0xed, 0xb0, 0x35, 0x1a, 0xc2, 0x15, 0x5b, 0xfc, 0x97, 0xf6, 0x6b, 0x70, 0xe3, 0xa4, 0x63, 0x44, - 0xd7, 0xf3, 0x94, 0x01, 0x5f, 0xb2, 0xd6, 0xdb, 0x89, 0x71, 0xbb, 0x0c, 0x32, 0xda, 0x6a, 0x57, - 0xec, 0x2b, 0x91, 0xd6, 0x1a, 0x75, 0xb5, 0xdf, 0xcc, 0xc2, 0x6a, 0x54, 0x4b, 0x4a, 0x6e, 0x41, - 0x2e, 0xa8, 0x76, 0x35, 0x78, 0xcd, 0x93, 0x89, 0x68, 0xe5, 0x16, 0x12, 0x51, 0xd6, 0x12, 0x1f, - 0xff, 0xdd, 0x63, 0xf9, 0xc1, 0xcd, 0x5a, 0xc6, 0x44, 0xf1, 0xd0, 0x76, 0x0f, 0x56, 0xd1, 0x6e, - 0x0b, 0x79, 0x96, 0x71, 0x97, 0xeb, 0xde, 0x67, 0x3f, 0x9f, 0xe4, 0x3f, 0xfc, 0xe8, 0xd2, 0x1c, - 0xbe, 0x94, 0x2c, 0xd3, 0xb2, 0x94, 0x6d, 0xa0, 0x99, 0x92, 0x12, 0x2c, 0x37, 0x5d, 0x09, 0xc6, - 0xbb, 0x32, 0x45, 0x09, 0x36, 0x3f, 0x43, 0x09, 0x16, 0x96, 0x94, 0x95, 0x60, 0xa8, 0x0a, 0x5d, - 0x9c, 0xa6, 0x0a, 0x0d, 0xcb, 0x30, 0x55, 0xe8, 0x55, 0xde, 0xdd, 0x51, 0xfb, 0xa1, 0x8b, 0xe3, - 0xc0, 0x0f, 0x4f, 0xec, 0x88, 0xd5, 0x7e, 0x88, 0x66, 0x12, 0x5b, 0x4b, 0x20, 0x6c, 0x2b, 0xb4, - 0x3f, 0x52, 0x62, 0xda, 0x20, 0x31, 0x15, 0xd7, 0x60, 0xb5, 0x7b, 0x4c, 0xb7, 0xb0, 0xd7, 0x91, - 0xe4, 0x8d, 0x15, 0x6b, 0x45, 0xa4, 0x32, 0x99, 0xe3, 0x79, 0x58, 0x0b, 0xc8, 0x38, 0xdb, 0x8d, - 0x3e, 0x57, 0x56, 0x50, 0x9a, 0x03, 0x88, 0xdc, 0x82, 0xf5, 0x80, 0x90, 0x4b, 0xf4, 0x4c, 0xe4, - 0x58, 0xb1, 0x54, 0x91, 0xd1, 0xe4, 0xe9, 0xda, 0x61, 0x9c, 0xfb, 0xfc, 0x8c, 0x5a, 0xa5, 0xfd, - 0x30, 0x1b, 0x91, 0x94, 0xc5, 0x67, 0xb6, 0xa0, 0x40, 0x99, 0x12, 0x3e, 0x48, 0xfc, 0x58, 0xb9, - 0x3c, 0x65, 0xf8, 0xb9, 0x75, 0x8a, 0x6d, 0x37, 0x2c, 0xf0, 0xfd, 0x81, 0x30, 0x56, 0x71, 0x19, - 0xdf, 0xc5, 0xa4, 0x1f, 0x5c, 0x7e, 0xa2, 0x3a, 0x76, 0x86, 0x14, 0x67, 0x57, 0x27, 0x44, 0x15, - 0xba, 0xfa, 0x90, 0xff, 0x0a, 0x7e, 0x89, 0x0f, 0xb4, 0x00, 0x15, 0x4b, 0x7e, 0xb4, 0xf2, 0x6c, - 0x0a, 0xff, 0x9c, 0xa8, 0x1c, 0x47, 0x09, 0x6b, 0x56, 0x27, 0xe2, 0x5f, 0x51, 0xad, 0x01, 0xcb, - 0x28, 0xa7, 0x8a, 0x0a, 0x73, 0x29, 0xca, 0xd4, 0x64, 0xe7, 0x4b, 0x66, 0xcd, 0x2a, 0xd0, 0x72, - 0xa2, 0x9a, 0x23, 0x78, 0x56, 0x96, 0x2e, 0xa3, 0x8d, 0x9c, 0x17, 0x78, 0xa8, 0x33, 0x47, 0x20, - 0x14, 0x42, 0xb1, 0xa9, 0x67, 0xda, 0xd1, 0x04, 0x4e, 0xa6, 0x1d, 0xc1, 0xb9, 0xe9, 0x53, 0x32, - 0x23, 0xd6, 0x4e, 0xc8, 0x9a, 0x66, 0x64, 0xd6, 0x54, 0x96, 0x35, 0xb3, 0x11, 0x59, 0x53, 0xfb, - 0x8b, 0x2c, 0x5c, 0x39, 0xc1, 0x74, 0xcd, 0xf8, 0xe6, 0x97, 0xa1, 0xc0, 0x9e, 0x80, 0xd8, 0xf1, - 0x99, 0x89, 0x48, 0x07, 0xb4, 0x52, 0x7e, 0xd6, 0x51, 0x49, 0x25, 0x3c, 0xef, 0xc0, 0x0f, 0xfe, - 0x27, 0xbf, 0x02, 0x6b, 0xec, 0x40, 0x63, 0x06, 0x66, 0x07, 0x93, 0xde, 0x09, 0x4e, 0xb4, 0x4d, - 0xe1, 0x0d, 0x13, 0x2b, 0x8a, 0x87, 0x1c, 0x9e, 0x18, 0x76, 0x90, 0x46, 0x1c, 0x28, 0x20, 0xd9, - 0x41, 0xbb, 0xdb, 0x3b, 0x91, 0x5b, 0x86, 0xf0, 0xb5, 0x91, 0x8b, 0x31, 0xbb, 0x58, 0x9a, 0x50, - 0xc1, 0xdf, 0xe4, 0x3a, 0xac, 0xf5, 0x27, 0xc7, 0x54, 0x3c, 0x67, 0x6b, 0x81, 0xbf, 0xe3, 0xcf, - 0x5b, 0x2b, 0xfd, 0xc9, 0xb1, 0x3e, 0x1c, 0xe2, 0x94, 0xe2, 0x83, 0xff, 0x3a, 0xa5, 0x63, 0xbb, - 0x56, 0x50, 0x2e, 0x20, 0x25, 0xad, 0x80, 0xed, 0x5b, 0x4e, 0x7b, 0x1a, 0x98, 0xf9, 0x17, 0x8f, - 0x35, 0xc4, 0x7e, 0x68, 0x3f, 0xcd, 0x08, 0xa9, 0x68, 0xfa, 0xba, 0xff, 0xc5, 0x14, 0xa5, 0x4c, - 0xd1, 0x0d, 0x50, 0xe9, 0xd0, 0x87, 0x87, 0x4a, 0x30, 0x47, 0xab, 0xfd, 0xc9, 0x71, 0x30, 0x76, - 0xf2, 0xc0, 0x2f, 0xc8, 0x03, 0xff, 0xaa, 0x90, 0x9a, 0x52, 0x8f, 0x87, 0xe9, 0x43, 0xae, 0xfd, - 0x67, 0x16, 0xae, 0x9f, 0xec, 0x10, 0xf8, 0xc5, 0xbc, 0xa5, 0xcc, 0x5b, 0x4c, 0x7d, 0x36, 0x9f, - 0x50, 0x9f, 0xa5, 0xec, 0xbd, 0x85, 0xb4, 0xbd, 0x97, 0x50, 0xd6, 0x2d, 0xa6, 0x28, 0xeb, 0x52, - 0x37, 0x68, 0xfe, 0x31, 0x1b, 0x74, 0x49, 0x5e, 0x27, 0xff, 0x16, 0x88, 0xb9, 0x51, 0xd6, 0xfe, - 0x1d, 0x38, 0x25, 0x58, 0x7b, 0x76, 0x73, 0x84, 0x3a, 0xd8, 0xc2, 0x9d, 0x9b, 0x69, 0x4c, 0x3d, - 0x92, 0xa5, 0x30, 0xde, 0xeb, 0x9c, 0x9d, 0x0f, 0xf3, 0xff, 0xff, 0x30, 0xf2, 0xe4, 0x01, 0x9c, - 0x41, 0xa4, 0xee, 0x7d, 0x59, 0x7b, 0xec, 0x8e, 0xbc, 0x03, 0xbe, 0x1e, 0x2e, 0x27, 0xd8, 0xde, - 0xee, 0xbe, 0xd4, 0x1c, 0xcb, 0x3b, 0xd8, 0x99, 0xb3, 0x4e, 0xfb, 0x29, 0xe9, 0x71, 0x19, 0xe1, - 0xaf, 0x15, 0xd0, 0x1e, 0x3f, 0x5e, 0xa8, 0xce, 0x88, 0x0f, 0xf8, 0x92, 0x55, 0x68, 0x4b, 0xa3, - 0x77, 0x05, 0x56, 0x46, 0xde, 0xc1, 0xc8, 0xf3, 0x8f, 0x22, 0x72, 0xf2, 0x32, 0x4f, 0x14, 0x03, - 0x23, 0xf0, 0x02, 0x9f, 0x88, 0xc9, 0x16, 0x85, 0xb4, 0x4a, 0x20, 0xfa, 0xa5, 0xce, 0x03, 0x5d, - 0x4d, 0x72, 0x03, 0xd9, 0x8f, 0x7b, 0xb9, 0x7c, 0x46, 0xcd, 0x5a, 0x1c, 0xd5, 0xf0, 0xa0, 0xdb, - 0xf3, 0xb4, 0xbf, 0x51, 0x04, 0x47, 0x90, 0x36, 0x78, 0xe4, 0x1d, 0xc9, 0x2c, 0x33, 0x9b, 0x60, - 0x43, 0xd2, 0x8a, 0xc8, 0x16, 0x6c, 0x1c, 0x68, 0x0f, 0x13, 0x22, 0x40, 0x7b, 0x98, 0xf2, 0x14, - 0xb6, 0x65, 0x5c, 0x00, 0xbe, 0x2b, 0x6c, 0x3b, 0xe8, 0x99, 0xb7, 0x7b, 0x9b, 0xdc, 0x84, 0x45, - 0x66, 0xce, 0x21, 0x9a, 0xbb, 0x16, 0x69, 0xee, 0xee, 0x6d, 0x4b, 0xe4, 0x6b, 0x3f, 0x08, 0x14, - 0x9e, 0x89, 0x4e, 0xec, 0xde, 0x26, 0xaf, 0x9e, 0xcc, 0xcc, 0x32, 0x2f, 0xcc, 0x2c, 0x03, 0x13, - 0xcb, 0xd7, 0x22, 0x26, 0x96, 0x57, 0x67, 0x8f, 0x16, 0x7f, 0x91, 0x62, 0xc0, 0x72, 0x21, 0xe0, - 0xd0, 0x4f, 0x15, 0xb8, 0x30, 0xb3, 0x04, 0x39, 0x0f, 0x79, 0xbd, 0x69, 0x3a, 0xe1, 0xfc, 0xd2, - 0x3d, 0x23, 0x52, 0xc8, 0x36, 0x2c, 0x6d, 0xb5, 0xfd, 0xee, 0x3e, 0x5d, 0xc6, 0xa9, 0x2a, 0xe2, - 0x44, 0xb5, 0x01, 0xf9, 0xce, 0x9c, 0x15, 0x96, 0x25, 0x2e, 0xac, 0xe3, 0x5e, 0x88, 0x04, 0xf1, - 0xc9, 0xa6, 0xa8, 0x0d, 0x12, 0x15, 0x26, 0x8a, 0xd1, 0x73, 0x26, 0x91, 0x18, 0xdf, 0x82, 0xef, - 0x09, 0x5e, 0x64, 0x7a, 0x03, 0x9f, 0x00, 0x21, 0xf3, 0x06, 0xe4, 0x9b, 0xe2, 0xad, 0x58, 0xb2, - 0x4b, 0x16, 0xef, 0xc2, 0x56, 0x90, 0xab, 0xfd, 0xae, 0x22, 0x64, 0xfb, 0xc7, 0x77, 0x44, 0x8a, - 0x7f, 0xd4, 0x99, 0x1d, 0xff, 0xa8, 0xf3, 0x09, 0xe3, 0x1f, 0x69, 0x7f, 0xc5, 0xf1, 0xab, 0xcd, - 0x4e, 0x33, 0xa6, 0xbf, 0x7b, 0x5a, 0xfb, 0x72, 0x23, 0xb2, 0x3a, 0xaf, 0x48, 0xf1, 0xf3, 0x92, - 0xdf, 0x9a, 0x6e, 0x66, 0x2e, 0x2d, 0xd5, 0x3f, 0xc9, 0xc2, 0xf9, 0x59, 0xc5, 0x53, 0x23, 0xf4, - 0x2a, 0x4f, 0x16, 0xa1, 0xf7, 0x26, 0xe4, 0x59, 0x5a, 0x60, 0x3c, 0x8d, 0x03, 0xce, 0x8b, 0xd2, - 0x01, 0x17, 0xd9, 0xe4, 0x0a, 0x2c, 0xe8, 0x25, 0x3b, 0x0c, 0x1a, 0x85, 0x56, 0x8e, 0xed, 0x7d, - 0x1f, 0xed, 0xe7, 0x78, 0x16, 0xf9, 0x7a, 0x32, 0x4e, 0x1a, 0x8f, 0x16, 0xb5, 0x29, 0x0d, 0x48, - 0x02, 0x5a, 0x1e, 0xdb, 0x1b, 0x42, 0xa1, 0x73, 0x74, 0x61, 0x2b, 0x19, 0x73, 0x4d, 0x83, 0x85, - 0xe6, 0xc8, 0xf3, 0xbd, 0xb1, 0x6c, 0x81, 0x38, 0xc4, 0x14, 0x8b, 0xe7, 0x70, 0xfb, 0xc0, 0xf6, - 0x23, 0xe6, 0x0e, 0xbe, 0x20, 0x43, 0x74, 0xa0, 0x41, 0x21, 0x4d, 0xb6, 0x24, 0x12, 0x5a, 0xa0, - 0xda, 0x9e, 0xf4, 0xf7, 0x8f, 0x5a, 0x56, 0x95, 0xb3, 0x1a, 0xac, 0x40, 0x0f, 0x53, 0x69, 0x07, - 0x7d, 0x4b, 0x22, 0xd1, 0xbe, 0xab, 0xc0, 0xe9, 0xb4, 0x7e, 0x90, 0xf3, 0x90, 0xeb, 0xa7, 0x86, - 0x84, 0xeb, 0x33, 0x2f, 0xd6, 0x02, 0xfd, 0xeb, 0x1e, 0x0c, 0x46, 0xc7, 0xed, 0xb1, 0x6c, 0xa7, - 0x29, 0x25, 0x5b, 0x40, 0x7f, 0x54, 0xf0, 0x7f, 0x72, 0x49, 0x9c, 0xd1, 0xd9, 0x44, 0x10, 0x39, - 0xfc, 0xa3, 0xe9, 0x00, 0x66, 0xa7, 0xd9, 0x18, 0x32, 0x68, 0xf3, 0x97, 0x21, 0x47, 0x9b, 0x15, - 0x5b, 0xbd, 0x74, 0xfd, 0xe8, 0xb5, 0x2a, 0x27, 0x62, 0xad, 0xf2, 0xdb, 0xc7, 0x3d, 0x0b, 0x89, - 0xb5, 0x3d, 0x58, 0x8d, 0x52, 0x10, 0x23, 0x0a, 0x86, 0x59, 0xb8, 0xa3, 0xf2, 0x9a, 0xb6, 0x06, - 0x03, 0xe6, 0x2b, 0xb0, 0xf5, 0xec, 0x3f, 0x7e, 0x74, 0x09, 0xe8, 0x4f, 0x56, 0x26, 0x0d, 0x2c, - 0x53, 0xfb, 0x5e, 0x06, 0x4e, 0x87, 0xee, 0xc9, 0x62, 0x0f, 0xfd, 0xdc, 0xfa, 0xca, 0xe9, 0x11, - 0x5f, 0x2e, 0xc1, 0x68, 0x25, 0x3b, 0x38, 0xc3, 0x85, 0x64, 0x1b, 0x36, 0xa6, 0xd1, 0x93, 0x5b, - 0xb0, 0x84, 0x88, 0x36, 0xc3, 0xf6, 0xbe, 0x27, 0x9f, 0x7d, 0x7d, 0x91, 0x68, 0x85, 0xf9, 0xda, - 0x8f, 0x15, 0x38, 0xc7, 0x2d, 0xdc, 0x6b, 0xed, 0x6e, 0x1f, 0x5f, 0xe3, 0xf6, 0xbd, 0x4f, 0xc7, - 0xd7, 0x73, 0x3b, 0x72, 0x8e, 0x5d, 0x8b, 0x3a, 0x32, 0x24, 0xbe, 0x36, 0xbd, 0xb7, 0xe4, 0x26, - 0xa2, 0x34, 0xf1, 0xa7, 0xc7, 0x1c, 0xf3, 0xad, 0xef, 0xd3, 0x04, 0xd9, 0xb7, 0x1e, 0x29, 0xb4, - 0x5f, 0x87, 0x8b, 0xb3, 0x3f, 0x40, 0xbe, 0x06, 0x2b, 0x18, 0xf6, 0xa7, 0x35, 0x3c, 0x1c, 0xb5, - 0x3b, 0x9e, 0x50, 0x85, 0x09, 0x4d, 0xa4, 0x9c, 0xc7, 0x40, 0xa7, 0xb8, 0xaf, 0xf7, 0x21, 0x06, - 0x14, 0xe2, 0x85, 0x22, 0x6e, 0x24, 0x72, 0x6d, 0xda, 0x6f, 0x28, 0x40, 0x92, 0x75, 0x90, 0x2f, - 0xc0, 0x72, 0xcb, 0x29, 0xd9, 0xe3, 0xf6, 0x68, 0xbc, 0x33, 0x98, 0x8c, 0x38, 0xe2, 0x13, 0x73, - 0xfd, 0x1d, 0xef, 0xbb, 0xec, 0x41, 0xe1, 0x68, 0x30, 0x19, 0x59, 0x11, 0x3a, 0x8c, 0x57, 0xe3, - 0x79, 0xdf, 0xe8, 0xb4, 0x1f, 0x45, 0xe3, 0xd5, 0xf0, 0xb4, 0x48, 0xbc, 0x1a, 0x9e, 0xa6, 0x7d, - 0xa0, 0xc0, 0xa6, 0xb0, 0x28, 0xeb, 0xa4, 0xb4, 0xa5, 0x84, 0x00, 0x17, 0x23, 0x01, 0x31, 0x3a, - 0x8b, 0xa5, 0x5d, 0x17, 0x18, 0x30, 0xd8, 0x40, 0xe4, 0x6d, 0x59, 0x59, 0xf2, 0x65, 0xc8, 0xd9, - 0xe3, 0xc1, 0xf0, 0x04, 0x20, 0x30, 0x6a, 0x30, 0xa3, 0xe3, 0xc1, 0x10, 0xab, 0xc0, 0x92, 0x9a, - 0x07, 0xa7, 0xe5, 0xc6, 0x89, 0x16, 0x93, 0x1a, 0x2c, 0x72, 0xb4, 0xaf, 0xd8, 0x73, 0xee, 0x8c, - 0x3e, 0x6d, 0xad, 0x09, 0xa4, 0x19, 0x0e, 0x71, 0x69, 0x89, 0x3a, 0xb4, 0xdf, 0x57, 0xa0, 0x40, - 0xb9, 0x0d, 0x94, 0xe2, 0x9e, 0x76, 0x49, 0x47, 0x19, 0x47, 0x61, 0x7b, 0x10, 0x54, 0x7f, 0xa2, - 0xdb, 0xf8, 0x15, 0x58, 0x8b, 0x15, 0x20, 0x1a, 0x62, 0x0c, 0xf4, 0xba, 0xfb, 0x6d, 0x16, 0xfe, - 0x82, 0xbd, 0xdb, 0x47, 0xd2, 0xb4, 0xdf, 0x56, 0xe0, 0x34, 0x95, 0xf9, 0x4d, 0x54, 0xf7, 0x5a, - 0x93, 0x9e, 0xd8, 0xef, 0x94, 0x83, 0x12, 0xa6, 0x89, 0xcc, 0xff, 0x99, 0x71, 0x50, 0x3c, 0xcd, - 0x0a, 0x72, 0xc9, 0x0e, 0xe4, 0xf9, 0xfd, 0xe2, 0x73, 0x64, 0xca, 0x8b, 0x92, 0x32, 0x21, 0xac, - 0x98, 0x13, 0xd1, 0x9e, 0xe0, 0x11, 0xc6, 0xcb, 0x58, 0x41, 0x69, 0xed, 0xbf, 0x14, 0x38, 0x3b, - 0xa5, 0x0c, 0x79, 0x03, 0xe6, 0xd1, 0x37, 0x8b, 0xcf, 0xde, 0xf9, 0x29, 0x9f, 0x18, 0xef, 0x1f, - 0xed, 0xde, 0x66, 0x17, 0xd1, 0x31, 0xfd, 0x61, 0xb1, 0x52, 0xe4, 0x1d, 0x58, 0xd2, 0x3b, 0x1d, - 0x2e, 0xce, 0x64, 0x22, 0xe2, 0xcc, 0x94, 0x2f, 0xbe, 0x18, 0xd0, 0x33, 0x71, 0x86, 0x79, 0x09, - 0x74, 0x3a, 0x2e, 0xf7, 0x3b, 0x0b, 0xeb, 0x3b, 0xf7, 0xcb, 0xb0, 0x1a, 0x25, 0x7e, 0x22, 0x57, - 0x99, 0x1f, 0x28, 0xa0, 0x46, 0xdb, 0xf0, 0xd9, 0x60, 0xe4, 0xa4, 0x4d, 0xf3, 0x63, 0x16, 0xd5, - 0x1f, 0x66, 0xe0, 0x99, 0xd4, 0x11, 0x26, 0x2f, 0xc0, 0x82, 0x3e, 0x1c, 0x9a, 0x65, 0xbe, 0xaa, - 0x38, 0x87, 0x84, 0x5a, 0xe2, 0x88, 0xb4, 0xc7, 0x88, 0xc8, 0xcb, 0x90, 0xc7, 0x95, 0x49, 0x0b, - 0x64, 0x42, 0x8c, 0x48, 0xa6, 0x44, 0x89, 0x61, 0x44, 0x0a, 0x42, 0x52, 0x81, 0x55, 0x0e, 0x97, - 0x61, 0x79, 0x87, 0xde, 0xb7, 0x02, 0xb0, 0x72, 0xc4, 0x53, 0x17, 0xaa, 0x67, 0x77, 0xc4, 0xf2, - 0x64, 0xc0, 0x88, 0x68, 0x29, 0x52, 0x05, 0x15, 0xeb, 0x94, 0x6b, 0x62, 0x40, 0x95, 0x08, 0x60, - 0xc2, 0x1a, 0x31, 0xa5, 0xae, 0x44, 0xc9, 0x60, 0xba, 0x74, 0xdf, 0xef, 0x1e, 0xf6, 0x8f, 0xbd, - 0xfe, 0xf8, 0xb3, 0x9b, 0xae, 0xf0, 0x1b, 0x27, 0x9a, 0xae, 0x3f, 0xce, 0xb1, 0xcd, 0x1c, 0x2f, - 0x46, 0x39, 0x1a, 0x09, 0x9b, 0x18, 0x39, 0x1a, 0x8c, 0xe6, 0xce, 0x00, 0x21, 0xca, 0xb0, 0xc8, - 0x80, 0x3a, 0xc4, 0xce, 0xb8, 0x90, 0xda, 0x04, 0x46, 0xb3, 0x7b, 0x9b, 0xb1, 0x2f, 0xcc, 0x49, - 0xcc, 0xb7, 0x44, 0x51, 0xb2, 0x0b, 0x85, 0x52, 0xcf, 0x6b, 0xf7, 0x27, 0x43, 0xe7, 0x64, 0xaf, - 0x87, 0x1b, 0xbc, 0x2f, 0xcb, 0xfb, 0xac, 0x18, 0xbe, 0x3a, 0xe2, 0x49, 0x2e, 0x57, 0x44, 0x9c, - 0xc0, 0x6f, 0x84, 0xc5, 0xe0, 0xff, 0xfc, 0x8c, 0xf1, 0x89, 0x27, 0x62, 0xb9, 0xa8, 0x53, 0x14, - 0x77, 0x2c, 0x71, 0x61, 0xb5, 0xda, 0xf6, 0xc7, 0xce, 0xa8, 0xdd, 0xf7, 0x11, 0xe0, 0xef, 0x04, - 0x00, 0x48, 0x9b, 0x22, 0x78, 0x2c, 0xea, 0x18, 0xc7, 0x41, 0x51, 0xa6, 0xc1, 0x8c, 0x56, 0x47, - 0xf9, 0xa5, 0x4a, 0xb7, 0xdf, 0xee, 0x75, 0xdf, 0x17, 0xee, 0x75, 0x8c, 0x5f, 0x3a, 0x10, 0x89, - 0x56, 0x98, 0xaf, 0x7d, 0x35, 0x31, 0x6f, 0xac, 0x95, 0x05, 0x58, 0xe4, 0xce, 0xd7, 0xcc, 0x19, - 0xb9, 0x69, 0xd4, 0xcb, 0x66, 0x7d, 0x5b, 0x55, 0xc8, 0x2a, 0x40, 0xd3, 0x6a, 0x94, 0x0c, 0xdb, - 0xa6, 0xbf, 0x33, 0xf4, 0x37, 0xf7, 0x54, 0xae, 0xb4, 0xaa, 0x6a, 0x56, 0x72, 0x56, 0xce, 0x69, - 0x3f, 0x52, 0xe0, 0x4c, 0xfa, 0x54, 0x12, 0x07, 0xd0, 0x5d, 0x9d, 0xbf, 0x23, 0x7f, 0x61, 0xe6, - 0xbc, 0xa7, 0x26, 0xc7, 0xdd, 0xde, 0xc7, 0xcc, 0x9d, 0x3a, 0x23, 0x1e, 0x8b, 0x98, 0x7f, 0x56, - 0xb7, 0x63, 0x65, 0xba, 0x1d, 0xad, 0x04, 0x1b, 0xd3, 0xea, 0x88, 0x76, 0x75, 0x0d, 0x0a, 0x7a, - 0xb3, 0x59, 0x35, 0x4b, 0xba, 0x63, 0x36, 0xea, 0xaa, 0x42, 0x96, 0x60, 0x7e, 0xdb, 0x6a, 0xb4, - 0x9a, 0x6a, 0x46, 0xfb, 0xbe, 0x02, 0x2b, 0x66, 0x68, 0xcc, 0xf3, 0xb4, 0x9b, 0xef, 0xf5, 0xc8, - 0xe6, 0xdb, 0x08, 0x80, 0x1d, 0x82, 0x0f, 0x9c, 0x68, 0xe7, 0xfd, 0x83, 0x02, 0xeb, 0x89, 0x32, - 0xc4, 0x86, 0x45, 0x7d, 0xcf, 0x6e, 0x98, 0xe5, 0x12, 0x6f, 0xd9, 0xa5, 0xd0, 0x5e, 0x08, 0x63, - 0xf7, 0x24, 0xbe, 0xc2, 0x9c, 0x21, 0x1f, 0xfa, 0xee, 0xa0, 0xdb, 0x91, 0xe2, 0x6e, 0xee, 0xcc, - 0x59, 0xa2, 0x26, 0xbc, 0xc9, 0xde, 0x9f, 0x8c, 0x3c, 0xac, 0x36, 0x13, 0x51, 0x84, 0x06, 0xe9, - 0xc9, 0x8a, 0xd1, 0xe8, 0xbd, 0x4d, 0xf3, 0x93, 0x55, 0x87, 0xf5, 0x6d, 0xad, 0x40, 0x81, 0x4b, - 0x2d, 0x28, 0x10, 0xfc, 0x50, 0x81, 0x8d, 0x69, 0x6d, 0xa5, 0x82, 0x50, 0xd4, 0x33, 0xfa, 0x4c, - 0x80, 0xc5, 0x1f, 0x75, 0x89, 0x16, 0x64, 0xe4, 0x4d, 0x28, 0x98, 0xbe, 0x3f, 0xf1, 0x46, 0xf6, - 0xcb, 0x2d, 0xcb, 0xe4, 0x0b, 0xe4, 0xc2, 0xbf, 0x7f, 0x74, 0xe9, 0x2c, 0x9a, 0xa6, 0x8f, 0x5c, - 0xff, 0x65, 0x77, 0x32, 0xea, 0x46, 0x70, 0xcb, 0xe5, 0x12, 0x94, 0x6f, 0x6d, 0x4f, 0x3a, 0x5d, - 0x4f, 0x70, 0xed, 0xc2, 0x7b, 0x94, 0xa7, 0xc9, 0xb7, 0x88, 0x48, 0xd3, 0xbe, 0xa3, 0xc0, 0xb9, - 0xe9, 0x03, 0x43, 0x6f, 0x26, 0x87, 0x19, 0x0b, 0x0a, 0xff, 0x4d, 0xbc, 0x99, 0x02, 0x8b, 0x42, - 0xb9, 0x4e, 0x41, 0x48, 0x0b, 0x05, 0x71, 0xb0, 0x33, 0x89, 0xe0, 0xb7, 0xd1, 0x42, 0x82, 0x50, - 0xfb, 0x8f, 0x0c, 0x9c, 0xa1, 0x8b, 0xae, 0xe7, 0xf9, 0xbe, 0x3e, 0x19, 0x1f, 0x79, 0xfd, 0x31, - 0x67, 0xc3, 0xc8, 0xab, 0xb0, 0x70, 0xf4, 0x64, 0x2a, 0x47, 0x46, 0x4e, 0x08, 0xe0, 0x41, 0x2e, - 0x0c, 0xed, 0xe9, 0xff, 0xe4, 0x32, 0xc8, 0xe1, 0x86, 0xb3, 0x08, 0x78, 0x98, 0xd9, 0x50, 0xac, - 0xa5, 0x61, 0x10, 0x19, 0xf4, 0x35, 0x98, 0x47, 0x35, 0x03, 0x3f, 0x52, 0x05, 0x2b, 0x9c, 0xde, - 0x3a, 0x54, 0x42, 0x58, 0xac, 0x00, 0x79, 0x09, 0x20, 0xc4, 0x8a, 0xe7, 0x67, 0xa6, 0x10, 0xbf, - 0x03, 0xb8, 0x78, 0x6b, 0xe9, 0xf8, 0xa0, 0xcd, 0x01, 0xd8, 0x8b, 0xb0, 0x2e, 0x86, 0x65, 0x28, - 0x70, 0xd2, 0xf8, 0x6b, 0xd8, 0x1a, 0xcb, 0x30, 0x87, 0x02, 0x2b, 0xed, 0x6a, 0x22, 0x64, 0x2a, - 0xc2, 0xa5, 0xc6, 0xe2, 0xa2, 0x5e, 0x4d, 0xc4, 0x45, 0xcd, 0x33, 0x2a, 0x39, 0xf8, 0xa9, 0xf6, - 0xaf, 0x19, 0x58, 0xda, 0xa3, 0xcc, 0x0a, 0x8a, 0xe0, 0xb3, 0x45, 0xfa, 0x3b, 0x50, 0xa8, 0x0e, - 0xda, 0xfc, 0xd9, 0x81, 0xdb, 0xa7, 0x33, 0x2f, 0xcf, 0xde, 0xa0, 0x2d, 0x5e, 0x30, 0x7c, 0x4b, - 0x26, 0x7a, 0x8c, 0x87, 0xea, 0x3d, 0x58, 0x60, 0xcf, 0x40, 0x5c, 0xbb, 0x24, 0xd8, 0xd5, 0xa0, - 0x45, 0x2f, 0xb2, 0x6c, 0x49, 0x53, 0xce, 0x9e, 0x92, 0x64, 0xde, 0x89, 0xa3, 0x3e, 0x4a, 0x0a, - 0x87, 0xf9, 0x93, 0x29, 0x1c, 0x24, 0x74, 0xab, 0x85, 0x93, 0xa0, 0x5b, 0x9d, 0xbb, 0x0b, 0x05, - 0xa9, 0x3d, 0x4f, 0xc4, 0xbd, 0x7e, 0x3b, 0x03, 0x2b, 0xd8, 0xab, 0xc0, 0x26, 0xe4, 0xe7, 0x53, - 0x7d, 0xf2, 0x7a, 0x44, 0x7d, 0xb2, 0x21, 0xcf, 0x17, 0xeb, 0xd9, 0x0c, 0xbd, 0xc9, 0x3d, 0x58, - 0x4f, 0x10, 0x92, 0x57, 0x60, 0x9e, 0x36, 0x5f, 0x88, 0x9b, 0x6a, 0x7c, 0x05, 0x84, 0x48, 0xa8, - 0xb4, 0xe3, 0xbe, 0xc5, 0xa8, 0xb5, 0xff, 0x56, 0x60, 0x99, 0x07, 0x22, 0xe8, 0x1f, 0x0c, 0x1e, - 0x3b, 0x9c, 0xd7, 0xe3, 0xc3, 0xc9, 0xf0, 0x16, 0xf8, 0x70, 0xfe, 0x6f, 0x0f, 0xe2, 0xdd, 0xc8, - 0x20, 0x9e, 0x0d, 0x70, 0xd1, 0x44, 0x77, 0x66, 0x8c, 0xe1, 0xdf, 0x22, 0x52, 0x68, 0x94, 0x90, - 0x7c, 0x1d, 0x96, 0xea, 0xde, 0xc3, 0x88, 0xd4, 0x76, 0x7d, 0x4a, 0xa5, 0x2f, 0x06, 0x84, 0x6c, - 0x4f, 0xe1, 0x85, 0xd7, 0xf7, 0x1e, 0xba, 0x89, 0x17, 0xa8, 0xb0, 0x4a, 0x2a, 0xb8, 0x45, 0x8b, - 0x3d, 0xc9, 0xd2, 0xe7, 0xce, 0x72, 0x08, 0x21, 0xf2, 0xdd, 0x2c, 0x40, 0xe8, 0x67, 0x44, 0x37, - 0x60, 0xe4, 0xf1, 0x5d, 0x28, 0xbc, 0x31, 0x49, 0x5e, 0xe3, 0xe2, 0x4d, 0xfe, 0x3a, 0x57, 0xcc, - 0x66, 0xa6, 0xe3, 0xd6, 0xa1, 0x8a, 0xb6, 0xc4, 0x1d, 0x5b, 0x3a, 0x5e, 0xaf, 0xcd, 0xce, 0xf6, - 0xec, 0xd6, 0x55, 0x84, 0x29, 0x0d, 0x52, 0xa7, 0x44, 0x94, 0x45, 0xf7, 0x97, 0x32, 0x25, 0x48, - 0xf8, 0xee, 0xe5, 0x9e, 0xcc, 0x77, 0xaf, 0x09, 0x4b, 0xdd, 0xfe, 0x7b, 0x5e, 0x7f, 0x3c, 0x18, - 0x3d, 0x42, 0x6d, 0x74, 0xa8, 0xe6, 0xa2, 0x43, 0x60, 0x8a, 0x3c, 0x36, 0x0f, 0x78, 0x31, 0x06, - 0xf4, 0xf2, 0x34, 0x04, 0x89, 0x81, 0xef, 0xe1, 0xbc, 0xba, 0x70, 0x2f, 0x97, 0x5f, 0x50, 0x17, - 0xef, 0xe5, 0xf2, 0x79, 0x75, 0xe9, 0x5e, 0x2e, 0xbf, 0xa4, 0x82, 0x25, 0xbd, 0xef, 0x04, 0xef, - 0x37, 0xd2, 0x93, 0x4b, 0xf4, 0x39, 0x45, 0xfb, 0x59, 0x06, 0x48, 0xb2, 0x19, 0xe4, 0x75, 0x28, - 0xb0, 0x03, 0xd6, 0x1d, 0xf9, 0xdf, 0xe4, 0xc6, 0xcd, 0x0c, 0x88, 0x45, 0x4a, 0x96, 0x81, 0x58, - 0x58, 0xb2, 0xe5, 0x7f, 0xb3, 0x47, 0xbe, 0x06, 0xa7, 0x70, 0x78, 0x87, 0xde, 0xa8, 0x3b, 0xe8, - 0xb8, 0x88, 0x9a, 0xd9, 0xee, 0xf1, 0xe8, 0x6f, 0x2f, 0x60, 0x98, 0xd2, 0x64, 0xf6, 0x94, 0x69, - 0x40, 0x77, 0xa2, 0x26, 0x52, 0x36, 0x19, 0x21, 0x71, 0x40, 0x95, 0xcb, 0x1f, 0x4c, 0x7a, 0x3d, - 0x3e, 0xb3, 0x45, 0x2a, 0xe8, 0xc6, 0xf3, 0xa6, 0x54, 0xbc, 0x1a, 0x56, 0x5c, 0x99, 0xf4, 0x7a, - 0xe4, 0x55, 0x80, 0x41, 0xdf, 0x3d, 0xee, 0xfa, 0x3e, 0x7b, 0xe3, 0x08, 0x3c, 0x1f, 0xc3, 0x54, - 0x79, 0x32, 0x06, 0xfd, 0x1a, 0x4b, 0x24, 0xbf, 0x04, 0xe8, 0xbf, 0x8d, 0xc0, 0x06, 0xcc, 0xaa, - 0x85, 0xc7, 0x73, 0x10, 0x89, 0x51, 0x47, 0xcb, 0x43, 0xcf, 0xee, 0xbe, 0x2f, 0x0c, 0xcb, 0xdf, - 0x86, 0x75, 0x6e, 0x4f, 0xba, 0xd7, 0x1d, 0x1f, 0x71, 0x0e, 0xfb, 0x69, 0xd8, 0x73, 0x89, 0xc5, - 0xfe, 0xa7, 0x1c, 0x80, 0xbe, 0x67, 0x0b, 0xcc, 0xa0, 0x9b, 0x30, 0x4f, 0xe5, 0x06, 0xa1, 0x7f, - 0x40, 0xed, 0x2d, 0xd6, 0x2b, 0x6b, 0x6f, 0x91, 0x82, 0xee, 0x46, 0x0b, 0x8d, 0xfb, 0x85, 0xee, - 0x01, 0x77, 0x23, 0xb3, 0xf7, 0x8f, 0x60, 0xb6, 0x72, 0x2a, 0x52, 0x05, 0x08, 0x51, 0x7c, 0xb8, - 0x24, 0xbb, 0x1e, 0xc2, 0x61, 0xf0, 0x0c, 0x8e, 0x1b, 0x1f, 0x22, 0x01, 0xc9, 0xcb, 0x27, 0x24, - 0x23, 0xf7, 0x21, 0xe7, 0xb4, 0x03, 0xbf, 0xbe, 0x29, 0xd8, 0x46, 0xcf, 0xf1, 0xe8, 0x7c, 0x21, - 0xbe, 0xd1, 0xea, 0xb8, 0x1d, 0x09, 0x62, 0x8a, 0x95, 0x10, 0x03, 0x16, 0x78, 0xe4, 0xe5, 0x29, - 0x98, 0x78, 0x3c, 0xf0, 0x32, 0x47, 0xc2, 0xc5, 0x44, 0x99, 0xa7, 0xe0, 0x31, 0x96, 0xef, 0x40, - 0xd6, 0xb6, 0x6b, 0xdc, 0xa3, 0x7f, 0x25, 0x94, 0x4a, 0x6c, 0xbb, 0xc6, 0xde, 0x28, 0x7d, 0xff, - 0x58, 0x2a, 0x46, 0x89, 0xc9, 0x17, 0xa1, 0x20, 0xb1, 0xcf, 0x1c, 0x0b, 0x03, 0xc7, 0x40, 0xf2, - 0xad, 0x90, 0x0f, 0x0d, 0x89, 0x9a, 0x54, 0x41, 0xbd, 0x3f, 0x79, 0xd7, 0xd3, 0x87, 0x43, 0x74, - 0xa9, 0x7a, 0xcf, 0x1b, 0x31, 0xb6, 0x2d, 0x1f, 0x82, 0xc8, 0xa2, 0x47, 0x5a, 0x47, 0xe4, 0xca, - 0x3a, 0x98, 0x78, 0x49, 0xd2, 0x84, 0x75, 0xdb, 0x1b, 0x4f, 0x86, 0xcc, 0x4e, 0xa3, 0x32, 0x18, - 0x51, 0x21, 0x84, 0x21, 0x67, 0x20, 0xde, 0xa6, 0x4f, 0x33, 0x85, 0x71, 0xcc, 0xc1, 0x60, 0x14, - 0x13, 0x48, 0x92, 0x85, 0x35, 0x4f, 0x9e, 0x72, 0x7a, 0xab, 0x46, 0x45, 0x1b, 0xbc, 0x55, 0x85, - 0x68, 0x13, 0x0a, 0x34, 0x2f, 0xa5, 0xa0, 0x3b, 0xe1, 0x83, 0x99, 0x84, 0xee, 0x14, 0xc1, 0x74, - 0xfa, 0x20, 0x27, 0x01, 0x0c, 0xf2, 0xb9, 0x78, 0x03, 0xe0, 0xde, 0xa0, 0xdb, 0xaf, 0x79, 0xe3, - 0xa3, 0x41, 0x47, 0x02, 0x99, 0x2a, 0xfc, 0xea, 0xa0, 0xdb, 0x77, 0x8f, 0x31, 0xf9, 0x67, 0x1f, - 0x5d, 0x92, 0x88, 0x2c, 0xe9, 0x7f, 0xf2, 0x39, 0x58, 0xa2, 0xbf, 0x9c, 0xd0, 0xda, 0x84, 0xa9, - 0x2a, 0xb1, 0x34, 0x83, 0xe1, 0x0f, 0x09, 0xc8, 0x5d, 0x0c, 0x3c, 0xd1, 0x1d, 0x8e, 0x25, 0xe6, - 0x55, 0x44, 0x99, 0xe8, 0x0e, 0xc7, 0x71, 0xcc, 0x58, 0x89, 0x98, 0xec, 0x04, 0x4d, 0x17, 0xb1, - 0x62, 0x78, 0x7c, 0x0b, 0xd4, 0xc7, 0xf1, 0xb5, 0xe6, 0x0a, 0xb0, 0x4a, 0x39, 0xaa, 0x67, 0xac, - 0x18, 0x36, 0xc2, 0xde, 0x29, 0xb3, 0x07, 0x14, 0xce, 0xd4, 0xb2, 0x46, 0xf8, 0x47, 0x1d, 0x77, - 0x1f, 0x93, 0x23, 0x8d, 0x08, 0x88, 0xc9, 0x16, 0xac, 0x31, 0x1e, 0x3f, 0x88, 0x39, 0xc7, 0x59, - 0x5c, 0x3c, 0xdb, 0xc2, 0xa0, 0x74, 0xf2, 0xe7, 0x63, 0x05, 0x48, 0x05, 0xe6, 0x51, 0x20, 0xe4, - 0xd6, 0xe2, 0x9b, 0xb2, 0xf4, 0x1c, 0xdf, 0x47, 0x78, 0xae, 0xa0, 0xdc, 0x2c, 0x9f, 0x2b, 0x48, - 0x4a, 0xbe, 0x02, 0x60, 0xf4, 0x47, 0x83, 0x5e, 0x0f, 0xe1, 0x54, 0xf3, 0x28, 0x4a, 0x5d, 0x88, - 0xee, 0x47, 0xac, 0x25, 0x24, 0xe2, 0xd0, 0x5f, 0xf8, 0xdb, 0x8d, 0x81, 0xae, 0x4a, 0x75, 0x69, - 0x26, 0x2c, 0xb0, 0xcd, 0x88, 0xd0, 0xc4, 0x3c, 0xd8, 0x82, 0x04, 0x6c, 0xcb, 0xa0, 0x89, 0x79, - 0x7a, 0x12, 0x9a, 0x58, 0x2a, 0xa0, 0xdd, 0x87, 0xd3, 0x69, 0x1d, 0x8b, 0x88, 0xb0, 0xca, 0x49, - 0x45, 0xd8, 0x3f, 0xcf, 0xc2, 0x32, 0xd6, 0x26, 0x4e, 0x61, 0x1d, 0x56, 0xec, 0xc9, 0xbb, 0x01, - 0x6e, 0x8f, 0x38, 0x8d, 0xb1, 0x7d, 0xbe, 0x9c, 0x21, 0x3f, 0x6d, 0x45, 0x4a, 0x10, 0x03, 0x56, - 0xc5, 0x4d, 0xb0, 0x2d, 0x2c, 0xd0, 0x03, 0x54, 0x60, 0x81, 0x3d, 0x97, 0x8c, 0xb9, 0x19, 0x2b, - 0x14, 0xde, 0x07, 0xd9, 0x27, 0xb9, 0x0f, 0x72, 0x27, 0xba, 0x0f, 0xde, 0x81, 0x65, 0xf1, 0x35, - 0x3c, 0xc9, 0xe7, 0x9f, 0xee, 0x24, 0x8f, 0x54, 0x46, 0xaa, 0xc1, 0x89, 0xbe, 0x30, 0xf3, 0x44, - 0xc7, 0xf7, 0x42, 0xb1, 0xcb, 0x12, 0x61, 0xf4, 0x79, 0x1d, 0x18, 0x94, 0x6e, 0xbb, 0xd4, 0xfc, - 0x04, 0xb7, 0xe4, 0x2b, 0xb0, 0x54, 0x1d, 0x88, 0xa7, 0x22, 0x49, 0x47, 0xdf, 0x13, 0x89, 0x32, - 0xbb, 0x10, 0x50, 0x06, 0xb7, 0x5b, 0xf6, 0xd3, 0xb8, 0xdd, 0xee, 0x02, 0x70, 0xd7, 0x86, 0x30, - 0x98, 0x14, 0x6e, 0x19, 0x81, 0x76, 0x10, 0x7d, 0x2a, 0x90, 0x88, 0xe9, 0xe9, 0xc4, 0xad, 0x50, - 0xf4, 0xfd, 0xfd, 0xc1, 0xa4, 0x3f, 0x8e, 0x44, 0x5f, 0x15, 0xfe, 0x72, 0x6d, 0x9e, 0x27, 0x1f, - 0x0f, 0xb1, 0x62, 0x9f, 0xee, 0x84, 0x90, 0xb7, 0x02, 0x23, 0xba, 0xc5, 0x59, 0x23, 0xa4, 0x25, - 0x46, 0x68, 0xaa, 0xe9, 0x9c, 0xf6, 0x23, 0x45, 0x86, 0x64, 0xff, 0x04, 0x53, 0xfd, 0x1a, 0x40, - 0xf0, 0x56, 0x2f, 0xe6, 0x9a, 0xc9, 0x4b, 0x41, 0xaa, 0x3c, 0xca, 0x21, 0xad, 0xd4, 0x9b, 0xec, - 0xa7, 0xd5, 0x1b, 0x07, 0x0a, 0x8d, 0x6f, 0x8c, 0xdb, 0xa1, 0x71, 0x07, 0xd8, 0x01, 0x27, 0x8b, - 0x27, 0x53, 0x76, 0xeb, 0x1a, 0xde, 0x0d, 0x21, 0x1f, 0x3c, 0x85, 0x05, 0x96, 0x0a, 0x6a, 0x6f, - 0xc1, 0x9a, 0xec, 0xe3, 0xfb, 0xa8, 0xbf, 0x4f, 0xbe, 0xc4, 0x00, 0x22, 0x95, 0x88, 0xc4, 0x22, - 0x11, 0xd1, 0x13, 0xf7, 0x51, 0x7f, 0x9f, 0xf1, 0x3f, 0xed, 0x87, 0x72, 0x5b, 0x51, 0xc6, 0xfb, - 0x89, 0x02, 0x24, 0x49, 0x2e, 0x9f, 0x26, 0xca, 0xff, 0x01, 0x77, 0x19, 0xe3, 0xca, 0x72, 0x4f, - 0xc2, 0x95, 0x15, 0xff, 0x40, 0x81, 0x35, 0x53, 0xaf, 0x71, 0xfc, 0x74, 0xf6, 0xe6, 0x70, 0x19, - 0x2e, 0x98, 0x7a, 0xcd, 0x6d, 0x36, 0xaa, 0x66, 0xe9, 0x81, 0x9b, 0x0a, 0x8b, 0x7a, 0x01, 0x9e, - 0x4d, 0x92, 0x84, 0x6f, 0x13, 0xe7, 0x61, 0x23, 0x99, 0x2d, 0xa0, 0x53, 0xd3, 0x0b, 0x0b, 0x94, - 0xd5, 0x6c, 0xf1, 0x4d, 0x58, 0x13, 0x30, 0xa1, 0x4e, 0xd5, 0x46, 0x20, 0xf2, 0x35, 0x28, 0xec, - 0x1a, 0x96, 0x59, 0x79, 0xe0, 0x56, 0x5a, 0xd5, 0xaa, 0x3a, 0x47, 0x56, 0x60, 0x89, 0x27, 0x94, - 0x74, 0x55, 0x21, 0xcb, 0x90, 0x37, 0xeb, 0xb6, 0x51, 0x6a, 0x59, 0x86, 0x9a, 0x29, 0xbe, 0x09, - 0xab, 0xcd, 0x51, 0xf7, 0xbd, 0xf6, 0xd8, 0xbb, 0xef, 0x3d, 0xc2, 0xa7, 0x85, 0x45, 0xc8, 0x5a, - 0xfa, 0x9e, 0x3a, 0x47, 0x00, 0x16, 0x9a, 0xf7, 0x4b, 0xf6, 0xed, 0xdb, 0xaa, 0x42, 0x0a, 0xb0, - 0xb8, 0x5d, 0x6a, 0xba, 0xf7, 0x6b, 0xb6, 0x9a, 0xa1, 0x3f, 0xf4, 0x3d, 0x1b, 0x7f, 0x64, 0x8b, - 0x9f, 0x87, 0x75, 0xe4, 0x15, 0xaa, 0x5d, 0x7f, 0xec, 0xf5, 0xbd, 0x11, 0xb6, 0x61, 0x19, 0xf2, - 0xb6, 0x47, 0x37, 0xf9, 0xd8, 0x63, 0x0d, 0xa8, 0x4d, 0x7a, 0xe3, 0xee, 0xb0, 0xe7, 0x7d, 0x4b, - 0x55, 0x8a, 0x77, 0x61, 0xcd, 0x1a, 0x4c, 0xc6, 0xdd, 0xfe, 0xa1, 0x3d, 0xa6, 0x14, 0x87, 0x8f, - 0xc8, 0x33, 0xb0, 0xde, 0xaa, 0xeb, 0xb5, 0x2d, 0x73, 0xbb, 0xd5, 0x68, 0xd9, 0x6e, 0x4d, 0x77, - 0x4a, 0x3b, 0xec, 0x61, 0xa3, 0xd6, 0xb0, 0x1d, 0xd7, 0x32, 0x4a, 0x46, 0xdd, 0x51, 0x95, 0xe2, - 0xf7, 0x50, 0xed, 0xb1, 0x3f, 0xe8, 0x77, 0x2a, 0x6d, 0x0c, 0x4c, 0x4f, 0x1b, 0xac, 0xc1, 0x45, - 0xdb, 0x28, 0x35, 0xea, 0x65, 0xb7, 0xa2, 0x97, 0x9c, 0x86, 0x95, 0x86, 0xcb, 0x7b, 0x0e, 0xce, - 0xa4, 0xd0, 0x34, 0x9c, 0xa6, 0xaa, 0x90, 0x4b, 0xb0, 0x99, 0x92, 0xb7, 0x67, 0x6c, 0xe9, 0x2d, - 0x67, 0xa7, 0xae, 0x66, 0xa6, 0x14, 0xb6, 0xed, 0x86, 0x9a, 0x2d, 0xfe, 0x8e, 0x02, 0xab, 0x2d, - 0x9f, 0x5b, 0x15, 0xb7, 0xd0, 0x37, 0xf0, 0x39, 0x38, 0xdf, 0xb2, 0x0d, 0xcb, 0x75, 0x1a, 0xf7, - 0x8d, 0xba, 0xdb, 0xb2, 0xf5, 0xed, 0x78, 0x6b, 0x2e, 0xc1, 0xa6, 0x44, 0x61, 0x19, 0xa5, 0xc6, - 0xae, 0x61, 0xb9, 0x4d, 0xdd, 0xb6, 0xf7, 0x1a, 0x56, 0x59, 0x55, 0xe8, 0x17, 0x53, 0x08, 0x6a, - 0x15, 0x9d, 0xb5, 0x26, 0x92, 0x57, 0x37, 0xf6, 0xf4, 0xaa, 0xbb, 0xd5, 0x70, 0xd4, 0x6c, 0xb1, - 0x46, 0xaf, 0x5e, 0x44, 0xc7, 0x64, 0xb6, 0x70, 0x79, 0xc8, 0xd5, 0x1b, 0x75, 0x23, 0xfe, 0x1c, - 0xb6, 0x0c, 0x79, 0xbd, 0xd9, 0xb4, 0x1a, 0xbb, 0xb8, 0xc4, 0x00, 0x16, 0xca, 0x46, 0x9d, 0xb6, - 0x2c, 0x4b, 0x73, 0x9a, 0x56, 0xa3, 0xd6, 0x70, 0x8c, 0xb2, 0x9a, 0x2b, 0x5a, 0x62, 0x0b, 0x8b, - 0x4a, 0xf7, 0x07, 0xec, 0xed, 0xa9, 0x6c, 0x54, 0xf4, 0x56, 0xd5, 0xe1, 0x53, 0xf4, 0xc0, 0xb5, - 0x8c, 0xb7, 0x5a, 0x86, 0xed, 0xd8, 0xaa, 0x42, 0x54, 0x58, 0xae, 0x1b, 0x46, 0xd9, 0x76, 0x2d, - 0x63, 0xd7, 0x34, 0xf6, 0xd4, 0x0c, 0xad, 0x93, 0xfd, 0x4f, 0xbf, 0x50, 0xfc, 0x40, 0x01, 0xc2, - 0x90, 0x45, 0x45, 0xb8, 0x0a, 0x5c, 0x31, 0x17, 0xe1, 0xdc, 0x0e, 0x9d, 0x6a, 0xec, 0x5a, 0xad, - 0x51, 0x8e, 0x0f, 0xd9, 0x19, 0x20, 0xb1, 0xfc, 0x46, 0xa5, 0xa2, 0x2a, 0x64, 0x13, 0x4e, 0xc5, - 0xd2, 0xcb, 0x56, 0xa3, 0xa9, 0x66, 0xce, 0x65, 0xf2, 0x0a, 0x39, 0x9b, 0xc8, 0xbc, 0x6f, 0x18, - 0x4d, 0x35, 0x4b, 0xa7, 0x28, 0x96, 0x21, 0xb6, 0x04, 0x2b, 0x9e, 0x2b, 0x7e, 0x47, 0x81, 0x33, - 0xac, 0x99, 0x62, 0x7f, 0x05, 0x4d, 0x3d, 0x0f, 0x1b, 0x1c, 0x2f, 0x39, 0xad, 0xa1, 0xa7, 0x41, - 0x8d, 0xe4, 0xb2, 0x66, 0x3e, 0x03, 0xeb, 0x91, 0x54, 0x6c, 0x47, 0x86, 0x9e, 0x1e, 0x91, 0xe4, - 0x2d, 0xc3, 0x76, 0x5c, 0xa3, 0x52, 0x69, 0x58, 0x0e, 0x6b, 0x48, 0xb6, 0xa8, 0xc1, 0x7a, 0xc9, - 0x1b, 0x8d, 0xa9, 0x54, 0xd4, 0xf7, 0xbb, 0x83, 0x3e, 0x36, 0x61, 0x05, 0x96, 0x8c, 0xaf, 0x38, - 0x46, 0xdd, 0x36, 0x1b, 0x75, 0x75, 0xae, 0x78, 0x3e, 0x46, 0x23, 0xf6, 0xb1, 0x6d, 0xef, 0xa8, - 0x73, 0xc5, 0x36, 0xac, 0x08, 0xfb, 0x5d, 0xb6, 0x2a, 0x2e, 0xc2, 0x39, 0xb1, 0xd6, 0xf0, 0x44, - 0x89, 0x77, 0x61, 0x03, 0x4e, 0x27, 0xf3, 0x0d, 0x47, 0x55, 0xe8, 0x2c, 0xc4, 0x72, 0x68, 0x7a, - 0xa6, 0xf8, 0x5b, 0x0a, 0xac, 0x04, 0xef, 0x19, 0xa8, 0x41, 0xbd, 0x04, 0x9b, 0xb5, 0x8a, 0xee, - 0x96, 0x8d, 0x5d, 0xb3, 0x64, 0xb8, 0xf7, 0xcd, 0x7a, 0x39, 0xf6, 0x91, 0x67, 0xe1, 0x99, 0x14, - 0x02, 0xfc, 0xca, 0x06, 0x9c, 0x8e, 0x67, 0x39, 0x74, 0xab, 0x66, 0xe8, 0xd0, 0xc7, 0x73, 0x82, - 0x7d, 0x9a, 0x2d, 0xfe, 0x99, 0x02, 0x1b, 0x3c, 0x1e, 0x38, 0x7f, 0x59, 0x61, 0x81, 0x22, 0x10, - 0x49, 0xb5, 0x08, 0xd7, 0x1d, 0xab, 0x65, 0x3b, 0x46, 0x59, 0x14, 0xa7, 0x8b, 0xd6, 0xb4, 0x8c, - 0x9a, 0x51, 0x77, 0x62, 0x6d, 0xbb, 0x05, 0xcf, 0xcf, 0xa0, 0xad, 0x37, 0x1c, 0xf1, 0x9b, 0xee, - 0xd5, 0xe7, 0xe1, 0xca, 0x0c, 0xe2, 0x80, 0x30, 0x53, 0xdc, 0x85, 0x55, 0x5b, 0xaf, 0x55, 0x2b, - 0x83, 0xd1, 0xbe, 0xa7, 0x4f, 0xc6, 0x47, 0x7d, 0xb2, 0x09, 0x67, 0x2b, 0x0d, 0xab, 0x64, 0xb8, - 0xd8, 0x83, 0x58, 0x23, 0x4e, 0xc1, 0x9a, 0x9c, 0xf9, 0xc0, 0xa0, 0xbb, 0x8b, 0xc0, 0xaa, 0x9c, - 0x58, 0x6f, 0xa8, 0x99, 0xe2, 0x57, 0x61, 0x39, 0x12, 0x54, 0xeb, 0x2c, 0x9c, 0x92, 0x7f, 0x37, - 0xbd, 0x7e, 0xa7, 0xdb, 0x3f, 0x54, 0xe7, 0xe2, 0x19, 0xd6, 0xa4, 0xdf, 0xa7, 0x19, 0x78, 0xdc, - 0xc8, 0x19, 0x8e, 0x37, 0x3a, 0xee, 0xf6, 0xdb, 0x63, 0xaf, 0xa3, 0x66, 0x8a, 0x2f, 0xc2, 0x4a, - 0x04, 0xca, 0x97, 0xae, 0xab, 0x6a, 0x83, 0xdf, 0x0f, 0x35, 0xa3, 0x6c, 0xb6, 0x6a, 0xea, 0x3c, - 0x3d, 0x68, 0x76, 0xcc, 0xed, 0x1d, 0x15, 0x8a, 0xdf, 0x57, 0xa8, 0x84, 0x82, 0xe3, 0x5e, 0xab, - 0xe8, 0x62, 0x25, 0xd2, 0x5d, 0xc0, 0x00, 0xc2, 0x0d, 0xdb, 0x66, 0x8f, 0xd4, 0xe7, 0x61, 0x83, - 0xff, 0x70, 0xf5, 0x7a, 0xd9, 0xdd, 0xd1, 0xad, 0xf2, 0x9e, 0x6e, 0xd1, 0xad, 0xf1, 0x40, 0xcd, - 0xe0, 0x7e, 0x97, 0x52, 0x5c, 0xa7, 0xd1, 0x2a, 0xed, 0xa8, 0x59, 0xba, 0xbd, 0x22, 0xe9, 0x4d, - 0xb3, 0xae, 0xe6, 0xf0, 0xf4, 0x48, 0x50, 0x63, 0xb5, 0x34, 0x7f, 0xbe, 0xf8, 0xb1, 0x02, 0x67, - 0xed, 0xee, 0x61, 0xbf, 0x3d, 0x9e, 0x8c, 0x3c, 0xbd, 0x77, 0x38, 0x18, 0x75, 0xc7, 0x47, 0xc7, - 0xf6, 0xa4, 0x3b, 0xf6, 0xc8, 0x4d, 0xb8, 0x66, 0x9b, 0xdb, 0x75, 0xdd, 0xa1, 0xbb, 0x5f, 0xaf, - 0x6e, 0x37, 0x2c, 0xd3, 0xd9, 0xa9, 0xb9, 0x76, 0xcb, 0x4c, 0x6c, 0x8c, 0xab, 0xf0, 0xdc, 0x74, - 0xd2, 0xaa, 0xb1, 0xad, 0x97, 0x1e, 0xa8, 0xca, 0xec, 0x0a, 0xb7, 0xf4, 0xaa, 0x5e, 0x2f, 0x19, - 0x65, 0x77, 0xf7, 0xb6, 0x9a, 0x21, 0xd7, 0xe0, 0xf2, 0x74, 0xd2, 0x8a, 0xd9, 0xb4, 0x29, 0x59, - 0x76, 0xf6, 0x77, 0x77, 0xec, 0x1a, 0xa5, 0xca, 0x15, 0xff, 0x54, 0x81, 0x8d, 0x69, 0x48, 0x30, - 0xe4, 0x3a, 0x68, 0x46, 0xdd, 0xb1, 0x74, 0xb3, 0xec, 0x96, 0x2c, 0xa3, 0x6c, 0xd4, 0x1d, 0x53, - 0xaf, 0xda, 0xae, 0xdd, 0x68, 0xd1, 0xd5, 0x14, 0xda, 0x12, 0x5c, 0x81, 0x4b, 0x33, 0xe8, 0x1a, - 0x66, 0xb9, 0xa4, 0x2a, 0xe4, 0x36, 0xbc, 0x30, 0x83, 0xc8, 0x7e, 0x60, 0x3b, 0x46, 0x4d, 0xce, - 0x51, 0x33, 0xc5, 0x2e, 0xa8, 0x71, 0x7f, 0xfb, 0x84, 0xbd, 0x86, 0xd5, 0xaa, 0xd7, 0xd9, 0x05, - 0xb5, 0x06, 0x85, 0x86, 0xb3, 0x63, 0x58, 0x1c, 0x44, 0x1f, 0x51, 0xf3, 0x5b, 0x75, 0xba, 0xe6, - 0x1b, 0x96, 0xf9, 0x36, 0xde, 0x54, 0x1b, 0x70, 0xda, 0xae, 0xea, 0xa5, 0xfb, 0xb8, 0x1d, 0xcd, - 0xba, 0x5b, 0xda, 0xd1, 0xeb, 0x75, 0xa3, 0xaa, 0x02, 0x8e, 0xc3, 0x34, 0xc7, 0x3c, 0xf2, 0x39, - 0xb8, 0xd1, 0xb8, 0xef, 0xe8, 0x6e, 0xb3, 0xda, 0xda, 0x36, 0xeb, 0xae, 0xfd, 0xa0, 0x5e, 0x12, - 0x5c, 0x55, 0x29, 0x79, 0x98, 0xdf, 0x80, 0xab, 0x33, 0xa9, 0x43, 0xb8, 0xfb, 0xeb, 0xa0, 0xcd, - 0xa4, 0xe4, 0x1d, 0x29, 0xfe, 0x58, 0x81, 0xcd, 0x19, 0x0f, 0xc7, 0xe4, 0x05, 0xb8, 0xb9, 0x63, - 0xe8, 0xe5, 0xaa, 0x61, 0xdb, 0xb8, 0xc7, 0xe9, 0x08, 0x32, 0xbb, 0x8e, 0xd4, 0xa3, 0xfa, 0x26, - 0x5c, 0x9b, 0x4d, 0x1e, 0x5e, 0xfa, 0x37, 0xe0, 0xea, 0x6c, 0x52, 0xce, 0x04, 0x64, 0xe8, 0x51, - 0x39, 0x9b, 0x32, 0x60, 0x1e, 0xb2, 0xc5, 0xdf, 0x53, 0xe0, 0x4c, 0xba, 0xf6, 0x86, 0xb6, 0xcd, - 0xac, 0xdb, 0x8e, 0x5e, 0xad, 0xba, 0x4d, 0xdd, 0xd2, 0x6b, 0xae, 0x51, 0xb7, 0x1a, 0xd5, 0x6a, - 0xda, 0xa5, 0x79, 0x15, 0x9e, 0x9b, 0x4e, 0x6a, 0x97, 0x2c, 0xb3, 0x49, 0xef, 0x05, 0x0d, 0x2e, - 0x4e, 0xa7, 0x32, 0xcc, 0x92, 0xa1, 0x66, 0xb6, 0xde, 0xf8, 0xf0, 0x5f, 0x2e, 0xce, 0x7d, 0xf8, - 0xf1, 0x45, 0xe5, 0x27, 0x1f, 0x5f, 0x54, 0xfe, 0xf9, 0xe3, 0x8b, 0xca, 0xdb, 0xb7, 0x4e, 0x16, - 0x29, 0x06, 0x25, 0x8a, 0x77, 0x17, 0xd0, 0x90, 0xe9, 0xe5, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, - 0x87, 0xce, 0x78, 0x38, 0xfd, 0xad, 0x01, 0x00, + 0xf6, 0xae, 0x26, 0xc6, 0x91, 0xe3, 0x3a, 0x4f, 0x93, 0x9c, 0x19, 0xce, 0xe3, 0xfc, 0xf4, 0xd4, + 0xae, 0x76, 0x47, 0x33, 0xfb, 0xa3, 0xed, 0xfd, 0xf1, 0x2e, 0xd7, 0x92, 0xbd, 0xab, 0xd8, 0xf2, + 0xca, 0x91, 0xe5, 0x1e, 0xb2, 0x39, 0xd3, 0xbb, 0xfc, 0x53, 0x37, 0x39, 0xe3, 0x95, 0x6c, 0x77, + 0x5a, 0xc3, 0x9e, 0x19, 0xc6, 0x1c, 0x92, 0x66, 0x93, 0x5a, 0xaf, 0x10, 0x20, 0x31, 0x02, 0xd8, + 0x40, 0xfe, 0x9c, 0x38, 0x01, 0x62, 0x04, 0x01, 0x72, 0x88, 0x10, 0xe4, 0x90, 0x7b, 0x80, 0x24, + 0x17, 0xdf, 0x04, 0x18, 0x06, 0x0c, 0x24, 0xa7, 0x04, 0x10, 0x12, 0x01, 0xc9, 0x21, 0xc9, 0x2d, + 0x88, 0x0f, 0x3e, 0x05, 0xf5, 0xaa, 0xaa, 0xbb, 0xfa, 0x87, 0xdc, 0x59, 0xad, 0x94, 0xc4, 0x80, + 0x4f, 0x64, 0x57, 0xbd, 0xaa, 0xae, 0xae, 0xdf, 0xf7, 0x5e, 0xbd, 0xf7, 0xbd, 0xb4, 0x69, 0x7d, + 0xfa, 0x35, 0x55, 0x07, 0x22, 0x6f, 0x56, 0x4c, 0x77, 0xc9, 0xcd, 0xa2, 0x04, 0xb7, 0xcd, 0x1b, + 0x22, 0x6d, 0x0d, 0x36, 0x0b, 0x89, 0xb9, 0x7e, 0x10, 0x4f, 0x22, 0x5b, 0xb0, 0x14, 0x44, 0x9d, + 0xe6, 0x07, 0x47, 0x9e, 0x25, 0x98, 0x1d, 0xfe, 0x85, 0xdf, 0x56, 0xe0, 0x85, 0x27, 0xf5, 0x10, + 0xd9, 0x87, 0x73, 0x68, 0x7a, 0xe1, 0x0f, 0x82, 0x4e, 0x76, 0x0e, 0xdc, 0x83, 0x63, 0x8f, 0xcf, + 0x49, 0x2d, 0xb5, 0xab, 0x87, 0x43, 0xdb, 0x6e, 0x48, 0xbd, 0x3c, 0x1c, 0xda, 0xfe, 0x40, 0x3c, + 0x97, 0x68, 0x71, 0xde, 0x86, 0x0e, 0x6c, 0xcd, 0x28, 0x29, 0x6d, 0x0b, 0x8a, 0xbc, 0x2d, 0xdc, + 0x04, 0xf5, 0xd0, 0xeb, 0x50, 0x8e, 0xd7, 0xeb, 0x60, 0xd3, 0xde, 0xb9, 0xcb, 0xa2, 0xa8, 0x5b, + 0xab, 0x41, 0xba, 0xed, 0x0f, 0xf6, 0xee, 0xf2, 0xb7, 0x9c, 0x88, 0x03, 0x4d, 0x66, 0xfd, 0xc9, + 0x4b, 0x70, 0x26, 0x06, 0x0a, 0x12, 0x7a, 0x99, 0x5b, 0xeb, 0x34, 0x2b, 0x0a, 0x21, 0x75, 0x05, + 0x96, 0xc5, 0x98, 0x8f, 0x02, 0x5f, 0x35, 0xab, 0xc0, 0xd3, 0xe8, 0x9a, 0xe2, 0xaf, 0x9b, 0x88, + 0x8f, 0x4a, 0x95, 0x1a, 0x4e, 0xc1, 0x29, 0x93, 0x17, 0x81, 0x04, 0x5c, 0x79, 0xb0, 0x0d, 0xf0, + 0x17, 0xae, 0x8b, 0x9c, 0x60, 0xfd, 0xf2, 0xd7, 0xfe, 0x5d, 0x06, 0xce, 0xa4, 0x88, 0x1b, 0x94, + 0xc5, 0xef, 0xf6, 0xc7, 0xde, 0x11, 0x13, 0x10, 0xe4, 0x8f, 0x5c, 0x93, 0xd2, 0xb9, 0x0e, 0x69, + 0x81, 0x45, 0x09, 0xe7, 0xef, 0xe2, 0x4f, 0x74, 0x6b, 0x70, 0x47, 0x42, 0x3d, 0x42, 0xff, 0x12, + 0x13, 0xd6, 0x31, 0xf4, 0x81, 0xdf, 0x1d, 0x60, 0x04, 0x05, 0x64, 0x31, 0x72, 0x11, 0x21, 0x0d, + 0x5b, 0xd1, 0x94, 0x88, 0x28, 0x8f, 0x61, 0xa9, 0xc3, 0x58, 0x0a, 0xf9, 0x22, 0x6c, 0x4a, 0x27, + 0x89, 0x13, 0x5b, 0x57, 0x68, 0x8d, 0x6e, 0x9d, 0x77, 0x83, 0x33, 0xa5, 0x1c, 0x59, 0x61, 0xdb, + 0x70, 0x09, 0x07, 0xb1, 0xdb, 0x19, 0x3a, 0x89, 0x58, 0x19, 0xf8, 0xa9, 0x0c, 0x5c, 0x7e, 0x93, + 0x52, 0x99, 0x9d, 0x61, 0x2c, 0x6c, 0x06, 0xfd, 0x6a, 0xde, 0x7d, 0x6f, 0xc1, 0x73, 0xa9, 0x2d, + 0xa6, 0xc7, 0x07, 0x1a, 0x3b, 0x85, 0x9c, 0xcf, 0x22, 0x7d, 0xa6, 0xac, 0xcf, 0x15, 0x58, 0x7e, + 0xdb, 0x73, 0x47, 0xde, 0x88, 0x9f, 0xcb, 0x7c, 0x4a, 0xb0, 0x34, 0xf9, 0x58, 0xee, 0x44, 0x87, + 0x86, 0xeb, 0x75, 0x48, 0x0d, 0xce, 0xb0, 0xf3, 0xad, 0x7b, 0x82, 0xac, 0x1e, 0xd7, 0x05, 0x29, + 0x11, 0x66, 0x07, 0x8b, 0xe0, 0xc1, 0x63, 0x22, 0x15, 0x2b, 0x6d, 0xad, 0x1f, 0xc5, 0x93, 0xe8, + 0x8a, 0x3e, 0x97, 0x4e, 0x4d, 0xb6, 0xa1, 0xc0, 0x2a, 0x67, 0x4c, 0x3f, 0x53, 0xe2, 0x5f, 0x99, + 0xf9, 0x86, 0x12, 0xda, 0x00, 0xfb, 0xc1, 0x7f, 0x7a, 0x1a, 0xe3, 0x7d, 0xa9, 0x73, 0x22, 0xdf, + 0x51, 0x58, 0xcb, 0x98, 0xc8, 0xef, 0x26, 0xb4, 0xbf, 0x57, 0xc4, 0xa7, 0x46, 0x04, 0x58, 0x3a, + 0xb5, 0x7c, 0xaf, 0x2f, 0xee, 0x69, 0x96, 0x2c, 0xfe, 0xf4, 0x94, 0x53, 0x9d, 0xbc, 0x02, 0xcb, + 0xb4, 0xda, 0xa3, 0x49, 0x9f, 0x4d, 0xb9, 0x6c, 0x04, 0x0c, 0xa7, 0xc6, 0xb2, 0xe8, 0xb0, 0xed, + 0xce, 0x59, 0x85, 0x93, 0xf0, 0x91, 0xf2, 0xc2, 0xfe, 0xc9, 0x78, 0x28, 0x4f, 0x54, 0xa1, 0xcc, + 0xb3, 0x6b, 0xad, 0x26, 0x2f, 0x92, 0xa7, 0x34, 0x21, 0x2f, 0xbc, 0xbd, 0xc0, 0xd4, 0x79, 0xda, + 0x6d, 0x28, 0x48, 0x75, 0xd3, 0x8f, 0x61, 0xde, 0x2d, 0xe2, 0x63, 0xd8, 0x13, 0x1f, 0xec, 0xb7, + 0x21, 0x2f, 0xaa, 0xa4, 0x4c, 0xff, 0xf1, 0xc0, 0x17, 0x8b, 0x1c, 0xff, 0xd3, 0x34, 0xda, 0xcb, + 0xf8, 0x91, 0xf3, 0x16, 0xfe, 0xc7, 0x93, 0x62, 0xec, 0x52, 0x6e, 0xbf, 0xe7, 0x3b, 0x43, 0xb4, + 0x92, 0x0a, 0x58, 0x63, 0x9a, 0xde, 0xea, 0xf9, 0xcc, 0x76, 0x8a, 0xbf, 0xe3, 0x2f, 0x32, 0x42, + 0x8a, 0xde, 0x1e, 0x0c, 0xc6, 0xfe, 0x78, 0xe4, 0x0e, 0x23, 0x3a, 0x3f, 0x72, 0x02, 0xcf, 0x23, + 0x93, 0x79, 0x17, 0x63, 0x35, 0x0c, 0x46, 0x02, 0x9c, 0x22, 0x18, 0xfe, 0xc2, 0xdd, 0xcf, 0x44, + 0xd9, 0x60, 0x9d, 0x52, 0xeb, 0x32, 0x31, 0x1d, 0x75, 0xa9, 0xd6, 0xdd, 0x39, 0xeb, 0x3c, 0xab, + 0x33, 0x41, 0x45, 0x76, 0x53, 0x56, 0x42, 0x5c, 0xe9, 0xb7, 0x1d, 0x2e, 0x8b, 0x68, 0xad, 0xf2, + 0x82, 0x21, 0x5f, 0x82, 0xa5, 0x6e, 0x47, 0x0e, 0x49, 0x18, 0x57, 0x37, 0x99, 0x1d, 0x06, 0x8b, + 0x1c, 0xd6, 0x41, 0x07, 0xae, 0xcb, 0x53, 0xb7, 0x57, 0x22, 0xda, 0x51, 0x6d, 0x5b, 0x08, 0x6c, + 0xc9, 0x62, 0x64, 0x15, 0x32, 0xc1, 0xd1, 0x92, 0xe9, 0x76, 0xd8, 0x1c, 0x0d, 0x81, 0x99, 0x2d, + 0xfe, 0xa4, 0xfd, 0x1a, 0xdc, 0x3c, 0x6d, 0x1f, 0xd1, 0xf9, 0x3c, 0xa5, 0xc3, 0x97, 0xac, 0x75, + 0x37, 0xd1, 0x6f, 0x57, 0x40, 0xc6, 0x95, 0xed, 0x8a, 0x1d, 0x44, 0xa4, 0xb5, 0x47, 0x5d, 0xed, + 0xaf, 0xb3, 0xb0, 0x1a, 0xd5, 0x07, 0x93, 0xdb, 0x90, 0x93, 0x96, 0xf1, 0xf9, 0x14, 0xa5, 0x31, + 0x2e, 0x5e, 0x24, 0x3a, 0xd5, 0xb2, 0x25, 0xf7, 0x61, 0x15, 0x2d, 0xd4, 0x90, 0x3b, 0x1b, 0x77, + 0xf9, 0x2d, 0xc3, 0xec, 0x8b, 0xa2, 0xfc, 0xfb, 0x1f, 0x5c, 0x9e, 0xc3, 0x3b, 0xa1, 0x65, 0x5a, + 0x96, 0x32, 0x48, 0x34, 0x53, 0x52, 0xf7, 0xe5, 0xa6, 0xab, 0xfb, 0xf8, 0xa7, 0x4c, 0x51, 0xf7, + 0xcd, 0xcf, 0x50, 0xf7, 0x85, 0x25, 0x65, 0x75, 0x1f, 0x2a, 0x7d, 0x17, 0xa7, 0x29, 0x7d, 0xc3, + 0x32, 0x4c, 0xe9, 0x1b, 0xaa, 0xeb, 0xf2, 0x53, 0xd5, 0x75, 0x61, 0x19, 0xae, 0xae, 0xbb, 0xc6, + 0xfb, 0x68, 0xe4, 0x3e, 0x72, 0xb0, 0xf3, 0xf8, 0xd9, 0x82, 0x5f, 0x6f, 0xb9, 0x8f, 0xd0, 0x8a, + 0x64, 0x7b, 0x09, 0x84, 0xe9, 0x89, 0xf6, 0x87, 0x4a, 0x4c, 0x59, 0x26, 0xc6, 0xef, 0x3a, 0xac, + 0xb2, 0x1d, 0xdf, 0xeb, 0x48, 0xe2, 0xd8, 0x8a, 0xb5, 0x22, 0x52, 0x99, 0x48, 0xf6, 0x29, 0x58, + 0x0b, 0xc8, 0xb8, 0x54, 0x82, 0x2e, 0x69, 0x56, 0x50, 0x9a, 0xe3, 0xab, 0xdc, 0x86, 0xf5, 0x80, + 0x90, 0x2b, 0x3c, 0x98, 0x44, 0xb6, 0x62, 0xa9, 0x22, 0xa3, 0xc9, 0xd3, 0xb5, 0xa3, 0x38, 0x73, + 0xfe, 0x09, 0xb5, 0x4a, 0xfb, 0x61, 0x36, 0xa2, 0x48, 0x10, 0xaf, 0xa1, 0x47, 0x91, 0x3f, 0x70, + 0x78, 0x27, 0xf1, 0xbd, 0xe8, 0xca, 0x94, 0x31, 0xe3, 0xc6, 0x3b, 0xb6, 0xdd, 0xb0, 0xc0, 0xf7, + 0x07, 0xc2, 0x96, 0xc7, 0x61, 0x6c, 0x29, 0x3b, 0x3c, 0x71, 0xce, 0x8a, 0xea, 0xd8, 0xc6, 0x53, + 0x9c, 0x5d, 0x9d, 0x90, 0xe4, 0xe8, 0x94, 0x45, 0xf6, 0x34, 0x78, 0x12, 0x2f, 0x68, 0x03, 0xea, + 0xdd, 0xfc, 0x68, 0xe5, 0xd9, 0x14, 0xf1, 0x22, 0x51, 0x39, 0xf6, 0x12, 0xd6, 0xac, 0x4e, 0xc4, + 0x5f, 0x51, 0xad, 0x01, 0xcb, 0x28, 0xc6, 0x8b, 0x0a, 0x73, 0x29, 0xba, 0xe6, 0xe4, 0xc7, 0x97, + 0xcc, 0x9a, 0x55, 0xa0, 0xe5, 0x44, 0x35, 0xc7, 0xf0, 0xbc, 0x2c, 0x7c, 0x47, 0x1b, 0x39, 0x2f, + 0xe0, 0x62, 0x67, 0xf6, 0x40, 0x28, 0xa3, 0x63, 0x53, 0xcf, 0xb9, 0xd1, 0x04, 0x4e, 0xa6, 0x1d, + 0xc3, 0xe6, 0xf4, 0x21, 0x99, 0x11, 0x8a, 0x28, 0xe4, 0xdc, 0x33, 0x32, 0xe7, 0x2e, 0x8b, 0xe2, + 0xd9, 0x88, 0x28, 0xae, 0xfd, 0x79, 0x16, 0xae, 0x9e, 0x62, 0xb8, 0x66, 0xbc, 0xf3, 0xcb, 0x51, + 0x1e, 0x27, 0x13, 0x11, 0x9e, 0x68, 0xa5, 0x7c, 0x83, 0xa4, 0x82, 0x5c, 0x3a, 0x87, 0xf3, 0x2b, + 0xb0, 0xc6, 0x76, 0x41, 0x66, 0x7f, 0x77, 0x38, 0xe9, 0x9d, 0x62, 0x1b, 0xdc, 0x12, 0xce, 0x42, + 0xb1, 0xa2, 0xb8, 0x33, 0xe2, 0x8e, 0x61, 0x07, 0x69, 0xa4, 0x05, 0x05, 0x24, 0x3b, 0x74, 0xbb, + 0xbd, 0x53, 0x79, 0xad, 0x08, 0x57, 0x24, 0xb9, 0x18, 0x33, 0x1b, 0xa6, 0x09, 0x15, 0x7c, 0x26, + 0x37, 0x60, 0xad, 0x3f, 0x39, 0x71, 0xdc, 0xe1, 0x90, 0xcd, 0x05, 0x6e, 0xe6, 0x30, 0x6f, 0xad, + 0xf4, 0x27, 0x27, 0xfa, 0x70, 0x88, 0x43, 0x8a, 0xf6, 0x10, 0xeb, 0x94, 0x8e, 0xad, 0x5a, 0x41, + 0xb9, 0x80, 0x94, 0xb4, 0x02, 0xb6, 0x6e, 0x39, 0xed, 0x59, 0x60, 0xd6, 0x71, 0x3c, 0x14, 0x13, + 0x7b, 0xd0, 0x7e, 0x9a, 0x11, 0x42, 0xe3, 0xf4, 0x79, 0xff, 0x8b, 0x21, 0x4a, 0x19, 0xa2, 0x9b, + 0xa0, 0xd2, 0xae, 0x0f, 0x37, 0x95, 0x60, 0x8c, 0x56, 0xfb, 0x93, 0x93, 0xa0, 0xef, 0xe4, 0x8e, + 0x5f, 0x90, 0x3b, 0xfe, 0x15, 0x21, 0x54, 0xa6, 0x6e, 0x0f, 0xd3, 0xbb, 0x5c, 0xfb, 0xcf, 0x2c, + 0xdc, 0x38, 0xdd, 0x26, 0xf0, 0x8b, 0x71, 0x4b, 0x19, 0xb7, 0x98, 0x76, 0x71, 0x3e, 0xa1, 0x5d, + 0x4c, 0x59, 0x7b, 0x0b, 0x69, 0x6b, 0x2f, 0xa1, 0xcb, 0x5c, 0x4c, 0xd1, 0x65, 0xa6, 0x2e, 0xd0, + 0xfc, 0x13, 0x16, 0xe8, 0x92, 0x3c, 0x4f, 0xfe, 0x2d, 0xd0, 0x02, 0x44, 0xe5, 0x81, 0xb7, 0xe0, + 0x8c, 0x90, 0x07, 0xd8, 0xc9, 0x11, 0xaa, 0xa8, 0x0b, 0x77, 0x6f, 0xa5, 0x49, 0x02, 0x48, 0x96, + 0xc2, 0xad, 0xaf, 0x73, 0x19, 0x20, 0xcc, 0xff, 0xff, 0xc3, 0xfd, 0x93, 0x87, 0x70, 0x0e, 0x81, + 0xcc, 0x0f, 0x64, 0xe5, 0xba, 0x33, 0xf2, 0x0e, 0xf9, 0x7c, 0xb8, 0x92, 0xe0, 0x95, 0xbb, 0x07, + 0x52, 0x73, 0x2c, 0xef, 0x70, 0x77, 0xce, 0x3a, 0xeb, 0xa7, 0xa4, 0xc7, 0x05, 0x8b, 0xbf, 0x52, + 0x40, 0x7b, 0x72, 0x7f, 0xa1, 0xb6, 0x27, 0xde, 0xe1, 0x4b, 0x56, 0xc1, 0x95, 0x7a, 0xef, 0x2a, + 0xac, 0x8c, 0xbc, 0xc3, 0x91, 0xe7, 0x1f, 0x47, 0xd4, 0x08, 0xcb, 0x3c, 0x51, 0x74, 0x8c, 0x80, + 0x53, 0x7c, 0x2a, 0xce, 0x5c, 0x14, 0xd2, 0x2a, 0x81, 0xbc, 0x98, 0x3a, 0x0e, 0x74, 0x36, 0xc9, + 0x0d, 0x64, 0x0f, 0xf7, 0x73, 0xf9, 0x8c, 0x9a, 0xb5, 0x38, 0xe8, 0xe3, 0x61, 0xb7, 0xe7, 0x69, + 0x7f, 0xa3, 0x08, 0x8e, 0x20, 0xad, 0xf3, 0xc8, 0x5b, 0x92, 0xd5, 0x6a, 0x36, 0xc1, 0x86, 0xa4, + 0x15, 0x91, 0x0d, 0xfc, 0x38, 0x0e, 0x21, 0x26, 0x44, 0x70, 0x08, 0x31, 0xe5, 0x19, 0x4c, 0xef, + 0xb8, 0xd4, 0x7c, 0x4f, 0x98, 0xbe, 0xd0, 0x3d, 0x6f, 0xef, 0x0e, 0xb9, 0x05, 0x8b, 0xcc, 0xda, + 0x45, 0x34, 0x77, 0x2d, 0xd2, 0xdc, 0xbd, 0x3b, 0x96, 0xc8, 0xd7, 0x7e, 0x10, 0xe8, 0x83, 0x13, + 0x1f, 0xb1, 0x77, 0x87, 0xbc, 0x72, 0x3a, 0x2b, 0xd4, 0xbc, 0xb0, 0x42, 0x0d, 0x2c, 0x50, 0xbf, + 0x10, 0xb1, 0x40, 0xbd, 0x36, 0xbb, 0xb7, 0xf8, 0x85, 0x1d, 0xc3, 0xdd, 0x0b, 0xf1, 0x98, 0x7e, + 0xaa, 0xc0, 0xc5, 0x99, 0x25, 0xc8, 0x05, 0xc8, 0xeb, 0x4d, 0xb3, 0x15, 0x8e, 0x2f, 0x5d, 0x33, + 0x22, 0x85, 0xec, 0xc0, 0xd2, 0xb6, 0xeb, 0x77, 0x0f, 0xe8, 0x34, 0x4e, 0xd5, 0xa0, 0x27, 0xaa, + 0x0d, 0xc8, 0x77, 0xe7, 0xac, 0xb0, 0x2c, 0x71, 0x60, 0x1d, 0xd7, 0x42, 0x24, 0xc6, 0x51, 0x36, + 0x45, 0xd7, 0x90, 0xa8, 0x30, 0x51, 0x8c, 0xee, 0x33, 0x89, 0xc4, 0xf8, 0x12, 0x7c, 0x47, 0xf0, + 0x22, 0xd3, 0x1b, 0xf8, 0x14, 0x00, 0xa2, 0x37, 0x21, 0xdf, 0x14, 0x57, 0xe9, 0x92, 0xd9, 0xb6, + 0xb8, 0x36, 0xb7, 0x82, 0x5c, 0xed, 0x77, 0x14, 0xa1, 0x10, 0x78, 0xf2, 0x87, 0x48, 0xe1, 0xa1, + 0x3a, 0xb3, 0xc3, 0x43, 0x75, 0x3e, 0x62, 0x78, 0x28, 0xed, 0x2f, 0x39, 0xbc, 0xb7, 0xd9, 0x69, + 0xc6, 0xd4, 0x9b, 0xcf, 0x6a, 0x7e, 0x6f, 0x44, 0x66, 0xe7, 0x55, 0x29, 0xbc, 0x60, 0xf2, 0x5d, + 0xd3, 0xad, 0xf0, 0xa5, 0xa9, 0xfa, 0xc7, 0x59, 0xb8, 0x30, 0xab, 0x78, 0x6a, 0x00, 0x63, 0xe5, + 0xe9, 0x02, 0x18, 0xdf, 0x82, 0x3c, 0x4b, 0x0b, 0x6c, 0xcb, 0xb1, 0xc3, 0x79, 0x51, 0xda, 0xe1, + 0x22, 0x9b, 0x5c, 0x85, 0x05, 0xbd, 0x64, 0x87, 0x31, 0xb5, 0xd0, 0x08, 0xd4, 0x3d, 0xf0, 0xd1, + 0xbc, 0x90, 0x67, 0x91, 0xaf, 0x27, 0xc3, 0xc8, 0xf1, 0x60, 0x5a, 0x5b, 0x52, 0x87, 0x24, 0x90, + 0xf7, 0xb1, 0xbd, 0x21, 0x52, 0x3c, 0x07, 0x5f, 0xb6, 0x92, 0x21, 0xe9, 0x34, 0x58, 0x68, 0x8e, + 0x3c, 0xdf, 0x1b, 0xcb, 0x06, 0x9a, 0x43, 0x4c, 0xb1, 0x78, 0x0e, 0x37, 0x9f, 0x74, 0x1f, 0x33, + 0x6f, 0xf9, 0x05, 0x19, 0xc1, 0x04, 0xed, 0x2d, 0x69, 0xb2, 0x25, 0x91, 0xd0, 0x02, 0x55, 0x77, + 0xd2, 0x3f, 0x38, 0x6e, 0x5b, 0x55, 0xce, 0x6a, 0xb0, 0x02, 0x3d, 0x4c, 0xa5, 0x1f, 0xe8, 0x5b, + 0x12, 0x89, 0xf6, 0x5d, 0x05, 0xce, 0xa6, 0x7d, 0x07, 0xb9, 0x00, 0xb9, 0x7e, 0x6a, 0xc4, 0xbc, + 0x3e, 0x73, 0xf2, 0x2d, 0xd0, 0x5f, 0xe7, 0x70, 0x30, 0x3a, 0x71, 0xc7, 0xb2, 0x19, 0xab, 0x94, + 0x6c, 0x01, 0x7d, 0xa8, 0xe0, 0x7f, 0x72, 0x59, 0xec, 0xd1, 0xd9, 0x44, 0x8c, 0x3d, 0xfc, 0xd1, + 0x74, 0x00, 0xb3, 0xd3, 0x6c, 0x0c, 0x19, 0xf2, 0xfb, 0xcb, 0x90, 0xa3, 0xcd, 0x8a, 0xcd, 0x5e, + 0x3a, 0x7f, 0xf4, 0x5a, 0x95, 0x13, 0xb1, 0x56, 0xf9, 0xee, 0x49, 0xcf, 0x42, 0x62, 0x6d, 0x1f, + 0x56, 0xa3, 0x14, 0xc4, 0x88, 0x62, 0x85, 0x16, 0xee, 0xaa, 0xbc, 0xa6, 0xed, 0xc1, 0x80, 0xb9, + 0x52, 0x6c, 0x3f, 0xff, 0x8f, 0x1f, 0x5c, 0x06, 0xfa, 0xc8, 0xca, 0xa4, 0x61, 0x89, 0x6a, 0xdf, + 0xcb, 0xc0, 0xd9, 0xd0, 0x7b, 0x5b, 0xac, 0xa1, 0x9f, 0x5b, 0x57, 0x42, 0x3d, 0xe2, 0xea, 0x26, + 0x18, 0xad, 0xe4, 0x07, 0xce, 0xf0, 0xb0, 0xd9, 0x81, 0x8d, 0x69, 0xf4, 0xe4, 0x36, 0x2c, 0x21, + 0xe0, 0xcf, 0xd0, 0x3d, 0xf0, 0xe4, 0xbd, 0xaf, 0x2f, 0x12, 0xad, 0x30, 0x5f, 0xfb, 0xb1, 0x02, + 0x9b, 0xdc, 0x01, 0xa0, 0xe6, 0x76, 0xfb, 0x78, 0x59, 0x79, 0xe0, 0x7d, 0x3c, 0xae, 0xb0, 0x3b, + 0x91, 0x7d, 0xec, 0x7a, 0xd4, 0xcf, 0x23, 0xf1, 0xb6, 0xe9, 0x5f, 0x4b, 0x6e, 0x21, 0x88, 0x15, + 0xbf, 0x99, 0xcd, 0x31, 0xe8, 0x81, 0x3e, 0x4d, 0x90, 0xa1, 0x07, 0x90, 0x42, 0xfb, 0x75, 0xb8, + 0x34, 0xfb, 0x05, 0xe4, 0x6b, 0xb0, 0x82, 0x51, 0x91, 0xda, 0xc3, 0xa3, 0x91, 0xdb, 0xf1, 0x84, + 0x2a, 0x4c, 0xa8, 0x2f, 0xe5, 0x3c, 0x86, 0xc9, 0xc5, 0x5d, 0xe1, 0x8f, 0x30, 0xde, 0x12, 0x2f, + 0x14, 0xf1, 0xb2, 0x91, 0x6b, 0xd3, 0x7e, 0x43, 0x01, 0x92, 0xac, 0x83, 0x7c, 0x1e, 0x96, 0xdb, + 0xad, 0x92, 0x3d, 0x76, 0x47, 0xe3, 0xdd, 0xc1, 0x64, 0xc4, 0x01, 0xb1, 0x98, 0x67, 0xf4, 0xf8, + 0xc0, 0x61, 0xb7, 0x10, 0xc7, 0x83, 0xc9, 0xc8, 0x8a, 0xd0, 0x61, 0x38, 0x1f, 0xcf, 0xfb, 0x46, + 0xc7, 0x7d, 0x1c, 0x0d, 0xe7, 0xc3, 0xd3, 0x22, 0xe1, 0x7c, 0x78, 0x9a, 0xf6, 0x9e, 0x02, 0x5b, + 0xc2, 0xe0, 0xae, 0x93, 0xd2, 0x96, 0x12, 0xe2, 0x7f, 0x8c, 0x04, 0x02, 0xeb, 0x2c, 0x96, 0x76, + 0x5d, 0x40, 0xe4, 0x60, 0x03, 0x91, 0xb7, 0x65, 0x65, 0xc9, 0x97, 0x21, 0x67, 0x8f, 0x07, 0xc3, + 0x53, 0x60, 0xe4, 0xa8, 0xc1, 0x88, 0x8e, 0x07, 0x43, 0xac, 0x02, 0x4b, 0x6a, 0x1e, 0x9c, 0x95, + 0x1b, 0x27, 0x5a, 0x4c, 0x6a, 0xb0, 0xc8, 0xc1, 0xd0, 0x62, 0xb7, 0xdd, 0x33, 0xbe, 0x69, 0x7b, + 0x4d, 0x00, 0xf1, 0x70, 0x04, 0x50, 0x4b, 0xd4, 0xa1, 0xfd, 0x9e, 0x02, 0x05, 0xca, 0x6d, 0xa0, + 0x14, 0xf7, 0xac, 0x53, 0x3a, 0xca, 0x38, 0x0a, 0xd3, 0x8c, 0xa0, 0xfa, 0x53, 0x9d, 0xc6, 0x9f, + 0x83, 0xb5, 0x58, 0x01, 0xa2, 0x21, 0x04, 0x43, 0xaf, 0x7b, 0xe0, 0xb2, 0xe8, 0x20, 0xcc, 0xac, + 0x21, 0x92, 0xa6, 0xfd, 0x96, 0x02, 0x67, 0xa9, 0xcc, 0xcf, 0x2e, 0x0b, 0xad, 0x49, 0x4f, 0xac, + 0x77, 0xca, 0x41, 0x09, 0xcb, 0x4d, 0xe6, 0x1e, 0xce, 0x38, 0x28, 0x9e, 0x66, 0x05, 0xb9, 0x64, + 0x17, 0xf2, 0xfc, 0x7c, 0xf1, 0x39, 0x70, 0xe7, 0x25, 0x49, 0x99, 0x10, 0x56, 0xcc, 0x89, 0xe8, + 0x97, 0xe0, 0x16, 0xc6, 0xcb, 0x58, 0x41, 0x69, 0xed, 0xbf, 0x14, 0x38, 0x3f, 0xa5, 0x0c, 0x79, + 0x0d, 0xe6, 0xd1, 0x75, 0x8d, 0x8f, 0xde, 0x85, 0x29, 0xaf, 0x18, 0x1f, 0x1c, 0xef, 0xdd, 0x61, + 0x07, 0xd1, 0x09, 0x7d, 0xb0, 0x58, 0x29, 0xf2, 0x16, 0x2c, 0xe9, 0x9d, 0x0e, 0x17, 0x67, 0x32, + 0x11, 0x71, 0x66, 0xca, 0x1b, 0x5f, 0x0a, 0xe8, 0x99, 0x38, 0xc3, 0x9c, 0x28, 0x3a, 0x1d, 0x87, + 0xbb, 0xe5, 0x85, 0xf5, 0x6d, 0xfe, 0x32, 0xac, 0x46, 0x89, 0x9f, 0xca, 0x93, 0xe8, 0x07, 0x0a, + 0xa8, 0xd1, 0x36, 0x7c, 0x32, 0x10, 0x42, 0x69, 0xc3, 0xfc, 0x84, 0x49, 0xf5, 0x07, 0x19, 0x78, + 0x2e, 0xb5, 0x87, 0xc9, 0x8b, 0xb0, 0xa0, 0x0f, 0x87, 0x66, 0x99, 0xcf, 0x2a, 0xce, 0x21, 0xa1, + 0x96, 0x38, 0x22, 0xed, 0x31, 0x22, 0xf2, 0x32, 0xe4, 0xd9, 0x9d, 0x74, 0x59, 0x6c, 0x38, 0x88, + 0x89, 0xc2, 0x2f, 0xcc, 0xa3, 0x10, 0x9a, 0x82, 0x90, 0x54, 0x60, 0x95, 0xa3, 0x89, 0x58, 0xde, + 0x91, 0xf7, 0xad, 0x00, 0xcb, 0x1d, 0xe1, 0xe6, 0x85, 0xea, 0xd9, 0x19, 0xb1, 0x3c, 0x19, 0x4f, + 0x23, 0x5a, 0x8a, 0x54, 0x41, 0xc5, 0x3a, 0xe5, 0x9a, 0x18, 0x8e, 0x27, 0xe2, 0xbb, 0xb0, 0x46, + 0x4c, 0xa9, 0x2b, 0x51, 0x32, 0x18, 0x2e, 0xdd, 0xf7, 0xbb, 0x47, 0xfd, 0x13, 0xaf, 0x3f, 0xfe, + 0xe4, 0x86, 0x2b, 0x7c, 0xc7, 0xa9, 0x86, 0xeb, 0x8f, 0x72, 0x6c, 0x31, 0xc7, 0x8b, 0x51, 0x8e, + 0x46, 0x82, 0x6e, 0x46, 0x8e, 0x06, 0x83, 0xdd, 0x33, 0xbc, 0x8c, 0x32, 0x2c, 0x32, 0x1c, 0x13, + 0xb1, 0x32, 0x2e, 0xa6, 0x36, 0x81, 0xd1, 0xec, 0xdd, 0x61, 0xec, 0x0b, 0xf3, 0xa1, 0xf3, 0x2d, + 0x51, 0x94, 0xec, 0x41, 0xa1, 0xd4, 0xf3, 0xdc, 0xfe, 0x64, 0xd8, 0x3a, 0xdd, 0x95, 0xe3, 0x06, + 0xff, 0x96, 0xe5, 0x03, 0x56, 0x0c, 0xaf, 0x2a, 0x71, 0x27, 0x97, 0x2b, 0x22, 0xad, 0xc0, 0xad, + 0x26, 0x87, 0x9a, 0xca, 0xcf, 0xce, 0xe8, 0x9f, 0x78, 0x22, 0x96, 0x8b, 0xfa, 0x8c, 0x71, 0xbf, + 0x1b, 0x07, 0x56, 0xab, 0xae, 0x3f, 0x6e, 0x8d, 0xdc, 0xbe, 0x8f, 0xf8, 0x87, 0xa7, 0xc0, 0x87, + 0xda, 0x12, 0xb1, 0x75, 0x51, 0xc7, 0x38, 0x0e, 0x8a, 0x32, 0x0d, 0x66, 0xb4, 0x3a, 0xca, 0x2f, + 0x55, 0xba, 0x7d, 0xb7, 0xd7, 0x7d, 0x57, 0x78, 0x1f, 0x32, 0x7e, 0xe9, 0x50, 0x24, 0x5a, 0x61, + 0xbe, 0xf6, 0xd5, 0xc4, 0xb8, 0xb1, 0x56, 0x16, 0x60, 0x91, 0xfb, 0xa6, 0x33, 0x5f, 0xed, 0xa6, + 0x51, 0x2f, 0x9b, 0xf5, 0x1d, 0x55, 0x21, 0xab, 0x00, 0x4d, 0xab, 0x51, 0x32, 0x6c, 0x9b, 0x3e, + 0x67, 0xe8, 0x33, 0x77, 0xe4, 0xae, 0xb4, 0xab, 0x6a, 0x56, 0xf2, 0xe5, 0xce, 0x69, 0x3f, 0x52, + 0xe0, 0x5c, 0xfa, 0x50, 0x92, 0x16, 0xa0, 0x37, 0x3f, 0xbf, 0x7c, 0xfe, 0xfc, 0xcc, 0x71, 0x4f, + 0x4d, 0x8e, 0xa3, 0x02, 0x8c, 0x99, 0xb7, 0x79, 0x46, 0x5c, 0x16, 0x31, 0xf7, 0xb5, 0x6e, 0xc7, + 0xca, 0x74, 0x3b, 0x5a, 0x09, 0x36, 0xa6, 0xd5, 0x11, 0xfd, 0xd4, 0x35, 0x28, 0xe8, 0xcd, 0x66, + 0xd5, 0x2c, 0xe9, 0x2d, 0xb3, 0x51, 0x57, 0x15, 0xb2, 0x04, 0xf3, 0x3b, 0x56, 0xa3, 0xdd, 0x54, + 0x33, 0xda, 0xf7, 0x15, 0x58, 0x31, 0x43, 0x5b, 0xa7, 0x67, 0x5d, 0x7c, 0xaf, 0x46, 0x16, 0xdf, + 0x46, 0x80, 0x7b, 0x11, 0xbc, 0xe0, 0x54, 0x2b, 0xef, 0x1f, 0x14, 0x58, 0x4f, 0x94, 0x21, 0x36, + 0x2c, 0xea, 0xfb, 0x76, 0xc3, 0x2c, 0x97, 0x78, 0xcb, 0x2e, 0x87, 0x46, 0x3a, 0x18, 0xda, 0x28, + 0xf1, 0x16, 0xe6, 0x2b, 0xfa, 0xc8, 0x77, 0x06, 0xdd, 0x8e, 0x14, 0x96, 0x74, 0x77, 0xce, 0x12, + 0x35, 0xe1, 0x49, 0xf6, 0xee, 0x64, 0xe4, 0x61, 0xb5, 0x99, 0x88, 0x22, 0x34, 0x48, 0x4f, 0x56, + 0x8c, 0x3e, 0x01, 0x2e, 0xcd, 0x4f, 0x56, 0x1d, 0xd6, 0xb7, 0xbd, 0x02, 0x05, 0x2e, 0xb5, 0xa0, + 0x40, 0xf0, 0x43, 0x05, 0x36, 0xa6, 0xb5, 0x95, 0x0a, 0x42, 0x51, 0xc7, 0xf1, 0x73, 0x41, 0xa8, + 0x82, 0xa8, 0xc7, 0xb8, 0x20, 0x23, 0xaf, 0x43, 0xc1, 0xf4, 0xfd, 0x89, 0x37, 0xb2, 0x5f, 0x6e, + 0x5b, 0x26, 0x9f, 0x20, 0x17, 0xff, 0xfd, 0x83, 0xcb, 0xe7, 0xd1, 0x72, 0x7f, 0xe4, 0xf8, 0x2f, + 0x3b, 0x93, 0x51, 0x37, 0x02, 0xeb, 0x2e, 0x97, 0xa0, 0x7c, 0xab, 0x3b, 0xe9, 0x74, 0x3d, 0xc1, + 0xb5, 0x0b, 0xe7, 0x5a, 0x9e, 0x26, 0x9f, 0x22, 0x22, 0x4d, 0xfb, 0x8e, 0x02, 0x9b, 0xd3, 0x3b, + 0x86, 0x9e, 0x4c, 0x2d, 0x66, 0x4b, 0x29, 0xdc, 0x5b, 0xf1, 0x64, 0x0a, 0x0c, 0x2e, 0xe5, 0x3a, + 0x05, 0x21, 0x2d, 0x14, 0x84, 0x09, 0xcf, 0x24, 0x62, 0x03, 0x47, 0x0b, 0x09, 0x42, 0xed, 0x3f, + 0x32, 0x70, 0x8e, 0x4e, 0xba, 0x9e, 0xe7, 0xfb, 0xfa, 0x64, 0x7c, 0xec, 0xf5, 0xc7, 0x9c, 0x0d, + 0x23, 0xaf, 0xc0, 0xc2, 0xf1, 0xd3, 0xa9, 0x1c, 0x19, 0x39, 0x21, 0x80, 0x1b, 0xb9, 0xf0, 0x43, + 0xa0, 0xff, 0xc9, 0x15, 0x90, 0xa3, 0x31, 0x67, 0x11, 0x0f, 0x32, 0xb3, 0xa1, 0x58, 0x4b, 0xc3, + 0x20, 0x70, 0xea, 0x17, 0x60, 0x1e, 0xd5, 0x0c, 0x7c, 0x4b, 0x15, 0xac, 0x70, 0x7a, 0xeb, 0x50, + 0x09, 0x61, 0xb1, 0x02, 0xe4, 0x33, 0x00, 0x21, 0x94, 0x3e, 0xdf, 0x33, 0x85, 0xf8, 0x1d, 0xa0, + 0xe9, 0x5b, 0x4b, 0x27, 0x87, 0x2e, 0xc7, 0xa7, 0x2f, 0xc2, 0xba, 0xe8, 0x96, 0xa1, 0x80, 0x91, + 0xe3, 0xb7, 0x61, 0x6b, 0x2c, 0xc3, 0x1c, 0x0a, 0x28, 0xb9, 0x6b, 0x89, 0x88, 0xb2, 0x88, 0x26, + 0x1b, 0x0b, 0x1b, 0x7b, 0x2d, 0x11, 0x36, 0x36, 0xcf, 0xa8, 0xe4, 0xd8, 0xb0, 0xda, 0xbf, 0x66, + 0x60, 0x69, 0x9f, 0x32, 0x2b, 0x28, 0x82, 0xcf, 0x16, 0xe9, 0xef, 0x42, 0xa1, 0x3a, 0x70, 0xf9, + 0xb5, 0x03, 0x37, 0xdf, 0x67, 0x4e, 0xb0, 0xbd, 0x81, 0x2b, 0x6e, 0x30, 0x7c, 0x4b, 0x26, 0x7a, + 0x82, 0x03, 0xef, 0x7d, 0x58, 0x60, 0xd7, 0x40, 0x5c, 0xbb, 0x24, 0xd8, 0xd5, 0xa0, 0x45, 0x2f, + 0xb1, 0x6c, 0x49, 0x53, 0xce, 0xae, 0x92, 0x64, 0xde, 0x89, 0x83, 0x62, 0x4a, 0x0a, 0x87, 0xf9, + 0xd3, 0x29, 0x1c, 0x24, 0xf0, 0xaf, 0x85, 0xd3, 0x80, 0x7f, 0x6d, 0xde, 0x83, 0x82, 0xd4, 0x9e, + 0xa7, 0xe2, 0x5e, 0xbf, 0x9d, 0x81, 0x15, 0xfc, 0xaa, 0xc0, 0x26, 0xe4, 0xe7, 0x53, 0x7d, 0xf2, + 0x6a, 0x44, 0x7d, 0xb2, 0x21, 0x8f, 0x17, 0xfb, 0xb2, 0x19, 0x7a, 0x93, 0xfb, 0xb0, 0x9e, 0x20, + 0x24, 0x9f, 0x83, 0x79, 0xda, 0x7c, 0x21, 0x6e, 0xaa, 0xf1, 0x19, 0x10, 0x02, 0xc5, 0xd2, 0x0f, + 0xf7, 0x2d, 0x46, 0xad, 0xfd, 0xb7, 0x02, 0xcb, 0x3c, 0x4e, 0x43, 0xff, 0x70, 0xf0, 0xc4, 0xee, + 0xbc, 0x11, 0xef, 0x4e, 0x06, 0x47, 0xc1, 0xbb, 0xf3, 0x7f, 0xbb, 0x13, 0xef, 0x45, 0x3a, 0xf1, + 0x7c, 0x00, 0x1b, 0x27, 0x3e, 0x67, 0x46, 0x1f, 0xfe, 0x2d, 0x02, 0xa9, 0x46, 0x09, 0xc9, 0xd7, + 0x61, 0xa9, 0xee, 0x3d, 0x8a, 0x48, 0x6d, 0x37, 0xa6, 0x54, 0xfa, 0x52, 0x40, 0xc8, 0xd6, 0x14, + 0x1e, 0x78, 0x7d, 0xef, 0x91, 0x93, 0xb8, 0x81, 0x0a, 0xab, 0xa4, 0x82, 0x5b, 0xb4, 0xd8, 0xd3, + 0x4c, 0x7d, 0xee, 0x4b, 0x88, 0x08, 0x2b, 0xdf, 0xcd, 0x02, 0x84, 0x6e, 0x58, 0x74, 0x01, 0x46, + 0x2e, 0xdf, 0x85, 0xc2, 0x1b, 0x93, 0xe4, 0x39, 0x2e, 0xee, 0xe4, 0x6f, 0x70, 0xc5, 0x6c, 0x66, + 0x3a, 0xac, 0x1f, 0xaa, 0x68, 0x4b, 0xdc, 0xef, 0xa7, 0xe3, 0xf5, 0x5c, 0xb6, 0xb7, 0x67, 0xb7, + 0xaf, 0x21, 0x8a, 0x6b, 0x90, 0x3a, 0x25, 0xe0, 0x2e, 0x7a, 0x07, 0x95, 0x29, 0x41, 0xc2, 0xb5, + 0x31, 0xf7, 0x74, 0xae, 0x8d, 0x4d, 0x58, 0xea, 0xf6, 0xdf, 0xf1, 0xfa, 0xe3, 0xc1, 0xe8, 0x31, + 0x6a, 0xa3, 0x43, 0x35, 0x17, 0xed, 0x02, 0x53, 0xe4, 0xb1, 0x71, 0xc0, 0x83, 0x31, 0xa0, 0x97, + 0x87, 0x21, 0x48, 0x0c, 0x5c, 0x33, 0xe7, 0xd5, 0x85, 0xfb, 0xb9, 0xfc, 0x82, 0xba, 0x78, 0x3f, + 0x97, 0xcf, 0xab, 0x4b, 0xf7, 0x73, 0xf9, 0x25, 0x15, 0x2c, 0xe9, 0x7e, 0x27, 0xb8, 0xbf, 0x91, + 0xae, 0x5c, 0xa2, 0xd7, 0x29, 0xda, 0xcf, 0x32, 0x40, 0x92, 0xcd, 0x20, 0xaf, 0x42, 0x81, 0x6d, + 0xb0, 0xce, 0xc8, 0xff, 0x26, 0xb7, 0xfd, 0x66, 0x38, 0x35, 0x52, 0xb2, 0x8c, 0x53, 0xc3, 0x92, + 0x2d, 0xff, 0x9b, 0x3d, 0xf2, 0x35, 0x38, 0x83, 0xdd, 0x3b, 0xf4, 0x46, 0xdd, 0x41, 0xc7, 0x41, + 0x50, 0x51, 0xb7, 0xc7, 0x83, 0xe3, 0xbd, 0x88, 0x51, 0x5c, 0x93, 0xd9, 0x53, 0x86, 0x01, 0xbd, + 0xad, 0x9a, 0x48, 0xd9, 0x64, 0x84, 0xa4, 0x05, 0xaa, 0x5c, 0xfe, 0x70, 0xd2, 0xeb, 0xf1, 0x91, + 0x2d, 0x52, 0x41, 0x37, 0x9e, 0x37, 0xa5, 0xe2, 0xd5, 0xb0, 0xe2, 0xca, 0xa4, 0xd7, 0x23, 0xaf, + 0x00, 0x0c, 0xfa, 0xce, 0x49, 0xd7, 0xf7, 0xd9, 0x1d, 0x47, 0xe0, 0x18, 0x1a, 0xa6, 0xca, 0x83, + 0x31, 0xe8, 0xd7, 0x58, 0x22, 0xf9, 0x25, 0x40, 0xf7, 0x76, 0xc4, 0x7d, 0x60, 0x56, 0x2d, 0x3c, + 0xdc, 0x85, 0x48, 0x8c, 0xfa, 0xa1, 0x1e, 0x79, 0x76, 0xf7, 0x5d, 0x61, 0x77, 0xff, 0x26, 0xac, + 0x73, 0x23, 0xd4, 0xfd, 0xee, 0xf8, 0x98, 0x73, 0xd8, 0xcf, 0xc2, 0x9e, 0x4b, 0x2c, 0xf6, 0x3f, + 0xe5, 0x00, 0xf4, 0x7d, 0x5b, 0x40, 0x2a, 0xdd, 0x82, 0x79, 0x2a, 0x37, 0x08, 0xfd, 0x03, 0x6a, + 0x6f, 0xb1, 0x5e, 0x59, 0x7b, 0x8b, 0x14, 0x74, 0x35, 0x5a, 0xe8, 0xfb, 0x20, 0x74, 0x0f, 0xb8, + 0x1a, 0x99, 0x3b, 0x44, 0x04, 0xd2, 0x96, 0x53, 0x91, 0x2a, 0x40, 0x08, 0x72, 0xc4, 0x25, 0xd9, + 0xf5, 0x10, 0x2d, 0x84, 0x67, 0x70, 0x58, 0xfd, 0x10, 0x28, 0x49, 0x9e, 0x3e, 0x21, 0x19, 0x79, + 0x00, 0xb9, 0x96, 0x1b, 0xb8, 0x3d, 0x4e, 0x81, 0x7e, 0x7a, 0x81, 0x07, 0x2f, 0x0c, 0xe1, 0x9f, + 0x56, 0xc7, 0x6e, 0x24, 0xc6, 0x2b, 0x56, 0x42, 0x0c, 0x58, 0xe0, 0x81, 0xa9, 0xa7, 0x40, 0x06, + 0xf2, 0xb8, 0xd4, 0x1c, 0x28, 0x18, 0x13, 0x65, 0x9e, 0x82, 0x87, 0xa0, 0xbe, 0x0b, 0x59, 0xdb, + 0xae, 0x71, 0xc0, 0x83, 0x95, 0x50, 0x2a, 0xb1, 0xed, 0x1a, 0xbb, 0xa3, 0xf4, 0xfd, 0x13, 0xa9, + 0x18, 0x25, 0x26, 0x5f, 0x84, 0x82, 0xc4, 0x3e, 0x73, 0xa8, 0x10, 0xec, 0x03, 0xc9, 0xf5, 0x44, + 0xde, 0x34, 0x24, 0x6a, 0x52, 0x05, 0xf5, 0xc1, 0xe4, 0x6d, 0x4f, 0x1f, 0x0e, 0xd1, 0xe3, 0xec, + 0x1d, 0x6f, 0xc4, 0xd8, 0xb6, 0x7c, 0x88, 0xb1, 0x8b, 0x0e, 0x7b, 0x1d, 0x91, 0x2b, 0xeb, 0x60, + 0xe2, 0x25, 0x49, 0x13, 0xd6, 0x6d, 0x6f, 0x3c, 0x19, 0x32, 0x3b, 0x8d, 0xca, 0x60, 0x44, 0x85, + 0x10, 0x06, 0x2c, 0x82, 0x70, 0xa4, 0x3e, 0xcd, 0x14, 0xc6, 0x31, 0x87, 0x83, 0x51, 0x4c, 0x20, + 0x49, 0x16, 0xd6, 0x3c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0x15, 0x6d, 0xf0, 0x54, 0x15, 0xa2, 0x4d, + 0x28, 0xd0, 0x7c, 0x26, 0x05, 0xfc, 0x0a, 0x2f, 0xcc, 0x24, 0xf0, 0xab, 0x08, 0xe4, 0xd5, 0x7b, + 0x39, 0x09, 0x7f, 0x91, 0x8f, 0xc5, 0x6b, 0x00, 0xf7, 0x07, 0xdd, 0x7e, 0xcd, 0x1b, 0x1f, 0x0f, + 0x3a, 0x12, 0x06, 0x57, 0xe1, 0x57, 0x07, 0xdd, 0xbe, 0x73, 0x82, 0xc9, 0x3f, 0xfb, 0xe0, 0xb2, + 0x44, 0x64, 0x49, 0xff, 0xc9, 0xa7, 0x61, 0x89, 0x3e, 0xb5, 0x42, 0x6b, 0x13, 0xa6, 0xaa, 0xc4, + 0xd2, 0x2c, 0x4a, 0x41, 0x48, 0x40, 0xee, 0x61, 0x5c, 0x8e, 0xee, 0x70, 0x2c, 0x31, 0xaf, 0x22, + 0x08, 0x47, 0x77, 0x38, 0x8e, 0x43, 0xea, 0x4a, 0xc4, 0x64, 0x37, 0x68, 0xba, 0x08, 0xa5, 0xc3, + 0xc3, 0x7f, 0xa0, 0x3e, 0x8e, 0xcf, 0x35, 0x47, 0x60, 0x79, 0xca, 0x41, 0x4f, 0x63, 0xc5, 0xb0, + 0x11, 0xf6, 0x6e, 0x99, 0x5d, 0xa0, 0x70, 0xa6, 0x96, 0x35, 0xc2, 0x3f, 0xee, 0x38, 0x07, 0x98, + 0x1c, 0x69, 0x44, 0x40, 0x4c, 0xb6, 0x61, 0x8d, 0xf1, 0xf8, 0x41, 0x48, 0x3e, 0xce, 0xe2, 0xe2, + 0xde, 0x16, 0xc6, 0xec, 0x93, 0x5f, 0x1f, 0x2b, 0x40, 0x2a, 0x30, 0x8f, 0x02, 0x21, 0x37, 0x31, + 0xdf, 0x92, 0xa5, 0xe7, 0xf8, 0x3a, 0xc2, 0x7d, 0x05, 0xe5, 0x66, 0x79, 0x5f, 0x41, 0x52, 0xf2, + 0x15, 0x00, 0xa3, 0x3f, 0x1a, 0xf4, 0x7a, 0x88, 0x36, 0x9b, 0x47, 0x51, 0xea, 0x62, 0x74, 0x3d, + 0x62, 0x2d, 0x21, 0x11, 0x47, 0x46, 0xc3, 0x67, 0x27, 0x86, 0x49, 0x2b, 0xd5, 0xa5, 0x99, 0xb0, + 0xc0, 0x16, 0x23, 0x22, 0x37, 0xf3, 0x58, 0x14, 0x12, 0xee, 0x2f, 0x43, 0x6e, 0xe6, 0xe9, 0x49, + 0xe4, 0x66, 0xa9, 0x80, 0xf6, 0x00, 0xce, 0xa6, 0x7d, 0x58, 0x44, 0x84, 0x55, 0x4e, 0x2b, 0xc2, + 0xfe, 0x59, 0x16, 0x96, 0xb1, 0x36, 0xb1, 0x0b, 0xeb, 0xb0, 0x62, 0x4f, 0xde, 0x0e, 0x60, 0x8d, + 0xc4, 0x6e, 0x8c, 0xed, 0xf3, 0xe5, 0x0c, 0xf9, 0x6a, 0x2b, 0x52, 0x82, 0x18, 0xb0, 0x2a, 0x4e, + 0x82, 0x1d, 0x61, 0x81, 0x1e, 0x80, 0x26, 0x0b, 0x68, 0xbe, 0x64, 0x48, 0xd2, 0x58, 0xa1, 0xf0, + 0x3c, 0xc8, 0x3e, 0xcd, 0x79, 0x90, 0x3b, 0xd5, 0x79, 0xf0, 0x16, 0x2c, 0x8b, 0xb7, 0xe1, 0x4e, + 0x3e, 0xff, 0x6c, 0x3b, 0x79, 0xa4, 0x32, 0x52, 0x0d, 0x76, 0xf4, 0x85, 0x99, 0x3b, 0x3a, 0xde, + 0x17, 0x8a, 0x55, 0x36, 0xc4, 0xb4, 0xe4, 0xc6, 0x8e, 0x31, 0xfb, 0x76, 0x4a, 0xcd, 0x8f, 0x70, + 0x4a, 0x7e, 0x0e, 0x96, 0xaa, 0x03, 0x71, 0x55, 0x24, 0xe9, 0xe8, 0x7b, 0x22, 0x51, 0x66, 0x17, + 0x02, 0xca, 0xe0, 0x74, 0xcb, 0x7e, 0x1c, 0xa7, 0xdb, 0x3d, 0x00, 0xee, 0xda, 0x10, 0xc6, 0xda, + 0xc2, 0x25, 0x23, 0xc0, 0x20, 0xa2, 0x57, 0x05, 0x12, 0x31, 0xdd, 0x9d, 0xb8, 0x15, 0x8a, 0x7e, + 0x70, 0x30, 0x98, 0xf4, 0xc7, 0x91, 0xe0, 0xb4, 0xc2, 0x9d, 0xd0, 0xe5, 0x79, 0xf2, 0xf6, 0x10, + 0x2b, 0xf6, 0xf1, 0x0e, 0x08, 0x79, 0x23, 0x30, 0xa2, 0x5b, 0x9c, 0xd5, 0x43, 0x5a, 0xa2, 0x87, + 0xa6, 0x9a, 0xce, 0x69, 0x3f, 0x52, 0x64, 0xc4, 0xfa, 0x8f, 0x30, 0xd4, 0x5f, 0x00, 0x08, 0xee, + 0xea, 0xc5, 0x58, 0x33, 0x79, 0x29, 0x48, 0x95, 0x7b, 0x39, 0xa4, 0x95, 0xbe, 0x26, 0xfb, 0x71, + 0x7d, 0x4d, 0x0b, 0x0a, 0x8d, 0x6f, 0x8c, 0xdd, 0xd0, 0xb8, 0x03, 0xec, 0x80, 0x93, 0xc5, 0x9d, + 0x29, 0xbb, 0x7d, 0x1d, 0xcf, 0x86, 0x90, 0x0f, 0x9e, 0xc2, 0x02, 0x4b, 0x05, 0xb5, 0x37, 0x60, + 0x4d, 0x76, 0x81, 0x7e, 0xdc, 0x3f, 0x20, 0x5f, 0x62, 0xf8, 0x99, 0x4a, 0x44, 0x62, 0x91, 0x88, + 0xe8, 0x8e, 0xfb, 0xb8, 0x7f, 0xc0, 0xf8, 0x1f, 0xf7, 0x91, 0xdc, 0x56, 0x94, 0xf1, 0x7e, 0xa2, + 0x00, 0x49, 0x92, 0xcb, 0xbb, 0x89, 0xf2, 0x7f, 0xc0, 0x5d, 0xc6, 0xb8, 0xb2, 0xdc, 0xd3, 0x70, + 0x65, 0xc5, 0xdf, 0x57, 0x60, 0xcd, 0xd4, 0x6b, 0x1c, 0x5e, 0x9e, 0xdd, 0x39, 0x5c, 0x81, 0x8b, + 0xa6, 0x5e, 0x73, 0x9a, 0x8d, 0xaa, 0x59, 0x7a, 0xe8, 0xa4, 0xa2, 0xc6, 0x5e, 0x84, 0xe7, 0x93, + 0x24, 0xe1, 0xdd, 0xc4, 0x05, 0xd8, 0x48, 0x66, 0x0b, 0x64, 0xd9, 0xf4, 0xc2, 0x02, 0x84, 0x36, + 0x5b, 0x7c, 0x1d, 0xd6, 0x04, 0x8a, 0x6a, 0xab, 0x6a, 0x23, 0x4e, 0xfb, 0x1a, 0x14, 0xf6, 0x0c, + 0xcb, 0xac, 0x3c, 0x74, 0x2a, 0xed, 0x6a, 0x55, 0x9d, 0x23, 0x2b, 0xb0, 0xc4, 0x13, 0x4a, 0xba, + 0xaa, 0x90, 0x65, 0xc8, 0x9b, 0x75, 0xdb, 0x28, 0xb5, 0x2d, 0x43, 0xcd, 0x14, 0x5f, 0x87, 0xd5, + 0xe6, 0xa8, 0xfb, 0x8e, 0x3b, 0xf6, 0x1e, 0x78, 0x8f, 0xf1, 0x6a, 0x61, 0x11, 0xb2, 0x96, 0xbe, + 0xaf, 0xce, 0x11, 0x80, 0x85, 0xe6, 0x83, 0x92, 0x7d, 0xe7, 0x8e, 0xaa, 0x90, 0x02, 0x2c, 0xee, + 0x94, 0x9a, 0xce, 0x83, 0x9a, 0xad, 0x66, 0xe8, 0x83, 0xbe, 0x6f, 0xe3, 0x43, 0xb6, 0xf8, 0x59, + 0x58, 0x47, 0x5e, 0xa1, 0xda, 0xf5, 0xc7, 0x5e, 0xdf, 0x1b, 0x61, 0x1b, 0x96, 0x21, 0x6f, 0x7b, + 0x74, 0x91, 0x8f, 0x3d, 0xd6, 0x80, 0xda, 0xa4, 0x37, 0xee, 0x0e, 0x7b, 0xde, 0xb7, 0x54, 0xa5, + 0x78, 0x0f, 0xd6, 0xac, 0xc1, 0x64, 0xdc, 0xed, 0x1f, 0xd9, 0x63, 0x4a, 0x71, 0xf4, 0x98, 0x3c, + 0x07, 0xeb, 0xed, 0xba, 0x5e, 0xdb, 0x36, 0x77, 0xda, 0x8d, 0xb6, 0xed, 0xd4, 0xf4, 0x56, 0x69, + 0x97, 0x5d, 0x6c, 0xd4, 0x1a, 0x76, 0xcb, 0xb1, 0x8c, 0x92, 0x51, 0x6f, 0xa9, 0x4a, 0xf1, 0x7b, + 0xa8, 0xf6, 0x38, 0x18, 0xf4, 0x3b, 0x15, 0x17, 0xe3, 0xf6, 0xd3, 0x06, 0x6b, 0x70, 0xc9, 0x36, + 0x4a, 0x8d, 0x7a, 0xd9, 0xa9, 0xe8, 0xa5, 0x56, 0xc3, 0x4a, 0x83, 0x2d, 0xde, 0x84, 0x73, 0x29, + 0x34, 0x8d, 0x56, 0x53, 0x55, 0xc8, 0x65, 0xd8, 0x4a, 0xc9, 0xdb, 0x37, 0xb6, 0xf5, 0x76, 0x6b, + 0xb7, 0xae, 0x66, 0xa6, 0x14, 0xb6, 0xed, 0x86, 0x9a, 0x2d, 0xfe, 0xb6, 0x02, 0xab, 0x6d, 0x9f, + 0x5b, 0x15, 0xb7, 0xd1, 0xa1, 0xf0, 0x05, 0xb8, 0xd0, 0xb6, 0x0d, 0xcb, 0x69, 0x35, 0x1e, 0x18, + 0x75, 0xa7, 0x6d, 0xeb, 0x3b, 0xf1, 0xd6, 0x5c, 0x86, 0x2d, 0x89, 0xc2, 0x32, 0x4a, 0x8d, 0x3d, + 0xc3, 0x72, 0x9a, 0xba, 0x6d, 0xef, 0x37, 0xac, 0xb2, 0xaa, 0xd0, 0x37, 0xa6, 0x10, 0xd4, 0x2a, + 0x3a, 0x6b, 0x4d, 0x24, 0xaf, 0x6e, 0xec, 0xeb, 0x55, 0x67, 0xbb, 0xd1, 0x52, 0xb3, 0xc5, 0x1a, + 0x3d, 0x7a, 0x11, 0x3c, 0x94, 0xd9, 0xc2, 0xe5, 0x21, 0x57, 0x6f, 0xd4, 0x8d, 0xf8, 0x75, 0xd8, + 0x32, 0xe4, 0xf5, 0x66, 0xd3, 0x6a, 0xec, 0xe1, 0x14, 0x03, 0x58, 0x28, 0x1b, 0x75, 0xda, 0xb2, + 0x2c, 0xcd, 0x69, 0x5a, 0x8d, 0x5a, 0xa3, 0x65, 0x94, 0xd5, 0x5c, 0xd1, 0x12, 0x4b, 0x58, 0x54, + 0x7a, 0x30, 0x60, 0x77, 0x4f, 0x65, 0xa3, 0xa2, 0xb7, 0xab, 0x2d, 0x3e, 0x44, 0x0f, 0x1d, 0xcb, + 0x78, 0xa3, 0x6d, 0xd8, 0x2d, 0x5b, 0x55, 0x88, 0x0a, 0xcb, 0x75, 0xc3, 0x28, 0xdb, 0x8e, 0x65, + 0xec, 0x99, 0xc6, 0xbe, 0x9a, 0xa1, 0x75, 0xb2, 0xff, 0xf4, 0x0d, 0xc5, 0xf7, 0x14, 0x20, 0x0c, + 0x78, 0x55, 0x44, 0xf3, 0xc0, 0x19, 0x73, 0x09, 0x36, 0x77, 0xe9, 0x50, 0xe3, 0xa7, 0xd5, 0x1a, + 0xe5, 0x78, 0x97, 0x9d, 0x03, 0x12, 0xcb, 0x6f, 0x54, 0x2a, 0xaa, 0x42, 0xb6, 0xe0, 0x4c, 0x2c, + 0xbd, 0x6c, 0x35, 0x9a, 0x6a, 0x66, 0x33, 0x93, 0x57, 0xc8, 0xf9, 0x44, 0xe6, 0x03, 0xc3, 0x68, + 0xaa, 0x59, 0x3a, 0x44, 0xb1, 0x0c, 0xb1, 0x24, 0x58, 0xf1, 0x5c, 0xf1, 0x3b, 0x0a, 0x9c, 0x63, + 0xcd, 0x14, 0xeb, 0x2b, 0x68, 0xea, 0x05, 0xd8, 0xe0, 0x70, 0xd2, 0x69, 0x0d, 0x3d, 0x0b, 0x6a, + 0x24, 0x97, 0x35, 0xf3, 0x39, 0x58, 0x8f, 0xa4, 0x62, 0x3b, 0x32, 0x74, 0xf7, 0x88, 0x24, 0x6f, + 0x1b, 0x76, 0xcb, 0x31, 0x2a, 0x95, 0x86, 0xd5, 0x62, 0x0d, 0xc9, 0x16, 0x35, 0x58, 0x2f, 0x79, + 0xa3, 0x31, 0x95, 0x8a, 0xfa, 0x7e, 0x77, 0xd0, 0xc7, 0x26, 0xac, 0xc0, 0x92, 0xf1, 0x95, 0x96, + 0x51, 0xb7, 0xcd, 0x46, 0x5d, 0x9d, 0x2b, 0x5e, 0x88, 0xd1, 0x88, 0x75, 0x6c, 0xdb, 0xbb, 0xea, + 0x5c, 0xd1, 0x85, 0x15, 0x61, 0xbf, 0xcb, 0x66, 0xc5, 0x25, 0xd8, 0x14, 0x73, 0x0d, 0x77, 0x94, + 0xf8, 0x27, 0x6c, 0xc0, 0xd9, 0x64, 0xbe, 0xd1, 0x52, 0x15, 0x3a, 0x0a, 0xb1, 0x1c, 0x9a, 0x9e, + 0x29, 0xfe, 0xa6, 0x02, 0x2b, 0xc1, 0x7d, 0x06, 0x6a, 0x50, 0x2f, 0xc3, 0x56, 0xad, 0xa2, 0x3b, + 0x65, 0x63, 0xcf, 0x2c, 0x19, 0xce, 0x03, 0xb3, 0x5e, 0x8e, 0xbd, 0xe4, 0x79, 0x78, 0x2e, 0x85, + 0x00, 0xdf, 0xb2, 0x01, 0x67, 0xe3, 0x59, 0x2d, 0xba, 0x54, 0x33, 0xb4, 0xeb, 0xe3, 0x39, 0xc1, + 0x3a, 0xcd, 0x16, 0xff, 0x54, 0x81, 0x0d, 0x1e, 0x2e, 0x9d, 0xdf, 0xac, 0xb0, 0x38, 0x1a, 0x08, + 0x34, 0x5b, 0x84, 0x1b, 0x2d, 0xab, 0x6d, 0xb7, 0x8c, 0xb2, 0x28, 0x4e, 0x27, 0xad, 0x69, 0x19, + 0x35, 0xa3, 0xde, 0x8a, 0xb5, 0xed, 0x36, 0x7c, 0x6a, 0x06, 0x6d, 0xbd, 0xd1, 0x12, 0xcf, 0x74, + 0xad, 0x7e, 0x0a, 0xae, 0xce, 0x20, 0x0e, 0x08, 0x33, 0xc5, 0x3d, 0x58, 0xb5, 0xf5, 0x5a, 0xb5, + 0x32, 0x18, 0x1d, 0x78, 0xfa, 0x64, 0x7c, 0xdc, 0x27, 0x5b, 0x70, 0xbe, 0xd2, 0xb0, 0x4a, 0x86, + 0x83, 0x5f, 0x10, 0x6b, 0xc4, 0x19, 0x58, 0x93, 0x33, 0x1f, 0x1a, 0x74, 0x75, 0x11, 0x58, 0x95, + 0x13, 0xeb, 0x0d, 0x35, 0x53, 0xfc, 0x2a, 0x2c, 0x47, 0x62, 0x8e, 0x9d, 0x87, 0x33, 0xf2, 0x73, + 0xd3, 0xeb, 0x77, 0xba, 0xfd, 0x23, 0x75, 0x2e, 0x9e, 0x61, 0x4d, 0xfa, 0x7d, 0x9a, 0x81, 0xdb, + 0x8d, 0x9c, 0xd1, 0xf2, 0x46, 0x27, 0xdd, 0xbe, 0x3b, 0xf6, 0x3a, 0x6a, 0xa6, 0xf8, 0x12, 0xac, + 0x44, 0x90, 0x8e, 0xe9, 0xbc, 0xaa, 0x36, 0xf8, 0xf9, 0x50, 0x33, 0xca, 0x66, 0xbb, 0xa6, 0xce, + 0xd3, 0x8d, 0x66, 0xd7, 0xdc, 0xd9, 0x55, 0xa1, 0xf8, 0x7d, 0x85, 0x4a, 0x28, 0xd8, 0xef, 0xb5, + 0x8a, 0x2e, 0x66, 0x22, 0x5d, 0x05, 0x0c, 0x3f, 0xdd, 0xb0, 0x6d, 0x76, 0x49, 0x7d, 0x01, 0x36, + 0xf8, 0x83, 0xa3, 0xd7, 0xcb, 0xce, 0xae, 0x6e, 0x95, 0xf7, 0x75, 0x8b, 0x2e, 0x8d, 0x87, 0x6a, + 0x06, 0xd7, 0xbb, 0x94, 0xe2, 0xb4, 0x1a, 0xed, 0xd2, 0xae, 0x9a, 0xa5, 0xcb, 0x2b, 0x92, 0xde, + 0x34, 0xeb, 0x6a, 0x0e, 0x77, 0x8f, 0x04, 0x35, 0x56, 0x4b, 0xf3, 0xe7, 0x8b, 0x1f, 0x2a, 0x70, + 0xde, 0xee, 0x1e, 0xf5, 0xdd, 0xf1, 0x64, 0xe4, 0xe9, 0xbd, 0xa3, 0xc1, 0xa8, 0x3b, 0x3e, 0x3e, + 0xb1, 0x27, 0xdd, 0xb1, 0x47, 0x6e, 0xc1, 0x75, 0xdb, 0xdc, 0xa9, 0xeb, 0x2d, 0xba, 0xfa, 0xf5, + 0xea, 0x4e, 0xc3, 0x32, 0x5b, 0xbb, 0x35, 0xc7, 0x6e, 0x9b, 0x89, 0x85, 0x71, 0x0d, 0x5e, 0x98, + 0x4e, 0x5a, 0x35, 0x76, 0xf4, 0xd2, 0x43, 0x55, 0x99, 0x5d, 0xe1, 0xb6, 0x5e, 0xd5, 0xeb, 0x25, + 0xa3, 0xec, 0xec, 0xdd, 0x51, 0x33, 0xe4, 0x3a, 0x5c, 0x99, 0x4e, 0x5a, 0x31, 0x9b, 0x36, 0x25, + 0xcb, 0xce, 0x7e, 0xef, 0xae, 0x5d, 0xa3, 0x54, 0xb9, 0xe2, 0x9f, 0x28, 0xb0, 0x31, 0x0d, 0x28, + 0x87, 0xdc, 0x00, 0xcd, 0xa8, 0xb7, 0x2c, 0xdd, 0x2c, 0x3b, 0x25, 0xcb, 0x28, 0x1b, 0xf5, 0x96, + 0xa9, 0x57, 0x6d, 0xc7, 0x6e, 0xb4, 0xe9, 0x6c, 0x0a, 0x6d, 0x09, 0xae, 0xc2, 0xe5, 0x19, 0x74, + 0x0d, 0xb3, 0x5c, 0x52, 0x15, 0x72, 0x07, 0x5e, 0x9c, 0x41, 0x64, 0x3f, 0xb4, 0x5b, 0x46, 0x4d, + 0xce, 0x51, 0x33, 0xc5, 0x12, 0x6c, 0x4e, 0xc7, 0xda, 0xa0, 0xa7, 0x48, 0xb4, 0xa7, 0xf3, 0x90, + 0x2b, 0xd3, 0x83, 0x2b, 0x02, 0xb3, 0x5f, 0xec, 0x82, 0x1a, 0xf7, 0xf4, 0x4f, 0x18, 0x7d, 0x58, + 0xed, 0x7a, 0x9d, 0x9d, 0x72, 0x6b, 0x50, 0x68, 0xb4, 0x76, 0x0d, 0x8b, 0x07, 0x2a, 0xc0, 0xc8, + 0x04, 0xed, 0x3a, 0x5d, 0x38, 0x0d, 0xcb, 0x7c, 0x13, 0x8f, 0xbb, 0x0d, 0x38, 0x6b, 0x57, 0xf5, + 0xd2, 0x03, 0x5c, 0xd3, 0x66, 0xdd, 0x29, 0xed, 0xea, 0xf5, 0xba, 0x51, 0x55, 0x01, 0x3b, 0x73, + 0x9a, 0x77, 0x1f, 0xf9, 0x34, 0xdc, 0x6c, 0x3c, 0x68, 0xe9, 0x4e, 0xb3, 0xda, 0xde, 0x31, 0xeb, + 0x8e, 0xfd, 0xb0, 0x5e, 0x12, 0xac, 0x59, 0x29, 0x79, 0x22, 0xdc, 0x84, 0x6b, 0x33, 0xa9, 0xc3, + 0x90, 0x02, 0x37, 0x40, 0x9b, 0x49, 0xc9, 0x3f, 0xa4, 0xf8, 0x63, 0x05, 0xb6, 0x66, 0xdc, 0x3e, + 0x93, 0x17, 0xe1, 0xd6, 0xae, 0xa1, 0x97, 0xab, 0x86, 0x6d, 0xe3, 0x46, 0x41, 0x87, 0x81, 0x19, + 0x87, 0xa4, 0xee, 0xf7, 0xb7, 0xe0, 0xfa, 0x6c, 0xf2, 0x90, 0x73, 0xb8, 0x09, 0xd7, 0x66, 0x93, + 0x72, 0x4e, 0x22, 0x43, 0xf7, 0xdb, 0xd9, 0x94, 0x01, 0x07, 0x92, 0x2d, 0xfe, 0xae, 0x02, 0xe7, + 0xd2, 0x55, 0x40, 0xb4, 0x6d, 0x66, 0xdd, 0x6e, 0xe9, 0xd5, 0xaa, 0xd3, 0xd4, 0x2d, 0xbd, 0xe6, + 0x18, 0x75, 0xab, 0x51, 0xad, 0xa6, 0x9d, 0xbc, 0xd7, 0xe0, 0x85, 0xe9, 0xa4, 0x76, 0xc9, 0x32, + 0x9b, 0xf4, 0x70, 0xd1, 0xe0, 0xd2, 0x74, 0x2a, 0xc3, 0x2c, 0x19, 0x6a, 0x66, 0xfb, 0xb5, 0xf7, + 0xff, 0xe5, 0xd2, 0xdc, 0xfb, 0x1f, 0x5e, 0x52, 0x7e, 0xf2, 0xe1, 0x25, 0xe5, 0x9f, 0x3f, 0xbc, + 0xa4, 0xbc, 0x79, 0xfb, 0x74, 0xd1, 0x78, 0x50, 0x2c, 0x79, 0x7b, 0x01, 0xad, 0xa1, 0x5e, 0xfe, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x58, 0xe7, 0xf4, 0x89, 0x61, 0xaf, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -44401,6 +44543,84 @@ func (m *AWSICProvisioningSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *PluginAWSICStatusV1) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PluginAWSICStatusV1) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PluginAWSICStatusV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.GroupImportStatus != nil { + { + size, err := m.GroupImportStatus.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *AWSICGroupImportStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AWSICGroupImportStatus) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AWSICGroupImportStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.ErrorMessage) > 0 { + i -= len(m.ErrorMessage) + copy(dAtA[i:], m.ErrorMessage) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ErrorMessage))) + i-- + dAtA[i] = 0x12 + } + if m.StatusCode != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.StatusCode)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *PluginEmailSettings) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -44794,12 +45014,12 @@ func (m *PluginStatusV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n347, err347 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) - if err347 != nil { - return 0, err347 + n348, err348 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) + if err348 != nil { + return 0, err348 } - i -= n347 - i = encodeVarintTypes(dAtA, i, uint64(n347)) + i -= n348 + i = encodeVarintTypes(dAtA, i, uint64(n348)) i-- dAtA[i] = 0x1a if len(m.ErrorMessage) > 0 { @@ -44880,6 +45100,27 @@ func (m *PluginStatusV1_Okta) MarshalToSizedBuffer(dAtA []byte) (int, error) { } return len(dAtA) - i, nil } +func (m *PluginStatusV1_AwsIc) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PluginStatusV1_AwsIc) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AwsIc != nil { + { + size, err := m.AwsIc.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} func (m *PluginGitlabStatusV1) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -45139,22 +45380,22 @@ func (m *PluginOktaStatusDetailsAppGroupSync) MarshalToSizedBuffer(dAtA []byte) dAtA[i] = 0x28 } if m.LastFailed != nil { - n356, err356 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err356 != nil { - return 0, err356 + n358, err358 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err358 != nil { + return 0, err358 } - i -= n356 - i = encodeVarintTypes(dAtA, i, uint64(n356)) + i -= n358 + i = encodeVarintTypes(dAtA, i, uint64(n358)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n357, err357 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err357 != nil { - return 0, err357 + n359, err359 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err359 != nil { + return 0, err359 } - i -= n357 - i = encodeVarintTypes(dAtA, i, uint64(n357)) + i -= n359 + i = encodeVarintTypes(dAtA, i, uint64(n359)) i-- dAtA[i] = 0x1a } @@ -45213,22 +45454,22 @@ func (m *PluginOktaStatusDetailsUsersSync) MarshalToSizedBuffer(dAtA []byte) (in dAtA[i] = 0x28 } if m.LastFailed != nil { - n358, err358 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err358 != nil { - return 0, err358 + n360, err360 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err360 != nil { + return 0, err360 } - i -= n358 - i = encodeVarintTypes(dAtA, i, uint64(n358)) + i -= n360 + i = encodeVarintTypes(dAtA, i, uint64(n360)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n359, err359 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err359 != nil { - return 0, err359 + n361, err361 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err361 != nil { + return 0, err361 } - i -= n359 - i = encodeVarintTypes(dAtA, i, uint64(n359)) + i -= n361 + i = encodeVarintTypes(dAtA, i, uint64(n361)) i-- dAtA[i] = 0x1a } @@ -45347,22 +45588,22 @@ func (m *PluginOktaStatusDetailsAccessListsSync) MarshalToSizedBuffer(dAtA []byt } } if m.LastFailed != nil { - n360, err360 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err360 != nil { - return 0, err360 + n362, err362 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err362 != nil { + return 0, err362 } - i -= n360 - i = encodeVarintTypes(dAtA, i, uint64(n360)) + i -= n362 + i = encodeVarintTypes(dAtA, i, uint64(n362)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n361, err361 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err361 != nil { - return 0, err361 + n363, err363 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err363 != nil { + return 0, err363 } - i -= n361 - i = encodeVarintTypes(dAtA, i, uint64(n361)) + i -= n363 + i = encodeVarintTypes(dAtA, i, uint64(n363)) i-- dAtA[i] = 0x1a } @@ -45528,12 +45769,12 @@ func (m *PluginOAuth2AccessTokenCredentials) MarshalToSizedBuffer(dAtA []byte) ( i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n366, err366 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err366 != nil { - return 0, err366 + n368, err368 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err368 != nil { + return 0, err368 } - i -= n366 - i = encodeVarintTypes(dAtA, i, uint64(n366)) + i -= n368 + i = encodeVarintTypes(dAtA, i, uint64(n368)) i-- dAtA[i] = 0x1a if len(m.RefreshToken) > 0 { @@ -46413,20 +46654,20 @@ func (m *ScheduledAgentUpgradeWindow) MarshalToSizedBuffer(dAtA []byte) (int, er i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n380, err380 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) - if err380 != nil { - return 0, err380 + n382, err382 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) + if err382 != nil { + return 0, err382 } - i -= n380 - i = encodeVarintTypes(dAtA, i, uint64(n380)) + i -= n382 + i = encodeVarintTypes(dAtA, i, uint64(n382)) i-- dAtA[i] = 0x12 - n381, err381 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) - if err381 != nil { - return 0, err381 + n383, err383 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) + if err383 != nil { + return 0, err383 } - i -= n381 - i = encodeVarintTypes(dAtA, i, uint64(n381)) + i -= n383 + i = encodeVarintTypes(dAtA, i, uint64(n383)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -46853,12 +47094,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x30 } - n388, err388 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) - if err388 != nil { - return 0, err388 + n390, err390 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) + if err390 != nil { + return 0, err390 } - i -= n388 - i = encodeVarintTypes(dAtA, i, uint64(n388)) + i -= n390 + i = encodeVarintTypes(dAtA, i, uint64(n390)) i-- dAtA[i] = 0x2a if m.Status != 0 { @@ -46866,12 +47107,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x20 } - n389, err389 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) - if err389 != nil { - return 0, err389 + n391, err391 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) + if err391 != nil { + return 0, err391 } - i -= n389 - i = encodeVarintTypes(dAtA, i, uint64(n389)) + i -= n391 + i = encodeVarintTypes(dAtA, i, uint64(n391)) i-- dAtA[i] = 0x1a if len(m.Targets) > 0 { @@ -57499,6 +57740,41 @@ func (m *AWSICProvisioningSpec) Size() (n int) { return n } +func (m *PluginAWSICStatusV1) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GroupImportStatus != nil { + l = m.GroupImportStatus.Size() + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *AWSICGroupImportStatus) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.StatusCode != 0 { + n += 1 + sovTypes(uint64(m.StatusCode)) + } + l = len(m.ErrorMessage) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *PluginEmailSettings) Size() (n int) { if m == nil { return 0 @@ -57740,6 +58016,18 @@ func (m *PluginStatusV1_Okta) Size() (n int) { } return n } +func (m *PluginStatusV1_AwsIc) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AwsIc != nil { + l = m.AwsIc.Size() + n += 1 + l + sovTypes(uint64(l)) + } + return n +} func (m *PluginGitlabStatusV1) Size() (n int) { if m == nil { return 0 @@ -118575,6 +118863,195 @@ func (m *AWSICProvisioningSpec) Unmarshal(dAtA []byte) error { } return nil } +func (m *PluginAWSICStatusV1) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PluginAWSICStatusV1: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PluginAWSICStatusV1: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupImportStatus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GroupImportStatus == nil { + m.GroupImportStatus = &AWSICGroupImportStatus{} + } + if err := m.GroupImportStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AWSICGroupImportStatus) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AWSICGroupImportStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AWSICGroupImportStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StatusCode", wireType) + } + m.StatusCode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.StatusCode |= AWSICGroupImportStatusCode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *PluginEmailSettings) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -119613,6 +120090,41 @@ func (m *PluginStatusV1) Unmarshal(dAtA []byte) error { } m.Details = &PluginStatusV1_Okta{v} iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AwsIc", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &PluginAWSICStatusV1{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Details = &PluginStatusV1_AwsIc{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) From 6818a0caf1bd4992ee1679208761d4fa6caa25f3 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Fri, 8 Nov 2024 08:39:52 -0500 Subject: [PATCH 06/19] docs: update tsh reference (#48637) --- docs/pages/reference/cli/tsh.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/reference/cli/tsh.mdx b/docs/pages/reference/cli/tsh.mdx index d5f91affbc852..dac5863a853f6 100644 --- a/docs/pages/reference/cli/tsh.mdx +++ b/docs/pages/reference/cli/tsh.mdx @@ -13,7 +13,7 @@ Environment variables configure your tsh client and can help you avoid using fla | Environment Variable | Description | Example Value | | - | - | - | -| TELEPORT_AUTH | Name of a defined SAML, OIDC, or GitHub auth connector (or a local user) | okta | +| TELEPORT_AUTH | Any defined [authentication connector](../access-controls/authentication.mdx), including `passwordless` and `local` (i.e., no authentication connector) | okta | | TELEPORT_MFA_MODE | Preferred mode for MFA and Passwordless assertions | otp | | TELEPORT_CLUSTER | Name of a Teleport root or leaf cluster | cluster.example.com | | TELEPORT_LOGIN | Login name to be used by default on the remote host | root | From 8a615a228203f5b08f592491f365e27d8e84e3b4 Mon Sep 17 00:00:00 2001 From: rosstimothy <39066650+rosstimothy@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:21:26 -0500 Subject: [PATCH 07/19] Remove go-oidc dependency from lib/jwt (#48668) Abstracts the claims extraction via a new IDToken interface instead of importing oidc.IDToken directly. This is being done to reduce the footprint of the outdated go-oidc library in hopes that we can move off our internal and outdated fork. --- lib/jwt/jwt.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/jwt/jwt.go b/lib/jwt/jwt.go index bc21e58953b0a..a0305acf55971 100644 --- a/lib/jwt/jwt.go +++ b/lib/jwt/jwt.go @@ -32,7 +32,6 @@ import ( "strings" "time" - "github.com/coreos/go-oidc" "github.com/go-jose/go-jose/v3" "github.com/go-jose/go-jose/v3/cryptosigner" "github.com/go-jose/go-jose/v3/jwt" @@ -639,11 +638,18 @@ type Claims struct { Traits wrappers.Traits `json:"traits"` } +// IDToken allows introspecting claims from an OpenID Connect +// ID Token. +type IDToken interface { + // Claims unmarshals the raw JSON payload of the ID Token into a provided struct. + Claims(v any) error +} + // CheckNotBefore ensures the token was not issued in the future. // https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5 // 4.1.5. "nbf" (Not Before) Claim // TODO(strideynet): upstream support for `nbf` into the go-oidc lib. -func CheckNotBefore(now time.Time, leeway time.Duration, token *oidc.IDToken) error { +func CheckNotBefore(now time.Time, leeway time.Duration, token IDToken) error { claims := struct { NotBefore *JSONTime `json:"nbf"` }{} From 311e3e8144b60945bac7d987afe5bac3a5ddb866 Mon Sep 17 00:00:00 2001 From: Grzegorz Zdunek Date: Fri, 8 Nov 2024 16:55:14 +0100 Subject: [PATCH 08/19] [v17] Add docs for hardware keys in Connect (#48597) * Add docs for hardware keys in Connect * Optimize the screenshot * Move Hardware key support above Configuration --- .../use-teleport/connect-hardware-keys@2x.png | Bin 0 -> 70712 bytes .../connect-your-client/teleport-connect.mdx | 21 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 docs/img/use-teleport/connect-hardware-keys@2x.png diff --git a/docs/img/use-teleport/connect-hardware-keys@2x.png b/docs/img/use-teleport/connect-hardware-keys@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..70bc870ec09887da56041a076b37ca877a455372 GIT binary patch literal 70712 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 literal 0 HcmV?d00001 diff --git a/docs/pages/connect-your-client/teleport-connect.mdx b/docs/pages/connect-your-client/teleport-connect.mdx index 949034009f609..92d6f48491d71 100644 --- a/docs/pages/connect-your-client/teleport-connect.mdx +++ b/docs/pages/connect-your-client/teleport-connect.mdx @@ -438,6 +438,27 @@ installation directory to the `Path` user environment variable. +## Hardware key support + +Teleport Connect supports authenticating with hardware-based keys. +Keys are generated and stored directly on a hardware device, providing greater security than storing +them on a file system. For more details, see [Hardware Key Support guide](../admin-guides/access-controls/guides/hardware-key-support.mdx). + + + Hardware key support requires users to use a PIV-compatible hardware key. + Currently, this feature is only guaranteed to support YubiKey series 5+. + + +To log in with a hardware key, your role or cluster configuration must enable it. +Once enforced, Teleport Connect will require you to keep the hardware key plugged in and may also prompt for a tap and/or PIV PIN: + +![Logging in with a hardware key](../../img/use-teleport/connect-hardware-keys@2x.png) + +When logging in for the first time, you’ll be prompted to log in again immediately. + +If your key is set to the default PIV PIN, you may be prompted to change it at this step. +Entering a default or empty PIN will open a dialog to update it. + ## Configuration Teleport Connect can be configured by editing the `app_config.json` file, which it creates on first launch. From b739b18b43e4c56b8949eb44c2732f7c14745172 Mon Sep 17 00:00:00 2001 From: Ryan Clark Date: Fri, 8 Nov 2024 16:56:30 +0100 Subject: [PATCH 09/19] [v17] Icons and nav titles for Access Graph navigation (#48661) * Add icons for TAG routes * Use `exact` from the route when matching active state * Add nav titles for TAG routes * Add history library types * Add ACL for discovery configs & access graph integrations access * Add min-height:0; to ensure flex children scroll properly * Restore types and imports for icons story * Fix test, add type definition to help catch in type checking --- package.json | 1 + pnpm-lock.yaml | 3 + web/packages/design/src/Icon/Icons.story.tsx | 4 + web/packages/design/src/Icon/Icons/Crown.tsx | 62 +++ web/packages/design/src/Icon/Icons/Layout.tsx | 67 +++ web/packages/design/src/Icon/Icons/Plugs.tsx | 68 +++ web/packages/design/src/Icon/Icons/Table.tsx | 62 +++ web/packages/design/src/Icon/assets/Crown.svg | 1 + .../design/src/Icon/assets/Layout.svg | 1 + web/packages/design/src/Icon/assets/Plugs.svg | 1 + web/packages/design/src/Icon/assets/Table.svg | 2 + web/packages/design/src/Icon/index.ts | 4 + web/packages/teleport/src/Main/Main.tsx | 1 + .../Navigation/SideNavigation/Navigation.tsx | 2 +- web/packages/teleport/src/mocks/contexts.ts | 1 + .../teleport/src/services/user/makeAcl.ts | 3 + .../teleport/src/services/user/types.ts | 1 + .../teleport/src/services/user/user.test.ts | 460 +++++++++--------- .../teleport/src/stores/storeUserContext.ts | 4 + web/packages/teleport/src/teleportContext.tsx | 12 + web/packages/teleport/src/types.ts | 9 +- 21 files changed, 542 insertions(+), 227 deletions(-) create mode 100644 web/packages/design/src/Icon/Icons/Crown.tsx create mode 100644 web/packages/design/src/Icon/Icons/Layout.tsx create mode 100644 web/packages/design/src/Icon/Icons/Plugs.tsx create mode 100644 web/packages/design/src/Icon/Icons/Table.tsx create mode 100644 web/packages/design/src/Icon/assets/Crown.svg create mode 100644 web/packages/design/src/Icon/assets/Layout.svg create mode 100644 web/packages/design/src/Icon/assets/Plugs.svg create mode 100644 web/packages/design/src/Icon/assets/Table.svg diff --git a/package.json b/package.json index e9a63311eedaf..4f974046b48ef 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.13", + "@types/history": "^4.7.11", "@types/node": "^20.16.10", "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38e99e855f1a2..a6c15eb71f40f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,6 +122,9 @@ importers: '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@10.1.0) + '@types/history': + specifier: ^4.7.11 + version: 4.7.11 '@types/jest': specifier: ^29.5.13 version: 29.5.13 diff --git a/web/packages/design/src/Icon/Icons.story.tsx b/web/packages/design/src/Icon/Icons.story.tsx index 4a792aeec912c..388e996fcbe73 100644 --- a/web/packages/design/src/Icon/Icons.story.tsx +++ b/web/packages/design/src/Icon/Icons.story.tsx @@ -107,6 +107,7 @@ export const Icons = () => ( + @@ -142,6 +143,7 @@ export const Icons = () => ( + @@ -172,6 +174,7 @@ export const Icons = () => ( + @@ -198,6 +201,7 @@ export const Icons = () => ( + diff --git a/web/packages/design/src/Icon/Icons/Crown.tsx b/web/packages/design/src/Icon/Icons/Crown.tsx new file mode 100644 index 0000000000000..8b00c37fa6e35 --- /dev/null +++ b/web/packages/design/src/Icon/Icons/Crown.tsx @@ -0,0 +1,62 @@ +/** + * Teleport + * Copyright (C) 2023 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/* MIT License + +Copyright (c) 2020 Phosphor Icons + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +import React from 'react'; + +import { Icon, IconProps } from '../Icon'; + +/* + +THIS FILE IS GENERATED. DO NOT EDIT. + +*/ + +export function Crown({ size = 24, color, ...otherProps }: IconProps) { + return ( + + + + ); +} diff --git a/web/packages/design/src/Icon/Icons/Layout.tsx b/web/packages/design/src/Icon/Icons/Layout.tsx new file mode 100644 index 0000000000000..5de7721ff412c --- /dev/null +++ b/web/packages/design/src/Icon/Icons/Layout.tsx @@ -0,0 +1,67 @@ +/** + * Teleport + * Copyright (C) 2023 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/* MIT License + +Copyright (c) 2020 Phosphor Icons + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +import React from 'react'; + +import { Icon, IconProps } from '../Icon'; + +/* + +THIS FILE IS GENERATED. DO NOT EDIT. + +*/ + +export function Layout({ size = 24, color, ...otherProps }: IconProps) { + return ( + + + + ); +} diff --git a/web/packages/design/src/Icon/Icons/Plugs.tsx b/web/packages/design/src/Icon/Icons/Plugs.tsx new file mode 100644 index 0000000000000..09cf4a4851605 --- /dev/null +++ b/web/packages/design/src/Icon/Icons/Plugs.tsx @@ -0,0 +1,68 @@ +/** + * Teleport + * Copyright (C) 2023 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/* MIT License + +Copyright (c) 2020 Phosphor Icons + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +import React from 'react'; + +import { Icon, IconProps } from '../Icon'; + +/* + +THIS FILE IS GENERATED. DO NOT EDIT. + +*/ + +export function Plugs({ size = 24, color, ...otherProps }: IconProps) { + return ( + + + + + ); +} diff --git a/web/packages/design/src/Icon/Icons/Table.tsx b/web/packages/design/src/Icon/Icons/Table.tsx new file mode 100644 index 0000000000000..11db553f5274c --- /dev/null +++ b/web/packages/design/src/Icon/Icons/Table.tsx @@ -0,0 +1,62 @@ +/** + * Teleport + * Copyright (C) 2023 Gravitational, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/* MIT License + +Copyright (c) 2020 Phosphor Icons + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +import React from 'react'; + +import { Icon, IconProps } from '../Icon'; + +/* + +THIS FILE IS GENERATED. DO NOT EDIT. + +*/ + +export function Table({ size = 24, color, ...otherProps }: IconProps) { + return ( + + + + ); +} diff --git a/web/packages/design/src/Icon/assets/Crown.svg b/web/packages/design/src/Icon/assets/Crown.svg new file mode 100644 index 0000000000000..a724783fd16b0 --- /dev/null +++ b/web/packages/design/src/Icon/assets/Crown.svg @@ -0,0 +1 @@ + diff --git a/web/packages/design/src/Icon/assets/Layout.svg b/web/packages/design/src/Icon/assets/Layout.svg new file mode 100644 index 0000000000000..96d78c2980341 --- /dev/null +++ b/web/packages/design/src/Icon/assets/Layout.svg @@ -0,0 +1 @@ + diff --git a/web/packages/design/src/Icon/assets/Plugs.svg b/web/packages/design/src/Icon/assets/Plugs.svg new file mode 100644 index 0000000000000..d797e7c954097 --- /dev/null +++ b/web/packages/design/src/Icon/assets/Plugs.svg @@ -0,0 +1 @@ + diff --git a/web/packages/design/src/Icon/assets/Table.svg b/web/packages/design/src/Icon/assets/Table.svg new file mode 100644 index 0000000000000..265ba9ed60647 --- /dev/null +++ b/web/packages/design/src/Icon/assets/Table.svg @@ -0,0 +1,2 @@ + diff --git a/web/packages/design/src/Icon/index.ts b/web/packages/design/src/Icon/index.ts index 6e24c134497db..6942c618d7fa5 100644 --- a/web/packages/design/src/Icon/index.ts +++ b/web/packages/design/src/Icon/index.ts @@ -93,6 +93,7 @@ export { Contract } from './Icons/Contract'; export { Copy } from './Icons/Copy'; export { CreditCard } from './Icons/CreditCard'; export { Cross } from './Icons/Cross'; +export { Crown } from './Icons/Crown'; export { Database } from './Icons/Database'; export { Desktop } from './Icons/Desktop'; export { DeviceMobileCamera } from './Icons/DeviceMobileCamera'; @@ -128,6 +129,7 @@ export { Kubernetes } from './Icons/Kubernetes'; export { Label } from './Icons/Label'; export { Lan } from './Icons/Lan'; export { Laptop } from './Icons/Laptop'; +export { Layout } from './Icons/Layout'; export { License } from './Icons/License'; export { LineSegment } from './Icons/LineSegment'; export { LineSegments } from './Icons/LineSegments'; @@ -158,6 +160,7 @@ export { PaperPlane } from './Icons/PaperPlane'; export { Password } from './Icons/Password'; export { Pencil } from './Icons/Pencil'; export { Planet } from './Icons/Planet'; +export { Plugs } from './Icons/Plugs'; export { PlugsConnected } from './Icons/PlugsConnected'; export { Plus } from './Icons/Plus'; export { PowerSwitch } from './Icons/PowerSwitch'; @@ -184,6 +187,7 @@ export { SquaresFour } from './Icons/SquaresFour'; export { Stars } from './Icons/Stars'; export { Sun } from './Icons/Sun'; export { SyncAlt } from './Icons/SyncAlt'; +export { Table } from './Icons/Table'; export { Tablet } from './Icons/Tablet'; export { Tags } from './Icons/Tags'; export { Terminal } from './Icons/Terminal'; diff --git a/web/packages/teleport/src/Main/Main.tsx b/web/packages/teleport/src/Main/Main.tsx index 7838bb430ccc2..8bdf8943a67f7 100644 --- a/web/packages/teleport/src/Main/Main.tsx +++ b/web/packages/teleport/src/Main/Main.tsx @@ -339,6 +339,7 @@ export const ContentMinWidth = ({ children }: { children: ReactNode }) => { flex-direction: column; flex: 1; ${enforceMinWidth ? 'min-width: 1000px;' : ''} + min-height: 0; `} > {children} diff --git a/web/packages/teleport/src/Navigation/SideNavigation/Navigation.tsx b/web/packages/teleport/src/Navigation/SideNavigation/Navigation.tsx index 9ba01936767d4..84be28f8192f9 100644 --- a/web/packages/teleport/src/Navigation/SideNavigation/Navigation.tsx +++ b/web/packages/teleport/src/Navigation/SideNavigation/Navigation.tsx @@ -177,7 +177,7 @@ function getNavSubsectionForRoute( .find(feature => matchPath(route.pathname, { path: feature.route.path, - exact: false, + exact: feature.route.exact, }) ); diff --git a/web/packages/teleport/src/mocks/contexts.ts b/web/packages/teleport/src/mocks/contexts.ts index 731ed4b55868b..bf2581de1763e 100644 --- a/web/packages/teleport/src/mocks/contexts.ts +++ b/web/packages/teleport/src/mocks/contexts.ts @@ -73,6 +73,7 @@ export const allAccessAcl: Acl = { accessGraph: fullAccess, bots: fullAccess, accessMonitoringRule: fullAccess, + discoverConfigs: fullAccess, }; export function getAcl(cfg?: { noAccess: boolean }) { diff --git a/web/packages/teleport/src/services/user/makeAcl.ts b/web/packages/teleport/src/services/user/makeAcl.ts index ae7e7c999ae77..57c5fd99615c7 100644 --- a/web/packages/teleport/src/services/user/makeAcl.ts +++ b/web/packages/teleport/src/services/user/makeAcl.ts @@ -72,6 +72,8 @@ export function makeAcl(json): Acl { const bots = json.bots || defaultAccess; const accessMonitoringRule = json.accessMonitoringRule || defaultAccess; + const discoverConfigs = json.discoverConfigs || defaultAccess; + return { accessList, authConnectors, @@ -107,6 +109,7 @@ export function makeAcl(json): Acl { accessGraph, bots, accessMonitoringRule, + discoverConfigs, }; } diff --git a/web/packages/teleport/src/services/user/types.ts b/web/packages/teleport/src/services/user/types.ts index 150a44cf40b1c..e2a5484648eb5 100644 --- a/web/packages/teleport/src/services/user/types.ts +++ b/web/packages/teleport/src/services/user/types.ts @@ -92,6 +92,7 @@ export interface Acl { connectionDiagnostic: Access; license: Access; download: Access; + discoverConfigs: Access; plugins: Access; integrations: AccessWithUse; deviceTrust: Access; diff --git a/web/packages/teleport/src/services/user/user.test.ts b/web/packages/teleport/src/services/user/user.test.ts index 7b65e467e6a0c..53c6d26d0a04e 100644 --- a/web/packages/teleport/src/services/user/user.test.ts +++ b/web/packages/teleport/src/services/user/user.test.ts @@ -21,7 +21,7 @@ import cfg from 'teleport/config'; import user from './user'; import { makeTraits } from './makeUser'; -import { ExcludeUserField, PasswordState, User } from './types'; +import { Acl, ExcludeUserField, PasswordState, User } from './types'; test('undefined values in context response gives proper default values', async () => { const mockContext = { @@ -49,233 +49,243 @@ test('undefined values in context response gives proper default values', async ( jest.spyOn(api, 'get').mockResolvedValue(mockContext); const response = await user.fetchUserContext(false); + + const acl: Acl = { + accessList: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + accessMonitoringRule: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + authConnectors: { + list: true, + read: true, + edit: true, + create: true, + remove: true, + }, + // Test that undefined acl booleans are set to default false. + trustedClusters: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + nodes: { + create: false, + edit: false, + list: false, + read: false, + remove: false, + }, + plugins: { + create: false, + edit: false, + list: false, + read: false, + remove: false, + }, + integrations: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + use: false, + }, + roles: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + lock: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + recordedSessions: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + desktops: { + create: false, + edit: false, + list: false, + read: false, + remove: false, + }, + events: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + externalAuditStorage: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + users: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + activeSessions: { + create: false, + edit: false, + list: false, + read: false, + remove: false, + }, + appServers: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + kubeServers: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + license: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + download: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + tokens: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + accessRequests: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + billing: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + dbServers: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + db: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + connectionDiagnostic: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + deviceTrust: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + samlIdpServiceProvider: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + auditQuery: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + securityReport: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + accessGraph: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + discoverConfigs: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + bots: { + list: false, + read: false, + edit: false, + create: false, + remove: false, + }, + clipboardSharingEnabled: true, + desktopSessionRecordingEnabled: true, + directorySharingEnabled: true, + }; + expect(response).toEqual({ username: 'foo', authType: 'local', - acl: { - accessList: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - accessMonitoringRule: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - authConnectors: { - list: true, - read: true, - edit: true, - create: true, - remove: true, - }, - // Test that undefined acl booleans are set to default false. - trustedClusters: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - nodes: { - create: false, - edit: false, - list: false, - read: false, - remove: false, - }, - plugins: { - create: false, - edit: false, - list: false, - read: false, - remove: false, - }, - integrations: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - use: false, - }, - roles: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - lock: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - recordedSessions: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - desktops: { - create: false, - edit: false, - list: false, - read: false, - remove: false, - }, - events: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - externalAuditStorage: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - users: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - activeSessions: { - create: false, - edit: false, - list: false, - read: false, - remove: false, - }, - appServers: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - kubeServers: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - license: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - download: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - tokens: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - accessRequests: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - billing: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - dbServers: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - db: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - connectionDiagnostic: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - deviceTrust: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - samlIdpServiceProvider: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - auditQuery: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - securityReport: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - accessGraph: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - bots: { - list: false, - read: false, - edit: false, - create: false, - remove: false, - }, - clipboardSharingEnabled: true, - desktopSessionRecordingEnabled: true, - directorySharingEnabled: true, - }, + acl, cluster: { clusterId: 'aws', lastConnected: new Date('2020-09-26T17:30:23.512Z'), diff --git a/web/packages/teleport/src/stores/storeUserContext.ts b/web/packages/teleport/src/stores/storeUserContext.ts index bc054fa2e3df9..23c075a681607 100644 --- a/web/packages/teleport/src/stores/storeUserContext.ts +++ b/web/packages/teleport/src/stores/storeUserContext.ts @@ -208,6 +208,10 @@ export default class StoreUserContext extends Store { ); } + getDiscoveryConfigAccess() { + return this.state.acl.discoverConfigs; + } + getPluginsAccess() { return this.state.acl.plugins; } diff --git a/web/packages/teleport/src/teleportContext.tsx b/web/packages/teleport/src/teleportContext.tsx index acf5b01ab39c9..535e559d4d0d8 100644 --- a/web/packages/teleport/src/teleportContext.tsx +++ b/web/packages/teleport/src/teleportContext.tsx @@ -181,6 +181,16 @@ class TeleportContext implements types.Context { ); } + function hasAccessGraphIntegrationsAccess() { + return ( + userContext.getIntegrationsAccess().list && + userContext.getIntegrationsAccess().read && + userContext.getPluginsAccess().read && + userContext.getDiscoveryConfigAccess().list && + userContext.getDiscoveryConfigAccess().read + ); + } + return { audit: userContext.getEventAccess().list, recordings: userContext.getSessionsAccess().list, @@ -224,6 +234,7 @@ class TeleportContext implements types.Context { accessMonitoring: hasAccessMonitoringAccess(), managementSection: hasManagementSectionAccess(), accessGraph: userContext.getAccessGraphAccess().list, + accessGraphIntegrations: hasAccessGraphIntegrationsAccess(), tokens: userContext.getTokenAccess().create, externalAuditStorage: userContext.getExternalAuditStorageAccess().list, listBots: userContext.getBotsAccess().list, @@ -264,6 +275,7 @@ export const disabledFeatureFlags: types.FeatureFlags = { managementSection: false, accessMonitoring: false, accessGraph: false, + accessGraphIntegrations: false, externalAuditStorage: false, addBots: false, listBots: false, diff --git a/web/packages/teleport/src/types.ts b/web/packages/teleport/src/types.ts index 2c3620e6d86b7..356dc95027ee1 100644 --- a/web/packages/teleport/src/types.ts +++ b/web/packages/teleport/src/types.ts @@ -81,7 +81,13 @@ export enum NavTitle { // Resources Requests NewRequest = 'New Request', ReviewRequests = 'Review Requests', - AccessGraph = 'Access Graph', + + // Access Graph + AccessGraphDashboard = 'Dashboard', + AccessGraphBrowse = 'Browse', + AccessGraphCrownJewels = 'Crown Jewels', + AccessGraphGraphExplorer = 'Graph Explorer', + AccessGraphSQLEditor = 'SQL Editor', // Activity SessionRecordings = 'Session Recordings', @@ -194,6 +200,7 @@ export interface FeatureFlags { // Whether or not the management section should be available. managementSection: boolean; accessGraph: boolean; + accessGraphIntegrations: boolean; externalAuditStorage: boolean; listBots: boolean; addBots: boolean; From eb6daa0d7bf80e0d67604ae0771334c82d7b3f83 Mon Sep 17 00:00:00 2001 From: Ryan Clark Date: Fri, 8 Nov 2024 16:57:29 +0100 Subject: [PATCH 10/19] Fix the icon story generation template (#48659) --- .../design/src/Icon/script/StoryTemplate.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/web/packages/design/src/Icon/script/StoryTemplate.txt b/web/packages/design/src/Icon/script/StoryTemplate.txt index 1566b54266c9d..895fc4dab3d6e 100644 --- a/web/packages/design/src/Icon/script/StoryTemplate.txt +++ b/web/packages/design/src/Icon/script/StoryTemplate.txt @@ -16,12 +16,14 @@ * along with this program. If not, see . */ -import React from 'react'; +import { ComponentType } from 'react'; import { Text } from '..'; import Flex from './../Flex'; +import { IconProps } from './Icon'; + import * as Icon from '.'; export default { @@ -40,7 +42,13 @@ export const Icons = () => ( ); -const IconBox = ({ IconCmpt, text }) => ( +const IconBox = ({ + IconCmpt, + text, +}: { + IconCmpt: ComponentType; + text: string; +}) => ( {text} From 7ce2d3c044b1ef613bfee2abc1943e038cca4a6e Mon Sep 17 00:00:00 2001 From: Noah Stride Date: Fri, 8 Nov 2024 16:49:49 +0000 Subject: [PATCH 11/19] [v17] Machine ID: Document `TBOT_USE_PROXY_ADDR` (#48672) * Document `TBOT_USE_PROXY_ADDR` * "1" -> "yes" --- .../machine-id/troubleshooting.mdx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/pages/enroll-resources/machine-id/troubleshooting.mdx b/docs/pages/enroll-resources/machine-id/troubleshooting.mdx index c51225c3cb4b7..ede717d90962c 100644 --- a/docs/pages/enroll-resources/machine-id/troubleshooting.mdx +++ b/docs/pages/enroll-resources/machine-id/troubleshooting.mdx @@ -320,3 +320,18 @@ outputs: Failure to add the `disable_exec_plugin` flag will result in a warning being displayed: `Destination kubernetes_secret: identity-output must be a directory in exec plugin mode`. + +## Configuring `tbot` for split DNS proxies + +When you have deployed your Proxy Service in such a way that it is +accessible via two different DNS names, e.g an internal and external address, +you may find that a `tbot` that is configured to use one of these addresses may +attempt to use the other address and that this may cause connections to fail. + +This is because `tbot` queries an auto-configuration endpoint exposed by the +Proxy Service to determine the canonical address to use when connecting. + +To fix this, set a variable of `TBOT_USE_PROXY_ADDR=yes` in the environment of the +`tbot` process. This configures `tbot` to prefer using the address that you have +explicitly provided. This only functions correctly in cases where TLS +routing/multiplexing is enabled for the Teleport cluster. From 46ae7eba85a74885f033288aac7749a2e0d4d244 Mon Sep 17 00:00:00 2001 From: Edward Dowling Date: Fri, 8 Nov 2024 16:59:27 +0000 Subject: [PATCH 12/19] [v17] Add proto definitions and plugin spec Microsoft Teams no code integration (#48584) * Add proto definitions and plugin spec Microsoft Teams no code integration (#46640) * Add proto definitions for MsTeams no code integration * Update event handler go sum --- api/proto/teleport/legacy/types/types.proto | 17 + api/types/plugin.go | 4 + api/types/types.pb.go | 4527 +++++++++-------- .../access_monitoring_rules.go | 23 +- integrations/access/common/recipient.go | 9 + integrations/access/msteams/app.go | 49 +- integrations/access/msteams/bot.go | 34 +- integrations/access/msteams/config.go | 18 +- integrations/access/msteams/configure.go | 107 +- integrations/access/msteams/msapi/config.go | 3 +- .../access/msteams/testlib/helpers.go | 2 +- integrations/access/msteams/testlib/suite.go | 1 + integrations/access/msteams/validate.go | 2 +- integrations/event-handler/go.sum | 2 + integrations/terraform/go.sum | 2 + lib/web/apiserver.go | 3 + lib/web/integrations.go | 34 + web/packages/shared/utils/saveOnDisk.ts | 8 +- .../src/Integrations/IntegrationList.tsx | 25 + web/packages/teleport/src/config.ts | 7 + .../src/services/integrations/types.ts | 11 +- 21 files changed, 2774 insertions(+), 2114 deletions(-) diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 5e8a2632df6d1..71dfd49dabe7f 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -6257,6 +6257,8 @@ message PluginSpecV1 { PluginAWSICSettings aws_ic = 16; // Settings for the Email Access Request plugin PluginEmailSettings email = 17; + // Settings for the Microsoft Teams plugin + PluginMSTeamsSettings msteams = 18; } // generation contains a unique ID that should: @@ -6663,6 +6665,21 @@ message SMTPSpec { string start_tls_policy = 3; } +// PluginMSTeamsSettings defines the settings for a Microsoft Teams integration plugin +message PluginMSTeamsSettings { + option (gogoproto.equal) = true; + // AppId is the Microsoft application ID (uuid, for Azure bots must be underlying app id, not bot's id). + string app_id = 1; + // TenantId is the Microsoft tenant ID. + string tenant_id = 2; + // TeamsAppId is the Microsoft teams application ID. + string teams_app_id = 3; + // Region to be used by the Microsoft Graph API client. + string region = 4; + // DefaultRecipient is the default recipient to use if no access monitoring rules are specified. + string default_recipient = 5; +} + message PluginBootstrapCredentialsV1 { oneof credentials { PluginOAuth2AuthorizationCodeCredentials oauth2_authorization_code = 1; diff --git a/api/types/plugin.go b/api/types/plugin.go index 7e2bbd7a7350b..ee946c9615979 100644 --- a/api/types/plugin.go +++ b/api/types/plugin.go @@ -81,6 +81,8 @@ const ( PluginTypeAWSIdentityCenter = "aws-identity-center" // PluginTypeEmail indicates an Email Access Request plugin PluginTypeEmail = "email" + // PluginTypeMSTeams indicates a Microsoft Teams integration + PluginTypeMSTeams = "msteams" ) // PluginSubkind represents the type of the plugin, e.g., access request, MDM etc. @@ -542,6 +544,8 @@ func (p *PluginV1) GetType() PluginType { return PluginTypeAWSIdentityCenter case *PluginSpecV1_Email: return PluginTypeEmail + case *PluginSpecV1_Msteams: + return PluginTypeMSTeams default: return PluginTypeUnknown } diff --git a/api/types/types.pb.go b/api/types/types.pb.go index e69e995efeefb..956f861e41bb6 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -1261,7 +1261,7 @@ func (x OktaAssignmentSpecV1_OktaAssignmentStatus) String() string { } func (OktaAssignmentSpecV1_OktaAssignmentStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{332, 0} + return fileDescriptor_9198ee693835762e, []int{333, 0} } // OktaAssignmentTargetType is the type of Okta object that an assignment is targeting. @@ -1293,7 +1293,7 @@ func (x OktaAssignmentTargetV1_OktaAssignmentTargetType) String() string { } func (OktaAssignmentTargetV1_OktaAssignmentTargetType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{333, 0} + return fileDescriptor_9198ee693835762e, []int{334, 0} } type KeepAlive struct { @@ -15659,6 +15659,7 @@ type PluginSpecV1 struct { // *PluginSpecV1_Datadog // *PluginSpecV1_AwsIc // *PluginSpecV1_Email + // *PluginSpecV1_Msteams Settings isPluginSpecV1_Settings `protobuf_oneof:"settings"` // generation contains a unique ID that should: // - Be created by the backend on plugin creation. @@ -15759,6 +15760,9 @@ type PluginSpecV1_AwsIc struct { type PluginSpecV1_Email struct { Email *PluginEmailSettings `protobuf:"bytes,17,opt,name=email,proto3,oneof" json:"email,omitempty"` } +type PluginSpecV1_Msteams struct { + Msteams *PluginMSTeamsSettings `protobuf:"bytes,18,opt,name=msteams,proto3,oneof" json:"msteams,omitempty"` +} func (*PluginSpecV1_SlackAccessPlugin) isPluginSpecV1_Settings() {} func (*PluginSpecV1_Opsgenie) isPluginSpecV1_Settings() {} @@ -15776,6 +15780,7 @@ func (*PluginSpecV1_Scim) isPluginSpecV1_Settings() {} func (*PluginSpecV1_Datadog) isPluginSpecV1_Settings() {} func (*PluginSpecV1_AwsIc) isPluginSpecV1_Settings() {} func (*PluginSpecV1_Email) isPluginSpecV1_Settings() {} +func (*PluginSpecV1_Msteams) isPluginSpecV1_Settings() {} func (m *PluginSpecV1) GetSettings() isPluginSpecV1_Settings { if m != nil { @@ -15896,6 +15901,13 @@ func (m *PluginSpecV1) GetEmail() *PluginEmailSettings { return nil } +func (m *PluginSpecV1) GetMsteams() *PluginMSTeamsSettings { + if x, ok := m.GetSettings().(*PluginSpecV1_Msteams); ok { + return x.Msteams + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*PluginSpecV1) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -15915,6 +15927,7 @@ func (*PluginSpecV1) XXX_OneofWrappers() []interface{} { (*PluginSpecV1_Datadog)(nil), (*PluginSpecV1_AwsIc)(nil), (*PluginSpecV1_Email)(nil), + (*PluginSpecV1_Msteams)(nil), } } @@ -17238,6 +17251,56 @@ func (m *SMTPSpec) XXX_DiscardUnknown() { var xxx_messageInfo_SMTPSpec proto.InternalMessageInfo +// PluginMSTeamsSettings defines the settings for a Microsoft Teams integration plugin +type PluginMSTeamsSettings struct { + // AppId is the Microsoft application ID (uuid, for Azure bots must be underlying app id, not bot's id). + AppId string `protobuf:"bytes,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + // TenantId is the Microsoft tenant ID. + TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // TeamsAppId is the Microsoft teams application ID. + TeamsAppId string `protobuf:"bytes,3,opt,name=teams_app_id,json=teamsAppId,proto3" json:"teams_app_id,omitempty"` + // Region to be used by the Microsoft Graph API client. + Region string `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"` + // DefaultRecipient is the default recipient to use if no access monitoring rules are specified. + DefaultRecipient string `protobuf:"bytes,5,opt,name=default_recipient,json=defaultRecipient,proto3" json:"default_recipient,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PluginMSTeamsSettings) Reset() { *m = PluginMSTeamsSettings{} } +func (m *PluginMSTeamsSettings) String() string { return proto.CompactTextString(m) } +func (*PluginMSTeamsSettings) ProtoMessage() {} +func (*PluginMSTeamsSettings) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{292} +} +func (m *PluginMSTeamsSettings) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PluginMSTeamsSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PluginMSTeamsSettings.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PluginMSTeamsSettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_PluginMSTeamsSettings.Merge(m, src) +} +func (m *PluginMSTeamsSettings) XXX_Size() int { + return m.Size() +} +func (m *PluginMSTeamsSettings) XXX_DiscardUnknown() { + xxx_messageInfo_PluginMSTeamsSettings.DiscardUnknown(m) +} + +var xxx_messageInfo_PluginMSTeamsSettings proto.InternalMessageInfo + type PluginBootstrapCredentialsV1 struct { // Types that are valid to be assigned to Credentials: // @@ -17254,7 +17317,7 @@ func (m *PluginBootstrapCredentialsV1) Reset() { *m = PluginBootstrapCre func (m *PluginBootstrapCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginBootstrapCredentialsV1) ProtoMessage() {} func (*PluginBootstrapCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{292} + return fileDescriptor_9198ee693835762e, []int{293} } func (m *PluginBootstrapCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17354,7 +17417,7 @@ func (m *PluginIdSecretCredential) Reset() { *m = PluginIdSecretCredenti func (m *PluginIdSecretCredential) String() string { return proto.CompactTextString(m) } func (*PluginIdSecretCredential) ProtoMessage() {} func (*PluginIdSecretCredential) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{293} + return fileDescriptor_9198ee693835762e, []int{294} } func (m *PluginIdSecretCredential) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17397,7 +17460,7 @@ func (m *PluginOAuth2AuthorizationCodeCredentials) Reset() { func (m *PluginOAuth2AuthorizationCodeCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AuthorizationCodeCredentials) ProtoMessage() {} func (*PluginOAuth2AuthorizationCodeCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{294} + return fileDescriptor_9198ee693835762e, []int{295} } func (m *PluginOAuth2AuthorizationCodeCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17456,7 +17519,7 @@ func (m *PluginStatusV1) Reset() { *m = PluginStatusV1{} } func (m *PluginStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginStatusV1) ProtoMessage() {} func (*PluginStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{295} + return fileDescriptor_9198ee693835762e, []int{296} } func (m *PluginStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17571,7 +17634,7 @@ func (m *PluginGitlabStatusV1) Reset() { *m = PluginGitlabStatusV1{} } func (m *PluginGitlabStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginGitlabStatusV1) ProtoMessage() {} func (*PluginGitlabStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{296} + return fileDescriptor_9198ee693835762e, []int{297} } func (m *PluginGitlabStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17615,7 +17678,7 @@ func (m *PluginEntraIDStatusV1) Reset() { *m = PluginEntraIDStatusV1{} } func (m *PluginEntraIDStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginEntraIDStatusV1) ProtoMessage() {} func (*PluginEntraIDStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{297} + return fileDescriptor_9198ee693835762e, []int{298} } func (m *PluginEntraIDStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17669,7 +17732,7 @@ func (m *PluginOktaStatusV1) Reset() { *m = PluginOktaStatusV1{} } func (m *PluginOktaStatusV1) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusV1) ProtoMessage() {} func (*PluginOktaStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{298} + return fileDescriptor_9198ee693835762e, []int{299} } func (m *PluginOktaStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17717,7 +17780,7 @@ func (m *PluginOktaStatusDetailsSSO) Reset() { *m = PluginOktaStatusDeta func (m *PluginOktaStatusDetailsSSO) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSSO) ProtoMessage() {} func (*PluginOktaStatusDetailsSSO) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{299} + return fileDescriptor_9198ee693835762e, []int{300} } func (m *PluginOktaStatusDetailsSSO) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17774,7 +17837,7 @@ func (m *PluginOktaStatusDetailsAppGroupSync) Reset() { *m = PluginOktaS func (m *PluginOktaStatusDetailsAppGroupSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAppGroupSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAppGroupSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{300} + return fileDescriptor_9198ee693835762e, []int{301} } func (m *PluginOktaStatusDetailsAppGroupSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17828,7 +17891,7 @@ func (m *PluginOktaStatusDetailsUsersSync) Reset() { *m = PluginOktaStat func (m *PluginOktaStatusDetailsUsersSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsUsersSync) ProtoMessage() {} func (*PluginOktaStatusDetailsUsersSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{301} + return fileDescriptor_9198ee693835762e, []int{302} } func (m *PluginOktaStatusDetailsUsersSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17871,7 +17934,7 @@ func (m *PluginOktaStatusDetailsSCIM) Reset() { *m = PluginOktaStatusDet func (m *PluginOktaStatusDetailsSCIM) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsSCIM) ProtoMessage() {} func (*PluginOktaStatusDetailsSCIM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{302} + return fileDescriptor_9198ee693835762e, []int{303} } func (m *PluginOktaStatusDetailsSCIM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17933,7 +17996,7 @@ func (m *PluginOktaStatusDetailsAccessListsSync) Reset() { func (m *PluginOktaStatusDetailsAccessListsSync) String() string { return proto.CompactTextString(m) } func (*PluginOktaStatusDetailsAccessListsSync) ProtoMessage() {} func (*PluginOktaStatusDetailsAccessListsSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{303} + return fileDescriptor_9198ee693835762e, []int{304} } func (m *PluginOktaStatusDetailsAccessListsSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -17981,7 +18044,7 @@ func (m *PluginCredentialsV1) Reset() { *m = PluginCredentialsV1{} } func (m *PluginCredentialsV1) String() string { return proto.CompactTextString(m) } func (*PluginCredentialsV1) ProtoMessage() {} func (*PluginCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{304} + return fileDescriptor_9198ee693835762e, []int{305} } func (m *PluginCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18092,7 +18155,7 @@ func (m *PluginOAuth2AccessTokenCredentials) Reset() { *m = PluginOAuth2 func (m *PluginOAuth2AccessTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginOAuth2AccessTokenCredentials) ProtoMessage() {} func (*PluginOAuth2AccessTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{305} + return fileDescriptor_9198ee693835762e, []int{306} } func (m *PluginOAuth2AccessTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18133,7 +18196,7 @@ func (m *PluginBearerTokenCredentials) Reset() { *m = PluginBearerTokenC func (m *PluginBearerTokenCredentials) String() string { return proto.CompactTextString(m) } func (*PluginBearerTokenCredentials) ProtoMessage() {} func (*PluginBearerTokenCredentials) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{306} + return fileDescriptor_9198ee693835762e, []int{307} } func (m *PluginBearerTokenCredentials) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18175,7 +18238,7 @@ func (m *PluginStaticCredentialsRef) Reset() { *m = PluginStaticCredenti func (m *PluginStaticCredentialsRef) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsRef) ProtoMessage() {} func (*PluginStaticCredentialsRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{307} + return fileDescriptor_9198ee693835762e, []int{308} } func (m *PluginStaticCredentialsRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18217,7 +18280,7 @@ func (m *PluginListV1) Reset() { *m = PluginListV1{} } func (m *PluginListV1) String() string { return proto.CompactTextString(m) } func (*PluginListV1) ProtoMessage() {} func (*PluginListV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{308} + return fileDescriptor_9198ee693835762e, []int{309} } func (m *PluginListV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18260,7 +18323,7 @@ type PluginStaticCredentialsV1 struct { func (m *PluginStaticCredentialsV1) Reset() { *m = PluginStaticCredentialsV1{} } func (*PluginStaticCredentialsV1) ProtoMessage() {} func (*PluginStaticCredentialsV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{309} + return fileDescriptor_9198ee693835762e, []int{310} } func (m *PluginStaticCredentialsV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18306,7 +18369,7 @@ func (m *PluginStaticCredentialsSpecV1) Reset() { *m = PluginStaticCrede func (m *PluginStaticCredentialsSpecV1) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsSpecV1) ProtoMessage() {} func (*PluginStaticCredentialsSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{310} + return fileDescriptor_9198ee693835762e, []int{311} } func (m *PluginStaticCredentialsSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18408,7 +18471,7 @@ func (m *PluginStaticCredentialsBasicAuth) Reset() { *m = PluginStaticCr func (m *PluginStaticCredentialsBasicAuth) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsBasicAuth) ProtoMessage() {} func (*PluginStaticCredentialsBasicAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{311} + return fileDescriptor_9198ee693835762e, []int{312} } func (m *PluginStaticCredentialsBasicAuth) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18454,7 +18517,7 @@ func (m *PluginStaticCredentialsOAuthClientSecret) Reset() { func (m *PluginStaticCredentialsOAuthClientSecret) String() string { return proto.CompactTextString(m) } func (*PluginStaticCredentialsOAuthClientSecret) ProtoMessage() {} func (*PluginStaticCredentialsOAuthClientSecret) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{312} + return fileDescriptor_9198ee693835762e, []int{313} } func (m *PluginStaticCredentialsOAuthClientSecret) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18497,7 +18560,7 @@ type SAMLIdPServiceProviderV1 struct { func (m *SAMLIdPServiceProviderV1) Reset() { *m = SAMLIdPServiceProviderV1{} } func (*SAMLIdPServiceProviderV1) ProtoMessage() {} func (*SAMLIdPServiceProviderV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{313} + return fileDescriptor_9198ee693835762e, []int{314} } func (m *SAMLIdPServiceProviderV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18568,7 +18631,7 @@ func (m *SAMLIdPServiceProviderSpecV1) Reset() { *m = SAMLIdPServiceProv func (m *SAMLIdPServiceProviderSpecV1) String() string { return proto.CompactTextString(m) } func (*SAMLIdPServiceProviderSpecV1) ProtoMessage() {} func (*SAMLIdPServiceProviderSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{314} + return fileDescriptor_9198ee693835762e, []int{315} } func (m *SAMLIdPServiceProviderSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18615,7 +18678,7 @@ func (m *SAMLAttributeMapping) Reset() { *m = SAMLAttributeMapping{} } func (m *SAMLAttributeMapping) String() string { return proto.CompactTextString(m) } func (*SAMLAttributeMapping) ProtoMessage() {} func (*SAMLAttributeMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{315} + return fileDescriptor_9198ee693835762e, []int{316} } func (m *SAMLAttributeMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18657,7 +18720,7 @@ func (m *IdPOptions) Reset() { *m = IdPOptions{} } func (m *IdPOptions) String() string { return proto.CompactTextString(m) } func (*IdPOptions) ProtoMessage() {} func (*IdPOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{316} + return fileDescriptor_9198ee693835762e, []int{317} } func (m *IdPOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18699,7 +18762,7 @@ func (m *IdPSAMLOptions) Reset() { *m = IdPSAMLOptions{} } func (m *IdPSAMLOptions) String() string { return proto.CompactTextString(m) } func (*IdPSAMLOptions) ProtoMessage() {} func (*IdPSAMLOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{317} + return fileDescriptor_9198ee693835762e, []int{318} } func (m *IdPSAMLOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18749,7 +18812,7 @@ func (m *KubernetesResourceV1) Reset() { *m = KubernetesResourceV1{} } func (m *KubernetesResourceV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceV1) ProtoMessage() {} func (*KubernetesResourceV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{318} + return fileDescriptor_9198ee693835762e, []int{319} } func (m *KubernetesResourceV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18791,7 +18854,7 @@ func (m *KubernetesResourceSpecV1) Reset() { *m = KubernetesResourceSpec func (m *KubernetesResourceSpecV1) String() string { return proto.CompactTextString(m) } func (*KubernetesResourceSpecV1) ProtoMessage() {} func (*KubernetesResourceSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{319} + return fileDescriptor_9198ee693835762e, []int{320} } func (m *KubernetesResourceSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18837,7 +18900,7 @@ func (m *ClusterMaintenanceConfigV1) Reset() { *m = ClusterMaintenanceCo func (m *ClusterMaintenanceConfigV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigV1) ProtoMessage() {} func (*ClusterMaintenanceConfigV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{320} + return fileDescriptor_9198ee693835762e, []int{321} } func (m *ClusterMaintenanceConfigV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18879,7 +18942,7 @@ func (m *ClusterMaintenanceConfigSpecV1) Reset() { *m = ClusterMaintenan func (m *ClusterMaintenanceConfigSpecV1) String() string { return proto.CompactTextString(m) } func (*ClusterMaintenanceConfigSpecV1) ProtoMessage() {} func (*ClusterMaintenanceConfigSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{321} + return fileDescriptor_9198ee693835762e, []int{322} } func (m *ClusterMaintenanceConfigSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18925,7 +18988,7 @@ func (m *AgentUpgradeWindow) Reset() { *m = AgentUpgradeWindow{} } func (m *AgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeWindow) ProtoMessage() {} func (*AgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{322} + return fileDescriptor_9198ee693835762e, []int{323} } func (m *AgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -18972,7 +19035,7 @@ func (m *ScheduledAgentUpgradeWindow) Reset() { *m = ScheduledAgentUpgra func (m *ScheduledAgentUpgradeWindow) String() string { return proto.CompactTextString(m) } func (*ScheduledAgentUpgradeWindow) ProtoMessage() {} func (*ScheduledAgentUpgradeWindow) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{323} + return fileDescriptor_9198ee693835762e, []int{324} } func (m *ScheduledAgentUpgradeWindow) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19015,7 +19078,7 @@ func (m *AgentUpgradeSchedule) Reset() { *m = AgentUpgradeSchedule{} } func (m *AgentUpgradeSchedule) String() string { return proto.CompactTextString(m) } func (*AgentUpgradeSchedule) ProtoMessage() {} func (*AgentUpgradeSchedule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{324} + return fileDescriptor_9198ee693835762e, []int{325} } func (m *AgentUpgradeSchedule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19058,7 +19121,7 @@ type UserGroupV1 struct { func (m *UserGroupV1) Reset() { *m = UserGroupV1{} } func (*UserGroupV1) ProtoMessage() {} func (*UserGroupV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{325} + return fileDescriptor_9198ee693835762e, []int{326} } func (m *UserGroupV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19100,7 +19163,7 @@ func (m *UserGroupSpecV1) Reset() { *m = UserGroupSpecV1{} } func (m *UserGroupSpecV1) String() string { return proto.CompactTextString(m) } func (*UserGroupSpecV1) ProtoMessage() {} func (*UserGroupSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{326} + return fileDescriptor_9198ee693835762e, []int{327} } func (m *UserGroupSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19144,7 +19207,7 @@ func (m *OktaImportRuleSpecV1) Reset() { *m = OktaImportRuleSpecV1{} } func (m *OktaImportRuleSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleSpecV1) ProtoMessage() {} func (*OktaImportRuleSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{327} + return fileDescriptor_9198ee693835762e, []int{328} } func (m *OktaImportRuleSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19188,7 +19251,7 @@ func (m *OktaImportRuleMappingV1) Reset() { *m = OktaImportRuleMappingV1 func (m *OktaImportRuleMappingV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMappingV1) ProtoMessage() {} func (*OktaImportRuleMappingV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{328} + return fileDescriptor_9198ee693835762e, []int{329} } func (m *OktaImportRuleMappingV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19231,7 +19294,7 @@ type OktaImportRuleV1 struct { func (m *OktaImportRuleV1) Reset() { *m = OktaImportRuleV1{} } func (*OktaImportRuleV1) ProtoMessage() {} func (*OktaImportRuleV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{329} + return fileDescriptor_9198ee693835762e, []int{330} } func (m *OktaImportRuleV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19279,7 +19342,7 @@ func (m *OktaImportRuleMatchV1) Reset() { *m = OktaImportRuleMatchV1{} } func (m *OktaImportRuleMatchV1) String() string { return proto.CompactTextString(m) } func (*OktaImportRuleMatchV1) ProtoMessage() {} func (*OktaImportRuleMatchV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{330} + return fileDescriptor_9198ee693835762e, []int{331} } func (m *OktaImportRuleMatchV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19322,7 +19385,7 @@ type OktaAssignmentV1 struct { func (m *OktaAssignmentV1) Reset() { *m = OktaAssignmentV1{} } func (*OktaAssignmentV1) ProtoMessage() {} func (*OktaAssignmentV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{331} + return fileDescriptor_9198ee693835762e, []int{332} } func (m *OktaAssignmentV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19376,7 +19439,7 @@ func (m *OktaAssignmentSpecV1) Reset() { *m = OktaAssignmentSpecV1{} } func (m *OktaAssignmentSpecV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentSpecV1) ProtoMessage() {} func (*OktaAssignmentSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{332} + return fileDescriptor_9198ee693835762e, []int{333} } func (m *OktaAssignmentSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19420,7 +19483,7 @@ func (m *OktaAssignmentTargetV1) Reset() { *m = OktaAssignmentTargetV1{} func (m *OktaAssignmentTargetV1) String() string { return proto.CompactTextString(m) } func (*OktaAssignmentTargetV1) ProtoMessage() {} func (*OktaAssignmentTargetV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{333} + return fileDescriptor_9198ee693835762e, []int{334} } func (m *OktaAssignmentTargetV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19465,7 +19528,7 @@ type IntegrationV1 struct { func (m *IntegrationV1) Reset() { *m = IntegrationV1{} } func (*IntegrationV1) ProtoMessage() {} func (*IntegrationV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{334} + return fileDescriptor_9198ee693835762e, []int{335} } func (m *IntegrationV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19510,7 +19573,7 @@ func (m *IntegrationSpecV1) Reset() { *m = IntegrationSpecV1{} } func (m *IntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*IntegrationSpecV1) ProtoMessage() {} func (*IntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{335} + return fileDescriptor_9198ee693835762e, []int{336} } func (m *IntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19617,7 +19680,7 @@ func (m *AWSOIDCIntegrationSpecV1) Reset() { *m = AWSOIDCIntegrationSpec func (m *AWSOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AWSOIDCIntegrationSpecV1) ProtoMessage() {} func (*AWSOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{336} + return fileDescriptor_9198ee693835762e, []int{337} } func (m *AWSOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19663,7 +19726,7 @@ func (m *AzureOIDCIntegrationSpecV1) Reset() { *m = AzureOIDCIntegration func (m *AzureOIDCIntegrationSpecV1) String() string { return proto.CompactTextString(m) } func (*AzureOIDCIntegrationSpecV1) ProtoMessage() {} func (*AzureOIDCIntegrationSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{337} + return fileDescriptor_9198ee693835762e, []int{338} } func (m *AzureOIDCIntegrationSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19724,7 +19787,7 @@ func (m *HeadlessAuthentication) Reset() { *m = HeadlessAuthentication{} func (m *HeadlessAuthentication) String() string { return proto.CompactTextString(m) } func (*HeadlessAuthentication) ProtoMessage() {} func (*HeadlessAuthentication) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{338} + return fileDescriptor_9198ee693835762e, []int{339} } func (m *HeadlessAuthentication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19781,7 +19844,7 @@ func (m *WatchKind) Reset() { *m = WatchKind{} } func (m *WatchKind) String() string { return proto.CompactTextString(m) } func (*WatchKind) ProtoMessage() {} func (*WatchKind) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{339} + return fileDescriptor_9198ee693835762e, []int{340} } func (m *WatchKind) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19831,7 +19894,7 @@ func (m *WatchStatusV1) Reset() { *m = WatchStatusV1{} } func (m *WatchStatusV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusV1) ProtoMessage() {} func (*WatchStatusV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{340} + return fileDescriptor_9198ee693835762e, []int{341} } func (m *WatchStatusV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19872,7 +19935,7 @@ func (m *WatchStatusSpecV1) Reset() { *m = WatchStatusSpecV1{} } func (m *WatchStatusSpecV1) String() string { return proto.CompactTextString(m) } func (*WatchStatusSpecV1) ProtoMessage() {} func (*WatchStatusSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{341} + return fileDescriptor_9198ee693835762e, []int{342} } func (m *WatchStatusSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19922,7 +19985,7 @@ func (m *ServerInfoV1) Reset() { *m = ServerInfoV1{} } func (m *ServerInfoV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoV1) ProtoMessage() {} func (*ServerInfoV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{342} + return fileDescriptor_9198ee693835762e, []int{343} } func (m *ServerInfoV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -19964,7 +20027,7 @@ func (m *ServerInfoSpecV1) Reset() { *m = ServerInfoSpecV1{} } func (m *ServerInfoSpecV1) String() string { return proto.CompactTextString(m) } func (*ServerInfoSpecV1) ProtoMessage() {} func (*ServerInfoSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{343} + return fileDescriptor_9198ee693835762e, []int{344} } func (m *ServerInfoSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20021,7 +20084,7 @@ func (m *JamfSpecV1) Reset() { *m = JamfSpecV1{} } func (m *JamfSpecV1) String() string { return proto.CompactTextString(m) } func (*JamfSpecV1) ProtoMessage() {} func (*JamfSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{344} + return fileDescriptor_9198ee693835762e, []int{345} } func (m *JamfSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20086,7 +20149,7 @@ func (m *JamfInventoryEntry) Reset() { *m = JamfInventoryEntry{} } func (m *JamfInventoryEntry) String() string { return proto.CompactTextString(m) } func (*JamfInventoryEntry) ProtoMessage() {} func (*JamfInventoryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{345} + return fileDescriptor_9198ee693835762e, []int{346} } func (m *JamfInventoryEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20143,7 +20206,7 @@ type MessageWithHeader struct { func (m *MessageWithHeader) Reset() { *m = MessageWithHeader{} } func (*MessageWithHeader) ProtoMessage() {} func (*MessageWithHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{346} + return fileDescriptor_9198ee693835762e, []int{347} } func (m *MessageWithHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20207,7 +20270,7 @@ func (m *AWSMatcher) Reset() { *m = AWSMatcher{} } func (m *AWSMatcher) String() string { return proto.CompactTextString(m) } func (*AWSMatcher) ProtoMessage() {} func (*AWSMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{347} + return fileDescriptor_9198ee693835762e, []int{348} } func (m *AWSMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20252,7 +20315,7 @@ func (m *AssumeRole) Reset() { *m = AssumeRole{} } func (m *AssumeRole) String() string { return proto.CompactTextString(m) } func (*AssumeRole) ProtoMessage() {} func (*AssumeRole) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{348} + return fileDescriptor_9198ee693835762e, []int{349} } func (m *AssumeRole) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20314,7 +20377,7 @@ func (m *InstallerParams) Reset() { *m = InstallerParams{} } func (m *InstallerParams) String() string { return proto.CompactTextString(m) } func (*InstallerParams) ProtoMessage() {} func (*InstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{349} + return fileDescriptor_9198ee693835762e, []int{350} } func (m *InstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20357,7 +20420,7 @@ func (m *AWSSSM) Reset() { *m = AWSSSM{} } func (m *AWSSSM) String() string { return proto.CompactTextString(m) } func (*AWSSSM) ProtoMessage() {} func (*AWSSSM) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{350} + return fileDescriptor_9198ee693835762e, []int{351} } func (m *AWSSSM) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20400,7 +20463,7 @@ func (m *AzureInstallerParams) Reset() { *m = AzureInstallerParams{} } func (m *AzureInstallerParams) String() string { return proto.CompactTextString(m) } func (*AzureInstallerParams) ProtoMessage() {} func (*AzureInstallerParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{351} + return fileDescriptor_9198ee693835762e, []int{352} } func (m *AzureInstallerParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20454,7 +20517,7 @@ func (m *AzureMatcher) Reset() { *m = AzureMatcher{} } func (m *AzureMatcher) String() string { return proto.CompactTextString(m) } func (*AzureMatcher) ProtoMessage() {} func (*AzureMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{352} + return fileDescriptor_9198ee693835762e, []int{353} } func (m *AzureMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20509,7 +20572,7 @@ func (m *GCPMatcher) Reset() { *m = GCPMatcher{} } func (m *GCPMatcher) String() string { return proto.CompactTextString(m) } func (*GCPMatcher) ProtoMessage() {} func (*GCPMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{353} + return fileDescriptor_9198ee693835762e, []int{354} } func (m *GCPMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20555,7 +20618,7 @@ func (m *KubernetesMatcher) Reset() { *m = KubernetesMatcher{} } func (m *KubernetesMatcher) String() string { return proto.CompactTextString(m) } func (*KubernetesMatcher) ProtoMessage() {} func (*KubernetesMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{354} + return fileDescriptor_9198ee693835762e, []int{355} } func (m *KubernetesMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20597,7 +20660,7 @@ func (m *OktaOptions) Reset() { *m = OktaOptions{} } func (m *OktaOptions) String() string { return proto.CompactTextString(m) } func (*OktaOptions) ProtoMessage() {} func (*OktaOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{355} + return fileDescriptor_9198ee693835762e, []int{356} } func (m *OktaOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20639,7 +20702,7 @@ func (m *AccessGraphSync) Reset() { *m = AccessGraphSync{} } func (m *AccessGraphSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphSync) ProtoMessage() {} func (*AccessGraphSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{356} + return fileDescriptor_9198ee693835762e, []int{357} } func (m *AccessGraphSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -20685,7 +20748,7 @@ func (m *AccessGraphAWSSync) Reset() { *m = AccessGraphAWSSync{} } func (m *AccessGraphAWSSync) String() string { return proto.CompactTextString(m) } func (*AccessGraphAWSSync) ProtoMessage() {} func (*AccessGraphAWSSync) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{357} + return fileDescriptor_9198ee693835762e, []int{358} } func (m *AccessGraphAWSSync) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -21067,6 +21130,7 @@ func init() { proto.RegisterType((*PluginEmailSettings)(nil), "types.PluginEmailSettings") proto.RegisterType((*MailgunSpec)(nil), "types.MailgunSpec") proto.RegisterType((*SMTPSpec)(nil), "types.SMTPSpec") + proto.RegisterType((*PluginMSTeamsSettings)(nil), "types.PluginMSTeamsSettings") proto.RegisterType((*PluginBootstrapCredentialsV1)(nil), "types.PluginBootstrapCredentialsV1") proto.RegisterType((*PluginIdSecretCredential)(nil), "types.PluginIdSecretCredential") proto.RegisterType((*PluginOAuth2AuthorizationCodeCredentials)(nil), "types.PluginOAuth2AuthorizationCodeCredentials") @@ -21142,1840 +21206,1845 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 29326 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x1c, 0x49, - 0x7a, 0x20, 0x36, 0xdd, 0x8d, 0x47, 0xe3, 0xc3, 0xab, 0x91, 0x00, 0x49, 0x10, 0x33, 0x9c, 0xe6, - 0xd4, 0xcc, 0x70, 0x38, 0xb3, 0x33, 0xe4, 0x12, 0xdc, 0xe1, 0xee, 0xec, 0xbc, 0xb6, 0xf1, 0x20, - 0xd9, 0x24, 0x08, 0x62, 0xab, 0x41, 0x72, 0x47, 0xfb, 0xa8, 0x2d, 0x74, 0x27, 0x80, 0x1a, 0x74, - 0x77, 0xf5, 0x56, 0x55, 0x93, 0xc4, 0xee, 0x9d, 0x4f, 0xcf, 0x93, 0x15, 0xb2, 0x5e, 0x67, 0xe9, - 0xb4, 0xe7, 0xd0, 0xc9, 0x0a, 0xd9, 0x67, 0x2b, 0xce, 0x71, 0x0a, 0x5b, 0xb2, 0xc2, 0x0f, 0x85, - 0x75, 0xd2, 0x85, 0x42, 0x56, 0x28, 0x1c, 0x27, 0x85, 0x2d, 0xbf, 0xd6, 0x0a, 0xc8, 0xb2, 0xfc, - 0xc3, 0x46, 0x84, 0x1d, 0x92, 0x2f, 0x6c, 0x87, 0xf7, 0x42, 0x77, 0x8e, 0xfc, 0xf2, 0xcb, 0xaa, - 0xcc, 0xea, 0x6a, 0xa0, 0x31, 0xc3, 0xd5, 0x89, 0x1b, 0xfa, 0x43, 0xa2, 0xbf, 0xfc, 0xbe, 0x2f, - 0x2b, 0xdf, 0x5f, 0x7e, 0xf9, 0x3d, 0xe0, 0x85, 0x88, 0x37, 0x79, 0xc7, 0x0f, 0xa2, 0xcb, 0x4d, - 0xbe, 0xe3, 0xd6, 0xf7, 0x2f, 0x47, 0xfb, 0x1d, 0x1e, 0xca, 0x7f, 0x2f, 0x75, 0x02, 0x3f, 0xf2, - 0xd9, 0x30, 0xfe, 0x58, 0x98, 0xdb, 0xf1, 0x77, 0x7c, 0x84, 0x5c, 0x16, 0x7f, 0xc9, 0xc2, 0x85, - 0xe7, 0x77, 0x7c, 0x7f, 0xa7, 0xc9, 0x2f, 0xe3, 0xaf, 0xad, 0xee, 0xf6, 0xe5, 0x46, 0x37, 0x70, - 0x23, 0xcf, 0x6f, 0x53, 0x79, 0x39, 0x5d, 0x1e, 0x79, 0x2d, 0x1e, 0x46, 0x6e, 0xab, 0xd3, 0x8f, - 0xc1, 0xa3, 0xc0, 0xed, 0x74, 0x78, 0x40, 0xb5, 0x2f, 0xbc, 0x1a, 0x7f, 0xa0, 0x1b, 0x45, 0x82, - 0x52, 0x30, 0xbf, 0xfc, 0xf0, 0x8a, 0xfe, 0x93, 0x50, 0xdf, 0xc8, 0x6e, 0x8b, 0x62, 0x98, 0xe2, - 0x6c, 0xfd, 0x7c, 0x01, 0xc6, 0x6e, 0x73, 0xde, 0xa9, 0x34, 0xbd, 0x87, 0x9c, 0xbd, 0x08, 0x43, - 0xeb, 0x6e, 0x8b, 0xcf, 0xe7, 0xce, 0xe7, 0x2e, 0x8e, 0x2d, 0x4d, 0x1f, 0x1e, 0x94, 0xc7, 0x43, - 0x1e, 0x3c, 0xe4, 0x81, 0xd3, 0x76, 0x5b, 0xdc, 0xc6, 0x42, 0xf6, 0x09, 0x18, 0x13, 0xff, 0x87, - 0x1d, 0xb7, 0xce, 0xe7, 0xf3, 0x88, 0x39, 0x79, 0x78, 0x50, 0x1e, 0x6b, 0x2b, 0xa0, 0x9d, 0x94, - 0xb3, 0x2a, 0x8c, 0xae, 0x3e, 0xee, 0x78, 0x01, 0x0f, 0xe7, 0x87, 0xce, 0xe7, 0x2e, 0x8e, 0x2f, - 0x2e, 0x5c, 0x92, 0x6d, 0xbd, 0xa4, 0xda, 0x7a, 0x69, 0x53, 0x75, 0xc6, 0xd2, 0xec, 0xef, 0x1e, - 0x94, 0x9f, 0x39, 0x3c, 0x28, 0x8f, 0x72, 0x49, 0xf2, 0x93, 0x7f, 0x5c, 0xce, 0xd9, 0x8a, 0x9e, - 0xbd, 0x03, 0x43, 0x9b, 0xfb, 0x1d, 0x3e, 0x3f, 0x76, 0x3e, 0x77, 0x71, 0x6a, 0xf1, 0xf9, 0x4b, - 0x72, 0x78, 0xe2, 0x8f, 0x4f, 0xfe, 0x12, 0x58, 0x4b, 0xc5, 0xc3, 0x83, 0xf2, 0x90, 0x40, 0xb1, - 0x91, 0x8a, 0xbd, 0x01, 0x23, 0x37, 0xfd, 0x30, 0xaa, 0xae, 0xcc, 0x03, 0x7e, 0xf2, 0xa9, 0xc3, - 0x83, 0xf2, 0xcc, 0xae, 0x1f, 0x46, 0x8e, 0xd7, 0x78, 0xdd, 0x6f, 0x79, 0x11, 0x6f, 0x75, 0xa2, - 0x7d, 0x9b, 0x90, 0xac, 0xc7, 0x30, 0x69, 0xf0, 0x63, 0xe3, 0x30, 0x7a, 0x6f, 0xfd, 0xf6, 0xfa, - 0xdd, 0x07, 0xeb, 0xa5, 0x67, 0x58, 0x11, 0x86, 0xd6, 0xef, 0xae, 0xac, 0x96, 0x72, 0x6c, 0x14, - 0x0a, 0x95, 0x8d, 0x8d, 0x52, 0x9e, 0x4d, 0x40, 0x71, 0xa5, 0xb2, 0x59, 0x59, 0xaa, 0xd4, 0x56, - 0x4b, 0x05, 0x36, 0x0b, 0xd3, 0x0f, 0xaa, 0xeb, 0x2b, 0x77, 0x1f, 0xd4, 0x9c, 0x95, 0xd5, 0xda, - 0xed, 0xcd, 0xbb, 0x1b, 0xa5, 0x21, 0x36, 0x05, 0x70, 0xfb, 0xde, 0xd2, 0xaa, 0xbd, 0xbe, 0xba, - 0xb9, 0x5a, 0x2b, 0x0d, 0xb3, 0x39, 0x28, 0x29, 0x12, 0xa7, 0xb6, 0x6a, 0xdf, 0xaf, 0x2e, 0xaf, - 0x96, 0x46, 0x6e, 0x0d, 0x15, 0x0b, 0xa5, 0x21, 0x7b, 0x74, 0x8d, 0xbb, 0x21, 0xaf, 0xae, 0x58, - 0xff, 0x4e, 0x01, 0x8a, 0x77, 0x78, 0xe4, 0x36, 0xdc, 0xc8, 0x65, 0xcf, 0x19, 0xe3, 0x83, 0x4d, - 0xd4, 0x06, 0xe6, 0xc5, 0xde, 0x81, 0x19, 0x3e, 0x3c, 0x28, 0xe7, 0xde, 0xd0, 0x07, 0xe4, 0x6d, - 0x18, 0x5f, 0xe1, 0x61, 0x3d, 0xf0, 0x3a, 0x62, 0xd2, 0xcc, 0x17, 0x10, 0xed, 0xec, 0xe1, 0x41, - 0xf9, 0x54, 0x23, 0x01, 0x6b, 0x1d, 0xa2, 0x63, 0xb3, 0x2a, 0x8c, 0xac, 0xb9, 0x5b, 0xbc, 0x19, - 0xce, 0x0f, 0x9f, 0x2f, 0x5c, 0x1c, 0x5f, 0x7c, 0x96, 0x06, 0x41, 0x7d, 0xe0, 0x25, 0x59, 0xba, - 0xda, 0x8e, 0x82, 0xfd, 0xa5, 0xb9, 0xc3, 0x83, 0x72, 0xa9, 0x89, 0x00, 0xbd, 0x83, 0x25, 0x0a, - 0xab, 0x25, 0x13, 0x63, 0xe4, 0xd8, 0x89, 0x71, 0xee, 0x77, 0x0f, 0xca, 0x39, 0x31, 0x60, 0x34, - 0x31, 0x12, 0x7e, 0xe6, 0x14, 0x59, 0x84, 0xa2, 0xcd, 0x1f, 0x7a, 0xa1, 0x68, 0x59, 0x11, 0x5b, - 0x76, 0xfa, 0xf0, 0xa0, 0xcc, 0x02, 0x82, 0x69, 0x9f, 0x11, 0xe3, 0x2d, 0xbc, 0x05, 0xe3, 0xda, - 0x57, 0xb3, 0x12, 0x14, 0xf6, 0xf8, 0xbe, 0xec, 0x61, 0x5b, 0xfc, 0xc9, 0xe6, 0x60, 0xf8, 0xa1, - 0xdb, 0xec, 0x52, 0x97, 0xda, 0xf2, 0xc7, 0x67, 0xf3, 0x9f, 0xc9, 0xdd, 0x1a, 0x2a, 0x8e, 0x96, - 0x8a, 0x76, 0xbe, 0xba, 0x62, 0xfd, 0x9d, 0x21, 0x28, 0xda, 0xbe, 0x5c, 0x88, 0xec, 0x55, 0x18, - 0xae, 0x45, 0x6e, 0xa4, 0x86, 0x69, 0xf6, 0xf0, 0xa0, 0x3c, 0x2d, 0x16, 0x29, 0xd7, 0xea, 0x97, - 0x18, 0x02, 0x75, 0x63, 0xd7, 0x0d, 0xd5, 0x70, 0x21, 0x6a, 0x47, 0x00, 0x74, 0x54, 0xc4, 0x60, - 0x17, 0x60, 0xe8, 0x8e, 0xdf, 0xe0, 0x34, 0x62, 0xec, 0xf0, 0xa0, 0x3c, 0xd5, 0xf2, 0x1b, 0x3a, - 0x22, 0x96, 0xb3, 0xd7, 0x61, 0x6c, 0xb9, 0x1b, 0x04, 0xbc, 0x2d, 0xe6, 0xfa, 0x10, 0x22, 0x4f, - 0x1d, 0x1e, 0x94, 0xa1, 0x2e, 0x81, 0x8e, 0xd7, 0xb0, 0x13, 0x04, 0x31, 0x0c, 0xb5, 0xc8, 0x0d, - 0x22, 0xde, 0x98, 0x1f, 0x1e, 0x68, 0x18, 0xc4, 0xfa, 0x9c, 0x09, 0x25, 0x49, 0x7a, 0x18, 0x88, - 0x13, 0xbb, 0x09, 0xe3, 0x37, 0x02, 0xb7, 0xce, 0x37, 0x78, 0xe0, 0xf9, 0x0d, 0x1c, 0xdf, 0xc2, - 0xd2, 0x85, 0xc3, 0x83, 0xf2, 0xe9, 0x1d, 0x01, 0x76, 0x3a, 0x08, 0x4f, 0xa8, 0xbf, 0x7d, 0x50, - 0x2e, 0xae, 0xd0, 0x96, 0x69, 0xeb, 0xa4, 0xec, 0xab, 0x62, 0x70, 0xc2, 0x08, 0xbb, 0x96, 0x37, - 0xe6, 0x47, 0x8f, 0xfd, 0x44, 0x8b, 0x3e, 0xf1, 0x74, 0xd3, 0x0d, 0x23, 0x27, 0x90, 0x74, 0xa9, - 0xef, 0xd4, 0x59, 0xb2, 0xbb, 0x50, 0xac, 0xd5, 0x77, 0x79, 0xa3, 0xdb, 0xe4, 0x38, 0x65, 0xc6, - 0x17, 0xcf, 0xd0, 0xa4, 0x56, 0xe3, 0xa9, 0x8a, 0x97, 0x16, 0x88, 0x37, 0x0b, 0x09, 0xa2, 0xcf, - 0x27, 0x85, 0xf5, 0xd9, 0xe2, 0x37, 0x7f, 0xa1, 0xfc, 0xcc, 0xf7, 0xfe, 0xd1, 0xf9, 0x67, 0xac, - 0xff, 0x24, 0x0f, 0xa5, 0x34, 0x13, 0xb6, 0x0d, 0x93, 0xf7, 0x3a, 0x0d, 0x37, 0xe2, 0xcb, 0x4d, - 0x8f, 0xb7, 0xa3, 0x10, 0x27, 0xc9, 0xd1, 0x6d, 0x7a, 0x89, 0xea, 0x9d, 0xef, 0x22, 0xa1, 0x53, - 0x97, 0x94, 0xa9, 0x56, 0x99, 0x6c, 0x93, 0x7a, 0x6a, 0xb8, 0x81, 0x87, 0x38, 0xc3, 0x4e, 0x56, - 0x8f, 0xdc, 0xfa, 0xfb, 0xd4, 0x43, 0x6c, 0x69, 0x02, 0xb5, 0x1b, 0x5b, 0xfb, 0x38, 0x33, 0x07, - 0x9f, 0x40, 0x82, 0x24, 0x63, 0x02, 0x09, 0xb0, 0xf5, 0xbf, 0xe6, 0x60, 0xca, 0xe6, 0xa1, 0xdf, - 0x0d, 0xea, 0xfc, 0x26, 0x77, 0x1b, 0x3c, 0x10, 0xd3, 0xff, 0xb6, 0xd7, 0x6e, 0xd0, 0x9a, 0xc2, - 0xe9, 0xbf, 0xe7, 0xb5, 0xf5, 0xad, 0x1b, 0xcb, 0xd9, 0x27, 0x61, 0xb4, 0xd6, 0xdd, 0x42, 0xd4, - 0x7c, 0xb2, 0x03, 0x84, 0xdd, 0x2d, 0x27, 0x85, 0xae, 0xd0, 0xd8, 0x65, 0x18, 0xbd, 0xcf, 0x83, - 0x30, 0xd9, 0x0d, 0xf1, 0x68, 0x78, 0x28, 0x41, 0x3a, 0x01, 0x61, 0xb1, 0x1b, 0xc9, 0x8e, 0x4c, - 0x87, 0xda, 0x74, 0x6a, 0x1f, 0x4c, 0xa6, 0x4a, 0x8b, 0x20, 0xfa, 0x54, 0x51, 0x58, 0xd6, 0x4f, - 0xe5, 0xa1, 0xb4, 0xe2, 0x46, 0xee, 0x96, 0x1b, 0x52, 0x7f, 0xde, 0xbf, 0x2a, 0xf6, 0x78, 0xad, - 0xa1, 0xb8, 0xc7, 0x8b, 0x2f, 0xff, 0xc8, 0xcd, 0x7b, 0x39, 0xdd, 0xbc, 0x71, 0x71, 0xc2, 0x52, - 0xf3, 0x92, 0x46, 0xbd, 0x7b, 0x7c, 0xa3, 0x4a, 0xd4, 0xa8, 0xa2, 0x6a, 0x54, 0xd2, 0x14, 0xf6, - 0x2e, 0x0c, 0xd5, 0x3a, 0xbc, 0x4e, 0x9b, 0x88, 0x3a, 0x17, 0xcc, 0xc6, 0x09, 0x84, 0xfb, 0x57, - 0x97, 0x26, 0x88, 0xcd, 0x50, 0xd8, 0xe1, 0x75, 0x1b, 0xc9, 0xb4, 0x45, 0xf3, 0x9f, 0x16, 0x60, - 0x2e, 0x8b, 0x4c, 0x6f, 0xc7, 0xc8, 0x11, 0xed, 0xb8, 0x08, 0x45, 0x71, 0x84, 0x8b, 0x63, 0x11, - 0xb7, 0x8b, 0xb1, 0xa5, 0x09, 0xf1, 0xc9, 0xbb, 0x04, 0xb3, 0xe3, 0x52, 0xf6, 0x62, 0x2c, 0x11, - 0x14, 0x13, 0x7e, 0x24, 0x11, 0x28, 0x39, 0x40, 0x8c, 0xb5, 0x5a, 0xc2, 0x28, 0x38, 0x24, 0xdd, - 0xa2, 0xc0, 0xc9, 0x58, 0x07, 0x04, 0x31, 0x8e, 0x19, 0x75, 0x28, 0xac, 0x42, 0x51, 0x35, 0x6b, - 0x7e, 0x02, 0x19, 0xcd, 0xa4, 0x3a, 0xe9, 0xfe, 0x55, 0x39, 0x98, 0x0d, 0xfa, 0xad, 0xb3, 0x51, - 0x38, 0xec, 0x2a, 0x14, 0x37, 0x02, 0xff, 0xf1, 0x7e, 0x75, 0x25, 0x9c, 0x9f, 0x3c, 0x5f, 0xb8, - 0x38, 0xb6, 0x74, 0xe6, 0xf0, 0xa0, 0x3c, 0xdb, 0x11, 0x30, 0xc7, 0x6b, 0xe8, 0x27, 0x6d, 0x8c, - 0x78, 0x6b, 0xa8, 0x98, 0x2b, 0xe5, 0x6f, 0x0d, 0x15, 0xf3, 0xa5, 0x82, 0x14, 0x2f, 0x6e, 0x0d, - 0x15, 0x87, 0x4a, 0xc3, 0xb7, 0x86, 0x8a, 0xc3, 0x28, 0x70, 0x8c, 0x95, 0xe0, 0xd6, 0x50, 0x71, - 0xbc, 0x34, 0x61, 0x9c, 0xf6, 0xc8, 0x20, 0xf2, 0xeb, 0x7e, 0xd3, 0x2e, 0xdc, 0xb3, 0xab, 0xf6, - 0xc8, 0x72, 0x65, 0x99, 0x07, 0x91, 0x5d, 0xa8, 0x3c, 0xa8, 0xd9, 0x93, 0x2b, 0xfb, 0x6d, 0xb7, - 0xe5, 0xd5, 0xe5, 0xd1, 0x69, 0x17, 0x6e, 0x2c, 0x6f, 0x58, 0x15, 0x98, 0x4a, 0xda, 0xb2, 0xe6, - 0x85, 0x11, 0xbb, 0x0c, 0x63, 0x0a, 0x22, 0x36, 0xba, 0x42, 0x66, 0xab, 0xed, 0x04, 0xc7, 0xfa, - 0x9d, 0x3c, 0x40, 0x52, 0xf2, 0x94, 0xae, 0x85, 0x4f, 0x1b, 0x6b, 0xe1, 0x54, 0x7a, 0x2d, 0xf4, - 0x5d, 0x05, 0xec, 0x7d, 0x18, 0x11, 0x62, 0x41, 0x57, 0x89, 0x44, 0x67, 0xd2, 0xa4, 0x58, 0x78, - 0xff, 0xea, 0xd2, 0x14, 0x11, 0x8f, 0x84, 0x08, 0xb1, 0x89, 0x4c, 0x5b, 0x46, 0x3f, 0x3f, 0x9a, - 0x0c, 0x06, 0x2d, 0xa0, 0x8b, 0x10, 0x0f, 0x28, 0x75, 0x28, 0xae, 0x8c, 0x8e, 0x1a, 0xe4, 0xb8, - 0x94, 0x9d, 0x05, 0x31, 0xe0, 0xd4, 0xa9, 0xa3, 0x87, 0x07, 0xe5, 0x42, 0x37, 0xf0, 0x70, 0x12, - 0xb0, 0xcb, 0x40, 0xd3, 0x80, 0x3a, 0x50, 0xcc, 0xbe, 0x99, 0xba, 0xeb, 0xd4, 0x79, 0x10, 0x25, - 0x3d, 0x3e, 0x9f, 0x53, 0xb3, 0x85, 0x75, 0xc0, 0x9c, 0x2a, 0xf3, 0x43, 0x38, 0x0d, 0x2e, 0x66, - 0xf6, 0xca, 0x25, 0x03, 0x55, 0x8a, 0x91, 0xe7, 0xd5, 0xa9, 0xd4, 0x90, 0x65, 0x4e, 0x8f, 0x48, - 0x69, 0x56, 0xc0, 0xae, 0x82, 0x98, 0xa1, 0xd4, 0xfb, 0x40, 0xf5, 0x54, 0x1e, 0xd4, 0x96, 0x4e, - 0x11, 0xa7, 0x49, 0xf7, 0x91, 0x4e, 0x2e, 0xb0, 0xd9, 0xdb, 0x20, 0xa6, 0x30, 0xf5, 0x3b, 0x23, - 0xa2, 0x1b, 0xcb, 0x1b, 0xcb, 0x4d, 0xbf, 0xdb, 0xa8, 0x7d, 0x7e, 0x2d, 0x21, 0xde, 0xa9, 0x77, - 0x74, 0xe2, 0x1b, 0xcb, 0x1b, 0xec, 0x6d, 0x18, 0xae, 0x7c, 0xbd, 0x1b, 0x70, 0x92, 0x4f, 0x26, - 0x54, 0x9d, 0x02, 0xb6, 0x74, 0x86, 0x08, 0xa7, 0x5d, 0xf1, 0x53, 0x97, 0xeb, 0xb0, 0x5c, 0xd4, - 0xbc, 0xb9, 0x56, 0x23, 0xd9, 0x83, 0xa5, 0xba, 0x65, 0x73, 0x4d, 0xfb, 0xec, 0xc8, 0x68, 0xb5, - 0xa0, 0x62, 0x97, 0x21, 0x5f, 0x59, 0xc1, 0x1b, 0xd1, 0xf8, 0xe2, 0x98, 0xaa, 0x76, 0x65, 0x69, - 0x8e, 0x48, 0x26, 0x5c, 0x7d, 0x19, 0xe4, 0x2b, 0x2b, 0x6c, 0x09, 0x86, 0xef, 0xec, 0xd7, 0x3e, - 0xbf, 0x46, 0x9b, 0xd9, 0xac, 0x9a, 0xd7, 0x02, 0x76, 0x17, 0x97, 0x7d, 0x98, 0x7c, 0x71, 0x6b, - 0x3f, 0xfc, 0x5a, 0x53, 0xff, 0x62, 0x44, 0x63, 0x1b, 0x30, 0x56, 0x69, 0xb4, 0xbc, 0xf6, 0xbd, - 0x90, 0x07, 0xf3, 0xe3, 0xc8, 0x67, 0x3e, 0xf5, 0xdd, 0x71, 0xf9, 0xd2, 0xfc, 0xe1, 0x41, 0x79, - 0xce, 0x15, 0x3f, 0x9d, 0x6e, 0xc8, 0x03, 0x8d, 0x5b, 0xc2, 0x84, 0x6d, 0x00, 0xdc, 0xf1, 0xdb, - 0x3b, 0x7e, 0x25, 0x6a, 0xba, 0x61, 0x6a, 0x7b, 0x4c, 0x0a, 0x62, 0xf1, 0xe1, 0x54, 0x4b, 0xc0, - 0x1c, 0x57, 0x00, 0x35, 0x86, 0x1a, 0x0f, 0x76, 0x1d, 0x46, 0xee, 0x06, 0x6e, 0xbd, 0xc9, 0xe7, - 0x27, 0x91, 0xdb, 0x1c, 0x71, 0x93, 0x40, 0xd5, 0xd2, 0x79, 0x62, 0x58, 0xf2, 0x11, 0xac, 0x5f, - 0x53, 0x24, 0xe2, 0xc2, 0x03, 0x60, 0xbd, 0x73, 0x32, 0xe3, 0x92, 0xf0, 0x09, 0xfd, 0x92, 0x90, - 0x2c, 0xfa, 0x65, 0xbf, 0xd5, 0x72, 0xdb, 0x0d, 0xa4, 0xbd, 0xbf, 0xa8, 0xdd, 0x1d, 0xac, 0xaf, - 0xc1, 0x4c, 0x4f, 0x67, 0x1d, 0x73, 0xbf, 0x7b, 0x0f, 0xa6, 0x57, 0xf8, 0xb6, 0xdb, 0x6d, 0x46, - 0xf1, 0x49, 0x22, 0x97, 0x28, 0xde, 0xb4, 0x1a, 0xb2, 0xc8, 0x51, 0xc7, 0x87, 0x9d, 0x46, 0xb6, - 0xde, 0x85, 0x49, 0xa3, 0xf9, 0xe2, 0xaa, 0x50, 0xe9, 0x36, 0xbc, 0x08, 0x07, 0x32, 0x97, 0x5c, - 0x15, 0x5c, 0x01, 0xc4, 0xe1, 0xb2, 0x13, 0x04, 0xeb, 0xdf, 0xd5, 0xa5, 0x15, 0xda, 0x89, 0xc4, - 0xb5, 0x9a, 0xf6, 0x83, 0x5c, 0x22, 0x3b, 0xf5, 0xec, 0x07, 0xf1, 0x6e, 0xf0, 0xaa, 0x5c, 0x9b, - 0xf9, 0x9e, 0xb5, 0x39, 0x4e, 0x23, 0x51, 0x70, 0x1f, 0x85, 0x72, 0x45, 0xc6, 0x33, 0xb5, 0xf0, - 0xd1, 0x67, 0xea, 0xfb, 0x30, 0x71, 0xc7, 0x6d, 0xbb, 0x3b, 0xbc, 0x21, 0x5a, 0x20, 0xf7, 0x9e, - 0xb1, 0xa5, 0x67, 0x0f, 0x0f, 0xca, 0x67, 0x5a, 0x12, 0x8e, 0xad, 0xd4, 0x27, 0x91, 0x41, 0xc0, - 0xae, 0xa8, 0x95, 0x3d, 0x9c, 0xb1, 0xb2, 0x27, 0xa9, 0xf6, 0x61, 0x5c, 0xd9, 0xb4, 0x9e, 0xad, - 0xdf, 0x1c, 0xc3, 0x36, 0xb2, 0xd7, 0x61, 0xc4, 0xe6, 0x3b, 0xe2, 0xa8, 0xc9, 0x25, 0x83, 0x14, - 0x20, 0x44, 0xef, 0x18, 0x89, 0x83, 0x72, 0x06, 0x6f, 0x84, 0xbb, 0xde, 0x76, 0x44, 0xbd, 0x13, - 0xcb, 0x19, 0x04, 0xd6, 0xe4, 0x0c, 0x82, 0x98, 0xd7, 0x59, 0x09, 0x13, 0xbb, 0x9f, 0xbd, 0x52, - 0xa3, 0x4e, 0x53, 0x3d, 0x6c, 0xaf, 0x68, 0xdb, 0x48, 0x60, 0x48, 0x09, 0x02, 0x9b, 0x5d, 0x83, - 0xb1, 0x4a, 0xbd, 0xee, 0x77, 0xb5, 0x3b, 0xa3, 0x5c, 0xb7, 0x12, 0x68, 0xaa, 0x48, 0x12, 0x54, - 0x56, 0x83, 0xf1, 0x55, 0x71, 0xd1, 0xf2, 0x96, 0xdd, 0xfa, 0xae, 0xea, 0x24, 0xb5, 0x87, 0x69, - 0x25, 0xc9, 0xca, 0xe5, 0x08, 0xac, 0x0b, 0xa0, 0xae, 0x64, 0xd0, 0x70, 0xd9, 0x26, 0x8c, 0xd7, - 0x78, 0x3d, 0xe0, 0x51, 0x2d, 0xf2, 0x03, 0x9e, 0xda, 0x92, 0xb5, 0x92, 0xa5, 0xe7, 0xd5, 0x5d, - 0x2f, 0x44, 0xa0, 0x13, 0x0a, 0xa8, 0xce, 0x55, 0x43, 0x96, 0x42, 0x7b, 0xcb, 0x0f, 0xf6, 0x57, - 0x96, 0x68, 0x9b, 0x4e, 0xce, 0x74, 0x09, 0xd6, 0x85, 0x76, 0x01, 0x69, 0x6c, 0x99, 0x42, 0xbb, - 0xc4, 0xc2, 0x91, 0x5a, 0xa9, 0xa1, 0x6c, 0x45, 0x9b, 0xf6, 0x74, 0xd2, 0xcb, 0x08, 0xd6, 0x46, - 0xaa, 0x11, 0xa2, 0x64, 0x66, 0x8c, 0x14, 0x61, 0xb1, 0x0e, 0x30, 0x35, 0x6a, 0x52, 0xd0, 0x6d, - 0xf2, 0x30, 0xa4, 0xbd, 0xfc, 0x6c, 0x6a, 0xf0, 0x13, 0x84, 0xa5, 0x97, 0x89, 0xf9, 0x39, 0x35, - 0x0d, 0xe8, 0x9e, 0x26, 0x0a, 0xb5, 0x7a, 0x32, 0x78, 0xb3, 0xb7, 0x00, 0x56, 0x1f, 0x47, 0x3c, - 0x68, 0xbb, 0xcd, 0x58, 0x0f, 0x86, 0xaa, 0x1f, 0x4e, 0x50, 0x73, 0xa0, 0x35, 0x64, 0xb6, 0x0c, - 0x93, 0x95, 0x30, 0xec, 0xb6, 0xb8, 0xed, 0x37, 0x79, 0xc5, 0x5e, 0xc7, 0x7d, 0x7f, 0x6c, 0xe9, - 0xdc, 0xe1, 0x41, 0xf9, 0xac, 0x8b, 0x05, 0x4e, 0xe0, 0x37, 0xb9, 0xe3, 0x06, 0xfa, 0xec, 0x36, - 0x69, 0xd8, 0x5d, 0x80, 0xbb, 0x1d, 0xde, 0xae, 0x71, 0x37, 0xa8, 0xef, 0xa6, 0xb6, 0xf9, 0xa4, - 0x60, 0xe9, 0x39, 0x6a, 0xe1, 0x9c, 0xdf, 0xe1, 0xed, 0x10, 0x61, 0xfa, 0x57, 0x25, 0x98, 0xec, - 0x01, 0x4c, 0x57, 0x2b, 0x77, 0x36, 0xfc, 0xa6, 0x57, 0xdf, 0x27, 0xc9, 0x69, 0x0a, 0xb5, 0x83, - 0xa7, 0x89, 0x6b, 0xaa, 0x54, 0x6e, 0x4f, 0x9e, 0xdb, 0x72, 0x3a, 0x08, 0x75, 0x48, 0x7e, 0x4a, - 0x73, 0x61, 0x1f, 0x88, 0x39, 0x18, 0x0a, 0x61, 0x70, 0xd3, 0xdd, 0x09, 0xe7, 0xa7, 0x0d, 0x6d, - 0x57, 0xe5, 0x41, 0xed, 0x92, 0x56, 0x2a, 0xc5, 0x94, 0x05, 0x39, 0x11, 0x11, 0xea, 0x44, 0xee, - 0x4e, 0x68, 0x4e, 0xc4, 0x18, 0x9b, 0xdd, 0x02, 0x58, 0xf1, 0xeb, 0xdd, 0x16, 0x6f, 0x47, 0x2b, - 0x4b, 0xf3, 0x25, 0xf3, 0x2a, 0x10, 0x17, 0x24, 0x5b, 0x5b, 0xc3, 0xaf, 0x1b, 0x33, 0x51, 0xa3, - 0x5e, 0x78, 0x0f, 0x4a, 0xe9, 0x0f, 0x39, 0xa1, 0x02, 0x6b, 0xb2, 0x34, 0xa5, 0xb5, 0x7e, 0xf5, - 0xb1, 0x17, 0x46, 0xa1, 0xf5, 0x0d, 0x63, 0x05, 0x8a, 0xdd, 0xe1, 0x36, 0xdf, 0xdf, 0x08, 0xf8, - 0xb6, 0xf7, 0x98, 0x36, 0x33, 0xdc, 0x1d, 0xf6, 0xf8, 0xbe, 0xd3, 0x41, 0xa8, 0xbe, 0x3b, 0xc4, - 0xa8, 0xec, 0x53, 0x50, 0xbc, 0x7d, 0xa7, 0x76, 0x9b, 0xef, 0x57, 0x57, 0xe8, 0xa0, 0x92, 0x64, - 0xad, 0xd0, 0x11, 0xa4, 0xc6, 0x5c, 0x8b, 0x31, 0xad, 0xa5, 0x64, 0x27, 0x14, 0x35, 0x2f, 0x37, - 0xbb, 0x61, 0xc4, 0x83, 0xea, 0x8a, 0x5e, 0x73, 0x5d, 0x02, 0x53, 0xfb, 0x52, 0x8c, 0x6a, 0xfd, - 0xcb, 0x3c, 0xee, 0x82, 0x62, 0xc2, 0x57, 0xdb, 0x61, 0xe4, 0xb6, 0xeb, 0x3c, 0x66, 0x80, 0x13, - 0xde, 0x23, 0x68, 0x6a, 0xc2, 0x27, 0xc8, 0x66, 0xd5, 0xf9, 0x81, 0xab, 0x16, 0x55, 0x2a, 0xcd, - 0x45, 0x75, 0x45, 0x57, 0xaf, 0x06, 0x04, 0x4d, 0x55, 0x99, 0x20, 0xb3, 0x0b, 0x30, 0x5a, 0xad, - 0xdc, 0xa9, 0x74, 0xa3, 0x5d, 0xdc, 0x83, 0x8b, 0x52, 0x3e, 0x17, 0xb3, 0xd5, 0xed, 0x46, 0xbb, - 0xb6, 0x2a, 0x64, 0x97, 0xf1, 0xde, 0xd3, 0xe6, 0x91, 0x54, 0xc3, 0xd2, 0xa1, 0x1b, 0x4a, 0x50, - 0xea, 0xda, 0x23, 0x40, 0xec, 0x35, 0x18, 0xbe, 0xbf, 0xb1, 0x5c, 0x5d, 0xa1, 0x8b, 0x33, 0x9e, - 0x44, 0x0f, 0x3b, 0x75, 0xf3, 0x4b, 0x24, 0x0a, 0x5b, 0x85, 0xa9, 0x1a, 0xaf, 0x77, 0x03, 0x2f, - 0xda, 0xbf, 0x11, 0xf8, 0xdd, 0x4e, 0x38, 0x3f, 0x8a, 0x75, 0xe0, 0x4a, 0x0f, 0xa9, 0xc4, 0xd9, - 0xc1, 0x22, 0x8d, 0x3a, 0x45, 0x64, 0xfd, 0x56, 0x2e, 0xd9, 0x26, 0xd9, 0x05, 0x43, 0xac, 0x41, - 0xdd, 0x8d, 0x10, 0x6b, 0x74, 0xdd, 0x0d, 0x0a, 0x38, 0x36, 0xb0, 0xe5, 0x6e, 0x18, 0xf9, 0xad, - 0xd5, 0x76, 0xa3, 0xe3, 0x7b, 0xed, 0x08, 0xa9, 0x64, 0xe7, 0x5b, 0x87, 0x07, 0xe5, 0xe7, 0xeb, - 0x58, 0xea, 0x70, 0x2a, 0x76, 0x52, 0x5c, 0x32, 0xa8, 0x3f, 0xc6, 0x78, 0x58, 0xbf, 0x97, 0x37, - 0x8e, 0x37, 0xf1, 0x79, 0x36, 0xef, 0x34, 0xbd, 0x3a, 0xde, 0xe8, 0xb1, 0xa1, 0xf1, 0xac, 0xc2, - 0xcf, 0x0b, 0x92, 0x52, 0xd9, 0x43, 0x26, 0xef, 0x0c, 0x6a, 0xf6, 0x39, 0x98, 0x10, 0x92, 0x06, - 0xfd, 0x0c, 0xe7, 0xf3, 0xd8, 0xd9, 0xcf, 0xa1, 0x16, 0x2e, 0xe4, 0x41, 0xcc, 0xc6, 0x10, 0x51, - 0x74, 0x0a, 0xd6, 0x80, 0xf9, 0xcd, 0xc0, 0x6d, 0x87, 0x5e, 0xb4, 0xda, 0xae, 0x07, 0xfb, 0x28, - 0x19, 0xad, 0xb6, 0xdd, 0xad, 0x26, 0x6f, 0x60, 0x73, 0x8b, 0x4b, 0x17, 0x0f, 0x0f, 0xca, 0x2f, - 0x45, 0x12, 0xc7, 0xe1, 0x31, 0x92, 0xc3, 0x25, 0x96, 0xc6, 0xb9, 0x2f, 0x27, 0x21, 0x49, 0xa9, - 0x6e, 0xc5, 0x47, 0x18, 0x29, 0x24, 0xa0, 0x24, 0x15, 0x8f, 0x86, 0xd8, 0xc3, 0xf4, 0xcf, 0xd4, - 0x09, 0xac, 0xff, 0x27, 0x97, 0x1c, 0xc0, 0xec, 0x1d, 0x18, 0xa7, 0x15, 0xa3, 0xcd, 0x0b, 0xdc, - 0x41, 0xd5, 0xf2, 0x4a, 0x8d, 0xac, 0x8e, 0x2e, 0xee, 0xfd, 0x95, 0xe5, 0x35, 0x6d, 0x6e, 0xe0, - 0xbd, 0xdf, 0xad, 0x37, 0xd3, 0x54, 0x0a, 0x4d, 0x4c, 0x82, 0xcd, 0xb5, 0x9a, 0xd9, 0x2b, 0x38, - 0x09, 0xa2, 0x66, 0x98, 0xd1, 0x0d, 0x1a, 0xf2, 0xc7, 0x6f, 0xf8, 0x7f, 0x9f, 0xcb, 0x3a, 0xe7, - 0xd9, 0x12, 0x4c, 0x3e, 0xf0, 0x83, 0x3d, 0x1c, 0x5f, 0xad, 0x13, 0x70, 0xe4, 0x1f, 0xa9, 0x82, - 0x74, 0x83, 0x4c, 0x12, 0xfd, 0xdb, 0xb4, 0xde, 0x30, 0xbf, 0x2d, 0xc5, 0xc1, 0x20, 0x10, 0xe3, - 0x10, 0x73, 0x8c, 0x57, 0x07, 0x8e, 0x43, 0xf2, 0x09, 0xc6, 0x14, 0xd6, 0xd1, 0xad, 0xff, 0x22, - 0xa7, 0x9f, 0xe7, 0xa2, 0x93, 0x57, 0xfc, 0x96, 0xeb, 0xb5, 0xb5, 0xe6, 0xc8, 0x87, 0x25, 0x84, - 0xa6, 0xbf, 0x44, 0x43, 0x66, 0x57, 0xa1, 0x28, 0x7f, 0xc5, 0x7b, 0x2d, 0x6a, 0xb5, 0x88, 0xd0, - 0x3c, 0x28, 0x14, 0x62, 0xcf, 0xc8, 0x14, 0x4e, 0x3a, 0x32, 0xbf, 0x99, 0xd3, 0x8f, 0xe2, 0x8f, - 0x7a, 0xd8, 0xa4, 0x0e, 0x99, 0xfc, 0x49, 0x0e, 0x99, 0x8f, 0xdd, 0x84, 0xef, 0xcd, 0xc1, 0xb8, - 0xa6, 0xa5, 0x10, 0x6d, 0xd8, 0x08, 0xfc, 0x0f, 0x79, 0x3d, 0x32, 0xdb, 0xd0, 0x91, 0xc0, 0x54, - 0x1b, 0x62, 0xd4, 0x8f, 0xd1, 0x06, 0xeb, 0xcf, 0x73, 0x74, 0x47, 0x1a, 0x78, 0x9b, 0x37, 0xb7, - 0xe4, 0xfc, 0x49, 0x8e, 0xc8, 0xcf, 0xc1, 0xb0, 0xcd, 0x1b, 0x5e, 0x48, 0xf7, 0x9b, 0x19, 0xfd, - 0x3e, 0x86, 0x05, 0x89, 0xdc, 0x14, 0x88, 0x9f, 0xfa, 0xf9, 0x86, 0xe5, 0x42, 0x90, 0xad, 0x86, - 0xd7, 0x9b, 0xfc, 0xb1, 0x27, 0x17, 0x23, 0x1d, 0xb5, 0x78, 0xbc, 0x79, 0xa1, 0xb3, 0x2d, 0x4a, - 0x48, 0xa2, 0xd6, 0x17, 0x9e, 0x41, 0x63, 0x7d, 0x00, 0x90, 0x54, 0xc9, 0x6e, 0x43, 0x89, 0x66, - 0x83, 0xd7, 0xde, 0x91, 0x82, 0x14, 0xf5, 0x41, 0xf9, 0xf0, 0xa0, 0xfc, 0x6c, 0x3d, 0x2e, 0x23, - 0xa9, 0x53, 0xe3, 0xdb, 0x43, 0x68, 0xfd, 0xfb, 0x79, 0xc8, 0x57, 0x70, 0x40, 0x6e, 0xf3, 0xfd, - 0xc8, 0xdd, 0xba, 0xee, 0x35, 0x8d, 0xc5, 0xb4, 0x87, 0x50, 0x67, 0xdb, 0x33, 0xd4, 0x15, 0x1a, - 0xb2, 0x58, 0x4c, 0xb7, 0x83, 0xad, 0x37, 0x91, 0x50, 0x5b, 0x4c, 0x7b, 0xc1, 0xd6, 0x9b, 0x69, - 0xb2, 0x18, 0x91, 0x59, 0x30, 0x22, 0x17, 0x16, 0xcd, 0x41, 0x38, 0x3c, 0x28, 0x8f, 0xc8, 0xf5, - 0x67, 0x53, 0x09, 0x3b, 0x0b, 0x85, 0xda, 0xc6, 0x3a, 0xed, 0x80, 0xa8, 0x16, 0x0c, 0x3b, 0x6d, - 0x5b, 0xc0, 0x44, 0x9d, 0x6b, 0x2b, 0x95, 0x0d, 0x54, 0x04, 0x0c, 0x27, 0x75, 0x36, 0x1b, 0x6e, - 0x27, 0xad, 0x0a, 0x88, 0x11, 0xd9, 0xbb, 0x30, 0x7e, 0x7b, 0x65, 0xf9, 0xa6, 0x1f, 0xca, 0xdd, - 0x6b, 0x24, 0x99, 0xfc, 0x7b, 0x8d, 0xba, 0x83, 0x9a, 0xf8, 0xf4, 0x31, 0xa0, 0xe1, 0x5b, 0x3f, - 0x94, 0x87, 0x71, 0x4d, 0x4f, 0xc6, 0x3e, 0x45, 0x0f, 0xa4, 0x39, 0xe3, 0x06, 0xa0, 0x61, 0x88, - 0x52, 0xa9, 0x54, 0x69, 0xf9, 0x0d, 0x4e, 0xcf, 0xa5, 0x89, 0x02, 0x23, 0x3f, 0x88, 0x02, 0xe3, - 0x2d, 0x00, 0x39, 0x07, 0xf0, 0x93, 0x35, 0x71, 0x42, 0xb3, 0x93, 0xd0, 0xc7, 0x25, 0x41, 0x66, - 0xf7, 0x61, 0x76, 0x33, 0xe8, 0x86, 0x51, 0x6d, 0x3f, 0x8c, 0x78, 0x4b, 0x70, 0xdb, 0xf0, 0xfd, - 0x26, 0xcd, 0xbf, 0x97, 0x0e, 0x0f, 0xca, 0xe7, 0x23, 0x51, 0xec, 0x84, 0x58, 0x8e, 0x1f, 0xe0, - 0x74, 0x7c, 0x5f, 0x57, 0x6b, 0x64, 0x31, 0xb0, 0x6c, 0x98, 0xd0, 0x95, 0x22, 0xe2, 0x64, 0xa1, - 0xc7, 0x24, 0x52, 0x75, 0x6b, 0x27, 0x0b, 0x7d, 0x65, 0xef, 0xe3, 0x96, 0x49, 0x62, 0x7d, 0x4a, - 0x57, 0xc8, 0x0d, 0xba, 0xb0, 0xad, 0xef, 0xcf, 0x25, 0xdb, 0xc8, 0xfd, 0x2b, 0xec, 0x6d, 0x18, - 0x91, 0x8f, 0x77, 0xf4, 0xc6, 0x79, 0x2a, 0xbe, 0xd4, 0xea, 0x2f, 0x7b, 0x52, 0x13, 0xfe, 0x07, - 0xf2, 0x81, 0xff, 0x19, 0x9b, 0x48, 0x62, 0x25, 0xba, 0xa9, 0x4f, 0x53, 0xdc, 0x51, 0x5d, 0x7c, - 0x25, 0x4b, 0x89, 0x6e, 0xfd, 0xf6, 0x10, 0x4c, 0x99, 0x68, 0xfa, 0x0b, 0x5f, 0x6e, 0xa0, 0x17, - 0xbe, 0xcf, 0x41, 0x51, 0xf4, 0x87, 0x57, 0xe7, 0x4a, 0x22, 0x7b, 0x09, 0x9f, 0x16, 0x08, 0x66, - 0xbc, 0x5c, 0x83, 0x1c, 0x0e, 0x71, 0xc7, 0xb5, 0x63, 0x2a, 0xb6, 0xa8, 0x3d, 0x43, 0x15, 0x12, - 0x21, 0x45, 0x3d, 0x43, 0xe9, 0xeb, 0x21, 0x7e, 0x90, 0x7a, 0x03, 0x46, 0x84, 0x7c, 0x1f, 0xab, - 0x60, 0xf0, 0x2b, 0x85, 0xe8, 0x9f, 0x32, 0x51, 0x91, 0x48, 0xec, 0x01, 0x14, 0xd7, 0xdc, 0x30, - 0xaa, 0x71, 0xde, 0x1e, 0xe0, 0xed, 0xbe, 0x4c, 0x5d, 0x35, 0x8b, 0x0f, 0xe3, 0x21, 0xe7, 0xed, - 0xd4, 0xe3, 0x6b, 0xcc, 0x8c, 0x7d, 0x19, 0x60, 0xd9, 0x6f, 0x47, 0x81, 0xdf, 0x5c, 0xf3, 0x77, - 0xe6, 0x47, 0xf0, 0xee, 0xfb, 0x7c, 0x6a, 0x00, 0x12, 0x04, 0x79, 0xfd, 0x8d, 0x15, 0x3c, 0x75, - 0x59, 0xe0, 0x34, 0xfd, 0x1d, 0x7d, 0x1d, 0x24, 0xf8, 0xec, 0x3a, 0x94, 0x94, 0x62, 0xe1, 0x5e, - 0x67, 0x27, 0xc0, 0x09, 0x32, 0x9a, 0x48, 0x1e, 0xfc, 0x71, 0xe4, 0x74, 0x09, 0xae, 0xef, 0x94, - 0x69, 0x1a, 0xf6, 0x25, 0x38, 0x93, 0x86, 0xa9, 0x51, 0x2e, 0x26, 0x32, 0xb9, 0xce, 0x2e, 0x63, - 0xde, 0xf7, 0x63, 0x61, 0x7d, 0x3b, 0x0f, 0x67, 0xfa, 0x34, 0x56, 0xac, 0x07, 0x3c, 0xae, 0xb5, - 0xf5, 0x90, 0x3a, 0xa5, 0xa5, 0xcd, 0xd1, 0x79, 0xc8, 0xd3, 0x01, 0x37, 0xb4, 0x54, 0x3a, 0x3c, - 0x28, 0x4f, 0x18, 0xe3, 0x98, 0xaf, 0xae, 0xb0, 0x5b, 0x30, 0x24, 0x86, 0x68, 0x80, 0xa7, 0x73, - 0xa5, 0x53, 0x9a, 0x8a, 0x3c, 0x7d, 0xfa, 0xe0, 0xd0, 0x21, 0x0f, 0xf6, 0x29, 0x28, 0x6c, 0x6e, - 0xae, 0xe1, 0xdc, 0x29, 0x60, 0xdb, 0x27, 0xa3, 0xa8, 0x69, 0x4c, 0xd5, 0x49, 0x41, 0x7b, 0x29, - 0xb6, 0xb4, 0x10, 0xe8, 0xec, 0x0b, 0x29, 0x93, 0x9e, 0xd7, 0x8e, 0x1e, 0xe8, 0xc1, 0x2d, 0x7c, - 0x3e, 0x86, 0x61, 0x8d, 0xf5, 0x73, 0xf9, 0x64, 0x0d, 0x5f, 0xf7, 0x9a, 0x11, 0x0f, 0xd8, 0x82, - 0x5c, 0x92, 0x89, 0x70, 0x66, 0xc7, 0xbf, 0xd9, 0x7c, 0xb2, 0xbe, 0x25, 0xab, 0x78, 0x21, 0xbf, - 0xa6, 0x2d, 0xe4, 0x02, 0x2e, 0xe4, 0xa9, 0xbe, 0x4b, 0xf6, 0xb5, 0x8c, 0x79, 0x89, 0x0b, 0x31, - 0x63, 0xee, 0xbd, 0x04, 0x93, 0xeb, 0xfe, 0xea, 0xe3, 0x28, 0x46, 0x14, 0x0b, 0xb0, 0x68, 0x9b, - 0x40, 0xc1, 0xf1, 0x6e, 0xb3, 0xc1, 0x83, 0xcd, 0x5d, 0xb7, 0x6d, 0xbc, 0x5d, 0xdb, 0x3d, 0x70, - 0x81, 0xbb, 0xce, 0x1f, 0x99, 0xb8, 0xa3, 0x12, 0x37, 0x0d, 0xb7, 0xbe, 0x2f, 0xaf, 0x3a, 0xe3, - 0xfe, 0xe2, 0x53, 0xfa, 0x46, 0xfa, 0xa6, 0xf1, 0x46, 0x3a, 0x1b, 0x6b, 0x77, 0xe3, 0x07, 0xff, - 0xc5, 0x63, 0xec, 0x04, 0xfe, 0x87, 0x61, 0x98, 0xd0, 0xd1, 0x45, 0x3f, 0x54, 0x1a, 0x8d, 0x40, - 0xef, 0x07, 0xb7, 0xd1, 0x08, 0x6c, 0x84, 0x1a, 0x66, 0x01, 0x85, 0x23, 0xcd, 0x02, 0xbe, 0x02, - 0x63, 0xcb, 0xad, 0x86, 0xf1, 0x58, 0x69, 0x65, 0x7c, 0xde, 0xa5, 0x18, 0x49, 0xae, 0x85, 0x58, - 0x69, 0x59, 0x6f, 0x35, 0x7a, 0x9f, 0x28, 0x13, 0x96, 0x86, 0x45, 0xc1, 0xf0, 0xc7, 0xb1, 0x28, - 0xb8, 0x06, 0x63, 0xf7, 0x42, 0xbe, 0xd9, 0x6d, 0xb7, 0x79, 0x13, 0xa7, 0x55, 0x51, 0xca, 0xfa, - 0xdd, 0x90, 0x3b, 0x11, 0x42, 0xf5, 0x0f, 0x88, 0x51, 0xf5, 0x01, 0x1e, 0x3d, 0x62, 0x80, 0xaf, - 0x42, 0x71, 0x83, 0xf3, 0x00, 0xfb, 0x74, 0x3c, 0x11, 0xe9, 0x3a, 0x9c, 0x07, 0x8e, 0xe8, 0x58, - 0xc3, 0xd2, 0x80, 0x10, 0x0d, 0xf3, 0x84, 0x89, 0x01, 0xcd, 0x13, 0xd8, 0x0b, 0x30, 0xd1, 0xe9, - 0x6e, 0x35, 0xbd, 0x3a, 0xf2, 0x25, 0xbb, 0x06, 0x7b, 0x5c, 0xc2, 0x04, 0xdb, 0x90, 0x7d, 0x01, - 0x26, 0xf1, 0x8e, 0x13, 0x4f, 0xb9, 0x29, 0xe3, 0x55, 0xcf, 0x28, 0x93, 0x92, 0x4e, 0x5d, 0x80, - 0x9c, 0x0c, 0xf3, 0x1b, 0x93, 0xd1, 0x42, 0x0d, 0xa6, 0xcc, 0x91, 0x7c, 0x02, 0x8f, 0x7b, 0xb1, - 0xa9, 0x45, 0xb1, 0x34, 0x76, 0x6b, 0xa8, 0x08, 0xa5, 0x71, 0x69, 0x64, 0x61, 0xc3, 0x46, 0xdc, - 0x26, 0x9b, 0xdd, 0xee, 0x6e, 0xf1, 0xa0, 0xcd, 0x23, 0x1e, 0xd2, 0x25, 0x20, 0xb4, 0x87, 0x2a, - 0x9d, 0x4e, 0x68, 0xfd, 0xc7, 0x79, 0x18, 0xad, 0x3c, 0xa8, 0x55, 0xdb, 0xdb, 0x3e, 0x3e, 0xd1, - 0xc5, 0x2f, 0x33, 0xfa, 0x13, 0x5d, 0xfc, 0x32, 0xa3, 0xbf, 0xc7, 0x5c, 0xce, 0xb8, 0xc6, 0xa1, - 0x15, 0xaf, 0x76, 0x8d, 0x33, 0x2e, 0xa0, 0xc9, 0x23, 0x55, 0x61, 0x80, 0x47, 0xaa, 0x58, 0x8f, - 0x38, 0x74, 0xbc, 0x1e, 0xf1, 0x6d, 0x18, 0xaf, 0xb6, 0x23, 0xbe, 0x13, 0x24, 0x33, 0x3d, 0xbe, - 0x52, 0xc6, 0x60, 0x5d, 0xb4, 0xd7, 0xb0, 0xc5, 0x34, 0x92, 0xba, 0xcb, 0x58, 0x67, 0x89, 0xd3, - 0x48, 0xaa, 0x38, 0x53, 0xfa, 0x00, 0x85, 0x68, 0xad, 0xa4, 0xe6, 0x88, 0x32, 0x04, 0x90, 0xc2, - 0xe7, 0x54, 0xa2, 0xbc, 0x17, 0x1d, 0xbb, 0x34, 0x93, 0x6d, 0x08, 0x60, 0xfd, 0x70, 0x1e, 0xc6, - 0x2b, 0x9d, 0xce, 0x53, 0x6e, 0x8e, 0xf5, 0x19, 0x63, 0x7b, 0x55, 0x77, 0xa1, 0xb8, 0x5d, 0x03, - 0x59, 0x62, 0xfd, 0x72, 0x1e, 0xa6, 0x53, 0x14, 0xfa, 0xd7, 0xe7, 0x06, 0x34, 0xc2, 0xca, 0x0f, - 0x68, 0x84, 0x55, 0x18, 0xcc, 0x08, 0x6b, 0xe8, 0xe3, 0x6c, 0x99, 0xaf, 0x40, 0xa1, 0xd2, 0xe9, - 0xa4, 0x1f, 0x73, 0x3b, 0x9d, 0xfb, 0x57, 0xe5, 0x7d, 0xd6, 0xed, 0x74, 0x6c, 0x81, 0x61, 0xec, - 0x63, 0x23, 0x03, 0xee, 0x63, 0xd6, 0x1b, 0x30, 0x86, 0xbc, 0xd0, 0xf4, 0xe9, 0x3c, 0xe0, 0x62, - 0x26, 0xab, 0x27, 0xa3, 0x2e, 0x5a, 0xe6, 0xff, 0x3c, 0x07, 0xc3, 0xf8, 0xfb, 0x29, 0x9d, 0x63, - 0x8b, 0xc6, 0x1c, 0x2b, 0x69, 0x73, 0x6c, 0x90, 0xd9, 0xf5, 0x0f, 0x0b, 0x00, 0xcb, 0x77, 0xed, - 0x9a, 0x54, 0x7b, 0xb0, 0xeb, 0x30, 0xed, 0x36, 0x9b, 0xfe, 0x23, 0xde, 0x70, 0xfc, 0xc0, 0xdb, - 0xf1, 0xda, 0xb2, 0xe7, 0xd4, 0x0b, 0xa3, 0x59, 0xa4, 0xbf, 0x3b, 0x50, 0xd1, 0x5d, 0x59, 0xa2, - 0xf3, 0x69, 0xf1, 0x68, 0xd7, 0x6f, 0xa8, 0x0b, 0x9c, 0xc1, 0x87, 0x8a, 0x32, 0xf8, 0xdc, 0x91, - 0x25, 0x3a, 0x9f, 0x5d, 0xbc, 0x90, 0x2a, 0xf9, 0xd1, 0xe0, 0x43, 0x45, 0x19, 0x7c, 0xe4, 0x2d, - 0x36, 0x64, 0x6b, 0x30, 0x83, 0x10, 0xa7, 0x1e, 0xf0, 0x06, 0x6f, 0x47, 0x9e, 0xdb, 0x0c, 0xe9, - 0xca, 0x8f, 0xca, 0xa1, 0x9e, 0x42, 0xfd, 0xca, 0x83, 0x85, 0xcb, 0x49, 0x19, 0xbb, 0x04, 0xa3, - 0x2d, 0xf7, 0xb1, 0xe3, 0xee, 0xc8, 0xb7, 0xf6, 0x49, 0x79, 0x45, 0x24, 0x90, 0xbe, 0x61, 0xb7, - 0xdc, 0xc7, 0x95, 0x1d, 0x2e, 0x5a, 0xc1, 0x1f, 0x77, 0xfc, 0x50, 0x6b, 0xc5, 0x48, 0xd2, 0x8a, - 0x54, 0x91, 0xde, 0x0a, 0x2a, 0xa2, 0x56, 0x58, 0xff, 0xef, 0x30, 0x4e, 0x6d, 0xda, 0x04, 0xc8, - 0x3c, 0x2c, 0x97, 0x61, 0x1e, 0xf6, 0x16, 0x68, 0x47, 0x9c, 0xae, 0xda, 0xd3, 0x0e, 0x78, 0xfd, - 0x5a, 0x98, 0x20, 0xb3, 0xbd, 0xb4, 0xa1, 0x58, 0x01, 0x57, 0xce, 0x8b, 0xe9, 0x79, 0xf5, 0x44, - 0x6c, 0xc4, 0x6e, 0x02, 0xab, 0xb6, 0xf1, 0x35, 0x8b, 0xd7, 0xf6, 0xbc, 0xce, 0x7d, 0x1e, 0x78, - 0xdb, 0xfb, 0x34, 0x2e, 0x28, 0x44, 0x79, 0x54, 0xea, 0x84, 0x7b, 0x5e, 0x47, 0xdc, 0x1b, 0xbd, - 0xed, 0x7d, 0x3b, 0x83, 0x86, 0xbd, 0x0f, 0xa3, 0x36, 0x7f, 0x14, 0x78, 0x91, 0x32, 0x7f, 0x98, - 0x8a, 0xb5, 0x1c, 0x08, 0x95, 0x43, 0x14, 0xc8, 0x1f, 0xfa, 0x62, 0xa5, 0x72, 0xb6, 0x28, 0x4f, - 0x29, 0x69, 0xe6, 0x30, 0x99, 0xb4, 0xb6, 0xf2, 0xa0, 0xd6, 0xef, 0x90, 0x62, 0xaf, 0xc2, 0x30, - 0x1e, 0x75, 0x24, 0xc0, 0xa1, 0xdb, 0x00, 0x0a, 0x3c, 0xfa, 0x39, 0x8c, 0x18, 0xec, 0x79, 0x80, - 0xf8, 0xb9, 0x28, 0x9c, 0x2f, 0xa2, 0x68, 0xa5, 0x41, 0xd2, 0xe7, 0xf4, 0xd8, 0x89, 0xce, 0xe9, - 0x35, 0x28, 0xd9, 0xfc, 0x6b, 0x5d, 0x2f, 0xe0, 0x8d, 0x4a, 0x07, 0xdf, 0x24, 0xc2, 0x79, 0xc0, - 0x09, 0x76, 0xfe, 0xf0, 0xa0, 0xfc, 0x5c, 0x40, 0x65, 0x8e, 0xdb, 0x91, 0x4f, 0x19, 0xc6, 0xec, - 0x4e, 0x53, 0xb2, 0xb7, 0x60, 0x48, 0xec, 0x08, 0x64, 0x52, 0xa6, 0x74, 0xbb, 0xc9, 0x26, 0x21, - 0x6f, 0xda, 0x75, 0xdf, 0x98, 0xaa, 0x48, 0xf2, 0x9d, 0x33, 0xd3, 0xfa, 0xe5, 0x3c, 0xbc, 0x18, - 0x1f, 0x82, 0x77, 0x83, 0x5a, 0xe5, 0xce, 0x5a, 0xb5, 0xb1, 0x41, 0x77, 0xc6, 0x8d, 0xc0, 0x7f, - 0xe8, 0x35, 0x78, 0x70, 0xff, 0xca, 0x31, 0x5b, 0xf8, 0x9a, 0x5c, 0x3e, 0x52, 0xe1, 0x9c, 0x37, - 0x0c, 0x5a, 0x34, 0x59, 0x83, 0x6c, 0x6e, 0x3a, 0x9d, 0x1e, 0xfd, 0xf3, 0xcd, 0x67, 0xec, 0x84, - 0x01, 0xfb, 0xfe, 0x1c, 0x9c, 0xce, 0xfe, 0x10, 0xd2, 0x23, 0x94, 0xd5, 0x7d, 0xa5, 0xcf, 0xd7, - 0x2e, 0xbd, 0x72, 0x78, 0x50, 0x7e, 0x31, 0x74, 0x5b, 0x4d, 0xc7, 0x6b, 0xc8, 0xda, 0xbc, 0x3a, - 0x77, 0x3a, 0x84, 0x60, 0xd4, 0xdb, 0xa7, 0xa6, 0xcf, 0x82, 0xda, 0xc9, 0xe7, 0x73, 0x4b, 0x00, - 0x45, 0xa5, 0xd3, 0xb3, 0x7e, 0x2d, 0x07, 0xda, 0xd4, 0x2e, 0xda, 0xbc, 0xe1, 0x05, 0xbc, 0x1e, - 0xd1, 0x6e, 0x4e, 0xee, 0x38, 0x12, 0x96, 0xb2, 0x5f, 0x42, 0x18, 0x7b, 0x0f, 0x46, 0x69, 0xd7, - 0xc1, 0x8d, 0x3b, 0x59, 0x12, 0xa4, 0x2d, 0x94, 0x7e, 0x5b, 0x3d, 0x3b, 0x96, 0x22, 0x12, 0xb7, - 0xa2, 0x5b, 0x0f, 0x36, 0x97, 0x9b, 0xae, 0xd7, 0x0a, 0xe9, 0xf4, 0xc3, 0x6e, 0xfd, 0xf0, 0x51, - 0xe4, 0xd4, 0x11, 0xaa, 0xdf, 0x8a, 0x62, 0x54, 0xeb, 0x86, 0x52, 0x56, 0x1e, 0x63, 0x84, 0x57, - 0x86, 0xe1, 0xfb, 0x89, 0xd2, 0x62, 0x69, 0xec, 0xf0, 0xa0, 0x2c, 0xa7, 0x8b, 0x2d, 0xe1, 0xd6, - 0x8f, 0xe6, 0x60, 0xca, 0x9c, 0x4f, 0xec, 0x12, 0x8c, 0x90, 0x2b, 0x4c, 0x0e, 0x95, 0x33, 0xa2, - 0x17, 0x46, 0xa4, 0x13, 0x8c, 0xe1, 0xfa, 0x42, 0x58, 0xe2, 0xfc, 0x26, 0x0e, 0x74, 0x78, 0xe1, - 0xf9, 0x5d, 0x97, 0x20, 0x5b, 0x95, 0x31, 0x4b, 0x08, 0xef, 0x61, 0xb7, 0x19, 0xe9, 0x3a, 0xfb, - 0x00, 0x21, 0x36, 0x95, 0x58, 0xcb, 0x30, 0x22, 0xf7, 0x92, 0x94, 0xf1, 0x4f, 0xee, 0x04, 0xc6, - 0x3f, 0xd6, 0x41, 0x0e, 0xa0, 0x56, 0xbb, 0x79, 0x9b, 0xef, 0x6f, 0xb8, 0x5e, 0x80, 0x8f, 0x4c, - 0xb8, 0x6f, 0xdf, 0xa6, 0xc5, 0x35, 0x41, 0x8f, 0x4c, 0x72, 0x8f, 0xdf, 0xe3, 0xfb, 0xc6, 0x23, - 0x93, 0x42, 0xc5, 0xc3, 0x21, 0xf0, 0x1e, 0xba, 0x11, 0x17, 0x84, 0x79, 0x24, 0x94, 0x87, 0x83, - 0x84, 0xa6, 0x28, 0x35, 0x64, 0xf6, 0x65, 0x98, 0x4a, 0x7e, 0xc5, 0x4f, 0x65, 0x53, 0xf1, 0x02, - 0x36, 0x0b, 0x97, 0x9e, 0x3f, 0x3c, 0x28, 0x2f, 0x68, 0x5c, 0xd3, 0x8f, 0x68, 0x29, 0x66, 0xd6, - 0x2f, 0xe6, 0xf0, 0x81, 0x58, 0x35, 0xf0, 0x02, 0x0c, 0xc5, 0x26, 0x8d, 0x13, 0xb4, 0xeb, 0x98, - 0xcf, 0x01, 0x58, 0xce, 0x5e, 0x84, 0x42, 0xd2, 0x12, 0xdc, 0xab, 0xcd, 0x16, 0x88, 0x52, 0x76, - 0x03, 0x46, 0x07, 0xfa, 0x66, 0x5c, 0x1a, 0x19, 0xdf, 0xaa, 0xa8, 0x71, 0x14, 0x6e, 0x3d, 0xd8, - 0xfc, 0xee, 0x1d, 0x85, 0x9f, 0xc8, 0xc3, 0xb4, 0xe8, 0xd7, 0x4a, 0x37, 0xda, 0xf5, 0x03, 0x2f, - 0xda, 0x7f, 0x6a, 0xb5, 0x5b, 0xef, 0x18, 0xa2, 0xf1, 0x82, 0x3a, 0x65, 0xf4, 0xb6, 0x0d, 0xa4, - 0xe4, 0xfa, 0xaf, 0x86, 0x61, 0x36, 0x83, 0x8a, 0xbd, 0x6e, 0x28, 0xa0, 0xe7, 0x95, 0xab, 0xeb, - 0xb7, 0x0f, 0xca, 0x13, 0x0a, 0x7d, 0x33, 0x71, 0x7d, 0x5d, 0x34, 0xad, 0x2d, 0x64, 0x4f, 0xa1, - 0x3e, 0x5a, 0xb7, 0xb6, 0x30, 0x6d, 0x2c, 0x5e, 0x85, 0x61, 0xdb, 0x6f, 0x72, 0x65, 0x61, 0x84, - 0x12, 0x46, 0x20, 0x00, 0xc6, 0x8b, 0xaa, 0x00, 0xb0, 0x9b, 0x30, 0x2a, 0xfe, 0xb8, 0xe3, 0x76, - 0xe8, 0xad, 0x80, 0xc5, 0x97, 0x33, 0x84, 0x76, 0xbc, 0xf6, 0x8e, 0x7e, 0x3f, 0x6b, 0x72, 0xa7, - 0xe5, 0x76, 0x0c, 0x51, 0x48, 0x22, 0x1a, 0xf7, 0xbc, 0x62, 0xff, 0x7b, 0x5e, 0xee, 0xd8, 0x7b, - 0xde, 0x36, 0x40, 0xcd, 0xdb, 0x69, 0x7b, 0xed, 0x9d, 0x4a, 0x73, 0x87, 0x1c, 0x86, 0x5f, 0xed, - 0x3f, 0x0a, 0x97, 0x12, 0x64, 0x9c, 0xb8, 0xcf, 0xe2, 0x83, 0x9e, 0x84, 0x39, 0x6e, 0x73, 0xc7, - 0x70, 0x6c, 0xd0, 0x38, 0xb3, 0x75, 0x80, 0x4a, 0x3d, 0xf2, 0x1e, 0x8a, 0x29, 0x1c, 0x92, 0xdc, - 0xa2, 0x3e, 0x79, 0xb9, 0x72, 0x9b, 0xef, 0xd7, 0x78, 0x94, 0x3c, 0x8d, 0xb8, 0x88, 0x2a, 0x56, - 0x82, 0x61, 0xb5, 0x9e, 0x70, 0x60, 0x1d, 0x38, 0x55, 0x69, 0x34, 0x3c, 0xd1, 0x06, 0xb7, 0x89, - 0x6f, 0x7d, 0xbc, 0x81, 0xac, 0x27, 0xb2, 0x59, 0xbf, 0x4a, 0xac, 0x5f, 0x70, 0x63, 0x2a, 0x27, - 0x92, 0x64, 0xe9, 0x6a, 0xb2, 0x19, 0x5b, 0x35, 0x98, 0x32, 0x1b, 0x6f, 0x3a, 0x3a, 0x4f, 0x40, - 0xd1, 0xae, 0x55, 0x9c, 0xda, 0xcd, 0xca, 0x95, 0x52, 0x8e, 0x95, 0x60, 0x82, 0x7e, 0x2d, 0x3a, - 0x8b, 0x6f, 0x5e, 0x2b, 0xe5, 0x0d, 0xc8, 0x9b, 0x57, 0x16, 0x4b, 0x85, 0x85, 0xfc, 0x7c, 0x2e, - 0xe5, 0x63, 0x34, 0x5a, 0x2a, 0x4a, 0x25, 0x98, 0xf5, 0x2b, 0x39, 0x28, 0xaa, 0x6f, 0x67, 0xd7, - 0xa0, 0x50, 0xab, 0xdd, 0x4c, 0x79, 0x05, 0x25, 0xa7, 0x8c, 0xdc, 0x4f, 0xc3, 0x50, 0x37, 0xfd, - 0x14, 0x04, 0x82, 0x6e, 0x73, 0xad, 0x46, 0xc2, 0x81, 0xa2, 0x4b, 0x36, 0x6f, 0x49, 0x97, 0xe1, - 0x2a, 0x71, 0x0d, 0x0a, 0xb7, 0x1e, 0x6c, 0xd2, 0xad, 0x42, 0xd1, 0x25, 0xfb, 0xa9, 0xa4, 0xfb, - 0xf0, 0x91, 0xbe, 0xcb, 0x0b, 0x02, 0xcb, 0x86, 0x71, 0x6d, 0x22, 0xcb, 0x43, 0xb7, 0xe5, 0xc7, - 0xde, 0xbd, 0x74, 0xe8, 0x0a, 0x88, 0x4d, 0x25, 0x42, 0x46, 0x58, 0xf3, 0xeb, 0x6e, 0x93, 0x4e, - 0x6f, 0x94, 0x11, 0x9a, 0x02, 0x60, 0x4b, 0xb8, 0xf5, 0x5b, 0x39, 0x28, 0xa1, 0x24, 0x85, 0xa6, - 0x9b, 0xfe, 0x1e, 0x6f, 0xdf, 0xbf, 0xc2, 0xde, 0x50, 0x4b, 0x2e, 0x17, 0x2b, 0x1c, 0x86, 0x71, - 0xc9, 0xa5, 0x5e, 0x2c, 0x68, 0xd9, 0x69, 0x0e, 0xd4, 0xf9, 0xc1, 0x1d, 0x2f, 0x8f, 0x71, 0xa0, - 0x2e, 0xc3, 0x30, 0x7e, 0x0e, 0x6d, 0x8e, 0xf8, 0xe5, 0x91, 0x00, 0xd8, 0x12, 0xae, 0xed, 0x4d, - 0x3f, 0x95, 0xef, 0x69, 0xc3, 0xe2, 0x77, 0x95, 0xf3, 0xa2, 0xd9, 0xb8, 0x81, 0xf6, 0xeb, 0x0f, - 0x60, 0x2e, 0xdd, 0x25, 0xa8, 0x0c, 0xaa, 0xc0, 0xb4, 0x09, 0x57, 0x7a, 0xa1, 0x33, 0x99, 0x75, - 0xdd, 0x5f, 0xb4, 0xd3, 0xf8, 0xd6, 0xff, 0x92, 0x83, 0x31, 0xfc, 0xd3, 0xee, 0x36, 0xd1, 0x84, - 0xa6, 0xf2, 0xa0, 0x46, 0x8a, 0x5f, 0x5d, 0x98, 0x73, 0x1f, 0x85, 0x0e, 0xe9, 0x86, 0x8d, 0x3d, - 0x26, 0x46, 0x26, 0x52, 0xa9, 0xd1, 0x55, 0xca, 0x91, 0x98, 0x54, 0xaa, 0x7e, 0xc3, 0x14, 0x29, - 0x21, 0xa3, 0xe1, 0xdd, 0x83, 0x9a, 0x98, 0x7e, 0xfa, 0x9b, 0x36, 0xd2, 0xf9, 0x4d, 0xd3, 0xf0, - 0x4e, 0xa2, 0xe1, 0x93, 0xf6, 0x83, 0x5a, 0xc5, 0x5e, 0x37, 0x9e, 0xb4, 0xc5, 0x37, 0x1a, 0x76, - 0xe2, 0x84, 0x64, 0xfd, 0x63, 0x48, 0x77, 0x20, 0x1d, 0x78, 0x27, 0x5c, 0x1b, 0x6f, 0xc3, 0x70, - 0xa5, 0xd9, 0xf4, 0x1f, 0xd1, 0x2e, 0xa1, 0x74, 0x53, 0x71, 0xff, 0xc9, 0xf3, 0x0c, 0xd5, 0x2b, - 0x86, 0x43, 0x96, 0x00, 0xb0, 0x65, 0x18, 0xab, 0x3c, 0xa8, 0x55, 0xab, 0x2b, 0x9b, 0x9b, 0xd2, - 0xf9, 0xa4, 0xb0, 0xf4, 0xb2, 0xea, 0x1f, 0xcf, 0x6b, 0x38, 0xe9, 0x57, 0xd5, 0x44, 0x7e, 0x4f, - 0xe8, 0xd8, 0xbb, 0x00, 0xb7, 0x7c, 0xaf, 0x2d, 0xd5, 0x49, 0xd4, 0xf8, 0x73, 0x87, 0x07, 0xe5, - 0xf1, 0x0f, 0x7d, 0xaf, 0x4d, 0xfa, 0x27, 0xf1, 0xed, 0x09, 0x92, 0xad, 0xfd, 0x2d, 0x7a, 0x7a, - 0xc9, 0x97, 0x66, 0x31, 0xc3, 0x49, 0x4f, 0x6f, 0xf9, 0x3d, 0x16, 0x31, 0x0a, 0x8d, 0xb5, 0x60, - 0xba, 0xd6, 0xdd, 0xd9, 0xe1, 0x62, 0x67, 0x27, 0x05, 0xca, 0x08, 0xdd, 0x71, 0xe3, 0x90, 0x1f, - 0xf2, 0x3e, 0x22, 0x6e, 0x29, 0xe1, 0xd2, 0xeb, 0x62, 0x22, 0x7f, 0xeb, 0xa0, 0x4c, 0xaf, 0xb5, - 0x42, 0x54, 0x0b, 0x15, 0x7d, 0xaf, 0xfa, 0x24, 0xcd, 0x9b, 0xdd, 0x85, 0x91, 0x1b, 0x5e, 0x74, - 0xb3, 0xbb, 0x45, 0xce, 0x14, 0x2f, 0x1c, 0xb1, 0x68, 0x24, 0xa2, 0x7c, 0x2e, 0xd8, 0xf1, 0xa2, - 0xdd, 0xae, 0x6e, 0xce, 0x4e, 0x6c, 0xd8, 0x03, 0x28, 0x2e, 0x7b, 0x41, 0xbd, 0xc9, 0x97, 0xab, - 0x74, 0xf6, 0xbf, 0x78, 0x04, 0x4b, 0x85, 0x2a, 0xfb, 0xa5, 0x8e, 0xbf, 0xea, 0x9e, 0x2e, 0x0b, - 0x28, 0x0c, 0xf6, 0x6f, 0xe6, 0xe0, 0xd9, 0xf8, 0xeb, 0x2b, 0x3b, 0xbc, 0x1d, 0xdd, 0x71, 0xa3, - 0xfa, 0x2e, 0x0f, 0xa8, 0x97, 0xc6, 0x8e, 0xea, 0xa5, 0xcf, 0xf6, 0xf4, 0xd2, 0xc5, 0xa4, 0x97, - 0x5c, 0xc1, 0xcc, 0x69, 0x49, 0x6e, 0xbd, 0x7d, 0x76, 0x54, 0xad, 0xcc, 0x01, 0x48, 0xde, 0x7f, - 0xc8, 0x19, 0xef, 0xe5, 0x23, 0x1a, 0x9c, 0x20, 0x93, 0x11, 0x7d, 0xfc, 0xdb, 0xb0, 0x02, 0x8b, - 0xa1, 0xec, 0xb6, 0xf2, 0x5c, 0x92, 0x52, 0xc9, 0xf9, 0x23, 0x78, 0x4b, 0x6f, 0xa6, 0xd9, 0x23, - 0x7c, 0x14, 0xe5, 0x68, 0xaf, 0xb9, 0x5b, 0x24, 0x88, 0x1c, 0x33, 0xda, 0x6b, 0x6e, 0x32, 0xda, - 0x4d, 0x37, 0x3d, 0xda, 0x6b, 0xee, 0x16, 0x5b, 0x96, 0xee, 0x96, 0xd2, 0x37, 0xef, 0xf9, 0xa3, - 0xb8, 0x2d, 0x6f, 0xc8, 0x93, 0x39, 0xc3, 0xed, 0xf2, 0x8b, 0x30, 0x56, 0xeb, 0xb8, 0x75, 0xde, - 0xf4, 0xb6, 0x23, 0x7a, 0x10, 0x7c, 0xe9, 0x08, 0x56, 0x31, 0x2e, 0x3d, 0x26, 0xa9, 0x9f, 0xfa, - 0x35, 0x29, 0xc6, 0x11, 0x5f, 0xb8, 0xb9, 0x71, 0x67, 0x7e, 0xfa, 0xd8, 0x2f, 0xdc, 0xdc, 0xb8, - 0x43, 0x32, 0x47, 0xa7, 0x65, 0xc8, 0x1c, 0x1b, 0x77, 0x58, 0x07, 0xa6, 0x36, 0x79, 0x10, 0xb8, - 0xdb, 0x7e, 0xd0, 0x92, 0x0a, 0x3b, 0xe9, 0xef, 0xf1, 0xea, 0x51, 0xfc, 0x0c, 0x02, 0xa9, 0xa9, - 0x8d, 0x14, 0xcc, 0x49, 0x6b, 0xf9, 0x52, 0xfc, 0xad, 0x5f, 0x2f, 0xc0, 0x99, 0x3e, 0x5f, 0xc9, - 0xd6, 0xd5, 0xae, 0x98, 0x33, 0x34, 0xab, 0x7d, 0xd0, 0x2f, 0x1d, 0xbb, 0x51, 0xae, 0x41, 0x69, - 0xf5, 0x36, 0x8a, 0xd3, 0x52, 0xe7, 0xbd, 0x5c, 0x51, 0xe7, 0x09, 0x6a, 0xff, 0xf8, 0x1e, 0x9a, - 0xb0, 0x29, 0x5d, 0x79, 0xdd, 0xf0, 0xd5, 0xec, 0xa1, 0x5c, 0xf8, 0xbe, 0x3c, 0x0c, 0xe1, 0xd9, - 0x96, 0x8a, 0x50, 0x93, 0x3b, 0x51, 0x84, 0x9a, 0xcf, 0xc1, 0xc4, 0xea, 0x6d, 0x79, 0xd9, 0xbd, - 0xe9, 0x86, 0xbb, 0xb4, 0xf3, 0xe2, 0x8b, 0x30, 0xdf, 0x73, 0xe8, 0x6e, 0xbc, 0xeb, 0x1a, 0x62, - 0xa5, 0x41, 0xc1, 0xee, 0xc1, 0xac, 0xfc, 0x36, 0x6f, 0xdb, 0xab, 0xcb, 0x40, 0x17, 0x9e, 0xdb, - 0xa4, 0x6d, 0xf8, 0xc5, 0xc3, 0x83, 0x72, 0x99, 0xef, 0xa1, 0x71, 0x1e, 0x95, 0x3b, 0x21, 0x22, - 0xe8, 0x56, 0x7a, 0x19, 0xf4, 0xba, 0xf7, 0xbd, 0x3d, 0x86, 0x15, 0x8a, 0xda, 0x44, 0xdd, 0x02, - 0x57, 0x22, 0x59, 0xbf, 0x36, 0x0c, 0x0b, 0xfd, 0x77, 0x50, 0xf6, 0x79, 0x73, 0x00, 0x2f, 0x1c, - 0xbb, 0xe7, 0x1e, 0x3f, 0x86, 0x5f, 0x80, 0xb9, 0xd5, 0x76, 0xc4, 0x83, 0x4e, 0xe0, 0xa9, 0x78, - 0x0b, 0x37, 0xfd, 0x50, 0x19, 0x43, 0xa2, 0x55, 0x22, 0x8f, 0xcb, 0x49, 0x2f, 0x89, 0xa6, 0x99, - 0x1a, 0xab, 0x4c, 0x0e, 0x6c, 0x15, 0xa6, 0x34, 0x78, 0xb3, 0xbb, 0x43, 0x32, 0x83, 0x7c, 0x7a, - 0xd0, 0x78, 0x36, 0xbb, 0xba, 0xa5, 0x58, 0x8a, 0x68, 0xe1, 0x17, 0x0b, 0x34, 0x2d, 0x5e, 0x84, - 0x42, 0xad, 0xbb, 0x45, 0xd3, 0x41, 0x5e, 0x0e, 0x8c, 0x83, 0x44, 0x94, 0xb2, 0xcf, 0x00, 0xd8, - 0xbc, 0xe3, 0x87, 0x5e, 0xe4, 0x07, 0xfb, 0xba, 0xdb, 0x4e, 0x10, 0x43, 0x4d, 0xcb, 0x62, 0x05, - 0x65, 0x37, 0x61, 0x3a, 0xf9, 0x75, 0xf7, 0x51, 0x9b, 0x94, 0xa9, 0x63, 0x52, 0x8b, 0x91, 0x90, - 0x3b, 0xbe, 0x28, 0xd3, 0x8f, 0xc6, 0x14, 0x19, 0x5b, 0x84, 0xe2, 0x03, 0x3f, 0xd8, 0xdb, 0x16, - 0x03, 0x35, 0x94, 0x1c, 0xde, 0x8f, 0x08, 0xa6, 0x1f, 0x52, 0x0a, 0x4f, 0xcc, 0xf9, 0xd5, 0xf6, - 0x43, 0x2f, 0xf0, 0xdb, 0x2d, 0xde, 0x8e, 0xf4, 0xd7, 0x72, 0x9e, 0x80, 0x0d, 0x87, 0xc9, 0x04, - 0x2c, 0xee, 0xea, 0x95, 0x7a, 0xe4, 0x07, 0xf4, 0x54, 0x2e, 0x87, 0x5b, 0x00, 0x8c, 0xe1, 0x16, - 0x00, 0xd1, 0x89, 0x36, 0xdf, 0xa6, 0x67, 0x03, 0xec, 0xc4, 0x80, 0x6f, 0x1b, 0xde, 0xa0, 0x7c, - 0x5b, 0x08, 0x1f, 0x36, 0xdf, 0x46, 0x05, 0x83, 0x11, 0x44, 0x69, 0xbb, 0x47, 0x35, 0x45, 0x68, - 0xd6, 0xef, 0x8e, 0xf5, 0x9d, 0xb7, 0x62, 0xb7, 0x3f, 0xd9, 0xbc, 0x5d, 0x73, 0x07, 0x98, 0xb7, - 0xaf, 0xc7, 0xf6, 0xca, 0xba, 0x0b, 0x34, 0x42, 0xf4, 0xe3, 0x46, 0xe2, 0x2c, 0xfc, 0x52, 0xf1, - 0x24, 0x93, 0x88, 0x3a, 0x29, 0x3f, 0x68, 0x27, 0x15, 0x06, 0xea, 0x24, 0xb6, 0x04, 0x93, 0x71, - 0x18, 0xae, 0x0d, 0x37, 0x32, 0xf6, 0xa6, 0x38, 0x76, 0x9a, 0xd3, 0x71, 0x23, 0x7d, 0x6f, 0x32, - 0x49, 0xd8, 0x3b, 0x30, 0x4e, 0x46, 0xfb, 0xc8, 0x61, 0x38, 0x31, 0x9b, 0x54, 0x16, 0xfe, 0x29, - 0x7a, 0x1d, 0x5d, 0x2c, 0xc9, 0x0d, 0xaf, 0xc3, 0x9b, 0x5e, 0x9b, 0xd7, 0x50, 0x5b, 0x4f, 0x33, - 0x06, 0x97, 0x64, 0x87, 0x4a, 0x1c, 0xa9, 0xc8, 0x37, 0xf4, 0x74, 0x06, 0x51, 0x7a, 0xb2, 0x8e, - 0x9e, 0x68, 0xb2, 0x4a, 0xab, 0xa5, 0x60, 0xcd, 0xdf, 0xf1, 0x94, 0x9d, 0xa6, 0xb2, 0x5a, 0x0a, - 0x9c, 0xa6, 0x80, 0xa6, 0xac, 0x96, 0x24, 0xaa, 0xb8, 0x49, 0x88, 0x1f, 0xd5, 0x15, 0x7a, 0xa2, - 0xc2, 0x9b, 0x04, 0x12, 0x99, 0xc6, 0xb1, 0x12, 0x49, 0x55, 0xb3, 0xda, 0x72, 0xbd, 0x26, 0x79, - 0xba, 0x26, 0xd5, 0x70, 0x01, 0x4d, 0x57, 0x83, 0xa8, 0xac, 0x0e, 0x13, 0x36, 0xdf, 0xde, 0x08, - 0xfc, 0x88, 0xd7, 0x23, 0xde, 0x20, 0xe9, 0x49, 0x5d, 0x20, 0x96, 0x7c, 0x5f, 0x4a, 0x86, 0x4b, - 0x6f, 0xfc, 0xee, 0x41, 0x39, 0xf7, 0xad, 0x83, 0x32, 0x08, 0x90, 0xb4, 0xbc, 0x3e, 0x3c, 0x28, - 0x9f, 0x11, 0xe3, 0xdf, 0x51, 0xc4, 0xfa, 0x11, 0xa3, 0x33, 0x65, 0xdf, 0x10, 0x9b, 0x6e, 0xdc, - 0x25, 0x49, 0x65, 0x13, 0x7d, 0x2a, 0x7b, 0x33, 0xb3, 0xb2, 0xb2, 0xd6, 0xdb, 0x99, 0x95, 0x66, - 0x56, 0xc2, 0xde, 0x85, 0xf1, 0xe5, 0xea, 0xb2, 0xdf, 0xde, 0xf6, 0x76, 0x6a, 0x37, 0x2b, 0x28, - 0x82, 0x91, 0xd5, 0x7d, 0xdd, 0x73, 0xea, 0x08, 0x77, 0xc2, 0x5d, 0xd7, 0x70, 0xbe, 0x4a, 0xf0, - 0xd9, 0x0d, 0x98, 0x52, 0x3f, 0x6d, 0xbe, 0x7d, 0xcf, 0xae, 0xa2, 0xe4, 0xa5, 0x5c, 0x1d, 0x62, - 0x0e, 0xa2, 0x23, 0xba, 0x81, 0x2e, 0x91, 0xa7, 0xc8, 0xc4, 0x64, 0x5c, 0xe1, 0x9d, 0xa6, 0xbf, - 0x2f, 0x3e, 0x6f, 0xd3, 0xe3, 0x01, 0xca, 0x5a, 0x34, 0x19, 0x1b, 0x71, 0x89, 0x13, 0x79, 0xc6, - 0x76, 0x9b, 0x22, 0x62, 0xeb, 0x30, 0x43, 0x53, 0xfc, 0xbe, 0x17, 0x7a, 0x5b, 0x5e, 0xd3, 0x8b, - 0xf6, 0x51, 0xca, 0x22, 0x29, 0x44, 0xad, 0x8b, 0x87, 0x71, 0xa9, 0xc6, 0xac, 0x97, 0xd4, 0xfa, - 0x95, 0x3c, 0x3c, 0x77, 0xd4, 0x8d, 0x83, 0xd5, 0xcc, 0xcd, 0xec, 0xe2, 0x00, 0xb7, 0x94, 0xe3, - 0xb7, 0xb3, 0x55, 0x98, 0xba, 0x1b, 0xec, 0xb8, 0x6d, 0xef, 0xeb, 0x78, 0x93, 0x8c, 0x8d, 0xb7, - 0xb0, 0x33, 0x7c, 0xad, 0xc4, 0x9c, 0xed, 0x29, 0xa2, 0x85, 0x87, 0xb4, 0xcd, 0x7d, 0x54, 0x37, - 0xa0, 0x6b, 0x30, 0xb6, 0xec, 0xb7, 0x23, 0xfe, 0x38, 0x4a, 0x39, 0xbd, 0x4a, 0x60, 0xda, 0x05, - 0x4a, 0xa1, 0x5a, 0xff, 0x32, 0x0f, 0xe7, 0x8e, 0x14, 0xb9, 0xd9, 0xa6, 0xd9, 0x6b, 0xaf, 0x0e, - 0x22, 0xa7, 0x1f, 0xdf, 0x6d, 0x8b, 0x3d, 0x76, 0x46, 0xc7, 0x5a, 0xd9, 0x2f, 0xfc, 0x37, 0x39, - 0xea, 0xa4, 0x4f, 0xc2, 0x28, 0x56, 0x15, 0x77, 0x91, 0xd4, 0x46, 0xe1, 0x2e, 0xec, 0x99, 0xda, - 0x28, 0x89, 0xc6, 0xae, 0x42, 0x71, 0xd9, 0x6d, 0x36, 0x35, 0x97, 0x60, 0xbc, 0x49, 0xd4, 0x11, - 0x96, 0x32, 0x4b, 0x53, 0x88, 0xec, 0x2d, 0x00, 0xf9, 0xb7, 0x76, 0x56, 0xe0, 0x66, 0x49, 0x64, - 0xa9, 0xe3, 0x42, 0x43, 0xc6, 0x40, 0x82, 0x75, 0x3f, 0x76, 0x3a, 0x94, 0x81, 0x04, 0x05, 0xc0, - 0x08, 0x24, 0x28, 0x00, 0xd6, 0xaf, 0x16, 0xe0, 0xf9, 0xa3, 0xef, 0x8d, 0xec, 0x9e, 0x39, 0x04, - 0xaf, 0x0d, 0x74, 0xdb, 0x3c, 0x7e, 0x0c, 0x54, 0x58, 0x4e, 0xd9, 0x21, 0x17, 0x7b, 0x8d, 0xe1, - 0xbf, 0x7d, 0x50, 0xd6, 0x6c, 0x1d, 0x6f, 0xf9, 0x5e, 0x5b, 0x7b, 0x9b, 0xf8, 0x1a, 0x40, 0x2d, - 0x72, 0x23, 0xaf, 0x7e, 0xeb, 0xc1, 0x6d, 0x15, 0xb5, 0xe2, 0xda, 0x60, 0x5f, 0x96, 0xd0, 0xc9, - 0x7d, 0x85, 0xfc, 0x70, 0x10, 0xea, 0x7c, 0xf8, 0x68, 0xcf, 0xb8, 0x19, 0x27, 0xc8, 0x0b, 0x9f, - 0x85, 0x52, 0x9a, 0x94, 0x5d, 0x80, 0x21, 0xfc, 0x00, 0xcd, 0xa2, 0x3f, 0xc5, 0x01, 0xcb, 0x17, - 0xee, 0xd0, 0xdc, 0x41, 0x2f, 0x69, 0x7c, 0x10, 0x37, 0x75, 0x70, 0xe4, 0x25, 0x2d, 0xdf, 0xd3, - 0x7b, 0xf5, 0x70, 0x29, 0x22, 0xeb, 0x2f, 0x72, 0x70, 0xb6, 0xef, 0x8d, 0x9c, 0x6d, 0x98, 0x03, - 0xf6, 0xf2, 0x71, 0x57, 0xf8, 0x63, 0xc7, 0x6a, 0xe1, 0xc7, 0xd4, 0xdc, 0x7f, 0x0f, 0x26, 0x6a, - 0xdd, 0xad, 0xf4, 0x25, 0x4b, 0xc6, 0x30, 0xd0, 0xe0, 0xfa, 0x09, 0xa6, 0xe3, 0x8b, 0xf6, 0xab, - 0x17, 0x7f, 0xb2, 0x2c, 0xd1, 0xac, 0xac, 0x62, 0x37, 0xbe, 0x5e, 0x2f, 0x71, 0x93, 0xc8, 0xfa, - 0xe5, 0x7c, 0xf6, 0x6d, 0x55, 0xdc, 0xee, 0x4f, 0x70, 0x5b, 0xbd, 0xb1, 0xbc, 0x71, 0x7c, 0xdb, - 0xff, 0x89, 0x6a, 0x3b, 0x3e, 0x80, 0xd2, 0x8e, 0xa7, 0x14, 0x8a, 0xf4, 0x00, 0xaa, 0x76, 0xc7, - 0xd0, 0x7c, 0x00, 0x55, 0xc8, 0xec, 0x4d, 0x18, 0x5b, 0xf3, 0xa5, 0x03, 0xb7, 0x6a, 0xb1, 0xf4, - 0x73, 0x53, 0x40, 0x7d, 0x7b, 0x8c, 0x31, 0xc5, 0xdd, 0xc2, 0x1c, 0x78, 0x65, 0x4c, 0x86, 0x77, - 0x8b, 0xd4, 0x74, 0x31, 0xd5, 0x6e, 0x26, 0x99, 0xf5, 0x1f, 0x0d, 0x83, 0x75, 0xbc, 0xd2, 0x80, - 0x7d, 0x60, 0xf6, 0xdd, 0xa5, 0x81, 0xd5, 0x0d, 0x03, 0x6d, 0xb9, 0x95, 0x6e, 0xc3, 0xe3, 0xed, - 0xba, 0xe9, 0x7d, 0x4d, 0x30, 0x7d, 0x0b, 0x54, 0x78, 0x1f, 0xc5, 0x19, 0x6a, 0xe1, 0xbf, 0x2c, - 0x24, 0x4b, 0x2d, 0x75, 0x34, 0xe6, 0x3e, 0xc2, 0xd1, 0xc8, 0x6e, 0x43, 0x49, 0x87, 0x68, 0x2f, - 0xa1, 0x28, 0xb9, 0x18, 0x8c, 0x52, 0x1f, 0xd5, 0x43, 0x68, 0x9e, 0xaf, 0x85, 0xc1, 0xcf, 0xd7, - 0x44, 0x7c, 0xc7, 0xfa, 0x87, 0x7a, 0xc5, 0xf7, 0xb4, 0xc3, 0xa3, 0x86, 0xae, 0xbc, 0xb5, 0x43, - 0x3a, 0xb4, 0x86, 0x4d, 0x6f, 0xed, 0x8c, 0x83, 0x4b, 0x47, 0x57, 0x0e, 0xe7, 0xf8, 0x53, 0xf3, - 0xb7, 0x8c, 0x1d, 0xce, 0x25, 0x7d, 0x96, 0xc3, 0x79, 0x4c, 0x22, 0x0e, 0x40, 0xbb, 0xdb, 0x96, - 0x11, 0x6b, 0x47, 0x93, 0x03, 0x30, 0xe8, 0xb6, 0x9d, 0x74, 0xd4, 0xda, 0x18, 0xd1, 0xfa, 0xb1, - 0x3c, 0x4c, 0xc9, 0x0d, 0x57, 0x3e, 0x65, 0x3c, 0xb5, 0xcf, 0x44, 0x6f, 0x1b, 0xcf, 0x44, 0x2a, - 0x44, 0x8f, 0xde, 0xb4, 0x81, 0x1e, 0x89, 0x76, 0x81, 0xf5, 0xd2, 0x30, 0x1b, 0x26, 0x74, 0xe8, - 0xd1, 0xef, 0x43, 0x57, 0x92, 0x68, 0x4e, 0x74, 0xde, 0xe1, 0x23, 0x5d, 0x68, 0x1b, 0x3c, 0xac, - 0x1f, 0xcd, 0xc3, 0xa4, 0xf6, 0xa8, 0xff, 0xd4, 0x76, 0xfc, 0x67, 0x8d, 0x8e, 0x9f, 0x8f, 0x9d, - 0x3e, 0xe2, 0x96, 0x0d, 0xd4, 0xef, 0x5d, 0x98, 0xe9, 0x21, 0x49, 0xdb, 0x46, 0xe4, 0x06, 0xb1, - 0x8d, 0x78, 0xbd, 0x37, 0x34, 0x8c, 0x8c, 0xb0, 0x1c, 0x07, 0x0a, 0xd0, 0x63, 0xd1, 0xfc, 0x44, - 0x1e, 0xe6, 0xe8, 0x17, 0xc6, 0x52, 0x93, 0x12, 0xc7, 0x53, 0x3b, 0x16, 0x15, 0x63, 0x2c, 0xca, - 0xe6, 0x58, 0x68, 0x0d, 0xec, 0x3f, 0x24, 0xd6, 0x0f, 0x02, 0xcc, 0xf7, 0x23, 0x18, 0xd8, 0xb7, - 0x32, 0xf1, 0x5c, 0xc9, 0x0f, 0xe0, 0xb9, 0xb2, 0x06, 0x25, 0xac, 0x8a, 0xa2, 0x25, 0x85, 0xe2, - 0xde, 0x5a, 0x48, 0x2e, 0x89, 0x32, 0xe0, 0x1d, 0x45, 0x6f, 0x0a, 0x53, 0x17, 0xd7, 0x1e, 0x4a, - 0xf6, 0x8b, 0x39, 0x98, 0x42, 0xe0, 0xea, 0x43, 0xde, 0x8e, 0x90, 0xd9, 0x10, 0x39, 0x5a, 0xc4, - 0xaf, 0x48, 0xb5, 0x28, 0xf0, 0xda, 0x3b, 0xf4, 0x8c, 0xb4, 0x45, 0xcf, 0x48, 0xef, 0xc8, 0xe7, - 0xaf, 0x4b, 0x75, 0xbf, 0x75, 0x79, 0x27, 0x70, 0x1f, 0x7a, 0xd2, 0x5e, 0xc5, 0x6d, 0x5e, 0x4e, - 0x02, 0xfc, 0x77, 0xbc, 0x54, 0xc8, 0x7e, 0x62, 0x85, 0x4f, 0x74, 0xf2, 0x43, 0x39, 0x56, 0x9b, - 0xbe, 0x5f, 0x9b, 0x5f, 0xc4, 0xbe, 0x07, 0xce, 0xc8, 0x18, 0x26, 0xe2, 0x9a, 0xe6, 0xb5, 0xbb, - 0x7e, 0x37, 0x5c, 0x72, 0xeb, 0x7b, 0x42, 0x56, 0x93, 0xce, 0x62, 0xd8, 0xf2, 0x7a, 0x5c, 0xe8, - 0x6c, 0xc9, 0x52, 0xc3, 0x39, 0x36, 0x9b, 0x01, 0xbb, 0x09, 0x33, 0xb2, 0xa8, 0xd2, 0x8d, 0xfc, - 0x5a, 0xdd, 0x6d, 0x7a, 0xed, 0x1d, 0x3c, 0x10, 0x8a, 0xf2, 0x3c, 0x72, 0xbb, 0x91, 0xef, 0x84, - 0x12, 0xae, 0x5f, 0xb7, 0x7b, 0x88, 0x58, 0x15, 0xa6, 0x6d, 0xee, 0x36, 0xee, 0xb8, 0x8f, 0x97, - 0xdd, 0x8e, 0x5b, 0x17, 0x97, 0xf7, 0x22, 0x3e, 0xb9, 0xe2, 0xa9, 0x1c, 0x70, 0xb7, 0xe1, 0xb4, - 0xdc, 0xc7, 0x4e, 0x9d, 0x0a, 0x4d, 0xbd, 0xab, 0x41, 0x17, 0xb3, 0xf2, 0xda, 0x31, 0xab, 0xb1, - 0x34, 0x2b, 0xaf, 0xdd, 0x9f, 0x55, 0x42, 0xa7, 0x58, 0x6d, 0xba, 0xc1, 0x0e, 0x8f, 0xa4, 0xb9, - 0x27, 0x9c, 0xcf, 0x5d, 0xcc, 0x69, 0xac, 0x22, 0x2c, 0x73, 0xd0, 0xf4, 0x33, 0xcd, 0x4a, 0xa3, - 0x13, 0x33, 0xef, 0x41, 0xe0, 0x45, 0x5c, 0x6f, 0xe1, 0x38, 0x7e, 0x16, 0xf6, 0x3f, 0x1a, 0xca, - 0xf6, 0x6b, 0x62, 0x0f, 0x65, 0xc2, 0x4d, 0x6b, 0xe4, 0x44, 0x0f, 0xb7, 0xec, 0x56, 0xf6, 0x50, - 0xc6, 0xdc, 0xf4, 0x76, 0x4e, 0x62, 0x3b, 0x35, 0x6e, 0x7d, 0x1a, 0xda, 0x43, 0xc9, 0xd6, 0x45, - 0xa7, 0x45, 0xbc, 0x2d, 0x66, 0x34, 0x99, 0xbb, 0x4e, 0xe1, 0xa7, 0xbd, 0x44, 0x36, 0x5b, 0xa5, - 0x40, 0x15, 0x3b, 0x19, 0xc6, 0xaf, 0x69, 0x62, 0xf6, 0x37, 0x60, 0xfa, 0x5e, 0xc8, 0xaf, 0x57, - 0x37, 0x6a, 0x2a, 0xe4, 0x09, 0x6a, 0x88, 0xa6, 0x16, 0xaf, 0x1c, 0xb3, 0xe9, 0x5c, 0xd2, 0x69, - 0x30, 0xce, 0xbe, 0x1c, 0xb7, 0x6e, 0xc8, 0x9d, 0x6d, 0xaf, 0x13, 0xc6, 0xf1, 0xa3, 0xf4, 0x71, - 0x4b, 0x55, 0x65, 0xdd, 0x84, 0x99, 0x1e, 0x36, 0x6c, 0x0a, 0x40, 0x00, 0x9d, 0x7b, 0xeb, 0xb5, - 0xd5, 0xcd, 0xd2, 0x33, 0xac, 0x04, 0x13, 0xf8, 0x7b, 0x75, 0xbd, 0xb2, 0xb4, 0xb6, 0xba, 0x52, - 0xca, 0xb1, 0x19, 0x98, 0x44, 0xc8, 0x4a, 0xb5, 0x26, 0x41, 0x79, 0x19, 0x65, 0xd9, 0x2e, 0xc9, - 0xa5, 0x1b, 0x89, 0x05, 0x80, 0x67, 0x8a, 0xf5, 0xf7, 0xf2, 0x70, 0x56, 0x1d, 0x2b, 0x3c, 0x12, - 0x22, 0x98, 0xd7, 0xde, 0x79, 0xca, 0x4f, 0x87, 0xeb, 0xc6, 0xe9, 0xf0, 0x52, 0xea, 0xa4, 0x4e, - 0xb5, 0xf2, 0x88, 0x23, 0xe2, 0x37, 0xc7, 0xe0, 0xdc, 0x91, 0x54, 0xec, 0xf3, 0xe2, 0x34, 0xf7, - 0x78, 0x3b, 0xaa, 0x36, 0x9a, 0x7c, 0xd3, 0x6b, 0x71, 0xbf, 0x1b, 0x91, 0x79, 0xf5, 0x8b, 0xa8, - 0x94, 0xc1, 0x42, 0xc7, 0x6b, 0x34, 0xb9, 0x13, 0xc9, 0x62, 0x63, 0xba, 0xf5, 0x52, 0x0b, 0x96, - 0x71, 0xce, 0x8f, 0x6a, 0x3b, 0xe2, 0xc1, 0x43, 0x34, 0xe1, 0x8a, 0x59, 0xee, 0x71, 0xde, 0x71, - 0x5c, 0x51, 0xea, 0x78, 0x54, 0x6c, 0xb2, 0xec, 0xa1, 0x66, 0xd7, 0x35, 0x96, 0xcb, 0xe2, 0x0a, - 0x77, 0xc7, 0x7d, 0x4c, 0x36, 0x25, 0x14, 0x42, 0x2f, 0x66, 0x29, 0xfd, 0x39, 0x5b, 0xee, 0x63, - 0xbb, 0x97, 0x84, 0x7d, 0x19, 0x4e, 0xd1, 0x01, 0x44, 0xfe, 0xf8, 0xaa, 0xc5, 0xd2, 0xdb, 0xff, - 0x95, 0xc3, 0x83, 0xf2, 0x19, 0x15, 0x7c, 0x50, 0x45, 0x60, 0xc8, 0x6a, 0x75, 0x36, 0x17, 0xb6, - 0x29, 0x0e, 0xe4, 0x54, 0x77, 0xdc, 0xe1, 0x61, 0xa8, 0x1c, 0x8d, 0xe8, 0x7a, 0xa3, 0x77, 0xa6, - 0xd3, 0x92, 0xe5, 0x76, 0x5f, 0x4a, 0x76, 0x13, 0xa6, 0x1e, 0xf0, 0x2d, 0x7d, 0x7c, 0x46, 0xe2, - 0xad, 0xaa, 0xf4, 0x88, 0x6f, 0xf5, 0x1f, 0x9c, 0x14, 0x1d, 0xf3, 0x50, 0xc9, 0xfb, 0x78, 0x7f, - 0xcd, 0x0b, 0x23, 0xde, 0xe6, 0x01, 0xc6, 0x79, 0x19, 0xc5, 0xcd, 0x60, 0x3e, 0x91, 0x90, 0xcd, - 0xf2, 0xa5, 0x17, 0x0e, 0x0f, 0xca, 0xe7, 0xa4, 0xc7, 0x5e, 0x93, 0xe0, 0x4e, 0x2a, 0x63, 0x46, - 0x2f, 0x57, 0xf6, 0x55, 0x98, 0xb6, 0xfd, 0x6e, 0xe4, 0xb5, 0x77, 0x6a, 0x51, 0xe0, 0x46, 0x7c, - 0x47, 0x1e, 0x48, 0x49, 0x40, 0x99, 0x54, 0x29, 0xbd, 0x0f, 0x4a, 0xa0, 0x13, 0x12, 0xd4, 0x38, - 0x11, 0x4c, 0x02, 0xf6, 0x15, 0x98, 0x92, 0x9e, 0xd8, 0x71, 0x05, 0x63, 0x46, 0xb4, 0x6f, 0xb3, - 0xf0, 0xfe, 0x15, 0x32, 0x01, 0x40, 0x68, 0x56, 0x05, 0x29, 0x6e, 0xec, 0x8b, 0xd4, 0x59, 0x1b, - 0x5e, 0x7b, 0x27, 0x9e, 0xc6, 0x80, 0x3d, 0xff, 0x46, 0xd2, 0x25, 0x1d, 0xf1, 0xb9, 0x6a, 0x1a, - 0xf7, 0xb1, 0x67, 0xea, 0xe5, 0xc3, 0x22, 0x38, 0x57, 0x09, 0x43, 0x2f, 0x8c, 0xc8, 0x09, 0x61, - 0xf5, 0x31, 0xaf, 0x77, 0x05, 0xb2, 0xb8, 0x28, 0xf2, 0x40, 0x1a, 0xc1, 0x0e, 0x2f, 0x5d, 0x3a, - 0x3c, 0x28, 0xbf, 0xe6, 0x22, 0xa2, 0x43, 0x7e, 0x0b, 0x0e, 0x57, 0xa8, 0xce, 0x23, 0x89, 0xab, - 0xb5, 0xe1, 0x68, 0xa6, 0xec, 0x2b, 0x70, 0x7a, 0xd9, 0x0d, 0x79, 0xb5, 0x1d, 0xf2, 0x76, 0xe8, - 0x45, 0xde, 0x43, 0x4e, 0x9d, 0x8a, 0x87, 0x5f, 0x11, 0x73, 0x8b, 0x58, 0x75, 0x37, 0x14, 0x0b, - 0x33, 0x46, 0x71, 0x68, 0x50, 0xb4, 0x6a, 0xfa, 0x70, 0x61, 0x36, 0x4c, 0xd5, 0x6a, 0x37, 0x57, - 0x3c, 0x37, 0x5e, 0x57, 0x93, 0xd8, 0x5f, 0xaf, 0xa1, 0x7e, 0x26, 0xdc, 0x75, 0x1a, 0x9e, 0x1b, - 0x2f, 0xa8, 0x3e, 0x9d, 0x95, 0xe2, 0x60, 0x1d, 0xe4, 0xa0, 0x94, 0x1e, 0x4a, 0xf6, 0x05, 0x18, - 0x93, 0xc6, 0x40, 0x3c, 0xdc, 0x25, 0xc7, 0x64, 0x65, 0x5b, 0x12, 0xc3, 0x4d, 0x22, 0x72, 0x0a, - 0x92, 0xa6, 0x46, 0x5c, 0xb7, 0x5b, 0x40, 0xa7, 0x20, 0x45, 0xc4, 0x1a, 0x30, 0x21, 0x47, 0x8b, - 0x63, 0x34, 0x29, 0xb2, 0x09, 0x7d, 0x41, 0x5f, 0x1d, 0x54, 0x94, 0xe2, 0x8f, 0x4f, 0x3f, 0x34, - 0x27, 0x24, 0x82, 0x51, 0x85, 0xc1, 0x75, 0x09, 0xa0, 0xa8, 0x08, 0xad, 0xb3, 0x70, 0xa6, 0xcf, - 0x37, 0x5b, 0x0f, 0xf1, 0x39, 0xb8, 0x4f, 0x8d, 0xec, 0x0b, 0x30, 0x87, 0x84, 0xcb, 0x7e, 0xbb, - 0xcd, 0xeb, 0x11, 0x6e, 0x47, 0x4a, 0x85, 0x5a, 0x90, 0x36, 0x07, 0xb2, 0xbd, 0xf5, 0x18, 0xc1, - 0x49, 0x6b, 0x52, 0x33, 0x39, 0x58, 0x3f, 0x9b, 0x87, 0x79, 0xda, 0xe1, 0x6c, 0x5e, 0xf7, 0x83, - 0xc6, 0xd3, 0x7f, 0xa2, 0xae, 0x1a, 0x27, 0xea, 0x8b, 0x71, 0x24, 0x8a, 0xac, 0x46, 0x1e, 0x71, - 0xa0, 0xfe, 0x72, 0x0e, 0x9e, 0x3b, 0x8a, 0x48, 0xf4, 0x4e, 0x1c, 0x3d, 0x6b, 0xac, 0x27, 0x4a, - 0x56, 0x07, 0x66, 0x71, 0x40, 0x97, 0x77, 0x79, 0x7d, 0x2f, 0xbc, 0xe9, 0x87, 0x11, 0x9a, 0xa5, - 0xe7, 0xfb, 0x3c, 0x58, 0xbe, 0x9e, 0xf9, 0x60, 0x79, 0x5a, 0xce, 0xb2, 0x3a, 0xf2, 0x90, 0xf1, - 0xbd, 0xf6, 0xf8, 0x7e, 0x68, 0x67, 0xb1, 0x46, 0xf3, 0xe2, 0x4a, 0x37, 0xda, 0xdd, 0x08, 0xf8, - 0x36, 0x0f, 0x78, 0xbb, 0xce, 0xbf, 0xcb, 0xcc, 0x8b, 0xcd, 0xc6, 0x0d, 0xa4, 0xc1, 0xf8, 0x27, - 0x93, 0x30, 0x97, 0x45, 0x26, 0xfa, 0x45, 0xbb, 0x34, 0xa7, 0x53, 0x9f, 0xfd, 0x40, 0x0e, 0x26, - 0x6a, 0xbc, 0xee, 0xb7, 0x1b, 0xd7, 0xd1, 0x2c, 0x84, 0x7a, 0xc7, 0x91, 0x42, 0x83, 0x80, 0x3b, - 0xdb, 0x29, 0x7b, 0x91, 0x6f, 0x1f, 0x94, 0x3f, 0x37, 0xd8, 0x5d, 0xb5, 0xee, 0x63, 0x34, 0x89, - 0x08, 0x43, 0x73, 0xc7, 0x55, 0xe0, 0x0b, 0x8f, 0x51, 0x29, 0x5b, 0x82, 0x49, 0x5a, 0xae, 0xbe, - 0x1e, 0x3c, 0x4d, 0x06, 0xeb, 0x50, 0x05, 0x3d, 0xfa, 0x47, 0x83, 0x84, 0x5d, 0x85, 0xc2, 0xbd, - 0xc5, 0xeb, 0x34, 0x06, 0x2a, 0xb8, 0xf9, 0xbd, 0xc5, 0xeb, 0xa8, 0x0e, 0x13, 0x57, 0x8c, 0xc9, - 0xee, 0xa2, 0x61, 0xa9, 0x71, 0x6f, 0xf1, 0x3a, 0xfb, 0x5b, 0x70, 0x6a, 0xc5, 0x0b, 0xa9, 0x0a, - 0x69, 0xe8, 0xde, 0x40, 0xf7, 0xae, 0x91, 0x3e, 0xb3, 0xf7, 0xd3, 0x99, 0xb3, 0xf7, 0x85, 0x46, - 0xcc, 0xc4, 0x91, 0x56, 0xf4, 0x8d, 0x74, 0x90, 0xb8, 0xec, 0x7a, 0xd8, 0x87, 0x30, 0x85, 0xba, - 0x73, 0xb4, 0xfd, 0xc7, 0xf0, 0xbe, 0xa3, 0x7d, 0x6a, 0xfe, 0x64, 0x66, 0xcd, 0x0b, 0xd2, 0x49, - 0x1c, 0x3d, 0x08, 0x30, 0x14, 0xb0, 0x71, 0xeb, 0x37, 0x38, 0xb3, 0x5b, 0x30, 0x4d, 0xe2, 0xd7, - 0xdd, 0xed, 0xcd, 0x5d, 0xbe, 0xe2, 0xee, 0x93, 0x91, 0x05, 0xde, 0xe8, 0x48, 0x66, 0x73, 0xfc, - 0x6d, 0x27, 0xda, 0xe5, 0x4e, 0xc3, 0x35, 0x04, 0x95, 0x14, 0x21, 0xfb, 0x06, 0x8c, 0xaf, 0xf9, - 0x75, 0x21, 0x79, 0xe3, 0xce, 0x20, 0xed, 0x2e, 0x3e, 0xc0, 0xe4, 0x5a, 0x12, 0x9c, 0x12, 0xa7, - 0xbe, 0x7d, 0x50, 0x7e, 0xfb, 0xa4, 0x93, 0x46, 0xab, 0xc0, 0xd6, 0x6b, 0x63, 0xcb, 0x50, 0x7c, - 0xc0, 0xb7, 0x44, 0x6b, 0xd3, 0x89, 0x77, 0x14, 0x98, 0xcc, 0xaa, 0xe8, 0x97, 0x61, 0x56, 0x45, - 0x30, 0x16, 0xc0, 0x0c, 0xf6, 0xcf, 0x86, 0x1b, 0x86, 0x8f, 0xfc, 0xa0, 0x81, 0x11, 0xd6, 0xfb, - 0x99, 0x74, 0x2c, 0x66, 0x76, 0xfe, 0x73, 0xb2, 0xf3, 0x3b, 0x1a, 0x07, 0x5d, 0x80, 0xec, 0x61, - 0xcf, 0xbe, 0x0a, 0x53, 0xe4, 0xd9, 0x7c, 0xe7, 0x7a, 0x05, 0x57, 0xe5, 0x84, 0xe1, 0x24, 0x67, - 0x16, 0x4a, 0x29, 0x95, 0x1c, 0xa5, 0x95, 0x06, 0xca, 0x69, 0x6d, 0xbb, 0xe6, 0xab, 0x99, 0x4e, - 0xc2, 0x36, 0x60, 0x7c, 0x85, 0x3f, 0xf4, 0xea, 0x1c, 0x1d, 0x79, 0xc8, 0x88, 0x36, 0xce, 0x1c, - 0x92, 0x94, 0x48, 0x5d, 0x4c, 0x03, 0x01, 0xd2, 0x2d, 0xc8, 0xb4, 0x9a, 0x8c, 0x11, 0xd9, 0x35, - 0x28, 0x54, 0x57, 0x36, 0xc8, 0x86, 0x56, 0xf9, 0xc6, 0x54, 0x1b, 0x1b, 0x2a, 0xcf, 0x02, 0x1a, - 0x41, 0x79, 0x0d, 0xc3, 0x02, 0xb7, 0xba, 0xb2, 0xc1, 0xb6, 0x61, 0x12, 0x3b, 0xe0, 0x26, 0x77, - 0x65, 0xdf, 0x4e, 0xf7, 0xe9, 0xdb, 0x4b, 0x99, 0x7d, 0x3b, 0x2f, 0xfb, 0x76, 0x97, 0xa8, 0x8d, - 0xc0, 0xf1, 0x3a, 0x5b, 0x21, 0xd2, 0x52, 0x32, 0x0b, 0x15, 0xee, 0x7c, 0x73, 0x0d, 0x8d, 0x3c, - 0x48, 0xa4, 0x55, 0xb9, 0x2f, 0xe2, 0xf8, 0xeb, 0x7d, 0x4d, 0xf4, 0x7b, 0xf9, 0xb0, 0xcf, 0xc2, - 0xd0, 0xdd, 0xbd, 0xc8, 0x9d, 0x9f, 0x31, 0xfa, 0x51, 0x80, 0x54, 0xf3, 0x51, 0x0b, 0xe9, 0xef, - 0x19, 0x61, 0x84, 0x90, 0x46, 0x0c, 0xc5, 0x4d, 0x37, 0x68, 0x3c, 0x72, 0x03, 0xf4, 0xa6, 0x9c, - 0x35, 0x58, 0x68, 0x25, 0x72, 0x28, 0x76, 0x09, 0x90, 0x72, 0xb1, 0xd4, 0x59, 0xb0, 0xef, 0x81, - 0xb3, 0xa1, 0xb7, 0xd3, 0x76, 0xa3, 0x6e, 0xc0, 0x1d, 0xb7, 0xb9, 0xe3, 0x07, 0x5e, 0xb4, 0xdb, - 0x72, 0xc2, 0xae, 0x17, 0xf1, 0xf9, 0x39, 0x23, 0xf5, 0x65, 0x4d, 0xe1, 0x55, 0x14, 0x5a, 0x4d, - 0x60, 0xd9, 0x67, 0xc2, 0xec, 0x02, 0xf6, 0x45, 0x98, 0xd4, 0xb7, 0xe4, 0x70, 0xfe, 0xd4, 0xf9, - 0xc2, 0xc5, 0xa9, 0xf8, 0xe2, 0x91, 0xde, 0xc0, 0x55, 0xc8, 0x48, 0xed, 0x84, 0x08, 0xcd, 0x90, - 0x91, 0x1a, 0xaf, 0x38, 0x99, 0x14, 0x2b, 0xcd, 0xda, 0x33, 0x34, 0x63, 0xa9, 0x97, 0xef, 0x5c, - 0xaf, 0xd8, 0xa3, 0x1b, 0xd5, 0xfb, 0xb5, 0xa6, 0x1f, 0x59, 0xff, 0x59, 0x0e, 0x37, 0x71, 0xf6, - 0x1a, 0x46, 0x3f, 0x89, 0x9f, 0xf3, 0x50, 0x7f, 0xeb, 0x76, 0x52, 0xf1, 0x86, 0x25, 0x0a, 0x7b, - 0x1d, 0x46, 0xae, 0xbb, 0x75, 0x1e, 0xa9, 0x47, 0x57, 0x44, 0xde, 0x46, 0x88, 0xae, 0xec, 0x95, - 0x38, 0x42, 0xbe, 0x94, 0x93, 0xbb, 0x92, 0x64, 0x47, 0x5d, 0xae, 0xa8, 0x37, 0x57, 0x94, 0x2f, - 0x69, 0x51, 0x68, 0xe9, 0x53, 0x53, 0xf6, 0xc9, 0x99, 0x1c, 0xac, 0x3f, 0xcb, 0x25, 0xbb, 0x12, - 0x7b, 0x05, 0x86, 0xec, 0x8d, 0xf8, 0xfb, 0xa5, 0x87, 0x64, 0xea, 0xf3, 0x11, 0x81, 0x7d, 0x11, - 0x4e, 0x69, 0x7c, 0x7a, 0x8c, 0xa5, 0x5f, 0x46, 0x07, 0x3e, 0xed, 0x4b, 0xb2, 0x2d, 0xa6, 0xb3, - 0x79, 0xa0, 0x30, 0x9d, 0x14, 0xac, 0xf0, 0xb6, 0x27, 0x79, 0x6b, 0x8d, 0xd5, 0x79, 0x37, 0x10, - 0x21, 0xdd, 0xd8, 0x2c, 0x0e, 0xd2, 0x7f, 0xcf, 0xfa, 0x8d, 0x9c, 0xb1, 0xdb, 0xc4, 0x69, 0x28, - 0x73, 0xc7, 0xa4, 0xa1, 0x7c, 0x0b, 0xa0, 0xd2, 0x8d, 0xfc, 0xd5, 0x76, 0xe0, 0x37, 0xa5, 0x16, - 0x85, 0x42, 0x6e, 0xa3, 0x6e, 0x98, 0x23, 0xd8, 0x70, 0x33, 0x8a, 0x91, 0x33, 0xed, 0xca, 0x0b, - 0x1f, 0xd5, 0xae, 0xdc, 0xfa, 0xbd, 0x9c, 0xb1, 0x46, 0x85, 0x94, 0x48, 0x53, 0x51, 0x37, 0xfb, - 0xe9, 0x78, 0x0f, 0x9d, 0xb0, 0xe9, 0xeb, 0x3b, 0xa4, 0x42, 0x63, 0xff, 0x7a, 0x0e, 0x4e, 0x4b, - 0x03, 0xed, 0xf5, 0x6e, 0x6b, 0x8b, 0x07, 0xf7, 0xdd, 0xa6, 0xd7, 0x90, 0x5e, 0xaa, 0x52, 0x00, - 0xbe, 0xd8, 0xbb, 0xe0, 0xb3, 0xf1, 0xe5, 0x45, 0x55, 0x1a, 0x8c, 0x3b, 0x6d, 0x2c, 0x74, 0x1e, - 0xc6, 0xa5, 0xfa, 0x45, 0x35, 0x9b, 0xde, 0xfa, 0x95, 0x1c, 0xbc, 0x70, 0x6c, 0x2d, 0xec, 0x32, - 0x8c, 0xaa, 0x58, 0xe7, 0x39, 0xec, 0x78, 0x34, 0x96, 0xec, 0x8d, 0x73, 0xae, 0xb0, 0xd8, 0x97, - 0xe0, 0x94, 0xce, 0x6a, 0x33, 0x70, 0x3d, 0x3d, 0xa2, 0x78, 0xc6, 0x57, 0x47, 0x02, 0x25, 0x2d, - 0xad, 0x65, 0x33, 0xb1, 0xfe, 0xbf, 0x9c, 0x96, 0x98, 0xf6, 0x29, 0x95, 0xe1, 0xaf, 0x19, 0x32, - 0xbc, 0x8a, 0x3b, 0x17, 0xb7, 0x4a, 0x94, 0x65, 0xde, 0xbb, 0xa6, 0x35, 0xa3, 0x5f, 0x04, 0xfc, - 0x70, 0x1e, 0xc6, 0xef, 0x85, 0x3c, 0x90, 0x0f, 0xb9, 0xdf, 0x5d, 0xf1, 0xc5, 0xe2, 0x76, 0x0d, - 0x14, 0x01, 0xea, 0x4f, 0x72, 0xa8, 0xe0, 0xd7, 0x29, 0x44, 0x6f, 0x68, 0xc9, 0xa8, 0xb0, 0x37, - 0x30, 0x0d, 0x15, 0x42, 0x65, 0xe0, 0xa1, 0x35, 0x33, 0x2f, 0x1d, 0x26, 0x27, 0x5c, 0x63, 0x9f, - 0x83, 0xe1, 0x7b, 0xa8, 0xae, 0x34, 0x23, 0x12, 0xc4, 0xfc, 0xb1, 0x50, 0x6e, 0xd2, 0xdd, 0xd0, - 0x0c, 0x96, 0x24, 0x09, 0x59, 0x0d, 0x46, 0x97, 0x03, 0x8e, 0x69, 0x66, 0x87, 0x06, 0xf7, 0xa7, - 0xad, 0x4b, 0x92, 0xb4, 0x3f, 0x2d, 0x71, 0xb2, 0x7e, 0x26, 0x0f, 0x2c, 0x69, 0x23, 0xe6, 0x54, - 0x09, 0x9f, 0xda, 0x41, 0x7f, 0xdf, 0x18, 0xf4, 0x73, 0x3d, 0x83, 0x2e, 0x9b, 0x37, 0xd0, 0xd8, - 0xff, 0x56, 0x0e, 0x4e, 0x67, 0x13, 0xb2, 0x17, 0x61, 0xe4, 0xee, 0xe6, 0x86, 0x0a, 0x6a, 0x41, - 0x4d, 0xf1, 0x3b, 0xa8, 0x2b, 0xb0, 0xa9, 0x88, 0xbd, 0x01, 0x23, 0x9f, 0xb7, 0x97, 0xc5, 0x39, - 0xa4, 0x45, 0xed, 0xfe, 0x5a, 0xe0, 0xd4, 0xcd, 0xa3, 0x88, 0x90, 0xf4, 0xb1, 0x2d, 0x3c, 0xb1, - 0xb1, 0xfd, 0x89, 0x3c, 0x4c, 0x57, 0xea, 0x75, 0x1e, 0x86, 0x42, 0xda, 0xe1, 0x61, 0xf4, 0xd4, - 0x0e, 0x6c, 0x76, 0xb8, 0x0a, 0xa3, 0x6d, 0x03, 0x8d, 0xea, 0xef, 0xe4, 0xe0, 0x94, 0xa2, 0x7a, - 0xe8, 0xf1, 0x47, 0x9b, 0xbb, 0x01, 0x0f, 0x77, 0xfd, 0x66, 0x63, 0xe0, 0xd4, 0x00, 0x42, 0xd0, - 0xc3, 0x78, 0xbf, 0xfa, 0xab, 0xfe, 0x36, 0x42, 0x0c, 0x41, 0x4f, 0xc6, 0x04, 0xbe, 0x0c, 0xa3, - 0x95, 0x4e, 0x27, 0xf0, 0x1f, 0xca, 0x65, 0x4f, 0xe1, 0xd0, 0x5c, 0x09, 0x32, 0xdc, 0x91, 0x25, - 0x48, 0x7c, 0xc6, 0x0a, 0x6f, 0xcb, 0x40, 0x5f, 0x93, 0xf2, 0x33, 0x1a, 0xbc, 0xad, 0xcb, 0xe2, - 0x58, 0x6e, 0xd5, 0x80, 0x6d, 0x04, 0x7e, 0xcb, 0x8f, 0x78, 0x43, 0xb6, 0x07, 0xbd, 0xb8, 0x8f, - 0x0d, 0x0c, 0xb4, 0xe9, 0x45, 0x4d, 0x23, 0x30, 0x50, 0x24, 0x00, 0xb6, 0x84, 0x5b, 0xff, 0xd7, - 0x30, 0x4c, 0xe8, 0xbd, 0xc3, 0x2c, 0x19, 0xef, 0xdb, 0x0f, 0xf4, 0x50, 0x02, 0x2e, 0x42, 0x6c, - 0x2a, 0x49, 0xe2, 0x70, 0xe4, 0x8f, 0x8d, 0xc3, 0xf1, 0x00, 0x26, 0x37, 0x02, 0x1f, 0xe3, 0xb6, - 0xc9, 0xf4, 0xe3, 0x72, 0x2b, 0x9c, 0xd5, 0xee, 0x9d, 0x62, 0x20, 0xf1, 0x3d, 0x14, 0x25, 0xfb, - 0x0e, 0x61, 0x3b, 0xe9, 0xe4, 0xe4, 0x26, 0x1f, 0x69, 0x6a, 0xe1, 0x86, 0x14, 0x7c, 0x31, 0x36, - 0xb5, 0x10, 0x10, 0xd3, 0xd4, 0x42, 0x40, 0xf4, 0xb5, 0x36, 0xfc, 0xa4, 0xd6, 0x1a, 0xfb, 0x99, - 0x1c, 0x8c, 0x57, 0xda, 0x6d, 0x8a, 0xef, 0x71, 0x8c, 0x6b, 0xf3, 0x97, 0xc8, 0xda, 0xe2, 0xed, - 0x8f, 0x64, 0x6d, 0x81, 0x72, 0x4b, 0x88, 0x92, 0x6a, 0x52, 0xa1, 0x7e, 0x5b, 0xd3, 0xbe, 0x83, - 0xbd, 0x0d, 0xa5, 0x78, 0x92, 0x57, 0xdb, 0x0d, 0xfe, 0x98, 0xcb, 0x7c, 0x49, 0x93, 0x14, 0x76, - 0x55, 0x97, 0x4c, 0xd3, 0x88, 0x6c, 0x13, 0xc0, 0x8d, 0x67, 0x57, 0x2a, 0xf1, 0x5b, 0xef, 0xf4, - 0x23, 0xe9, 0x19, 0x7f, 0xe3, 0x83, 0x96, 0x2e, 0x3d, 0x27, 0x7c, 0x58, 0x0b, 0xa6, 0x65, 0xd6, - 0x35, 0xcc, 0xc6, 0x8e, 0xd1, 0xc5, 0xe1, 0xd8, 0x71, 0x78, 0x85, 0xf4, 0x67, 0xcf, 0x52, 0x2e, - 0x37, 0x4c, 0xf0, 0xee, 0x64, 0x84, 0x1a, 0x4f, 0xf3, 0x96, 0x41, 0x6e, 0xed, 0x33, 0xbd, 0xdf, - 0x2b, 0x27, 0xfd, 0x4f, 0xe4, 0xe0, 0xb4, 0x3e, 0xe9, 0x6b, 0xdd, 0xad, 0x96, 0x87, 0x97, 0x42, - 0x76, 0x09, 0xc6, 0x68, 0x4e, 0xc6, 0x97, 0xa8, 0xde, 0x20, 0xe9, 0x09, 0x0a, 0x5b, 0x15, 0xd3, - 0x50, 0xf0, 0x20, 0xa9, 0x7b, 0x36, 0xb5, 0x4f, 0x89, 0xa2, 0x24, 0xa3, 0x67, 0x80, 0xbf, 0xcd, - 0xf9, 0x29, 0x20, 0xd6, 0x7b, 0x30, 0x63, 0x8e, 0x44, 0x8d, 0x47, 0xec, 0x55, 0x18, 0x55, 0xc3, - 0x97, 0xcb, 0x1e, 0x3e, 0x55, 0x6e, 0x3d, 0x00, 0xd6, 0x43, 0x1f, 0xa2, 0x59, 0x14, 0x8f, 0x94, - 0xd9, 0x9e, 0x7a, 0x94, 0xec, 0x41, 0x5c, 0x9a, 0xa5, 0xef, 0x1b, 0x37, 0x6c, 0xcb, 0x05, 0xa9, - 0xf5, 0x67, 0x53, 0x30, 0x9b, 0xb1, 0xe7, 0x1e, 0x23, 0x13, 0x95, 0xcd, 0x0d, 0x62, 0x2c, 0x8e, - 0x8c, 0xa0, 0xb6, 0x85, 0xf7, 0x60, 0xf8, 0xd8, 0xed, 0x40, 0x7a, 0x16, 0xa4, 0x76, 0x01, 0x49, - 0xf6, 0x1d, 0x91, 0x8b, 0xf4, 0xe0, 0x25, 0xc3, 0x4f, 0x2c, 0x78, 0xc9, 0x12, 0x4c, 0x52, 0xab, - 0x68, 0xbb, 0xd2, 0x2c, 0x5c, 0x03, 0x59, 0xe0, 0xf4, 0x6c, 0x5b, 0x26, 0x89, 0xe4, 0x11, 0xfa, - 0xcd, 0x87, 0x9c, 0x78, 0x8c, 0xea, 0x3c, 0xb0, 0x20, 0x93, 0x87, 0x46, 0xc2, 0xfe, 0x03, 0xcc, - 0xf8, 0x84, 0x10, 0x7d, 0xcf, 0x2a, 0x1e, 0xb5, 0x67, 0x35, 0x9e, 0xcc, 0x9e, 0x75, 0x4e, 0x7d, - 0x63, 0xf6, 0xde, 0x95, 0xf1, 0x59, 0xec, 0x97, 0x72, 0x30, 0x23, 0x23, 0x68, 0xe8, 0x1f, 0x7b, - 0x64, 0x54, 0x84, 0xfa, 0x93, 0xf9, 0xd8, 0xe7, 0x28, 0xd3, 0x49, 0xf6, 0xb7, 0xf6, 0x7e, 0x14, - 0xfb, 0x1e, 0x80, 0x78, 0x45, 0xc9, 0x40, 0x93, 0xe3, 0x8b, 0xcf, 0x65, 0xec, 0x02, 0x31, 0x52, - 0x12, 0x95, 0x3d, 0x8a, 0xe9, 0x8c, 0x3c, 0x5f, 0x31, 0x94, 0xfd, 0x2d, 0x98, 0x13, 0xeb, 0x25, - 0x86, 0x50, 0xbc, 0x9f, 0xf9, 0x71, 0xac, 0xe5, 0x53, 0xfd, 0x65, 0xa2, 0x4b, 0x59, 0x64, 0x32, - 0x2c, 0x69, 0x92, 0x72, 0x35, 0xd2, 0x43, 0x03, 0x64, 0x56, 0x84, 0x61, 0xb4, 0xf0, 0xeb, 0x65, - 0xe4, 0xf4, 0x3e, 0xfb, 0xdb, 0x59, 0xb5, 0x16, 0xe4, 0xfe, 0x16, 0x9a, 0x8e, 0xa6, 0x08, 0x62, - 0x9f, 0x07, 0x16, 0x87, 0x9e, 0x90, 0x30, 0xae, 0xa2, 0xaa, 0x4b, 0x75, 0x73, 0x12, 0xc2, 0x22, - 0x50, 0xc5, 0xfa, 0x24, 0xe9, 0x25, 0x66, 0x1c, 0xe6, 0xa8, 0xd1, 0x02, 0xaa, 0xd2, 0x31, 0x85, - 0xf3, 0x53, 0x46, 0x34, 0xa5, 0xa4, 0x24, 0xc9, 0xcd, 0xaa, 0xe5, 0x74, 0x32, 0x54, 0x4e, 0x59, - 0xec, 0xd8, 0x35, 0x18, 0x43, 0x6f, 0xcf, 0x9b, 0xca, 0xd8, 0x8b, 0x0c, 0x4f, 0xd0, 0x2f, 0xd4, - 0xd9, 0x35, 0x4d, 0xb6, 0x12, 0x54, 0x71, 0x1d, 0x58, 0x09, 0xf6, 0xed, 0x6e, 0x1b, 0x95, 0xc2, - 0xa4, 0xef, 0x68, 0x04, 0xfb, 0x4e, 0xd0, 0x35, 0xdd, 0x81, 0x11, 0x89, 0x7d, 0x15, 0xc6, 0xef, - 0xb8, 0x8f, 0x95, 0x4e, 0x98, 0x14, 0xbf, 0x47, 0xed, 0x40, 0x96, 0x6a, 0x4d, 0xcb, 0x7d, 0xec, - 0x34, 0xba, 0xe9, 0xa0, 0xa8, 0xb8, 0x0d, 0xe9, 0x2c, 0xd9, 0x97, 0x01, 0x34, 0x4d, 0x35, 0x3b, - 0xb6, 0x82, 0x17, 0x54, 0x8c, 0xb0, 0x4c, 0x0d, 0x36, 0xf2, 0xd7, 0x18, 0xa6, 0x24, 0x87, 0xb9, - 0xef, 0x9c, 0xe4, 0x70, 0xea, 0x3b, 0x27, 0x39, 0x2c, 0x6c, 0xc1, 0xd9, 0xbe, 0x4b, 0x27, 0x23, - 0x74, 0xeb, 0x65, 0x33, 0x74, 0xeb, 0xd9, 0x7e, 0x47, 0x6c, 0x68, 0x06, 0xe2, 0x9f, 0x2d, 0xcd, - 0xf5, 0x97, 0x4e, 0xbe, 0x95, 0x4f, 0x1d, 0xb9, 0x74, 0xb1, 0x90, 0x89, 0x5b, 0xfa, 0xc9, 0x24, - 0x79, 0xcc, 0xd5, 0x29, 0x0f, 0xe5, 0x7c, 0x72, 0xa1, 0x49, 0xa5, 0x37, 0x97, 0xc7, 0xf3, 0xc7, - 0x3d, 0x7d, 0xdf, 0x81, 0x29, 0x99, 0x5e, 0xef, 0x36, 0xdf, 0x7f, 0xe4, 0x07, 0x0d, 0x95, 0xc3, - 0x1a, 0x65, 0xf0, 0x9e, 0xdc, 0xb8, 0x29, 0x5c, 0xb6, 0xa2, 0x1c, 0x08, 0x87, 0xb1, 0xf6, 0xb3, - 0x99, 0xbb, 0x98, 0x40, 0x38, 0xca, 0xb7, 0x90, 0xbd, 0x19, 0x0b, 0x6a, 0x3c, 0xd0, 0xc3, 0xf1, - 0x07, 0x0a, 0x98, 0x21, 0xaf, 0xf1, 0xc0, 0xfa, 0xa3, 0x02, 0x30, 0x59, 0xd3, 0xb2, 0xdb, 0x71, - 0xd1, 0xbd, 0xd6, 0xc3, 0xc0, 0x34, 0x25, 0xc2, 0x71, 0xb7, 0x9a, 0x5c, 0x8f, 0xea, 0x44, 0xc6, - 0xb5, 0x71, 0x99, 0x93, 0xbe, 0xe8, 0xf4, 0x10, 0xf6, 0xd9, 0xea, 0xf2, 0x1f, 0x67, 0xab, 0xfb, - 0x2a, 0x3c, 0x5b, 0xe9, 0x60, 0x9e, 0x4e, 0x55, 0xcb, 0x75, 0x3f, 0x50, 0x9b, 0x94, 0xe1, 0xb8, - 0xe5, 0xc6, 0x68, 0x3d, 0x5f, 0x7a, 0x14, 0x0b, 0x4d, 0x4e, 0x11, 0xf3, 0xb2, 0x13, 0xe9, 0x81, - 0x00, 0x94, 0x9c, 0xd2, 0xc1, 0x92, 0x0c, 0x39, 0x45, 0x92, 0x28, 0x1e, 0x5e, 0xa0, 0xe4, 0x14, - 0x4c, 0x40, 0x93, 0xf0, 0xf0, 0x02, 0xde, 0x47, 0xd6, 0x89, 0x49, 0xd8, 0x3b, 0x30, 0x5e, 0xe9, - 0x46, 0x3e, 0x31, 0x26, 0xab, 0xf0, 0xc4, 0x7e, 0x9b, 0x3e, 0xc5, 0xb8, 0xfa, 0x24, 0xe8, 0xd6, - 0x9f, 0x16, 0xe0, 0x6c, 0xef, 0xf0, 0x52, 0x69, 0xbc, 0x3e, 0x72, 0xc7, 0xac, 0x8f, 0xac, 0xd9, - 0x90, 0x4f, 0xc2, 0xa3, 0x3f, 0x89, 0xd9, 0x20, 0xd3, 0x7d, 0x7e, 0xc4, 0xd9, 0x50, 0x83, 0x71, - 0xfd, 0xbc, 0x1b, 0xfa, 0xa8, 0xe7, 0x9d, 0xce, 0x45, 0x5c, 0xea, 0x65, 0xfc, 0x83, 0xe1, 0xe4, - 0xe9, 0x28, 0x1d, 0xfa, 0x40, 0x62, 0xb0, 0x7f, 0x0d, 0xce, 0xcb, 0x3d, 0x29, 0xdd, 0xd8, 0xa5, - 0x7d, 0xc5, 0x91, 0x06, 0x6e, 0xf1, 0xf0, 0xa0, 0x7c, 0x49, 0xaa, 0x4a, 0x9c, 0x9e, 0x6e, 0x73, - 0xb6, 0xf6, 0x1d, 0xf5, 0x65, 0x5a, 0x25, 0xc7, 0xf2, 0xb6, 0x96, 0xe1, 0x2c, 0x95, 0x26, 0x9e, - 0xb7, 0xaa, 0x50, 0x0c, 0xf2, 0x5e, 0xa2, 0xed, 0xc2, 0x41, 0x4e, 0x29, 0xb2, 0xb0, 0x1c, 0x13, - 0x85, 0x6a, 0x49, 0x1c, 0xdf, 0xc8, 0xf2, 0xb9, 0x91, 0x21, 0x8e, 0x25, 0xd8, 0x74, 0xb7, 0x51, - 0x3a, 0xb5, 0x7c, 0xa6, 0x4e, 0x4d, 0x29, 0x65, 0x0a, 0x99, 0x4a, 0x99, 0x15, 0x98, 0xae, 0x75, - 0xb7, 0x54, 0xdd, 0x69, 0xa7, 0xbb, 0xb0, 0xbb, 0x95, 0xd5, 0x2b, 0x69, 0x12, 0xeb, 0x47, 0xf2, - 0x30, 0xb1, 0xd1, 0xec, 0xee, 0x78, 0xed, 0x15, 0x37, 0x72, 0x9f, 0x5a, 0x35, 0xdf, 0x5b, 0x86, - 0x9a, 0x2f, 0x76, 0x2d, 0x8b, 0x1b, 0x36, 0x90, 0x8e, 0xef, 0xa7, 0x73, 0x30, 0x9d, 0x90, 0xc8, - 0xc3, 0xfa, 0x26, 0x0c, 0x89, 0x1f, 0x74, 0xf9, 0x3d, 0xdf, 0xc3, 0x58, 0x66, 0x0e, 0x8b, 0xff, - 0x22, 0xc5, 0x9b, 0x99, 0x96, 0x07, 0x39, 0x2c, 0x7c, 0x1a, 0xc6, 0x12, 0xb6, 0x27, 0xc9, 0x18, - 0xf6, 0xab, 0x39, 0x28, 0xa5, 0x5b, 0xc2, 0x6e, 0xc3, 0xa8, 0xe0, 0xe4, 0x71, 0x75, 0x2f, 0x7f, - 0xa9, 0x4f, 0x9b, 0x2f, 0x11, 0x9a, 0xfc, 0x3c, 0xec, 0x7c, 0x2e, 0x21, 0xb6, 0xe2, 0xb0, 0x60, - 0xc3, 0x84, 0x8e, 0x95, 0xf1, 0x75, 0xaf, 0x9b, 0x12, 0xca, 0xe9, 0xec, 0x7e, 0x30, 0xf2, 0x9c, - 0x19, 0x5f, 0x4d, 0xc2, 0xc7, 0x05, 0x63, 0x72, 0x65, 0xae, 0x2a, 0x9c, 0x34, 0x8b, 0x49, 0xd4, - 0x75, 0x7d, 0x9e, 0x65, 0x4c, 0xe8, 0x18, 0x8f, 0xbd, 0x0e, 0x23, 0xb2, 0x3e, 0x3d, 0xdf, 0x4f, - 0x07, 0x21, 0xba, 0x9c, 0x2c, 0x71, 0xac, 0xbf, 0x5f, 0x80, 0xd3, 0xc9, 0xe7, 0xdd, 0xeb, 0x34, - 0xdc, 0x88, 0x6f, 0xb8, 0x81, 0xdb, 0x0a, 0x8f, 0x59, 0x01, 0x17, 0x7b, 0x3e, 0x0d, 0xf3, 0xbf, - 0xa8, 0x4f, 0xd3, 0x3e, 0xc8, 0x4a, 0x7d, 0x10, 0xea, 0x40, 0xe5, 0x07, 0xa9, 0xcf, 0x60, 0xb7, - 0xa1, 0x50, 0xe3, 0x11, 0xed, 0xbd, 0x17, 0x7a, 0x7a, 0x55, 0xff, 0xae, 0x4b, 0x35, 0x1e, 0xc9, - 0x41, 0x94, 0xc1, 0x7d, 0xb8, 0x11, 0xce, 0xb5, 0xc6, 0x23, 0xf6, 0x00, 0x46, 0x56, 0x1f, 0x77, - 0x78, 0x3d, 0xa2, 0x7c, 0x77, 0xaf, 0x1e, 0xcd, 0x4f, 0xe2, 0x6a, 0xe9, 0xee, 0x38, 0x02, 0xf4, - 0xce, 0x92, 0x28, 0x0b, 0xd7, 0xa0, 0xa8, 0x2a, 0x3f, 0xc9, 0xcc, 0x5d, 0x78, 0x0b, 0xc6, 0xb5, - 0x4a, 0x4e, 0x34, 0xe9, 0x7f, 0x5e, 0xec, 0xab, 0x7e, 0x53, 0xa5, 0xc8, 0x5b, 0xed, 0x91, 0x15, - 0x73, 0x7a, 0xea, 0x76, 0x51, 0xe2, 0xec, 0x51, 0xd1, 0x11, 0x42, 0x63, 0x15, 0xa6, 0x6b, 0x7b, - 0x5e, 0x27, 0x89, 0xaa, 0x69, 0x9c, 0xc8, 0x98, 0x0f, 0x83, 0x2e, 0xee, 0xe9, 0x13, 0x39, 0x4d, - 0x67, 0xfd, 0x45, 0x0e, 0x46, 0xc4, 0x5f, 0xf7, 0xaf, 0x3d, 0xa5, 0x5b, 0xe6, 0x55, 0x63, 0xcb, - 0x9c, 0xd1, 0x02, 0x5b, 0xe3, 0xc6, 0x71, 0xed, 0x98, 0xcd, 0xf2, 0x80, 0x06, 0x48, 0x22, 0xb3, - 0x1b, 0x30, 0x4a, 0x26, 0x45, 0x64, 0xfb, 0xad, 0x47, 0xca, 0x56, 0xc6, 0x46, 0xf1, 0x0d, 0xdf, - 0xef, 0xa4, 0x55, 0x22, 0x8a, 0x5a, 0xc8, 0xf5, 0x2a, 0xbe, 0xa9, 0x91, 0x58, 0xd5, 0x47, 0x67, - 0x3d, 0x19, 0xe7, 0x59, 0x4b, 0x85, 0xdc, 0xc7, 0x95, 0xbf, 0x42, 0xaf, 0x21, 0x85, 0xa3, 0x98, - 0x9c, 0x56, 0x79, 0x27, 0x33, 0x1f, 0x4a, 0xfe, 0xf0, 0x94, 0x8c, 0x8e, 0xac, 0x3e, 0xec, 0x5d, - 0x98, 0xb8, 0xee, 0x07, 0x8f, 0xdc, 0x40, 0xc6, 0xbc, 0x24, 0xf3, 0x03, 0x71, 0xff, 0x9c, 0xdc, - 0x96, 0x70, 0x19, 0x35, 0xf3, 0xdb, 0x07, 0xe5, 0xa1, 0x25, 0xdf, 0x6f, 0xda, 0x06, 0x3a, 0xbb, - 0x0b, 0x93, 0x77, 0xdc, 0xc7, 0xda, 0xcd, 0x59, 0x7a, 0xdf, 0xbc, 0x2a, 0x26, 0xb0, 0xb8, 0x7a, - 0x1f, 0x6f, 0xdf, 0x65, 0xd2, 0x33, 0x0f, 0xa6, 0x36, 0xfc, 0x20, 0xa2, 0x4a, 0xbc, 0xf6, 0x0e, - 0x35, 0xb6, 0xd7, 0x42, 0xed, 0x72, 0xa6, 0x85, 0xda, 0xd9, 0x8e, 0x1f, 0x44, 0xce, 0x76, 0x4c, - 0x6e, 0x44, 0xc5, 0x32, 0x18, 0xb3, 0x77, 0x61, 0x46, 0x8b, 0xfa, 0x77, 0xdd, 0x0f, 0x5a, 0xae, - 0x92, 0xec, 0x51, 0x99, 0x8c, 0x46, 0x2b, 0xdb, 0x08, 0xb6, 0x7b, 0x31, 0xd9, 0x17, 0xb3, 0xfc, - 0x99, 0x86, 0x13, 0x13, 0xb7, 0x0c, 0x7f, 0xa6, 0x7e, 0x26, 0x6e, 0xbd, 0x9e, 0x4d, 0x3b, 0x47, - 0x99, 0xc0, 0x16, 0x97, 0xae, 0xd0, 0x1d, 0xfe, 0x78, 0x13, 0xd7, 0x78, 0xdc, 0xfa, 0x98, 0xba, - 0x2e, 0x42, 0x61, 0x69, 0xe3, 0x3a, 0x3e, 0x81, 0x28, 0x6b, 0x9d, 0xf6, 0xae, 0xdb, 0xae, 0xa3, - 0xc4, 0x4d, 0x66, 0xe7, 0xfa, 0x8e, 0xbc, 0xb4, 0x71, 0x9d, 0xb9, 0x30, 0xbb, 0xc1, 0x83, 0x96, - 0x17, 0x7d, 0xe1, 0xca, 0x15, 0x6d, 0xa0, 0x8a, 0xf8, 0x69, 0x97, 0xe9, 0xd3, 0xca, 0x1d, 0x44, - 0x71, 0x1e, 0x5f, 0xb9, 0x92, 0x39, 0x1c, 0xf1, 0x87, 0x65, 0xf1, 0x12, 0x3b, 0xe3, 0x1d, 0xf7, - 0x71, 0xe2, 0x2d, 0x10, 0x92, 0x67, 0xe8, 0x39, 0x35, 0xb1, 0x12, 0x4f, 0x03, 0x63, 0x67, 0x34, - 0x89, 0xc4, 0x85, 0x29, 0x99, 0x5e, 0x21, 0xf9, 0xd4, 0x2c, 0x28, 0xbd, 0x90, 0x72, 0x1f, 0xd6, - 0xa5, 0x7e, 0x0d, 0x9d, 0xdd, 0x8b, 0xaf, 0x7d, 0xf2, 0xda, 0x44, 0x59, 0x15, 0x2f, 0xeb, 0xd7, - 0x3e, 0xa9, 0x8d, 0x31, 0x9a, 0x35, 0x1d, 0xeb, 0x0a, 0xa4, 0xfb, 0x84, 0x6d, 0x72, 0xe9, 0xbd, - 0x4d, 0x4e, 0x9c, 0xfc, 0x36, 0xc9, 0x61, 0x68, 0xcd, 0xaf, 0xef, 0x51, 0x28, 0xaf, 0xcf, 0x8b, - 0xe5, 0xde, 0xf4, 0xeb, 0x7b, 0x4f, 0xce, 0xb4, 0x17, 0xd9, 0xb3, 0x75, 0xf1, 0xa9, 0x62, 0x16, - 0x50, 0x9f, 0x90, 0xb9, 0xe8, 0x5c, 0x7c, 0x9d, 0xd2, 0xca, 0xa4, 0xe0, 0x23, 0x27, 0x8d, 0xea, - 0x5a, 0xdb, 0x24, 0x67, 0x1c, 0x4a, 0x2b, 0x3c, 0xdc, 0x8b, 0xfc, 0xce, 0x72, 0xd3, 0xeb, 0x6c, - 0xf9, 0x6e, 0xa0, 0x02, 0xac, 0xf6, 0xae, 0xef, 0x57, 0x32, 0xd7, 0xf7, 0x4c, 0x43, 0xd2, 0x3b, - 0x75, 0xc5, 0xc0, 0xee, 0x61, 0xc9, 0xbe, 0x08, 0x53, 0x62, 0x72, 0xaf, 0x3e, 0x8e, 0x78, 0x5b, - 0x8e, 0xfc, 0x0c, 0x8a, 0x0e, 0x73, 0x5a, 0x46, 0x81, 0xb8, 0x50, 0xce, 0x29, 0x5c, 0xec, 0x3c, - 0x26, 0x30, 0xc2, 0xa0, 0x19, 0xac, 0x58, 0x03, 0xe6, 0xef, 0xb8, 0x8f, 0xb5, 0x5c, 0x90, 0xda, - 0x24, 0x65, 0x38, 0xc1, 0x2e, 0x1e, 0x1e, 0x94, 0x5f, 0x12, 0x13, 0x2c, 0x89, 0xf9, 0xdb, 0x67, - 0xbe, 0xf6, 0xe5, 0xc4, 0xbe, 0x01, 0x67, 0xa8, 0x59, 0x2b, 0x98, 0x66, 0xc7, 0x0f, 0xf6, 0x6b, - 0xbb, 0x2e, 0x3a, 0x0a, 0xcd, 0x9e, 0x6c, 0x43, 0x54, 0x1d, 0xd6, 0x50, 0x7c, 0x9c, 0x50, 0x32, - 0xb2, 0xfb, 0xd5, 0xc0, 0x3e, 0x84, 0x29, 0xf9, 0xee, 0x73, 0xd3, 0x0f, 0x23, 0xd4, 0x0a, 0xcc, - 0x9d, 0xcc, 0xfe, 0x5d, 0x3e, 0x26, 0x49, 0x8f, 0x91, 0x94, 0x16, 0x21, 0xc5, 0x99, 0xbd, 0x0d, - 0xe3, 0x1b, 0x5e, 0x5b, 0x06, 0x2a, 0xac, 0x6e, 0xa0, 0xfe, 0x92, 0xce, 0x9f, 0x8e, 0xd7, 0x76, - 0xd4, 0xd5, 0xbc, 0x13, 0x6f, 0x17, 0x3a, 0x36, 0x7b, 0x00, 0xe3, 0xb5, 0xda, 0xcd, 0xeb, 0x9e, - 0x38, 0x00, 0x3b, 0xfb, 0xf3, 0xa7, 0xfb, 0x7c, 0xe5, 0x8b, 0x99, 0x5f, 0x39, 0x19, 0x86, 0xbb, - 0x98, 0x5f, 0xdf, 0xa9, 0xfb, 0x9d, 0x7d, 0x5b, 0xe7, 0x94, 0x61, 0x13, 0x7e, 0xe6, 0x09, 0xdb, - 0x84, 0x57, 0x61, 0x5a, 0xb3, 0xd2, 0x44, 0x0b, 0xcd, 0xf9, 0x24, 0xba, 0x8d, 0x6e, 0x03, 0x9e, - 0xf6, 0x81, 0x4c, 0xd3, 0x29, 0x63, 0xf0, 0xb3, 0x27, 0x35, 0x06, 0xf7, 0x60, 0x46, 0x0e, 0x06, - 0xcd, 0x03, 0x1c, 0xe9, 0x85, 0x3e, 0x7d, 0xf8, 0x6a, 0x66, 0x1f, 0xce, 0xd2, 0x48, 0xab, 0x49, - 0x86, 0xef, 0x9c, 0xbd, 0x5c, 0xd9, 0x36, 0x30, 0x02, 0x52, 0x76, 0x7f, 0xac, 0xeb, 0xd9, 0x3e, - 0x75, 0xbd, 0x94, 0x59, 0xd7, 0x94, 0xaa, 0x6b, 0x4b, 0x56, 0x93, 0xc1, 0x91, 0xb5, 0x55, 0x3d, - 0x6a, 0x7e, 0x61, 0xc7, 0x3e, 0x67, 0x28, 0x53, 0x7b, 0x11, 0x64, 0x94, 0xe0, 0xf4, 0xa4, 0x4d, - 0xf7, 0x7b, 0x06, 0x67, 0xf6, 0x18, 0x4e, 0xf7, 0x7e, 0x05, 0xd6, 0x79, 0x0e, 0xeb, 0x3c, 0x67, - 0xd4, 0x99, 0x46, 0x92, 0xf3, 0xc6, 0x6c, 0x56, 0xba, 0xd6, 0x3e, 0xfc, 0xd9, 0x0f, 0xe6, 0xe0, - 0xcc, 0x9d, 0xeb, 0x15, 0x4c, 0x6a, 0xe7, 0xc9, 0xb8, 0x55, 0xb1, 0xef, 0xe8, 0xf3, 0xa4, 0x70, - 0x4f, 0x3f, 0x02, 0x28, 0x89, 0x03, 0xb7, 0x0a, 0x21, 0x23, 0xbe, 0xd8, 0xda, 0x76, 0x65, 0xae, - 0x3c, 0x62, 0x91, 0xe1, 0x60, 0xfa, 0xcd, 0x3f, 0x2e, 0xe7, 0xec, 0x7e, 0x55, 0xb1, 0x26, 0x2c, - 0x98, 0xdd, 0xa2, 0xcc, 0xf5, 0x77, 0x79, 0xb3, 0x39, 0x5f, 0xc6, 0x19, 0xfd, 0xfa, 0xe1, 0x41, - 0xf9, 0x62, 0x4f, 0xef, 0xc6, 0x2e, 0x00, 0x02, 0x53, 0x6b, 0xf0, 0x11, 0xfc, 0x6e, 0x0d, 0x15, - 0x27, 0x4b, 0x53, 0x19, 0xc6, 0xea, 0xd6, 0x6f, 0xe6, 0x53, 0x27, 0x15, 0xab, 0xc2, 0x28, 0x4d, - 0x40, 0x12, 0xdd, 0x7b, 0xa7, 0xd9, 0xb9, 0xcc, 0x69, 0x36, 0x4a, 0x73, 0xd9, 0x56, 0xf4, 0xec, - 0x91, 0x60, 0x85, 0x5f, 0x41, 0x77, 0x9d, 0x2f, 0xcb, 0x83, 0x08, 0x41, 0xc6, 0x91, 0xbb, 0x72, - 0x72, 0x17, 0x2c, 0xd3, 0xc3, 0x0f, 0xcf, 0x5e, 0x55, 0x1b, 0xdb, 0x93, 0x19, 0x57, 0x0a, 0xb1, - 0x1f, 0x8f, 0x99, 0x5e, 0xe5, 0x89, 0x55, 0x28, 0x6a, 0xb1, 0x7e, 0x23, 0x07, 0x93, 0xc6, 0x51, - 0xc7, 0xae, 0x69, 0x4e, 0x6a, 0x89, 0xdf, 0xb6, 0x81, 0x83, 0xbb, 0x5f, 0xda, 0x7d, 0xed, 0x1a, - 0x59, 0x9c, 0xe7, 0xfb, 0xd3, 0xe1, 0xec, 0x4f, 0xfb, 0x2c, 0x1e, 0xad, 0x19, 0x8c, 0xf3, 0xb8, - 0x0d, 0xf5, 0xc9, 0xe3, 0xf6, 0xab, 0xcf, 0xc1, 0x94, 0x79, 0x17, 0x62, 0xaf, 0xc3, 0x08, 0x6a, - 0x65, 0xd5, 0xc5, 0x5a, 0xe6, 0xbf, 0xf7, 0x53, 0x29, 0x49, 0x09, 0x87, 0xbd, 0x0c, 0x10, 0x9b, - 0xfe, 0xaa, 0x37, 0x89, 0xe1, 0xc3, 0x83, 0x72, 0xee, 0x0d, 0x5b, 0x2b, 0x60, 0x5f, 0x01, 0x58, - 0xf7, 0x1b, 0x3c, 0x4e, 0x7a, 0x79, 0xc4, 0xbb, 0xfb, 0x2b, 0x3d, 0xd9, 0x08, 0x4e, 0xb5, 0xfd, - 0x06, 0xef, 0x4d, 0x3d, 0xa0, 0x71, 0x64, 0x9f, 0x85, 0x61, 0xbb, 0x2b, 0x2e, 0xf1, 0x52, 0x7f, - 0x32, 0xae, 0x8e, 0x9c, 0x6e, 0x93, 0x27, 0x37, 0xc4, 0xa0, 0x9b, 0x36, 0x29, 0x13, 0x00, 0xf6, - 0xbe, 0xcc, 0x52, 0x40, 0x21, 0xfe, 0x86, 0x93, 0x57, 0x1a, 0x4d, 0x14, 0xe9, 0x09, 0xf2, 0xa7, - 0x91, 0xb0, 0xbb, 0x30, 0xaa, 0x3f, 0x2f, 0x68, 0xde, 0xce, 0xfa, 0x13, 0x94, 0x76, 0xdd, 0xa4, - 0x6c, 0x99, 0xe9, 0x97, 0x07, 0xc5, 0x85, 0xbd, 0x03, 0x63, 0x82, 0xbd, 0x58, 0xca, 0x21, 0x5d, - 0x33, 0xf0, 0x2d, 0x46, 0xfb, 0x20, 0xb1, 0x1d, 0x18, 0x81, 0xf8, 0x62, 0x02, 0xf6, 0x45, 0xcc, - 0xc3, 0x48, 0x5d, 0x7d, 0xa4, 0x3d, 0xc6, 0x85, 0x9e, 0xae, 0xc6, 0xc4, 0x8c, 0xbd, 0x89, 0xdd, - 0x63, 0x7e, 0x6c, 0x27, 0x0e, 0xb6, 0x35, 0x48, 0x66, 0x89, 0xd7, 0x7a, 0x2a, 0x98, 0x57, 0xf1, - 0xa3, 0x7a, 0x93, 0x97, 0x1a, 0x7c, 0x59, 0x07, 0x4a, 0x89, 0x94, 0x47, 0x75, 0xc1, 0x51, 0x75, - 0xbd, 0xd1, 0x53, 0x97, 0x3e, 0x80, 0x3d, 0xd5, 0xf5, 0x70, 0x67, 0x0d, 0x98, 0x52, 0x27, 0x06, - 0xd5, 0x37, 0x7e, 0x54, 0x7d, 0x2f, 0xf7, 0xd4, 0x37, 0xdb, 0xd8, 0xea, 0xad, 0x27, 0xc5, 0x93, - 0xbd, 0x03, 0x93, 0x0a, 0x22, 0x53, 0x89, 0x4e, 0x24, 0x39, 0x23, 0x1b, 0x5b, 0x3d, 0x09, 0x44, - 0x4d, 0x64, 0x9d, 0x5a, 0xce, 0x8e, 0x49, 0x83, 0x3a, 0x3d, 0x2b, 0x4c, 0x64, 0xf6, 0x01, 0x8c, - 0x57, 0x5b, 0xa2, 0x21, 0x7e, 0xdb, 0x8d, 0x38, 0x79, 0xc2, 0x29, 0xdb, 0x12, 0xad, 0x44, 0x9b, - 0xaa, 0x32, 0x49, 0x6a, 0x52, 0x64, 0x24, 0x49, 0x4d, 0xc0, 0xa2, 0xf3, 0xe4, 0x7b, 0x12, 0xcd, - 0x61, 0xe5, 0x25, 0x77, 0x2e, 0xc3, 0xbe, 0x43, 0x63, 0x4f, 0xa1, 0x34, 0x05, 0x54, 0xbd, 0xe7, - 0xa4, 0x42, 0x69, 0xea, 0x3c, 0xd9, 0xbb, 0x30, 0x4e, 0x49, 0x77, 0x2a, 0xf6, 0x7a, 0x38, 0x5f, - 0xc2, 0xc6, 0xa3, 0x6f, 0xbf, 0xca, 0xcf, 0xe3, 0xb8, 0x41, 0xca, 0x90, 0x31, 0xc1, 0x67, 0x5f, - 0x80, 0xb9, 0x07, 0x5e, 0xbb, 0xe1, 0x3f, 0x0a, 0xe9, 0x98, 0xa2, 0x8d, 0x6e, 0x26, 0x71, 0x23, - 0x7a, 0x24, 0xcb, 0x63, 0xe1, 0xac, 0x67, 0xe3, 0xcb, 0xe4, 0xc0, 0xfe, 0x66, 0x0f, 0x67, 0x39, - 0x83, 0xd8, 0x51, 0x33, 0x68, 0xb1, 0x67, 0x06, 0xf5, 0x56, 0x9f, 0x9e, 0x4e, 0x99, 0xd5, 0x30, - 0x1f, 0x98, 0x79, 0xbe, 0xdf, 0xf2, 0xbd, 0xf6, 0xfc, 0x2c, 0xee, 0x85, 0xcf, 0xa6, 0xbd, 0xe9, - 0x11, 0x8f, 0x92, 0xcd, 0x5a, 0x87, 0x07, 0xe5, 0xe7, 0xd3, 0x42, 0xf8, 0x87, 0xbe, 0xa1, 0x28, - 0xcf, 0x60, 0xcd, 0x3e, 0x80, 0x09, 0xf1, 0x7f, 0xac, 0x25, 0x98, 0x33, 0x2c, 0x02, 0x35, 0x4c, - 0xaa, 0x07, 0xc7, 0x08, 0xb3, 0x02, 0x65, 0x28, 0x10, 0x0c, 0x56, 0xec, 0x2d, 0x00, 0x21, 0xc7, - 0xd0, 0x76, 0x7c, 0x2a, 0x89, 0x5c, 0x8a, 0x62, 0x50, 0xef, 0x46, 0x9c, 0x20, 0xb3, 0x77, 0x60, - 0x5c, 0xfc, 0xaa, 0x75, 0x1b, 0xbe, 0x58, 0x1b, 0xa7, 0x91, 0x56, 0x3a, 0x25, 0x0a, 0xda, 0x50, - 0xc2, 0x0d, 0xa7, 0xc4, 0x04, 0x9d, 0xdd, 0x84, 0x69, 0x8c, 0x30, 0x5b, 0xc5, 0x4c, 0xd4, 0x91, - 0xc7, 0xc3, 0xf9, 0x33, 0xda, 0x3b, 0xb8, 0x28, 0x72, 0xbc, 0xb8, 0x4c, 0xbf, 0x5c, 0xa4, 0xc8, - 0x58, 0x08, 0xb3, 0xbd, 0x0f, 0x89, 0xe1, 0xfc, 0x3c, 0x76, 0x92, 0x12, 0xa9, 0x7b, 0x31, 0xe4, - 0x7e, 0x2c, 0x46, 0x44, 0xdb, 0xb8, 0xd4, 0x73, 0x82, 0x5e, 0x61, 0x16, 0x77, 0x66, 0x03, 0xbb, - 0xb1, 0xbc, 0x91, 0x0e, 0xc1, 0x7a, 0x16, 0x5b, 0x80, 0xc3, 0xbc, 0x53, 0x4f, 0xb2, 0xe0, 0x66, - 0x84, 0x61, 0xcd, 0xa0, 0x66, 0x5f, 0x87, 0x53, 0x6a, 0x07, 0xa1, 0x22, 0x9a, 0xd7, 0x0b, 0x27, - 0xdc, 0x89, 0x1b, 0x5b, 0x71, 0xd5, 0x3d, 0x53, 0x3a, 0xbb, 0x0a, 0xe6, 0xc2, 0x38, 0x0e, 0x2b, - 0xd5, 0xf8, 0xec, 0x51, 0x35, 0x5e, 0xec, 0xa9, 0xf1, 0x34, 0x4e, 0x94, 0xde, 0xca, 0x74, 0x9e, - 0x6c, 0x09, 0x26, 0x69, 0x1d, 0xd1, 0x6c, 0x7b, 0x0e, 0x7b, 0x0b, 0xb5, 0x4a, 0x6a, 0x05, 0xf6, - 0x4c, 0x38, 0x93, 0x44, 0xdf, 0x91, 0xe5, 0x33, 0xc2, 0x39, 0x63, 0x47, 0x4e, 0xbf, 0x1e, 0x98, - 0xc8, 0x62, 0x47, 0x4a, 0xa4, 0x98, 0xd5, 0xc7, 0x9d, 0x80, 0x74, 0x46, 0xcf, 0x27, 0x99, 0x49, - 0x34, 0xe1, 0xc7, 0xe1, 0x31, 0x86, 0xbe, 0x25, 0x64, 0x71, 0x60, 0xf7, 0x60, 0x36, 0x3e, 0xb5, - 0x35, 0xc6, 0xe5, 0x24, 0xc3, 0x4b, 0x72, 0xd4, 0x67, 0xf3, 0xcd, 0xa2, 0x67, 0x2e, 0x9c, 0x31, - 0xce, 0x69, 0x8d, 0xf5, 0x79, 0x64, 0x8d, 0x59, 0x97, 0xcd, 0x43, 0x3e, 0x9b, 0x7d, 0x3f, 0x3e, - 0xec, 0x43, 0x58, 0x48, 0x9f, 0xcd, 0x5a, 0x2d, 0x2f, 0x60, 0x2d, 0xaf, 0x1d, 0x1e, 0x94, 0x2f, - 0xf4, 0x1c, 0xef, 0xd9, 0x15, 0x1d, 0xc1, 0x8d, 0x7d, 0x05, 0xe6, 0xcd, 0xf3, 0x59, 0xab, 0xc9, - 0xc2, 0x9a, 0x70, 0xe9, 0xc4, 0x07, 0x7b, 0x76, 0x0d, 0x7d, 0x79, 0xb0, 0x08, 0xca, 0x99, 0xb3, - 0x5b, 0xab, 0xe6, 0xc5, 0xa4, 0x41, 0x3d, 0xab, 0x24, 0xbb, 0xba, 0xe3, 0x58, 0xb2, 0x47, 0xf0, - 0x7c, 0xd6, 0x31, 0xa1, 0x55, 0xfa, 0x52, 0xac, 0x95, 0xfd, 0x44, 0xf6, 0x91, 0x93, 0x5d, 0xf3, - 0x31, 0x6c, 0xd9, 0x17, 0xe1, 0x94, 0xb6, 0xbe, 0xb4, 0xfa, 0x5e, 0xc6, 0xfa, 0xd0, 0x09, 0x58, - 0x5f, 0x98, 0xd9, 0xb5, 0x64, 0xf3, 0x60, 0x2d, 0x98, 0x55, 0x0d, 0x47, 0xf5, 0x37, 0x1d, 0x3d, - 0x17, 0x8c, 0x5d, 0xb5, 0x17, 0x43, 0xcb, 0x9b, 0xbf, 0xe5, 0x74, 0x12, 0x42, 0x7d, 0xa6, 0x67, - 0xf0, 0x65, 0x37, 0x61, 0xa4, 0xb6, 0x51, 0xbd, 0x7e, 0x7d, 0x75, 0xfe, 0x15, 0xac, 0x41, 0x79, - 0x0c, 0x49, 0xa0, 0x71, 0x69, 0x22, 0x43, 0xb5, 0x8e, 0xb7, 0xbd, 0x6d, 0x38, 0x66, 0x49, 0x54, - 0xf6, 0x37, 0xd1, 0x44, 0x4c, 0xec, 0xa8, 0x95, 0x30, 0xf4, 0x76, 0x30, 0x55, 0x45, 0x38, 0xff, - 0x9a, 0xf1, 0xd2, 0x4b, 0xa7, 0xc7, 0xfe, 0x32, 0x26, 0x0d, 0xea, 0x41, 0x97, 0xd2, 0xe6, 0xe1, - 0x41, 0xf9, 0x1c, 0xed, 0xdc, 0x8e, 0x9b, 0xb0, 0xd2, 0x37, 0xf1, 0xde, 0x8a, 0x6e, 0x0d, 0x15, - 0x2f, 0x96, 0x5e, 0xbd, 0x35, 0x54, 0x7c, 0xb5, 0xf4, 0x9a, 0xfd, 0x5c, 0x76, 0xa2, 0x73, 0xd9, - 0xd7, 0xf6, 0x85, 0xa3, 0x4a, 0x93, 0x91, 0xb0, 0xfe, 0x6e, 0x0e, 0xca, 0xc7, 0x7c, 0xb0, 0xd8, - 0x5b, 0x93, 0xde, 0xac, 0x71, 0xe5, 0x87, 0x2c, 0x7d, 0x72, 0xe2, 0x02, 0xc7, 0x7c, 0xbc, 0x36, - 0x49, 0xd0, 0xf5, 0x89, 0x22, 0xcf, 0x6b, 0x1e, 0x70, 0xbd, 0x11, 0xe7, 0x15, 0x96, 0xf5, 0xf3, - 0x39, 0x98, 0xcd, 0x18, 0x1f, 0x76, 0x01, 0x86, 0x30, 0x95, 0x8c, 0x66, 0x6d, 0x90, 0x4a, 0x21, - 0x83, 0xe5, 0xec, 0x93, 0x30, 0xba, 0xb2, 0x5e, 0xab, 0x55, 0xd6, 0xd5, 0x55, 0x56, 0x6e, 0xe3, - 0xed, 0xd0, 0x09, 0x5d, 0xf3, 0x91, 0x92, 0xd0, 0xd8, 0x1b, 0x30, 0x52, 0xdd, 0x40, 0x02, 0x69, - 0x33, 0x87, 0x5f, 0xe8, 0x75, 0xd2, 0xf8, 0x84, 0x64, 0xfd, 0x58, 0x0e, 0x58, 0xef, 0x64, 0x63, - 0x57, 0x60, 0x5c, 0x9f, 0xd2, 0xf2, 0xe2, 0x8d, 0x0f, 0x6a, 0xda, 0x84, 0xb5, 0x75, 0x1c, 0xb6, - 0x02, 0xc3, 0x98, 0x6c, 0x2f, 0x7e, 0x1d, 0xcd, 0x3c, 0x18, 0xcf, 0xf4, 0x1c, 0x8c, 0xc3, 0x98, - 0xca, 0xcf, 0x96, 0xc4, 0xd6, 0xef, 0xe4, 0x80, 0x65, 0xdb, 0x3c, 0x0d, 0x64, 0x9d, 0xf1, 0xa6, - 0xe6, 0xf3, 0xac, 0x27, 0x8b, 0x88, 0x33, 0xfd, 0xe8, 0x97, 0xc8, 0xc4, 0x3b, 0xfa, 0x82, 0xa1, - 0xb4, 0xe8, 0xef, 0x28, 0xf7, 0x2a, 0x0c, 0xdf, 0xe7, 0xc1, 0x96, 0x32, 0x07, 0x45, 0x13, 0xb2, - 0x87, 0x02, 0xa0, 0x5f, 0xe2, 0x11, 0xc3, 0xfa, 0xd3, 0x1c, 0xcc, 0x65, 0x49, 0xb8, 0xc7, 0xf8, - 0xb3, 0x59, 0x29, 0x57, 0x3c, 0xb4, 0xcc, 0x90, 0xf6, 0x65, 0xb1, 0x03, 0x5e, 0x19, 0x86, 0x45, - 0x63, 0xd5, 0x08, 0xa3, 0x12, 0x45, 0xf4, 0x46, 0x68, 0x4b, 0xb8, 0x40, 0x90, 0xb1, 0xbd, 0x86, - 0x30, 0x2c, 0x1c, 0x22, 0xe0, 0x7c, 0xb4, 0x25, 0x5c, 0x20, 0xdc, 0xf1, 0x1b, 0x71, 0x9e, 0x69, - 0x44, 0x68, 0x09, 0x80, 0x2d, 0xe1, 0xec, 0x02, 0x8c, 0xde, 0x6d, 0xaf, 0x71, 0xf7, 0xa1, 0x0a, - 0x58, 0x8e, 0x96, 0x24, 0x7e, 0xdb, 0x69, 0x0a, 0x98, 0xad, 0x0a, 0xad, 0x9f, 0xce, 0xc1, 0x4c, - 0x8f, 0x70, 0x7d, 0xbc, 0xcb, 0xde, 0xd1, 0xbe, 0x33, 0x83, 0xb4, 0x4f, 0x7e, 0xfe, 0x50, 0xf6, - 0xe7, 0x5b, 0xff, 0xf7, 0x30, 0x9c, 0xe9, 0xa3, 0xeb, 0x48, 0x7c, 0xfb, 0x72, 0xc7, 0xfa, 0xf6, - 0x7d, 0x09, 0x26, 0x97, 0x9b, 0xae, 0xd7, 0x0a, 0x37, 0xfd, 0xe4, 0x8b, 0x13, 0x17, 0x01, 0x2c, - 0x53, 0xa9, 0xb6, 0x95, 0x2d, 0xf9, 0xd9, 0x3a, 0x52, 0x38, 0x91, 0xdf, 0x2b, 0x6a, 0x19, 0xcc, - 0x7a, 0xbc, 0xeb, 0x0a, 0x7f, 0x45, 0xbc, 0xeb, 0x4c, 0x7f, 0x8f, 0xa1, 0x27, 0xea, 0xef, 0x91, - 0x6d, 0x2b, 0x3a, 0xfc, 0x71, 0x2c, 0x87, 0x97, 0x61, 0x52, 0x9a, 0xd2, 0x54, 0x42, 0x39, 0x48, - 0x23, 0x3d, 0xe6, 0x37, 0x6e, 0xd8, 0x3b, 0x16, 0x06, 0x0d, 0xbb, 0x69, 0xfa, 0x26, 0x8c, 0xe2, - 0x13, 0xe0, 0x85, 0xfe, 0xbe, 0x07, 0xc6, 0xd3, 0xbf, 0xe1, 0x83, 0xf0, 0x0d, 0x98, 0xcb, 0xba, - 0x2c, 0xcd, 0x17, 0x0d, 0x2b, 0xbd, 0xbe, 0xd6, 0x9d, 0x83, 0x5f, 0xb9, 0xf6, 0x7a, 0xaf, 0x5c, - 0xd6, 0x4f, 0xe7, 0x4d, 0xbf, 0xbf, 0xbf, 0x8a, 0xd3, 0xfe, 0x55, 0x18, 0x7e, 0xb0, 0xcb, 0x03, - 0xb5, 0xd9, 0xe2, 0x87, 0x3c, 0x12, 0x00, 0xfd, 0x43, 0x10, 0x83, 0x5d, 0x87, 0xa9, 0x0d, 0x39, - 0x0d, 0xd4, 0xd8, 0x0e, 0x25, 0xf7, 0xdf, 0x0e, 0x69, 0x69, 0x32, 0x06, 0x37, 0x45, 0x65, 0xdd, - 0x80, 0x73, 0xc6, 0x6e, 0x40, 0x71, 0x4a, 0xa4, 0x7f, 0x82, 0x3c, 0x8e, 0xa7, 0x12, 0x8f, 0x8c, - 0x64, 0xeb, 0xb2, 0x53, 0x50, 0x6b, 0x1b, 0x9e, 0x3f, 0x92, 0x91, 0x38, 0x05, 0xa1, 0x13, 0xff, - 0x4a, 0xd9, 0x3f, 0x1e, 0x49, 0x6a, 0x6b, 0x74, 0xd6, 0x37, 0x60, 0x42, 0xef, 0x65, 0xdc, 0xd0, - 0xc5, 0x6f, 0xda, 0x51, 0xe5, 0x86, 0x2e, 0x00, 0xb6, 0x84, 0x27, 0x7a, 0xf5, 0x7c, 0xb6, 0x5e, - 0x3d, 0x19, 0xfe, 0xc2, 0x71, 0xc3, 0x2f, 0x2a, 0xc7, 0xfd, 0x42, 0xab, 0x1c, 0x7f, 0xeb, 0x95, - 0x63, 0x20, 0x12, 0x5b, 0xc2, 0x9f, 0x68, 0xe5, 0xbf, 0xad, 0xf2, 0xc5, 0xa0, 0xfb, 0x83, 0x5a, - 0x3c, 0x49, 0xfe, 0xe9, 0xd9, 0xac, 0xb5, 0x90, 0x60, 0x26, 0x27, 0x74, 0xfe, 0xb8, 0x13, 0xfa, - 0x24, 0x13, 0x11, 0xe5, 0x3e, 0x39, 0xa4, 0x43, 0x89, 0x54, 0xe5, 0xf6, 0x98, 0x02, 0x28, 0x2c, - 0xeb, 0x9b, 0x39, 0x38, 0x95, 0xa9, 0xbf, 0x14, 0xb5, 0x4a, 0x45, 0xa9, 0xb6, 0x0e, 0xd3, 0x5a, - 0x52, 0x89, 0x71, 0x12, 0x2f, 0xf4, 0xc1, 0xdb, 0x62, 0xbd, 0x00, 0x63, 0xf1, 0xeb, 0x19, 0x9b, - 0x53, 0x43, 0x87, 0x26, 0x63, 0xea, 0x11, 0xa6, 0x06, 0x20, 0xbe, 0xe0, 0x89, 0x1a, 0x38, 0x5a, - 0xbf, 0x9d, 0x97, 0xb9, 0x04, 0x9f, 0xda, 0x80, 0x92, 0xd9, 0x56, 0x89, 0xa2, 0x49, 0xfd, 0xc3, - 0x48, 0xb2, 0x55, 0x18, 0xa9, 0x45, 0x6e, 0xd4, 0x55, 0xce, 0xf3, 0xb3, 0x3a, 0x19, 0x16, 0xdc, - 0x5f, 0x4c, 0xdc, 0xa7, 0x43, 0x84, 0x18, 0x37, 0x36, 0x84, 0x68, 0xc6, 0x8d, 0xbf, 0x9f, 0x83, - 0x09, 0x9d, 0x98, 0x7d, 0x00, 0x53, 0x2a, 0x4c, 0x9e, 0x0c, 0x29, 0x40, 0x4f, 0x7d, 0xca, 0x4e, - 0x46, 0x85, 0xc9, 0xd3, 0x43, 0x10, 0x18, 0xf8, 0xfa, 0x56, 0xdd, 0xd1, 0x91, 0x59, 0x03, 0x58, - 0x6b, 0xdb, 0x75, 0x1e, 0x71, 0x77, 0x8f, 0x87, 0x91, 0x23, 0xed, 0x19, 0xe8, 0x45, 0x50, 0xb1, - 0xbf, 0x73, 0xbd, 0x22, 0x4d, 0x19, 0xc4, 0x48, 0x50, 0xbc, 0xc3, 0x1e, 0x1a, 0xfd, 0x99, 0xa3, - 0xb5, 0xed, 0x3e, 0x90, 0x85, 0x92, 0xce, 0xfa, 0xb3, 0x11, 0x39, 0xdd, 0x28, 0xaa, 0xe6, 0x16, - 0x4c, 0xdd, 0xad, 0xae, 0x2c, 0x6b, 0x4a, 0x4f, 0x33, 0x29, 0xcb, 0xea, 0xe3, 0x88, 0x07, 0x6d, - 0xb7, 0xa9, 0xee, 0x7b, 0xc9, 0x11, 0xe4, 0x7b, 0x8d, 0x7a, 0xb6, 0x42, 0x34, 0xc5, 0x51, 0xd4, - 0x21, 0x6f, 0x96, 0x71, 0x1d, 0xf9, 0x01, 0xeb, 0x08, 0xdd, 0x56, 0xb3, 0x4f, 0x1d, 0x26, 0x47, - 0xb6, 0x0b, 0xa5, 0x1b, 0x28, 0xab, 0x69, 0xb5, 0x14, 0x8e, 0xae, 0xe5, 0x45, 0xaa, 0xe5, 0x59, - 0x29, 0xe4, 0x65, 0xd7, 0xd3, 0xc3, 0x35, 0xd9, 0x27, 0x86, 0x8e, 0xdd, 0x27, 0xfe, 0x76, 0x0e, - 0x46, 0xa4, 0x30, 0x48, 0xd3, 0xb8, 0x8f, 0xb8, 0xf9, 0xe0, 0xc9, 0x88, 0x9b, 0x25, 0x3c, 0x27, - 0x8c, 0x09, 0x2d, 0xcb, 0xd8, 0x4a, 0x6a, 0x5d, 0x28, 0x9b, 0x5c, 0x7c, 0xbe, 0x90, 0x25, 0xc7, - 0x2f, 0x0b, 0x56, 0x4d, 0x1c, 0xda, 0x47, 0x8f, 0xf5, 0x99, 0x54, 0x41, 0x00, 0x46, 0xc9, 0xa1, - 0xdd, 0x74, 0x63, 0x5f, 0x83, 0x31, 0x72, 0x93, 0x5f, 0xda, 0xa7, 0x47, 0xca, 0x92, 0x61, 0xf7, - 0xd1, 0x58, 0xda, 0x4f, 0x04, 0x5d, 0x72, 0xb4, 0x77, 0xb6, 0xf6, 0x8d, 0xd4, 0x8c, 0x0a, 0x91, - 0xdd, 0x95, 0x29, 0xcb, 0x64, 0xdc, 0x51, 0x33, 0xd0, 0x78, 0x0c, 0xa7, 0x00, 0x3c, 0xca, 0xd7, - 0x36, 0x23, 0xcc, 0x68, 0xc2, 0x83, 0xad, 0x41, 0x09, 0x6d, 0x85, 0x78, 0x43, 0xae, 0x9a, 0xea, - 0x8a, 0x74, 0xc5, 0x26, 0x7b, 0xcf, 0x48, 0x96, 0xd1, 0x72, 0x4b, 0x79, 0x41, 0xf5, 0x50, 0x8a, - 0xcb, 0x69, 0x29, 0x3d, 0xfb, 0xd8, 0x3b, 0x30, 0x1e, 0xc7, 0x7d, 0x8d, 0xfd, 0x30, 0xf1, 0xb1, - 0x22, 0x09, 0x14, 0x6b, 0x26, 0xba, 0xd2, 0xd0, 0xd9, 0x22, 0x14, 0xc5, 0x22, 0x4e, 0x27, 0x85, - 0xec, 0x12, 0x4c, 0xf7, 0x8b, 0x50, 0x78, 0xac, 0x06, 0xb3, 0x62, 0xd1, 0xd4, 0xbc, 0xf6, 0x4e, - 0x93, 0xaf, 0xf9, 0x3b, 0x7e, 0x37, 0xba, 0x67, 0xaf, 0xd1, 0x1e, 0x2e, 0xaf, 0x03, 0x6e, 0xab, - 0x69, 0x14, 0x07, 0x46, 0xca, 0xef, 0x0c, 0x6a, 0x6d, 0xab, 0xfc, 0xe3, 0x3c, 0x8c, 0x6b, 0xf3, - 0x89, 0xbd, 0x0a, 0xc5, 0x6a, 0xb8, 0xe6, 0xd7, 0xf7, 0xe2, 0x08, 0x6d, 0x93, 0x87, 0x07, 0xe5, - 0x31, 0x2f, 0x74, 0x9a, 0x08, 0xb4, 0xe3, 0x62, 0xb6, 0x04, 0x93, 0xf2, 0x2f, 0x15, 0x8f, 0x3f, - 0x9f, 0x28, 0x8b, 0x24, 0xb2, 0x8a, 0xc4, 0xaf, 0xef, 0x9e, 0x06, 0x09, 0xfb, 0x32, 0x80, 0x04, - 0xa0, 0x4f, 0x6f, 0x61, 0x70, 0x6f, 0x64, 0xaa, 0x20, 0xc3, 0x9b, 0x57, 0x63, 0xc8, 0xbe, 0x2a, - 0xe3, 0xc4, 0xaa, 0xf9, 0x3f, 0x34, 0xb8, 0x3b, 0xb5, 0xe0, 0xef, 0x64, 0x47, 0x75, 0xd0, 0x59, - 0x52, 0x0a, 0x8d, 0x05, 0x9b, 0xd7, 0xfd, 0x87, 0x3c, 0xd8, 0xaf, 0x44, 0x88, 0xa8, 0x61, 0x58, - 0xff, 0x63, 0x4e, 0x5b, 0x35, 0x6c, 0x1d, 0xf3, 0x98, 0xca, 0x19, 0x41, 0xf6, 0x3a, 0xf1, 0x9d, - 0x41, 0xc1, 0x6d, 0xbe, 0xbd, 0xf4, 0x2c, 0x59, 0x17, 0xcf, 0xc6, 0xf3, 0x2a, 0x95, 0xdf, 0x54, - 0x02, 0xd9, 0xe7, 0x60, 0x08, 0xbb, 0x2e, 0x7f, 0x6c, 0xd3, 0xd4, 0xb1, 0x3d, 0x24, 0xfa, 0x0c, - 0x1b, 0x82, 0x94, 0xec, 0x93, 0xe4, 0x0f, 0x29, 0x3b, 0x7f, 0x4a, 0x3b, 0x7b, 0xc5, 0x77, 0xc4, - 0xe7, 0x75, 0x12, 0xd8, 0x43, 0x9b, 0x3d, 0x7f, 0x37, 0x0f, 0xa5, 0xf4, 0x5a, 0x65, 0xef, 0xc3, - 0x84, 0x3a, 0x4f, 0x31, 0xd1, 0xbd, 0x68, 0xe5, 0x04, 0x05, 0x73, 0x57, 0x87, 0x6a, 0x3a, 0xcf, - 0xbd, 0x4e, 0x20, 0x84, 0x9b, 0x4d, 0x0a, 0xb4, 0xa5, 0xad, 0x92, 0xc8, 0x8f, 0x3a, 0xa9, 0xf0, - 0xa4, 0x0a, 0x8d, 0xbd, 0x09, 0x85, 0x3b, 0xd7, 0x2b, 0xe4, 0x37, 0x53, 0x4a, 0x9f, 0xba, 0xd2, - 0x2e, 0xd0, 0xb4, 0x52, 0x14, 0xf8, 0x6c, 0x4d, 0x8b, 0xe4, 0x3b, 0x62, 0x64, 0xf0, 0x52, 0xe0, - 0xb8, 0x71, 0xc7, 0x87, 0xf4, 0x95, 0x19, 0xf4, 0x29, 0x36, 0xe5, 0x7f, 0x5d, 0x80, 0xb1, 0xb8, - 0x7e, 0xc6, 0x74, 0x6f, 0x44, 0xe9, 0x79, 0xc8, 0xce, 0x42, 0x51, 0x89, 0x6b, 0xe4, 0x3e, 0x33, - 0x1a, 0x92, 0xa8, 0x36, 0x0f, 0x4a, 0x2e, 0x93, 0xcb, 0xdc, 0x56, 0x3f, 0xd9, 0x15, 0x88, 0x85, - 0xae, 0x7e, 0xd2, 0xd9, 0x90, 0x18, 0x30, 0x3b, 0x46, 0x63, 0x53, 0x90, 0xf7, 0x64, 0xbc, 0xa3, - 0x31, 0x3b, 0xef, 0x35, 0xd8, 0xfb, 0x50, 0x74, 0x1b, 0x0d, 0xde, 0x70, 0x5c, 0x65, 0xf8, 0x72, - 0xd4, 0xa4, 0x29, 0x0a, 0x6e, 0xf2, 0x10, 0x40, 0xaa, 0x4a, 0xc4, 0x2a, 0x30, 0xd6, 0x74, 0xa5, - 0x6d, 0x5b, 0x63, 0x80, 0x13, 0x25, 0xe1, 0x50, 0x14, 0x64, 0xf7, 0x42, 0xde, 0x60, 0xaf, 0xc0, - 0x90, 0x18, 0x4d, 0x3a, 0x42, 0x94, 0x94, 0x28, 0x06, 0x53, 0x76, 0xd8, 0xcd, 0x67, 0x6c, 0x44, - 0x60, 0x2f, 0x41, 0xa1, 0xbb, 0xb8, 0x4d, 0x87, 0x43, 0x29, 0x89, 0xaa, 0x1d, 0xa3, 0x89, 0x62, - 0x76, 0x15, 0x8a, 0x8f, 0xcc, 0x80, 0xcc, 0xa7, 0x52, 0xc3, 0x18, 0xe3, 0xc7, 0x88, 0xec, 0x15, - 0x28, 0x84, 0xa1, 0x4f, 0xd6, 0x22, 0x6a, 0x09, 0xd6, 0x6a, 0x77, 0xe3, 0x51, 0x13, 0xdc, 0xc3, - 0xd0, 0x5f, 0x2a, 0xc2, 0x88, 0x3c, 0x31, 0xac, 0xe7, 0x01, 0x92, 0x6f, 0xec, 0x75, 0x87, 0xb2, - 0xbe, 0x0c, 0x63, 0xf1, 0xb7, 0xb1, 0x73, 0x00, 0x7b, 0x7c, 0xdf, 0xd9, 0x75, 0xdb, 0x8d, 0xa6, - 0x14, 0x37, 0x27, 0xec, 0xb1, 0x3d, 0xbe, 0x7f, 0x13, 0x01, 0xec, 0x0c, 0x8c, 0x76, 0xc4, 0xf0, - 0xd3, 0x1c, 0x9f, 0xb0, 0x47, 0x3a, 0xdd, 0x2d, 0x31, 0x95, 0xe7, 0x61, 0x14, 0xd5, 0x90, 0xb4, - 0x22, 0x27, 0x6d, 0xf5, 0xd3, 0xfa, 0xf3, 0x02, 0x66, 0x2d, 0xd1, 0x1a, 0xc4, 0x5e, 0x84, 0xc9, - 0x7a, 0xc0, 0xf1, 0x70, 0x72, 0x85, 0xc8, 0x45, 0xf5, 0x4c, 0x24, 0xc0, 0x6a, 0x83, 0x5d, 0x80, - 0xe9, 0x4e, 0x77, 0xab, 0xe9, 0xd5, 0x45, 0x6d, 0x4e, 0x7d, 0x8b, 0xc2, 0xac, 0x4f, 0xd8, 0x93, - 0x12, 0x7c, 0x9b, 0xef, 0x2f, 0x6f, 0x61, 0x40, 0xaf, 0x92, 0x1e, 0x8f, 0x35, 0x8a, 0x93, 0x02, - 0xdb, 0xd3, 0x1a, 0x1c, 0x0d, 0xdf, 0x4e, 0xc3, 0x88, 0xeb, 0xee, 0x74, 0x3d, 0x19, 0x78, 0x67, - 0xc2, 0xa6, 0x5f, 0xec, 0x13, 0x30, 0x93, 0x84, 0x08, 0x56, 0xcd, 0x18, 0xc6, 0x66, 0x94, 0xe2, - 0x82, 0x65, 0x09, 0x67, 0x6f, 0x00, 0xd3, 0xeb, 0xf3, 0xb7, 0x3e, 0xe4, 0x75, 0x39, 0x27, 0x27, - 0xec, 0x19, 0xad, 0xe4, 0x2e, 0x16, 0xb0, 0x17, 0x60, 0x22, 0xe0, 0x21, 0x8a, 0x7b, 0xd8, 0x6d, - 0x98, 0xd4, 0xcb, 0x1e, 0x57, 0x30, 0xd1, 0x77, 0x17, 0xa1, 0xa4, 0x75, 0x07, 0x86, 0xbc, 0x95, - 0x31, 0xc6, 0xed, 0xa9, 0x04, 0x6e, 0x77, 0xaa, 0x0d, 0xf6, 0x05, 0x58, 0xd0, 0x30, 0x65, 0x7e, - 0x31, 0x87, 0x37, 0xbd, 0x1d, 0x6f, 0xab, 0xc9, 0x69, 0xbe, 0xf5, 0xce, 0xea, 0xf8, 0x4e, 0x68, - 0xcf, 0x27, 0xd4, 0x32, 0xf3, 0xd8, 0x2a, 0xd1, 0xb2, 0x35, 0x98, 0x4b, 0x71, 0xe6, 0x0d, 0xa7, - 0xdb, 0xe9, 0x1b, 0xe9, 0x2a, 0xe1, 0xc9, 0x4c, 0x9e, 0xbc, 0x71, 0xaf, 0x63, 0x7d, 0x03, 0x26, - 0xf4, 0x39, 0x29, 0x3a, 0x41, 0x17, 0x34, 0x68, 0xf6, 0x8d, 0xc7, 0xb0, 0xaa, 0xb8, 0xe8, 0x4d, - 0x25, 0x28, 0x51, 0x9c, 0xff, 0xd8, 0x9e, 0x8c, 0xa1, 0x38, 0x84, 0x2f, 0xc0, 0x44, 0xc3, 0x0b, - 0x3b, 0x4d, 0x77, 0xdf, 0x49, 0xb2, 0x9f, 0xda, 0xe3, 0x04, 0x43, 0x4d, 0xce, 0x12, 0xcc, 0xf4, - 0xec, 0x83, 0x5a, 0xb6, 0x7b, 0xb9, 0xaf, 0x1f, 0x9d, 0xed, 0xde, 0x6a, 0xc3, 0x84, 0x7e, 0xae, - 0x1d, 0x93, 0x0f, 0xe0, 0x34, 0x46, 0xb7, 0x90, 0x9b, 0xfe, 0xc8, 0xe1, 0x41, 0x39, 0xef, 0x35, - 0x30, 0xa6, 0xc5, 0x45, 0x28, 0x2a, 0x11, 0x8c, 0x24, 0x1f, 0xd4, 0xb5, 0x93, 0xec, 0xbf, 0x6f, - 0xc7, 0xa5, 0xd6, 0x2b, 0x30, 0x4a, 0x47, 0xd7, 0xd1, 0x1a, 0x76, 0xeb, 0x87, 0xf2, 0x30, 0x6d, - 0x73, 0xb1, 0xb1, 0x72, 0x99, 0x04, 0xe4, 0xa9, 0xbd, 0x73, 0x67, 0xc7, 0x48, 0x34, 0xda, 0x76, - 0x44, 0xfa, 0x8d, 0x7f, 0x94, 0x83, 0xd9, 0x0c, 0xdc, 0x8f, 0x94, 0x7e, 0xf2, 0x1a, 0x8c, 0xad, - 0x78, 0x6e, 0xb3, 0xd2, 0x68, 0xc4, 0xa1, 0x2e, 0x50, 0x70, 0xc7, 0x1c, 0x35, 0xae, 0x80, 0xea, - 0x42, 0x4c, 0x8c, 0xca, 0x5e, 0xa3, 0x49, 0x91, 0x64, 0xe0, 0xc5, 0x49, 0xf1, 0xed, 0x83, 0x32, - 0xc8, 0x6f, 0x4a, 0xd2, 0x72, 0x63, 0xdc, 0x52, 0x09, 0x4c, 0xbc, 0x48, 0x9e, 0xda, 0xa1, 0xcb, - 0x8e, 0x5b, 0x9a, 0x6e, 0xde, 0x40, 0x19, 0x38, 0x7e, 0x3c, 0x0f, 0xa7, 0xb3, 0x09, 0x3f, 0x6a, - 0x26, 0x51, 0xcc, 0x7d, 0xa2, 0xc5, 0x5a, 0xc6, 0x4c, 0xa2, 0x32, 0x51, 0x0a, 0xe2, 0x27, 0x08, - 0x6c, 0x1b, 0x26, 0xd7, 0xdc, 0x30, 0xba, 0xc9, 0xdd, 0x20, 0xda, 0xe2, 0x6e, 0x34, 0x80, 0x24, - 0xff, 0x92, 0x7a, 0xe0, 0x47, 0x61, 0x62, 0x57, 0x51, 0xa6, 0x64, 0x6d, 0x93, 0x6d, 0x3c, 0x51, - 0x86, 0x06, 0x98, 0x28, 0x5f, 0x83, 0xe9, 0x1a, 0x6f, 0xb9, 0x9d, 0x5d, 0x3f, 0x50, 0x6e, 0xc8, - 0x97, 0x60, 0x32, 0x06, 0x65, 0xce, 0x16, 0xb3, 0xd8, 0xc0, 0xd7, 0x3a, 0x22, 0xd9, 0x4a, 0xcc, - 0x62, 0xeb, 0xef, 0xe5, 0xe1, 0x4c, 0xa5, 0x4e, 0x76, 0x77, 0x54, 0xa0, 0xcc, 0x83, 0xbf, 0xc3, - 0x75, 0xb3, 0xcb, 0x30, 0x76, 0xc7, 0x7d, 0xbc, 0xc6, 0xdd, 0x90, 0x87, 0x94, 0xc7, 0x4d, 0x8a, - 0xbd, 0xee, 0xe3, 0xe4, 0x6d, 0xc4, 0x4e, 0x70, 0x74, 0xbd, 0xc0, 0xd0, 0xc7, 0xd4, 0x0b, 0x58, - 0x30, 0x72, 0xd3, 0x6f, 0x36, 0xe8, 0xac, 0xa7, 0x07, 0xd9, 0x5d, 0x84, 0xd8, 0x54, 0x22, 0xae, - 0xd3, 0x53, 0xf1, 0x17, 0xe3, 0x27, 0x7c, 0xc7, 0xbb, 0xe4, 0x02, 0x8c, 0x62, 0x45, 0x71, 0x26, - 0x6c, 0x3c, 0x34, 0x9a, 0x1c, 0xb3, 0x71, 0x35, 0x6c, 0x55, 0xa8, 0xf7, 0xc4, 0xf0, 0xc7, 0xeb, - 0x09, 0xeb, 0x1f, 0xe2, 0x5b, 0xaf, 0xde, 0x4a, 0x71, 0x12, 0x69, 0x1f, 0x92, 0x1b, 0xf0, 0x43, - 0xf2, 0x4f, 0x6c, 0x48, 0x0a, 0x7d, 0x87, 0xe4, 0x87, 0xf3, 0x30, 0x1e, 0x7f, 0xec, 0x77, 0x59, - 0xc0, 0xef, 0xb8, 0x5d, 0x03, 0x85, 0x0e, 0xa9, 0x69, 0x7b, 0x05, 0x45, 0xe8, 0xf8, 0x1c, 0x8c, - 0xd0, 0x62, 0xca, 0xa5, 0xcc, 0x64, 0x53, 0xa3, 0xbb, 0x34, 0x45, 0xac, 0x47, 0x70, 0x40, 0x43, - 0x9b, 0xe8, 0x30, 0x36, 0xcb, 0x03, 0xbe, 0x45, 0x4f, 0xff, 0x4f, 0xed, 0x19, 0x95, 0x1d, 0x9b, - 0x25, 0x69, 0xd8, 0x40, 0xa7, 0xd3, 0x3f, 0x2d, 0x42, 0x29, 0x4d, 0x72, 0x7c, 0x48, 0xf5, 0x8d, - 0xee, 0x96, 0xbc, 0xaa, 0xc8, 0x90, 0xea, 0x9d, 0xee, 0x96, 0x2d, 0x60, 0x68, 0x19, 0x14, 0x78, - 0x0f, 0xb1, 0xd5, 0x13, 0x64, 0x19, 0x14, 0x78, 0x0f, 0x0d, 0xcb, 0xa0, 0xc0, 0x7b, 0x88, 0x8a, - 0x84, 0xb5, 0x1a, 0xba, 0x93, 0xe3, 0x3d, 0x85, 0x14, 0x09, 0xcd, 0x30, 0x9d, 0x1e, 0x49, 0xa1, - 0x89, 0xa3, 0x72, 0x89, 0xbb, 0x01, 0x85, 0xff, 0xa6, 0xed, 0x0c, 0x8f, 0xca, 0x2d, 0x04, 0xcb, - 0x6c, 0xe6, 0xb6, 0x8e, 0xc4, 0x9a, 0xc0, 0xb4, 0x9f, 0x6a, 0x01, 0x1f, 0x7f, 0xb7, 0x56, 0x26, - 0x6e, 0x73, 0x3a, 0x6b, 0x47, 0x5f, 0xcd, 0x19, 0x7c, 0x9f, 0xa4, 0x3a, 0x77, 0x83, 0x62, 0x1a, - 0xa2, 0x02, 0xa9, 0x78, 0x2c, 0x33, 0x15, 0x6f, 0x01, 0x64, 0xcc, 0xc3, 0x58, 0x8d, 0x94, 0x30, - 0x61, 0xef, 0xc1, 0xb8, 0x1e, 0x24, 0x40, 0xba, 0xb2, 0x3f, 0x27, 0xc3, 0xd4, 0xf5, 0x49, 0xa8, - 0xa9, 0x13, 0xb0, 0x2d, 0x38, 0xb3, 0xec, 0xb7, 0xc3, 0x6e, 0x4b, 0x05, 0xc4, 0x4b, 0xc2, 0xf0, - 0x02, 0x0e, 0x05, 0x7a, 0x1c, 0xd7, 0x09, 0x85, 0x7c, 0xd2, 0x95, 0x0f, 0x82, 0x79, 0x01, 0xe9, - 0xc7, 0x88, 0x6d, 0xc2, 0x38, 0xaa, 0x44, 0xc9, 0xc8, 0x71, 0xdc, 0xdc, 0x36, 0x92, 0x92, 0x15, - 0xb1, 0x30, 0x64, 0x30, 0x26, 0xb7, 0xd5, 0x54, 0x26, 0xf0, 0xba, 0x6a, 0x57, 0x43, 0x66, 0x5f, - 0x86, 0x29, 0x79, 0x45, 0x7b, 0xc0, 0xb7, 0xe4, 0xdc, 0x99, 0x30, 0x34, 0x11, 0x66, 0xa1, 0x7c, - 0x9d, 0x27, 0x45, 0xf4, 0x23, 0xbe, 0x25, 0xc7, 0xde, 0x70, 0x40, 0x31, 0xf0, 0xd9, 0x3d, 0x98, - 0xbd, 0xe9, 0x86, 0x12, 0xa8, 0x79, 0x7b, 0x4f, 0xa2, 0x86, 0x16, 0x0d, 0x83, 0x77, 0xdd, 0x50, - 0x69, 0xb6, 0x33, 0xbd, 0xbb, 0xb3, 0xe8, 0xd9, 0x0f, 0xe5, 0x60, 0xde, 0x50, 0x7c, 0x93, 0x19, - 0x56, 0x8b, 0xb7, 0x23, 0xf4, 0x34, 0x99, 0x8a, 0xf3, 0xa8, 0xf7, 0x43, 0x93, 0x43, 0x92, 0xd2, - 0xad, 0x07, 0x49, 0xb9, 0x6e, 0x71, 0xdb, 0x8f, 0x07, 0x2d, 0x54, 0x5c, 0xd3, 0xd3, 0xe6, 0x42, - 0x4d, 0xad, 0x6b, 0x85, 0x66, 0x5d, 0x4b, 0xf7, 0x37, 0x29, 0xba, 0x72, 0xb1, 0xa2, 0x6b, 0x0e, - 0x86, 0xb1, 0x57, 0x55, 0x70, 0x1a, 0xfc, 0x61, 0x7d, 0x52, 0xdf, 0x87, 0x48, 0x2c, 0x3c, 0x72, - 0x1f, 0xb2, 0xfe, 0xdb, 0x11, 0x98, 0x4e, 0x4d, 0x0b, 0xba, 0xa7, 0xe6, 0x7a, 0xee, 0xa9, 0x35, - 0x00, 0xa9, 0xea, 0x1d, 0x50, 0x27, 0xab, 0xbc, 0xdc, 0xc6, 0xc9, 0x69, 0x34, 0x5e, 0x53, 0x1a, - 0x1b, 0xc1, 0x54, 0xae, 0xd8, 0x01, 0x75, 0xe4, 0x31, 0x53, 0xb9, 0xe8, 0x35, 0xa6, 0x09, 0x1b, - 0x56, 0x86, 0x61, 0x0c, 0x4b, 0xa9, 0x3b, 0x19, 0x7a, 0x02, 0x60, 0x4b, 0x38, 0x7b, 0x11, 0x46, - 0x84, 0x10, 0x55, 0x5d, 0xa1, 0x4d, 0x10, 0xcf, 0x16, 0x21, 0x65, 0x09, 0x89, 0x85, 0x8a, 0xd8, - 0x35, 0x98, 0x90, 0x7f, 0x51, 0x50, 0x91, 0x11, 0xd3, 0x36, 0xd0, 0xf1, 0x1a, 0x2a, 0xae, 0x88, - 0x81, 0x27, 0x6e, 0x17, 0xb5, 0x2e, 0xaa, 0x75, 0xaa, 0x2b, 0x14, 0xc7, 0x18, 0x6f, 0x17, 0xa1, - 0x04, 0x8a, 0x2a, 0x12, 0x04, 0x21, 0xcb, 0x90, 0xa9, 0x7f, 0x11, 0xef, 0x94, 0x28, 0xcb, 0x48, - 0x13, 0x7f, 0x9b, 0x4a, 0xd8, 0xab, 0xf2, 0x69, 0x05, 0xc5, 0x42, 0x99, 0x0e, 0x0e, 0xdf, 0x2d, - 0x50, 0x31, 0x81, 0xb2, 0x61, 0x5c, 0x2c, 0x2a, 0x17, 0x7f, 0xaf, 0xb6, 0x5c, 0xaf, 0x49, 0xdb, - 0x0a, 0x56, 0x8e, 0xb8, 0x5c, 0x40, 0xed, 0x04, 0x81, 0xbd, 0x03, 0x53, 0xe2, 0xc7, 0xb2, 0xdf, - 0x6a, 0xf9, 0x6d, 0x64, 0x3f, 0x9e, 0xc4, 0xa7, 0x42, 0x92, 0x3a, 0x16, 0xc9, 0x5a, 0x52, 0xb8, - 0xe2, 0x3c, 0xc1, 0x67, 0xdb, 0xae, 0x7c, 0xf4, 0x99, 0x48, 0xce, 0x13, 0x24, 0x0d, 0x25, 0xdc, - 0xd6, 0x91, 0xd8, 0x5b, 0x30, 0x29, 0x7e, 0xde, 0xf0, 0x1e, 0x72, 0x59, 0xe1, 0x64, 0x62, 0xaf, - 0x80, 0x54, 0x3b, 0xa2, 0x44, 0xd6, 0x67, 0x62, 0xb2, 0xcf, 0xc3, 0x29, 0xe4, 0x54, 0xf7, 0x3b, - 0xbc, 0x51, 0xd9, 0xde, 0xf6, 0x9a, 0x9e, 0x34, 0xd6, 0x92, 0xe1, 0x33, 0x50, 0x07, 0x2f, 0x2b, - 0x46, 0x0c, 0xc7, 0x4d, 0x50, 0xec, 0x6c, 0x4a, 0xf6, 0x00, 0x4a, 0xcb, 0xdd, 0x30, 0xf2, 0x5b, - 0x95, 0x28, 0x0a, 0xbc, 0xad, 0x6e, 0xc4, 0xc3, 0xf9, 0x69, 0x23, 0xc8, 0x84, 0x58, 0x1c, 0x71, - 0xa1, 0xd4, 0x07, 0xd5, 0x91, 0xc2, 0x71, 0x63, 0x12, 0xbb, 0x87, 0x89, 0xf5, 0x87, 0x39, 0x98, - 0x34, 0x48, 0xd9, 0x9b, 0x30, 0x71, 0x3d, 0xf0, 0x78, 0xbb, 0xd1, 0xdc, 0xd7, 0x2e, 0xaa, 0x78, - 0x8b, 0xd9, 0x26, 0xb8, 0x6c, 0xb5, 0x81, 0x16, 0xeb, 0x79, 0xf2, 0x99, 0x96, 0x94, 0x97, 0xa5, - 0xaf, 0x2b, 0x4d, 0xd0, 0x42, 0x12, 0xf5, 0x06, 0x27, 0x28, 0xcd, 0x4e, 0x0d, 0x85, 0xbd, 0x0b, - 0x23, 0xf2, 0x81, 0x97, 0xcc, 0xfa, 0xce, 0x66, 0x35, 0x53, 0xfa, 0x55, 0xe3, 0x44, 0x44, 0x2b, - 0x9e, 0xd0, 0x26, 0x22, 0xeb, 0x67, 0x72, 0xc0, 0x7a, 0x51, 0x8f, 0xd1, 0x7b, 0x1d, 0x6b, 0x1d, - 0xf4, 0xb9, 0x78, 0x35, 0x16, 0x0c, 0x9d, 0xb9, 0xa8, 0x49, 0x16, 0xc8, 0x8e, 0xa7, 0x55, 0xa7, - 0x2b, 0xe2, 0x64, 0xb1, 0xf5, 0x83, 0x79, 0x80, 0x04, 0x9b, 0x7d, 0x46, 0x66, 0xff, 0xf9, 0x7c, - 0xd7, 0x6d, 0x7a, 0xdb, 0x9e, 0x19, 0x0e, 0x13, 0x99, 0x7c, 0x4d, 0x95, 0xd8, 0x26, 0x22, 0x7b, - 0x1f, 0xa6, 0x6b, 0x1b, 0x26, 0xad, 0x66, 0xe7, 0x1d, 0x76, 0x9c, 0x14, 0x79, 0x1a, 0x1b, 0xcd, - 0x77, 0xf5, 0xd1, 0x90, 0xe6, 0xbb, 0x72, 0x20, 0xa8, 0x44, 0x6c, 0x2c, 0xb5, 0x0d, 0x32, 0x65, - 0x6f, 0x54, 0x57, 0x68, 0x97, 0xc2, 0xaf, 0x0b, 0x3b, 0x4e, 0x87, 0x6c, 0xdc, 0xc5, 0x3e, 0x61, - 0xe0, 0x25, 0x1d, 0x39, 0xdc, 0xc7, 0x77, 0xfa, 0x67, 0x51, 0xed, 0xd7, 0xf2, 0x23, 0x4e, 0xda, - 0x8e, 0xa7, 0xf6, 0xde, 0x93, 0x58, 0x07, 0x0c, 0x1b, 0x2e, 0xa1, 0x46, 0xeb, 0xc8, 0x02, 0xe6, - 0x6a, 0x72, 0x49, 0x91, 0x76, 0x02, 0x19, 0x46, 0x33, 0xff, 0x20, 0x07, 0xa7, 0x32, 0x69, 0xd9, - 0x25, 0x80, 0x44, 0xa7, 0x44, 0xbd, 0x84, 0x3b, 0x66, 0x12, 0xeb, 0xc5, 0xd6, 0x30, 0xd8, 0x97, - 0xd2, 0xda, 0xa0, 0xe3, 0x0f, 0xc2, 0x05, 0x15, 0xcb, 0xcb, 0xd4, 0x06, 0x65, 0xe8, 0x80, 0xac, - 0x7f, 0x54, 0x80, 0x19, 0x2d, 0x94, 0x8c, 0xfc, 0xd6, 0x63, 0xcc, 0xa9, 0xf7, 0x60, 0x42, 0xb4, - 0xc6, 0xab, 0x93, 0x5f, 0x9a, 0xb4, 0x64, 0x79, 0xad, 0xc7, 0xa9, 0x8f, 0xb8, 0x5d, 0xd2, 0x91, - 0x65, 0x84, 0x3d, 0xdc, 0x3a, 0xf1, 0x41, 0xa2, 0xde, 0xeb, 0x9f, 0x66, 0x30, 0x67, 0x21, 0x4c, - 0xae, 0xec, 0xb7, 0xdd, 0x56, 0x5c, 0x9b, 0xb4, 0x68, 0xf9, 0x44, 0xdf, 0xda, 0x0c, 0x6c, 0x59, - 0x5d, 0xe2, 0xfe, 0x22, 0xcb, 0x32, 0x3c, 0xaf, 0x0d, 0xaa, 0x85, 0xf7, 0x61, 0xa6, 0xe7, 0xa3, - 0x4f, 0x14, 0xec, 0xef, 0x01, 0xb0, 0xde, 0xef, 0xc8, 0xe0, 0xf0, 0x09, 0x33, 0x94, 0xe4, 0xa9, - 0xf8, 0xf1, 0x1a, 0xf3, 0xa3, 0x4b, 0xfb, 0x98, 0x45, 0x3d, 0x14, 0xe0, 0xcf, 0xe6, 0x75, 0xc7, - 0xca, 0xa7, 0x7d, 0xd5, 0x7d, 0xce, 0xb8, 0x0d, 0x3f, 0xdf, 0x6f, 0x4c, 0x07, 0xd2, 0x3a, 0x7c, - 0xab, 0x00, 0x67, 0xfa, 0x50, 0xb2, 0xfd, 0xf4, 0x24, 0x92, 0x5a, 0x88, 0x2b, 0x47, 0x57, 0xf8, - 0x24, 0xa6, 0x12, 0xfb, 0x8c, 0x0c, 0xad, 0x50, 0xc7, 0x1c, 0xdc, 0x74, 0xff, 0x46, 0x35, 0xfe, - 0x5e, 0x0c, 0x4d, 0xc7, 0x54, 0x90, 0x50, 0xf6, 0x3e, 0x0c, 0xa3, 0x57, 0x6d, 0x2a, 0x94, 0x9d, - 0xc0, 0x40, 0xb8, 0x16, 0xf7, 0x4f, 0xfc, 0x34, 0xe2, 0xfe, 0x09, 0x00, 0xfb, 0x34, 0x14, 0x2a, - 0x0f, 0x6a, 0x34, 0x2e, 0x53, 0x3a, 0xf9, 0x83, 0x5a, 0x92, 0xb3, 0xc0, 0x35, 0x92, 0x0b, 0x08, - 0x0a, 0x41, 0x78, 0x63, 0x79, 0x83, 0x46, 0x45, 0x27, 0xbc, 0xb1, 0xbc, 0x91, 0x10, 0xee, 0xd4, - 0x8d, 0xd0, 0x40, 0x37, 0x96, 0x37, 0xbe, 0x73, 0xd3, 0xfe, 0xdf, 0xc8, 0xcb, 0x78, 0x10, 0xb2, - 0x61, 0xef, 0xc3, 0x84, 0x11, 0xea, 0x37, 0x97, 0xc8, 0x63, 0x71, 0x58, 0xe6, 0x94, 0x09, 0x90, - 0x41, 0xa0, 0xb2, 0x7f, 0x88, 0xdf, 0x28, 0xf1, 0xea, 0xc6, 0x36, 0x31, 0x07, 0x94, 0x89, 0xd3, - 0xd9, 0x3f, 0x62, 0x12, 0x76, 0x15, 0x8a, 0x9b, 0xbc, 0xed, 0xb6, 0xa3, 0x58, 0x21, 0x8a, 0xd6, - 0xc2, 0x11, 0xc2, 0x4c, 0xa9, 0x21, 0x46, 0x44, 0xcb, 0xd6, 0xee, 0x56, 0x58, 0x0f, 0x3c, 0x8c, - 0x1b, 0x13, 0x9f, 0xc5, 0xd2, 0xb2, 0x55, 0x2b, 0x31, 0x19, 0xa4, 0x88, 0xac, 0x9f, 0xcd, 0xc1, - 0x28, 0x0d, 0xa4, 0xcc, 0xda, 0xb4, 0x93, 0x9c, 0x25, 0x94, 0xb5, 0x69, 0xc7, 0x4b, 0x67, 0x6d, - 0xda, 0x91, 0xc1, 0x59, 0xc6, 0xc8, 0x53, 0x2c, 0x7e, 0x1a, 0xc4, 0xd9, 0xa8, 0x7c, 0xea, 0xcc, - 0xa4, 0x3c, 0x31, 0xea, 0xa0, 0xfe, 0x4a, 0xd6, 0xdf, 0xa7, 0x2f, 0xbb, 0xb1, 0xbc, 0xc1, 0x16, - 0xa1, 0xb8, 0xe6, 0xcb, 0xc0, 0x3f, 0x7a, 0x0a, 0xce, 0x26, 0xc1, 0xf4, 0x0e, 0x52, 0x78, 0xe2, - 0xfb, 0x36, 0x02, 0x9f, 0xee, 0x32, 0xda, 0xf7, 0x75, 0x24, 0x30, 0xf5, 0x7d, 0x31, 0xea, 0xc0, - 0xdf, 0xc7, 0x33, 0x36, 0x89, 0xfb, 0x57, 0x31, 0x2d, 0xc2, 0x2d, 0xdd, 0x0f, 0x8c, 0x8a, 0xd4, - 0x4e, 0xb1, 0xd0, 0x6f, 0xa7, 0xb8, 0x7f, 0xd5, 0xce, 0xa0, 0xc2, 0x77, 0xb5, 0x04, 0x5c, 0xe3, - 0xc1, 0xc3, 0xa7, 0x78, 0x97, 0xce, 0x7e, 0x57, 0x4b, 0x37, 0x6f, 0xa0, 0x4d, 0xfa, 0xf7, 0xf3, - 0x70, 0x3a, 0x9b, 0x50, 0x6f, 0x4b, 0xee, 0x88, 0xb6, 0x5c, 0x84, 0xe2, 0x4d, 0x3f, 0x8c, 0x34, - 0xab, 0x3f, 0x54, 0xff, 0xef, 0x12, 0xcc, 0x8e, 0x4b, 0xc5, 0x9d, 0x5b, 0xfc, 0x1d, 0x2f, 0x4f, - 0xe4, 0x87, 0x51, 0x10, 0xc4, 0x9d, 0x5b, 0x16, 0xb1, 0x1b, 0x50, 0xb4, 0xc9, 0x0f, 0x29, 0xd5, - 0x35, 0x0a, 0x1c, 0x4b, 0x53, 0x2c, 0x20, 0x88, 0x11, 0x71, 0x99, 0x60, 0xac, 0x02, 0xa3, 0x34, - 0xfa, 0xa9, 0xa7, 0xe3, 0x8c, 0x29, 0x63, 0x06, 0x41, 0x57, 0x74, 0x62, 0x47, 0xc1, 0x47, 0xc0, - 0xea, 0x8a, 0x72, 0x29, 0xc2, 0x1d, 0x45, 0x3e, 0x12, 0x9a, 0x06, 0x96, 0x31, 0xa2, 0xf5, 0x43, - 0x79, 0x00, 0xa5, 0xb5, 0x79, 0x6a, 0x67, 0xd8, 0xa7, 0x8d, 0x19, 0xa6, 0xd9, 0x1b, 0x0d, 0x9e, - 0x65, 0xf4, 0x2e, 0x9a, 0xf3, 0x0c, 0x9e, 0x63, 0xb4, 0x0c, 0xc3, 0x9b, 0x89, 0x42, 0x8b, 0x7c, - 0x4c, 0x50, 0x1d, 0x2d, 0xe1, 0xd6, 0x16, 0xcc, 0xdd, 0xe0, 0x51, 0xa2, 0xde, 0x52, 0x4f, 0x8f, - 0x47, 0xb3, 0x7d, 0x1d, 0xc6, 0x08, 0x3f, 0xde, 0xbf, 0xa4, 0x2e, 0x86, 0x02, 0x8b, 0xa0, 0x2e, - 0x46, 0x21, 0x88, 0xdd, 0x68, 0x85, 0x37, 0x79, 0xc4, 0xbf, 0xb3, 0xd5, 0xd4, 0x80, 0xc9, 0xa6, - 0x60, 0xcb, 0x06, 0xab, 0xe1, 0xd8, 0xfe, 0xb9, 0x0f, 0xa7, 0xe2, 0x6f, 0x7f, 0x92, 0x7c, 0x2f, - 0x8b, 0x2b, 0x25, 0xc5, 0x0f, 0x4f, 0x38, 0x1e, 0x61, 0x7b, 0xf2, 0x18, 0x16, 0x14, 0xc1, 0x03, - 0x2f, 0x36, 0x9c, 0x1c, 0x88, 0x96, 0xbd, 0x03, 0xe3, 0x1a, 0x0d, 0xc5, 0xbf, 0x46, 0x35, 0xf5, - 0x23, 0x2f, 0xda, 0x75, 0x42, 0x09, 0xd7, 0xd5, 0xd4, 0x1a, 0xba, 0xf5, 0x45, 0x78, 0x36, 0xf6, - 0x03, 0xca, 0xa8, 0x3a, 0xc5, 0x3c, 0x77, 0x32, 0xe6, 0xeb, 0x49, 0xb3, 0xaa, 0xed, 0xd8, 0x71, - 0x58, 0xf1, 0x66, 0x7a, 0xb3, 0xa8, 0x31, 0xcf, 0xf5, 0xb8, 0x22, 0x6b, 0x1e, 0xc7, 0xd6, 0xdb, - 0xda, 0xc7, 0x66, 0x30, 0x34, 0x88, 0x73, 0x69, 0xe2, 0x1f, 0xca, 0xc3, 0xf4, 0xdd, 0xea, 0xca, - 0x72, 0x6c, 0x7d, 0xf4, 0x5d, 0x96, 0x03, 0xd5, 0x68, 0x5b, 0xff, 0xfd, 0xc6, 0xba, 0x07, 0xb3, - 0xa9, 0x6e, 0x40, 0xd1, 0xe1, 0x3d, 0xe9, 0x41, 0x12, 0x83, 0x95, 0xd8, 0x70, 0x3a, 0x8b, 0xfd, - 0xfd, 0xab, 0x76, 0x0a, 0xdb, 0xfa, 0xcf, 0x21, 0xc5, 0x97, 0xb6, 0xb0, 0xd7, 0x61, 0xac, 0x1a, - 0x86, 0x5d, 0x1e, 0xdc, 0xb3, 0xd7, 0x74, 0x55, 0x81, 0x87, 0x40, 0xa7, 0x1b, 0x34, 0xed, 0x04, - 0x81, 0xbd, 0x0a, 0x45, 0x0a, 0x09, 0xad, 0xf6, 0x04, 0xd4, 0xda, 0xc6, 0x11, 0xa5, 0xed, 0xb8, - 0x98, 0xbd, 0x09, 0x13, 0xf2, 0x6f, 0x39, 0xdb, 0xa8, 0xc3, 0x51, 0x39, 0x48, 0xe8, 0x72, 0x76, - 0xda, 0x06, 0x1a, 0x7b, 0x0d, 0x0a, 0x95, 0x65, 0x9b, 0xd4, 0x41, 0x24, 0x37, 0x62, 0x66, 0xf3, - 0x2e, 0x37, 0x2f, 0x11, 0xcb, 0xb6, 0x90, 0xfe, 0x54, 0xf4, 0x04, 0xd2, 0x64, 0xcb, 0x04, 0xec, - 0x04, 0x4b, 0x1d, 0x66, 0x08, 0x63, 0x97, 0x61, 0x74, 0x45, 0x9a, 0xcc, 0x91, 0x1e, 0x5b, 0x26, - 0xf8, 0x92, 0x20, 0x23, 0xf6, 0x80, 0x04, 0xb1, 0x57, 0x55, 0xe2, 0xa3, 0x62, 0xe2, 0x88, 0xd2, - 0x27, 0xbb, 0xd1, 0xeb, 0x30, 0x42, 0x81, 0x93, 0xc7, 0xb4, 0x94, 0x08, 0xe9, 0x80, 0xc9, 0x84, - 0xd3, 0xeb, 0x91, 0x0a, 0x4f, 0xd2, 0x23, 0x75, 0x0b, 0xce, 0xdc, 0x40, 0xed, 0x8d, 0x19, 0x6d, - 0xe8, 0x9e, 0x5d, 0x25, 0x7d, 0x38, 0x3e, 0x03, 0x49, 0x05, 0x4f, 0x3a, 0x60, 0x91, 0xd3, 0x0d, - 0xf4, 0x7c, 0x95, 0xfd, 0x18, 0xb1, 0x2f, 0xc0, 0x5c, 0x56, 0x11, 0x69, 0xcd, 0x31, 0xae, 0x4e, - 0x76, 0x05, 0x7a, 0x5c, 0x9d, 0x2c, 0x0e, 0x6c, 0x0d, 0x4a, 0x12, 0x5e, 0x69, 0xb4, 0xbc, 0xb6, - 0xd4, 0xfc, 0x4b, 0xad, 0x3a, 0x7a, 0x86, 0x10, 0x57, 0x57, 0x14, 0xca, 0x17, 0x00, 0xc3, 0x97, - 0x28, 0x45, 0xc9, 0x7e, 0x32, 0x27, 0x6e, 0x73, 0x32, 0xcc, 0xf0, 0x3d, 0x7b, 0x2d, 0xa4, 0x98, - 0x6c, 0xa7, 0x13, 0x37, 0xa1, 0x5a, 0x14, 0x78, 0xed, 0x1d, 0xf2, 0x13, 0xda, 0x24, 0x3f, 0xa1, - 0x77, 0x3e, 0x92, 0x9f, 0x90, 0x64, 0x15, 0x1e, 0x1e, 0x94, 0x27, 0x02, 0xaa, 0x13, 0x57, 0x91, - 0xf1, 0x05, 0xa2, 0xeb, 0xd0, 0x59, 0xf6, 0x5e, 0x5b, 0x06, 0x39, 0xe5, 0x0d, 0xd9, 0xc8, 0x69, - 0xdc, 0xc1, 0xb1, 0xeb, 0x30, 0xd4, 0xbe, 0xd3, 0x8d, 0x11, 0x7a, 0x1a, 0x9a, 0xc9, 0x41, 0x5c, - 0x3c, 0x95, 0x2f, 0x8a, 0x74, 0xaf, 0x2d, 0x25, 0x17, 0x4f, 0xe5, 0xb8, 0xe2, 0xe0, 0x34, 0xd2, - 0x27, 0x8f, 0x41, 0xc2, 0x2e, 0xc3, 0xc8, 0x1d, 0xf7, 0x71, 0x65, 0x87, 0x53, 0x42, 0xbb, 0x49, - 0xb5, 0xfd, 0x21, 0x70, 0xa9, 0xf8, 0x07, 0xd2, 0xd7, 0xe1, 0x19, 0x9b, 0xd0, 0xd8, 0xf7, 0xe6, - 0xe0, 0xb4, 0x5c, 0xc6, 0xaa, 0x95, 0x35, 0x1e, 0x45, 0xa2, 0x1f, 0x28, 0x38, 0xdb, 0xf9, 0xc4, - 0x60, 0x3b, 0x1b, 0x0f, 0x1d, 0xd3, 0x2d, 0xda, 0x19, 0xe2, 0x8e, 0x0b, 0xa9, 0xd4, 0x08, 0x3b, - 0x9b, 0x49, 0xcf, 0x36, 0x61, 0xfc, 0xce, 0xf5, 0x4a, 0x5c, 0xad, 0x8c, 0x45, 0x5d, 0xce, 0xda, - 0x1d, 0x35, 0xb4, 0x2c, 0x4f, 0x03, 0x9d, 0x0d, 0x79, 0x07, 0x7c, 0x5a, 0xf5, 0x07, 0x7b, 0x43, - 0xf7, 0x2d, 0x2d, 0xa0, 0xf4, 0x3c, 0xda, 0x72, 0x1f, 0x3b, 0xee, 0x0e, 0x37, 0x5e, 0xc9, 0x49, - 0x7b, 0xfd, 0xd3, 0x39, 0x38, 0xdb, 0xb7, 0xc9, 0xec, 0x1a, 0x9c, 0x71, 0xa5, 0xc7, 0xb4, 0xb3, - 0x1b, 0x45, 0x9d, 0xd0, 0x51, 0x57, 0x0c, 0xf2, 0x46, 0xb5, 0x4f, 0x51, 0xf1, 0x4d, 0x51, 0xaa, - 0x6e, 0x1d, 0x21, 0x7b, 0x1f, 0x9e, 0xf3, 0xda, 0x21, 0xaf, 0x77, 0x03, 0xee, 0x28, 0x06, 0x75, - 0xaf, 0x11, 0x38, 0x81, 0xdb, 0xde, 0x51, 0xae, 0xb5, 0xf6, 0x59, 0x85, 0x43, 0x5e, 0xd9, 0xcb, - 0x5e, 0x23, 0xb0, 0x11, 0xc1, 0xfa, 0xc3, 0x1c, 0xcc, 0xf7, 0xeb, 0x12, 0x36, 0x0f, 0xa3, 0xbc, - 0xed, 0x6e, 0x35, 0x95, 0x43, 0x91, 0xad, 0x7e, 0xb2, 0x67, 0x21, 0xd9, 0xe9, 0xe9, 0xf4, 0x2f, - 0xd6, 0x29, 0x43, 0x00, 0x9a, 0xb6, 0xeb, 0xfb, 0x3a, 0x19, 0x28, 0x4f, 0xd4, 0xf5, 0xdd, 0xfd, - 0x1c, 0x40, 0xb2, 0x9d, 0x4b, 0xc5, 0x84, 0x3d, 0xe6, 0xd6, 0x03, 0xb9, 0xf2, 0xd8, 0x69, 0x18, - 0x91, 0xdb, 0x25, 0xf9, 0x3f, 0xd0, 0x2f, 0x71, 0x6e, 0x53, 0x27, 0xe3, 0x3e, 0x5f, 0x58, 0x9a, - 0x30, 0x3a, 0x7b, 0xa4, 0x85, 0x83, 0x63, 0xfd, 0xd4, 0xa4, 0x14, 0x21, 0x2a, 0xdd, 0x68, 0x57, - 0x09, 0x1d, 0x8b, 0x59, 0x0e, 0x60, 0xd2, 0x96, 0x52, 0xb3, 0xcb, 0x36, 0xdd, 0xbe, 0xd4, 0xdb, - 0x4f, 0x3e, 0xf3, 0xed, 0xe7, 0x75, 0x18, 0x5b, 0xde, 0xe5, 0xf5, 0xbd, 0xd8, 0x09, 0xa7, 0x48, - 0xca, 0x75, 0x01, 0x94, 0x01, 0xa0, 0x13, 0x04, 0x76, 0x19, 0x00, 0xfd, 0x4e, 0xa5, 0x44, 0xaa, - 0x25, 0x71, 0x40, 0x37, 0x55, 0x32, 0x4f, 0xd1, 0x50, 0x90, 0x7d, 0xcd, 0xbe, 0xae, 0xdb, 0xb3, - 0x48, 0xf6, 0x61, 0xb0, 0x4d, 0xe8, 0x09, 0x82, 0x68, 0x9e, 0xb6, 0xaf, 0xd0, 0x29, 0x58, 0xea, - 0xd9, 0x7c, 0x74, 0x24, 0x76, 0x09, 0xc6, 0x36, 0x94, 0x23, 0x01, 0x1e, 0x82, 0x13, 0x48, 0x01, - 0x89, 0xd3, 0xc1, 0x7c, 0xce, 0x4e, 0x50, 0xd8, 0xa7, 0x61, 0x74, 0x99, 0x07, 0xd1, 0xe6, 0xe6, - 0x1a, 0x1a, 0x9d, 0xc8, 0x5c, 0x07, 0x45, 0x8c, 0x4b, 0x1f, 0x45, 0xcd, 0x6f, 0x1f, 0x94, 0x27, - 0x23, 0xaf, 0xc5, 0xe3, 0x18, 0xce, 0xb6, 0xc2, 0x66, 0x4b, 0x50, 0x92, 0xcf, 0xe2, 0xc9, 0xdd, - 0x03, 0x4f, 0xc6, 0xa2, 0x3c, 0xa7, 0xe9, 0x0d, 0xfd, 0x11, 0xdf, 0x8a, 0xa3, 0xf2, 0xf7, 0xe0, - 0xb3, 0x55, 0x95, 0xcc, 0x42, 0x6f, 0x26, 0x24, 0xca, 0xb0, 0xf4, 0x8e, 0x21, 0x5a, 0xdb, 0x4b, - 0xc1, 0x2a, 0x30, 0xb9, 0xec, 0xb7, 0x3a, 0x6e, 0xe4, 0x61, 0x7a, 0xb9, 0x7d, 0x3a, 0x04, 0x51, - 0xa1, 0x57, 0xd7, 0x0b, 0x8c, 0x13, 0x55, 0x2f, 0x60, 0xd7, 0x61, 0xca, 0xf6, 0xbb, 0x62, 0x98, - 0xd4, 0x2d, 0x5c, 0x9e, 0x73, 0x68, 0x1a, 0x12, 0x88, 0x12, 0x71, 0x2c, 0xd3, 0x95, 0xdb, 0x08, - 0xaf, 0x69, 0x50, 0xb1, 0xf5, 0x8c, 0xe7, 0x10, 0xfd, 0x70, 0xd3, 0x63, 0xf3, 0xf7, 0x30, 0xcb, - 0x78, 0x49, 0xb9, 0x0a, 0xe3, 0xb5, 0xda, 0xdd, 0x4d, 0x1e, 0x46, 0xd7, 0x9b, 0xfe, 0x23, 0x3c, - 0xdb, 0x8a, 0x94, 0xb3, 0x28, 0xf4, 0x9d, 0x88, 0x87, 0x91, 0xb3, 0xdd, 0xf4, 0x1f, 0xd9, 0x3a, - 0x16, 0xfb, 0x8a, 0xe8, 0x0f, 0x4d, 0x12, 0xa4, 0x40, 0xa2, 0x47, 0x09, 0xab, 0x78, 0x82, 0x24, - 0x8b, 0x46, 0x88, 0xac, 0x66, 0x67, 0x69, 0xe8, 0xe8, 0x53, 0x16, 0xf8, 0x8f, 0xf7, 0x2b, 0x8d, - 0x46, 0xc0, 0xc3, 0x90, 0x0e, 0x21, 0xe9, 0x53, 0x86, 0xca, 0x06, 0x57, 0x16, 0x18, 0x3e, 0x65, - 0x1a, 0x01, 0xfb, 0x91, 0x1c, 0x9c, 0xd2, 0xbd, 0x4d, 0x70, 0xb9, 0xa0, 0x99, 0x8b, 0x3c, 0x92, - 0xde, 0xb8, 0xa4, 0x0e, 0xe1, 0x4b, 0x1a, 0xda, 0xa5, 0x87, 0x57, 0x2e, 0x55, 0x92, 0x9f, 0x35, - 0x45, 0x84, 0x41, 0xd1, 0xca, 0x99, 0xfc, 0x92, 0x2f, 0x98, 0xcf, 0xd9, 0x73, 0x6e, 0x06, 0x31, - 0x5b, 0x16, 0x92, 0x9a, 0x98, 0x51, 0x68, 0x38, 0x55, 0xdd, 0xc0, 0x33, 0x8d, 0x34, 0xaa, 0x34, - 0xff, 0xa4, 0x89, 0x95, 0xd7, 0x31, 0x05, 0x32, 0x8d, 0x86, 0x55, 0x61, 0x5a, 0x02, 0xc4, 0xb6, - 0x20, 0x53, 0xda, 0xcc, 0x26, 0x61, 0xf5, 0x89, 0x0d, 0xbe, 0xf5, 0x63, 0x5a, 0x1b, 0x3d, 0xf2, - 0x65, 0x8a, 0x8e, 0xbd, 0x0f, 0x53, 0x61, 0xb8, 0xeb, 0x68, 0xeb, 0x75, 0x0e, 0x57, 0x31, 0x06, - 0xf0, 0xa4, 0x92, 0x94, 0xe7, 0xdd, 0x44, 0x18, 0xee, 0x26, 0x2b, 0xfa, 0x7d, 0x98, 0x42, 0x5b, - 0x9d, 0x84, 0xc1, 0xa9, 0x84, 0x01, 0x95, 0xa4, 0x19, 0x44, 0xcd, 0x30, 0x61, 0xf0, 0x77, 0x72, - 0x70, 0x56, 0x54, 0x94, 0x3d, 0x42, 0xa7, 0x3f, 0xca, 0x08, 0x61, 0x48, 0xc3, 0xbe, 0x3c, 0x75, - 0x71, 0x34, 0x0c, 0x77, 0xb3, 0x38, 0xe0, 0x47, 0x89, 0x8f, 0xcf, 0xfe, 0xa8, 0x33, 0x1f, 0xf9, - 0xa3, 0xfa, 0xf2, 0xd4, 0x3f, 0x2a, 0x6a, 0x86, 0x59, 0x1c, 0xf0, 0x5a, 0x5b, 0xab, 0xdc, 0x59, - 0x4b, 0xee, 0x66, 0xdf, 0x5d, 0x6e, 0x2b, 0x46, 0xdb, 0x8e, 0x70, 0x5b, 0xb9, 0x27, 0xdd, 0xa2, - 0xb5, 0x6e, 0x50, 0xd7, 0x5a, 0x03, 0x9c, 0xbe, 0xd6, 0xa6, 0x68, 0xec, 0x14, 0xb6, 0xf5, 0x8b, - 0x90, 0xe2, 0x4b, 0xa6, 0xaa, 0x16, 0x8c, 0xc8, 0x5b, 0x2b, 0x75, 0x32, 0xda, 0x2c, 0xc8, 0x3b, - 0xad, 0x4d, 0x25, 0xec, 0x2c, 0x14, 0x6a, 0xb5, 0xbb, 0xd4, 0xc9, 0x68, 0xb0, 0x1a, 0x86, 0xbe, - 0x2d, 0x60, 0x62, 0x84, 0xd0, 0x0a, 0x55, 0x0b, 0xf8, 0x2e, 0xce, 0x3b, 0x1b, 0xa1, 0xa2, 0xbf, - 0xd5, 0x1d, 0x72, 0x28, 0xe9, 0x6f, 0xba, 0x43, 0x26, 0x37, 0xc7, 0x65, 0x98, 0xaf, 0x84, 0x21, - 0x0f, 0xc4, 0x84, 0x20, 0xe3, 0xc6, 0x80, 0xee, 0x39, 0x74, 0xb0, 0x63, 0xa5, 0x6e, 0x3d, 0xb4, - 0xfb, 0x22, 0xb2, 0x8b, 0x50, 0xac, 0x74, 0x1b, 0x1e, 0x6f, 0xd7, 0x8d, 0xa8, 0x65, 0x2e, 0xc1, - 0xec, 0xb8, 0x94, 0x7d, 0x1e, 0x4e, 0xa5, 0x42, 0x0a, 0x52, 0x0f, 0x8c, 0x26, 0x7b, 0xaf, 0xba, - 0x87, 0x25, 0x06, 0x19, 0xb2, 0x4b, 0xb2, 0x29, 0x59, 0x05, 0x4a, 0xab, 0xe8, 0xa6, 0xb5, 0xc2, - 0xe5, 0xdb, 0x90, 0x1f, 0x48, 0xff, 0x3c, 0x79, 0x6b, 0x96, 0x2e, 0x5c, 0x4e, 0x23, 0x2e, 0xb4, - 0x7b, 0xd0, 0xd9, 0x6d, 0x98, 0x4d, 0xc3, 0xc4, 0x09, 0x2e, 0x2f, 0xc8, 0xb8, 0xdf, 0xf4, 0x70, - 0xc1, 0x33, 0x3c, 0x8b, 0x8a, 0x6d, 0xc1, 0x4c, 0x62, 0x90, 0x64, 0x5e, 0x9b, 0x95, 0x9d, 0x73, - 0x5c, 0xae, 0xae, 0xce, 0xcf, 0xd2, 0x64, 0x9c, 0x4d, 0x8c, 0x9b, 0xe2, 0xeb, 0xb3, 0xdd, 0xcb, - 0x8e, 0x35, 0x60, 0xaa, 0xe6, 0xed, 0xb4, 0xbd, 0xf6, 0xce, 0x6d, 0xbe, 0xbf, 0xe1, 0x7a, 0x01, - 0x59, 0x9c, 0x2a, 0x7b, 0xf2, 0x4a, 0xb8, 0xdf, 0x6a, 0xf1, 0x28, 0xc0, 0x8d, 0x50, 0x94, 0xa3, - 0x0f, 0xba, 0xb8, 0x0e, 0x2d, 0x84, 0x92, 0x0e, 0xdd, 0x36, 0x3b, 0xae, 0x67, 0x08, 0x01, 0x26, - 0x4f, 0x43, 0x75, 0x31, 0x31, 0xa0, 0xea, 0xa2, 0x09, 0x33, 0xab, 0xed, 0x7a, 0xb0, 0x8f, 0x4f, - 0x74, 0xea, 0xe3, 0x26, 0x8f, 0xf9, 0xb8, 0x97, 0xe8, 0xe3, 0x9e, 0x73, 0xd5, 0x0c, 0xcb, 0xfa, - 0xbc, 0x5e, 0xc6, 0xac, 0x06, 0x33, 0x78, 0x71, 0xa8, 0xae, 0x6c, 0x54, 0xdb, 0x5e, 0xe4, 0xb9, - 0x11, 0x6f, 0x90, 0x70, 0xf1, 0x32, 0xf1, 0x3c, 0x27, 0xaf, 0xa8, 0x5e, 0xa3, 0xe3, 0x78, 0x0a, - 0x45, 0x67, 0xda, 0x43, 0x7f, 0xd4, 0x3d, 0x71, 0xfa, 0x2f, 0xe9, 0x9e, 0x58, 0x85, 0xe9, 0x74, - 0x6c, 0x86, 0x52, 0x72, 0x0e, 0x87, 0x58, 0x24, 0x8e, 0x73, 0xbf, 0x8b, 0xc2, 0xa4, 0x91, 0x93, - 0xd0, 0xa4, 0x4b, 0x5f, 0x39, 0x67, 0x8c, 0x2b, 0xa7, 0xb1, 0x2b, 0x9d, 0xe0, 0xca, 0xc9, 0x36, - 0x00, 0xae, 0xfb, 0x41, 0x9d, 0x57, 0xd0, 0x3f, 0x9a, 0x19, 0xd9, 0x7d, 0x04, 0xd3, 0xa4, 0x50, - 0xae, 0x9f, 0x6d, 0xf1, 0xdb, 0x49, 0xbb, 0xb9, 0x6b, 0x3c, 0xac, 0x1f, 0xcd, 0xc3, 0x7c, 0xbf, - 0xcf, 0x39, 0xe2, 0xba, 0xf7, 0x09, 0xe8, 0x5d, 0xe1, 0x74, 0xed, 0x2b, 0xf1, 0xf4, 0x3a, 0x5f, - 0x84, 0xec, 0x85, 0x4c, 0xd7, 0xc0, 0xd9, 0x34, 0xc1, 0xbd, 0xa0, 0xc9, 0xae, 0xc1, 0xb8, 0xf6, - 0xf1, 0xb8, 0x97, 0xf6, 0x6b, 0xaa, 0x0d, 0xdb, 0xf1, 0xdf, 0xe2, 0x9a, 0x28, 0xf7, 0x2d, 0x75, - 0x4d, 0x94, 0xbf, 0x58, 0x49, 0xba, 0x88, 0x8f, 0x48, 0x2b, 0x80, 0x30, 0xf4, 0x19, 0x03, 0xdc, - 0xb7, 0xe5, 0x16, 0x68, 0xe3, 0xdf, 0xd6, 0xaf, 0x4d, 0xc8, 0x13, 0x59, 0xbf, 0x25, 0xf6, 0xb3, - 0x0f, 0x4e, 0xdd, 0x1e, 0xf3, 0x27, 0xb9, 0x3d, 0x16, 0x8e, 0xbf, 0x3d, 0x0e, 0x1d, 0x77, 0x7b, - 0x4c, 0x5d, 0xef, 0x86, 0x4f, 0x7c, 0xbd, 0x1b, 0x39, 0xd1, 0xf5, 0x6e, 0xf4, 0x44, 0xd7, 0x3b, - 0xe3, 0xa6, 0x5a, 0x3c, 0xee, 0xa6, 0xfa, 0xd7, 0x97, 0xc1, 0xa7, 0xf5, 0x32, 0x98, 0x25, 0xe2, - 0x9d, 0xe8, 0x32, 0xf8, 0xc3, 0x7d, 0xef, 0x72, 0xa5, 0x8f, 0x22, 0x94, 0xbf, 0x38, 0xc0, 0x5d, - 0x6e, 0xd0, 0x9b, 0xdc, 0xcc, 0x93, 0xb9, 0xc9, 0xb1, 0x27, 0x76, 0x93, 0x9b, 0xfd, 0xb8, 0x37, - 0xb9, 0xb9, 0x27, 0x79, 0x93, 0x3b, 0xf5, 0x57, 0xf1, 0x26, 0x77, 0xfa, 0x5f, 0xcd, 0x4d, 0xee, - 0x6f, 0x40, 0x29, 0x2d, 0x5c, 0x1e, 0x1f, 0x14, 0xf8, 0x89, 0xc5, 0x90, 0x14, 0xa2, 0x6f, 0x5a, - 0xb8, 0x63, 0x97, 0x01, 0x36, 0x02, 0xef, 0xa1, 0x1b, 0xf1, 0xdb, 0xca, 0xfa, 0x8d, 0x02, 0x5a, - 0x4b, 0xa8, 0x18, 0x79, 0x5b, 0x43, 0x89, 0xef, 0x35, 0xf9, 0xac, 0x7b, 0x8d, 0xf5, 0x23, 0x79, - 0x98, 0x91, 0x81, 0xd8, 0x9e, 0xfe, 0x47, 0xd8, 0xf7, 0x8c, 0xdb, 0xaa, 0xb2, 0xb5, 0x4e, 0xb5, - 0xee, 0x88, 0x67, 0xd8, 0x2f, 0xc3, 0xa9, 0x9e, 0xae, 0xc0, 0x1b, 0xeb, 0x8a, 0x0a, 0x81, 0xd7, - 0x73, 0x67, 0x9d, 0xcf, 0xae, 0xe4, 0xfe, 0x55, 0xbb, 0x87, 0xc2, 0xfa, 0xf3, 0xa1, 0x1e, 0xfe, - 0xf4, 0x20, 0xab, 0x3f, 0xb1, 0xe6, 0x4e, 0xf6, 0xc4, 0x9a, 0x1f, 0xec, 0x89, 0x35, 0x25, 0x54, - 0x14, 0x06, 0x11, 0x2a, 0x3e, 0x0f, 0x93, 0x9b, 0xdc, 0x6d, 0x85, 0x9b, 0x3e, 0x65, 0xf3, 0x91, - 0xbe, 0x16, 0x2a, 0xc2, 0x9d, 0x28, 0x53, 0x17, 0xae, 0xd8, 0x66, 0x34, 0x12, 0x04, 0xe2, 0x18, - 0x94, 0xe9, 0x7d, 0x6c, 0x93, 0x83, 0x7e, 0x8b, 0x1e, 0x3e, 0xe2, 0x16, 0x5d, 0x83, 0x09, 0xa2, - 0x4b, 0x22, 0x21, 0x27, 0xd7, 0x3d, 0x51, 0x84, 0x70, 0x55, 0x7b, 0x9c, 0x64, 0x3a, 0xae, 0x5d, - 0xde, 0xf4, 0x0c, 0x26, 0xa2, 0x0b, 0x56, 0xdb, 0x8d, 0x8e, 0xef, 0xb5, 0xb1, 0x0b, 0x46, 0x93, - 0x2e, 0xe0, 0x04, 0x96, 0x5d, 0xa0, 0x21, 0xb1, 0x77, 0x60, 0xaa, 0xb2, 0x51, 0xd5, 0xc9, 0x8a, - 0xc9, 0x2b, 0xaf, 0xdb, 0xf1, 0x1c, 0x83, 0x34, 0x85, 0x7b, 0xd4, 0xcd, 0x67, 0xec, 0x2f, 0xe7, - 0xe6, 0x63, 0xfd, 0xf3, 0x09, 0xb5, 0xbc, 0xbf, 0xb3, 0x0f, 0x24, 0xe6, 0x93, 0x47, 0xe1, 0x84, - 0x4f, 0x1e, 0x43, 0xc7, 0x09, 0x92, 0x86, 0x7c, 0x3b, 0x7c, 0x22, 0xf9, 0x76, 0xe4, 0x63, 0x3f, - 0x5f, 0x8c, 0x9e, 0x50, 0x62, 0x4d, 0xad, 0xb5, 0xe2, 0x20, 0x6b, 0x2d, 0x53, 0xca, 0x1d, 0xfb, - 0xf8, 0x52, 0x2e, 0x9c, 0x58, 0xca, 0xad, 0x25, 0xbe, 0xcb, 0xe3, 0xc7, 0xba, 0x84, 0x9c, 0x23, - 0xad, 0xc0, 0x4c, 0x76, 0x14, 0xbe, 0xd8, 0x8b, 0xf9, 0xbb, 0x4a, 0x74, 0xfe, 0x6a, 0xb6, 0xe8, - 0x7c, 0xf4, 0x79, 0x73, 0x22, 0xe1, 0xf9, 0x47, 0x9e, 0xac, 0xf0, 0xfc, 0x64, 0x1f, 0x42, 0xfe, - 0x5a, 0x7c, 0xfe, 0x6b, 0xf1, 0x79, 0x40, 0xf1, 0x39, 0xc0, 0xe5, 0xf5, 0xc0, 0x0d, 0xda, 0xa8, - 0x76, 0xba, 0x0c, 0xa3, 0x2a, 0x0c, 0x69, 0x2e, 0xd1, 0x28, 0xf7, 0xc6, 0x1f, 0x55, 0x58, 0x6c, - 0x11, 0x8a, 0x8a, 0x58, 0x4f, 0x1b, 0xf3, 0x88, 0x60, 0x46, 0x84, 0x47, 0x82, 0x59, 0xff, 0xde, - 0x90, 0xda, 0xc2, 0xc5, 0x9c, 0xd9, 0x70, 0x03, 0xb7, 0x85, 0xf9, 0xc8, 0xe2, 0x15, 0xa6, 0x09, - 0xef, 0xa9, 0x45, 0x99, 0x32, 0xed, 0x37, 0x49, 0x3e, 0x52, 0x60, 0xd8, 0x24, 0xe5, 0x6b, 0x61, - 0x80, 0x94, 0xaf, 0x6f, 0x19, 0xf9, 0x52, 0x87, 0x92, 0x04, 0x7d, 0x62, 0x5b, 0x3b, 0x3a, 0x53, - 0xea, 0x35, 0x3d, 0xb1, 0xe9, 0x70, 0x12, 0xd5, 0x0b, 0x29, 0x8f, 0x48, 0x69, 0x1a, 0xdf, 0x46, - 0x46, 0x4e, 0x12, 0x72, 0x79, 0xf4, 0x5f, 0x69, 0xc8, 0xe5, 0x55, 0x00, 0x3a, 0x6a, 0x13, 0xf3, - 0x84, 0x97, 0x71, 0xf5, 0x93, 0x99, 0x72, 0x14, 0x35, 0xfb, 0x64, 0xb8, 0xd0, 0x08, 0xad, 0xdf, - 0x63, 0x30, 0x53, 0xab, 0xdd, 0x5d, 0xf1, 0xdc, 0x9d, 0xb6, 0x1f, 0x46, 0x5e, 0xbd, 0xda, 0xde, - 0xf6, 0x85, 0x28, 0x1e, 0x1f, 0x07, 0x5a, 0x6c, 0xdd, 0xe4, 0x28, 0x88, 0x8b, 0xc5, 0x55, 0x6f, - 0x35, 0x08, 0x94, 0x7e, 0x54, 0x5e, 0xf5, 0xb8, 0x00, 0xd8, 0x12, 0x2e, 0xa4, 0xdd, 0x5a, 0x17, - 0x23, 0x5b, 0x90, 0xcd, 0x08, 0x4a, 0xbb, 0xa1, 0x04, 0xd9, 0xaa, 0x8c, 0xf1, 0xde, 0x09, 0x4b, - 0xb7, 0x9f, 0x33, 0x46, 0xe0, 0xe6, 0xa4, 0x58, 0x1e, 0x76, 0x24, 0x8c, 0xe0, 0xb6, 0xd9, 0x41, - 0xb8, 0x6e, 0x11, 0xd7, 0xb3, 0x06, 0xf6, 0xe1, 0x94, 0xe1, 0xf3, 0x3c, 0xe8, 0x63, 0xca, 0x6b, - 0x24, 0x5d, 0x5b, 0x18, 0x62, 0x23, 0xe3, 0x45, 0x45, 0x4f, 0x30, 0x96, 0x59, 0x83, 0x38, 0xcf, - 0xce, 0x65, 0x96, 0xc4, 0xab, 0x7b, 0xdc, 0x08, 0x9e, 0xad, 0x6d, 0x1a, 0x32, 0x95, 0x5a, 0xbf, - 0xaa, 0x9d, 0x8c, 0xad, 0xe0, 0xe8, 0x9a, 0xd8, 0xaf, 0xe7, 0xe0, 0x8c, 0x81, 0x11, 0x6f, 0x57, - 0x61, 0x1c, 0x0e, 0x24, 0x73, 0x5e, 0x7f, 0xf8, 0x64, 0xe6, 0xf5, 0x8b, 0x66, 0x5b, 0x92, 0x0d, - 0x55, 0x6f, 0x43, 0xbf, 0x2f, 0x64, 0x0f, 0x61, 0x06, 0x8b, 0xd4, 0xc3, 0x8e, 0x98, 0xb3, 0xf4, - 0x1e, 0x34, 0x97, 0x7c, 0xb6, 0xf4, 0xe3, 0xc7, 0x74, 0xd8, 0x8b, 0xdf, 0x3a, 0x28, 0x4f, 0x1a, - 0xe8, 0x2a, 0x1c, 0xb5, 0x93, 0xbc, 0x0e, 0x79, 0xed, 0x6d, 0x5f, 0x17, 0x94, 0x7a, 0xaa, 0x60, - 0xff, 0x38, 0x27, 0x9f, 0x13, 0x64, 0x33, 0xae, 0x07, 0x7e, 0x2b, 0x2e, 0x57, 0xa6, 0x95, 0x7d, - 0xba, 0xad, 0xf9, 0x64, 0xba, 0xed, 0x65, 0xfc, 0x64, 0xb9, 0x27, 0x38, 0xdb, 0x81, 0xdf, 0x4a, - 0x3e, 0x5f, 0xef, 0xb8, 0xbe, 0x1f, 0xc9, 0xbe, 0x2f, 0x07, 0x67, 0x0d, 0xad, 0xa6, 0x9e, 0x1b, - 0x84, 0xa2, 0x25, 0xcc, 0xc6, 0x71, 0x54, 0x92, 0xa2, 0xa5, 0x4b, 0x34, 0xff, 0x2f, 0xe0, 0x17, - 0x68, 0x61, 0x3b, 0x05, 0x92, 0xd3, 0x92, 0x58, 0xda, 0x27, 0xf4, 0xaf, 0x85, 0x79, 0x30, 0x83, - 0x56, 0x36, 0x86, 0x09, 0xf0, 0x5c, 0x7f, 0x13, 0xe0, 0x38, 0x87, 0x0e, 0x66, 0x04, 0xe8, 0x6f, - 0x07, 0xdc, 0xcb, 0x95, 0xfd, 0x4d, 0x38, 0xdb, 0x03, 0x8c, 0x57, 0xdb, 0xa9, 0xbe, 0xab, 0xed, - 0x13, 0x87, 0x07, 0xe5, 0x57, 0xb2, 0x6a, 0xcb, 0x5a, 0x69, 0xfd, 0x6b, 0x60, 0x2e, 0x40, 0x52, - 0x48, 0xe2, 0x47, 0xf6, 0x04, 0xfd, 0x04, 0xcd, 0x0f, 0x0d, 0x5f, 0xec, 0xe5, 0xda, 0x37, 0xe8, - 0x47, 0x5e, 0x82, 0xc4, 0x38, 0x4c, 0x68, 0xd9, 0x10, 0xf6, 0xc9, 0xd8, 0xa3, 0x4f, 0x25, 0xdf, - 0x3a, 0x28, 0x1b, 0xd8, 0xe2, 0x42, 0xa4, 0xa7, 0x59, 0x30, 0xa4, 0x3d, 0x1d, 0x91, 0xfd, 0x6a, - 0x0e, 0xe6, 0x04, 0x20, 0x99, 0x54, 0xd4, 0xa8, 0xf9, 0xa3, 0x66, 0xfd, 0xee, 0x93, 0x99, 0xf5, - 0x2f, 0xe0, 0x37, 0xea, 0xb3, 0xbe, 0xa7, 0x4b, 0x32, 0x3f, 0x0e, 0x67, 0xbb, 0x61, 0xd0, 0x65, - 0xcc, 0xf6, 0xb3, 0x03, 0xcc, 0x76, 0x39, 0x00, 0xc7, 0xcf, 0xf6, 0xbe, 0xb5, 0xb0, 0x4d, 0x98, - 0xa0, 0xbb, 0x90, 0xec, 0xb0, 0xe7, 0x8d, 0x30, 0xce, 0x7a, 0x91, 0xbc, 0xa0, 0x52, 0xb2, 0x88, - 0x9e, 0x16, 0x1a, 0x5c, 0x58, 0x1b, 0x66, 0xe5, 0x6f, 0x53, 0x37, 0x55, 0xee, 0xab, 0x9b, 0xba, - 0x48, 0x2d, 0x3a, 0x4f, 0xfc, 0x53, 0x2a, 0x2a, 0x3d, 0xfc, 0x52, 0x06, 0x63, 0xd6, 0x01, 0x66, - 0x80, 0xe5, 0xa2, 0x3d, 0x7f, 0xb4, 0x46, 0xea, 0x15, 0xaa, 0xb3, 0x9c, 0xae, 0x33, 0xbd, 0x72, - 0x33, 0x78, 0x33, 0x17, 0xa6, 0x09, 0xea, 0xef, 0x71, 0xb9, 0xc3, 0xbf, 0x60, 0x04, 0xc0, 0x4a, - 0x95, 0xca, 0x4b, 0x94, 0xaa, 0x09, 0x03, 0x94, 0xa5, 0x36, 0xf4, 0x34, 0x3f, 0x76, 0x17, 0x66, - 0x2a, 0x9d, 0x4e, 0xd3, 0xe3, 0x0d, 0x6c, 0xa5, 0xcc, 0xf0, 0x6f, 0x25, 0xd9, 0xcb, 0x5c, 0x59, - 0x48, 0x37, 0xbb, 0x74, 0x7a, 0xff, 0x5e, 0x5a, 0xeb, 0x87, 0x73, 0x3d, 0x1f, 0xcd, 0x5e, 0x87, - 0x31, 0xfc, 0xa1, 0xc5, 0x54, 0x41, 0x15, 0x8f, 0xfc, 0x44, 0x54, 0x1e, 0x25, 0x08, 0x42, 0x58, - 0xd2, 0xe3, 0x2a, 0x16, 0xa4, 0xb0, 0x44, 0x7a, 0x85, 0x44, 0x93, 0x50, 0x56, 0xae, 0x19, 0x85, - 0x44, 0xe8, 0x42, 0xd7, 0x0c, 0x72, 0xc8, 0xb0, 0xbe, 0x2f, 0x6f, 0x4e, 0x3b, 0x76, 0x51, 0x93, - 0xdb, 0xb5, 0xc8, 0x8e, 0x4a, 0x6e, 0xd7, 0xa4, 0xf5, 0x7f, 0x90, 0x83, 0xd9, 0xbb, 0xc1, 0x8e, - 0xdb, 0xf6, 0xbe, 0x2e, 0xc3, 0x68, 0xfb, 0x38, 0x2e, 0x47, 0x27, 0x82, 0x7c, 0x52, 0x09, 0xed, - 0x7c, 0xad, 0x62, 0x31, 0x53, 0x70, 0xca, 0xd8, 0x59, 0xdf, 0x83, 0xce, 0x6e, 0xf8, 0x61, 0x5a, - 0x5e, 0x41, 0x89, 0x2e, 0xe1, 0xd6, 0x8f, 0xe7, 0x61, 0x5c, 0x5b, 0x02, 0xec, 0x53, 0x30, 0xa1, - 0xf3, 0xd1, 0x15, 0x7e, 0x7a, 0xb5, 0xb6, 0x81, 0x85, 0x1a, 0x3f, 0xee, 0xb6, 0x0c, 0x8d, 0x9f, - 0x98, 0xe8, 0x08, 0x3d, 0xe1, 0xd5, 0xe6, 0xfd, 0x8c, 0xab, 0x0d, 0x4e, 0x5b, 0x4d, 0x63, 0x73, - 0xe4, 0x05, 0xe7, 0x9d, 0xde, 0x0b, 0x0e, 0x2a, 0x8f, 0x34, 0xfa, 0xfe, 0xd7, 0x1c, 0xeb, 0xa7, - 0x72, 0x50, 0x4a, 0x2f, 0xd2, 0xef, 0x48, 0xaf, 0x9c, 0xe0, 0x75, 0xe7, 0xc7, 0xf2, 0x71, 0x2a, - 0x14, 0xe5, 0xc2, 0xfb, 0xb4, 0x9a, 0x09, 0xbe, 0x6b, 0x3c, 0xbc, 0x3c, 0x6b, 0x46, 0xa3, 0xd3, - 0x83, 0x5f, 0x64, 0x87, 0xa0, 0x1c, 0xfa, 0xe6, 0x2f, 0x94, 0x9f, 0xb1, 0x3e, 0x80, 0xb9, 0x74, - 0x77, 0xe0, 0xe3, 0x4b, 0x05, 0xa6, 0x4d, 0x78, 0x3a, 0x91, 0x52, 0x9a, 0xca, 0x4e, 0xe3, 0x5b, - 0x7f, 0x90, 0x4f, 0xf3, 0x26, 0x93, 0x41, 0xb1, 0xe9, 0xe8, 0x86, 0x30, 0xb4, 0xe9, 0x48, 0x90, - 0xad, 0xca, 0x4e, 0x92, 0xc0, 0x2c, 0x76, 0x44, 0x2d, 0x64, 0x3b, 0xa2, 0xb2, 0x6b, 0x29, 0x2b, - 0x69, 0x2d, 0x6a, 0xd2, 0x23, 0xbe, 0xe5, 0x24, 0x96, 0xd2, 0x29, 0xe3, 0xe8, 0x65, 0x98, 0x33, - 0x42, 0x80, 0x2b, 0xfa, 0xe1, 0x44, 0xd7, 0x1e, 0x61, 0x81, 0x24, 0xce, 0x44, 0x66, 0x37, 0x61, - 0x54, 0x7c, 0xe6, 0x1d, 0xb7, 0x43, 0x6f, 0x2a, 0x2c, 0x76, 0x4b, 0x6f, 0xc6, 0x17, 0x3e, 0xcd, - 0x33, 0xbd, 0xc9, 0xc5, 0x91, 0xaf, 0x4f, 0x2c, 0x42, 0xb4, 0xfe, 0x59, 0x4e, 0xac, 0xff, 0xfa, - 0xde, 0x77, 0x59, 0x16, 0x34, 0xd1, 0xa4, 0x23, 0x2c, 0x5a, 0xff, 0x24, 0x2f, 0x73, 0xe1, 0xd0, - 0xf4, 0x79, 0x0b, 0x46, 0x36, 0xdd, 0x60, 0x87, 0x72, 0x30, 0x9b, 0x5c, 0x64, 0x41, 0x12, 0xd3, - 0x29, 0xc2, 0xdf, 0x36, 0x11, 0xe8, 0xba, 0xb0, 0xfc, 0x40, 0xba, 0x30, 0x4d, 0x2f, 0x5f, 0x78, - 0x62, 0x7a, 0xf9, 0xef, 0x89, 0xd3, 0xde, 0x54, 0xa2, 0x01, 0x22, 0x4c, 0x9f, 0x4f, 0xa7, 0x8d, - 0xea, 0x89, 0x05, 0x9e, 0xb0, 0x63, 0xd7, 0xf4, 0x44, 0x54, 0x9a, 0x6f, 0xe7, 0x31, 0x29, 0xa7, - 0xac, 0x3f, 0x29, 0xc8, 0x3e, 0xa6, 0x8e, 0xba, 0x60, 0xf8, 0x7d, 0xe3, 0x3a, 0x11, 0x1b, 0xbd, - 0x1e, 0x82, 0x03, 0xcd, 0xa6, 0x2e, 0xc0, 0x90, 0x98, 0x9b, 0xd4, 0x9b, 0x88, 0x27, 0xe6, 0xaf, - 0x8e, 0x27, 0xca, 0xc5, 0x5a, 0xc6, 0x33, 0x49, 0xcf, 0x30, 0x88, 0xc7, 0x96, 0xbe, 0x96, 0x11, - 0x83, 0x5d, 0x84, 0xa1, 0x75, 0xbf, 0xa1, 0x22, 0x99, 0xcf, 0x61, 0xf4, 0x0f, 0xbf, 0xc1, 0x0d, - 0xa5, 0x39, 0x62, 0x88, 0xb6, 0xc6, 0xf9, 0x1f, 0xf4, 0xb6, 0xb6, 0xb6, 0xdd, 0xde, 0xcc, 0x71, - 0x5a, 0xd2, 0x99, 0x55, 0x98, 0x32, 0x13, 0xbf, 0x93, 0xbd, 0x2f, 0x6a, 0xd7, 0x53, 0xf9, 0xe3, - 0xf5, 0x67, 0x11, 0x93, 0x88, 0x2d, 0xc1, 0xa4, 0x11, 0x41, 0x95, 0x1e, 0x37, 0x51, 0xbd, 0x69, - 0xc6, 0x5f, 0xd5, 0xd5, 0x9b, 0x06, 0x89, 0x38, 0xcf, 0xe9, 0xfb, 0xb5, 0x27, 0xce, 0x9e, 0x6f, - 0x27, 0x1c, 0x76, 0x15, 0x8a, 0x32, 0xcc, 0x46, 0x75, 0x45, 0x7f, 0xa6, 0x0a, 0x11, 0x96, 0x0a, - 0x53, 0xa3, 0x10, 0xb5, 0xb0, 0x0a, 0x9f, 0x84, 0x12, 0x6d, 0x49, 0x49, 0x2a, 0xf1, 0xe7, 0x60, - 0x68, 0xb9, 0xba, 0x62, 0xeb, 0xdb, 0x48, 0xdd, 0x6b, 0x04, 0x36, 0x42, 0xd1, 0xab, 0x6e, 0x9d, - 0x47, 0x8f, 0xfc, 0x60, 0xcf, 0xe6, 0x61, 0x14, 0x78, 0x32, 0x41, 0x25, 0x2e, 0xc4, 0x4f, 0xb1, - 0x77, 0x60, 0x18, 0x0d, 0x4f, 0x53, 0x27, 0x43, 0xba, 0x8e, 0xa5, 0x49, 0x9a, 0xc0, 0xc3, 0x68, - 0xc5, 0x6a, 0x4b, 0x22, 0xf6, 0x16, 0x0c, 0xad, 0xf0, 0xf6, 0x7e, 0x2a, 0x77, 0x5e, 0x0f, 0x71, - 0xbc, 0x21, 0x34, 0x78, 0x7b, 0xdf, 0x46, 0x12, 0xeb, 0xa7, 0xf2, 0x70, 0x2a, 0xe3, 0xb3, 0xee, - 0x7f, 0xea, 0x29, 0xdd, 0x15, 0x97, 0x8c, 0x5d, 0x51, 0xbd, 0x4f, 0xf7, 0xed, 0xf8, 0xcc, 0x4d, - 0xf2, 0xe7, 0x72, 0x70, 0xc6, 0x9c, 0xa0, 0x64, 0x69, 0x7e, 0xff, 0x2a, 0x7b, 0x1b, 0x46, 0x6e, - 0x72, 0xb7, 0xc1, 0x55, 0x5e, 0xad, 0x53, 0x71, 0x40, 0x3c, 0x19, 0x43, 0x40, 0x16, 0x4a, 0xb6, - 0x89, 0xc7, 0xa9, 0x84, 0xb2, 0x15, 0xfa, 0x38, 0x29, 0x8f, 0x5b, 0x2a, 0x9e, 0x47, 0x56, 0x55, - 0x47, 0x58, 0x79, 0x7c, 0x2b, 0x07, 0xcf, 0x1e, 0x41, 0x23, 0x06, 0x4e, 0x0c, 0xbd, 0x3e, 0x70, - 0x78, 0xa2, 0x22, 0x94, 0xbd, 0x07, 0xd3, 0x9b, 0x24, 0xcf, 0xab, 0xe1, 0xc8, 0x27, 0xeb, 0x45, - 0x89, 0xfa, 0x8e, 0x1a, 0x97, 0x34, 0xb2, 0x11, 0x68, 0xa6, 0x70, 0x64, 0xa0, 0x19, 0x3d, 0x6e, - 0xcb, 0xd0, 0xa0, 0x71, 0x5b, 0x3e, 0x80, 0x39, 0xb3, 0x6d, 0x14, 0x3e, 0x37, 0x89, 0x5a, 0x93, - 0xeb, 0x1f, 0xb5, 0xe6, 0xc8, 0x20, 0x9d, 0xd6, 0x8f, 0xe7, 0xa0, 0x64, 0xf2, 0xfe, 0xb8, 0xe3, - 0xf9, 0xae, 0x31, 0x9e, 0xcf, 0x66, 0x8f, 0x67, 0xff, 0x81, 0xfc, 0x3f, 0x72, 0xe9, 0xc6, 0x0e, - 0x34, 0x82, 0x16, 0x8c, 0xac, 0xf8, 0x2d, 0xd7, 0x6b, 0xeb, 0x99, 0xe9, 0x1b, 0x08, 0xb1, 0xa9, - 0x64, 0xb0, 0x20, 0x3f, 0xe7, 0x61, 0x78, 0xdd, 0x6f, 0x57, 0x56, 0xc8, 0xa4, 0x17, 0xf9, 0xb4, - 0xfd, 0xb6, 0xe3, 0x36, 0x6c, 0x59, 0xc0, 0xd6, 0x00, 0x6a, 0xf5, 0x80, 0xf3, 0x76, 0xcd, 0xfb, - 0x3a, 0x4f, 0x49, 0x1a, 0xa2, 0x87, 0x9a, 0x5d, 0xdc, 0x58, 0xe4, 0xd3, 0x25, 0x22, 0x3a, 0xa1, - 0xf7, 0x75, 0x7d, 0xbf, 0xd5, 0xe8, 0x71, 0x5d, 0x51, 0x1c, 0xb4, 0xd4, 0x38, 0x5c, 0xf9, 0x4e, - 0xac, 0xab, 0xcc, 0xaa, 0xb0, 0x87, 0xaf, 0x64, 0x0e, 0xc7, 0xef, 0xe7, 0xe0, 0xd9, 0x23, 0x68, - 0x9e, 0xc0, 0xa8, 0xfc, 0x65, 0x77, 0x38, 0x07, 0x48, 0x88, 0x30, 0x35, 0xb1, 0xd7, 0x88, 0x64, - 0xae, 0xbc, 0x49, 0x4a, 0x4d, 0x2c, 0x00, 0x46, 0x6a, 0x62, 0x01, 0x10, 0x67, 0xe9, 0x4d, 0xee, - 0xed, 0xec, 0x4a, 0xf3, 0xac, 0x49, 0xb9, 0x37, 0xec, 0x22, 0x44, 0x3f, 0x4b, 0x25, 0x8e, 0xf5, - 0x2f, 0x86, 0xe1, 0xac, 0xcd, 0x77, 0x3c, 0x71, 0x2f, 0xb9, 0x17, 0x7a, 0xed, 0x1d, 0x23, 0xee, - 0x8d, 0x95, 0x5a, 0xb9, 0x94, 0x24, 0x42, 0x40, 0xe2, 0x99, 0xf8, 0x2a, 0x14, 0x85, 0x18, 0xa2, - 0x2d, 0x5e, 0x7c, 0xb4, 0x12, 0xc2, 0x0a, 0x05, 0x56, 0x56, 0xc5, 0xec, 0x35, 0x12, 0x93, 0xb4, - 0x34, 0x3e, 0x42, 0x4c, 0xfa, 0xf6, 0x41, 0x19, 0x6a, 0xfb, 0x61, 0xc4, 0xf1, 0x8a, 0x4c, 0xa2, - 0x52, 0x7c, 0x97, 0x19, 0xea, 0x73, 0x97, 0xb9, 0x03, 0x73, 0x95, 0x86, 0x3c, 0x1d, 0xdd, 0xe6, - 0x46, 0xe0, 0xb5, 0xeb, 0x5e, 0xc7, 0x6d, 0xaa, 0xfb, 0x39, 0xf6, 0xb2, 0x1b, 0x97, 0x3b, 0x9d, - 0x18, 0xc1, 0xce, 0x24, 0x13, 0xcd, 0x58, 0x59, 0xaf, 0x61, 0x78, 0x18, 0x7a, 0x8f, 0xc4, 0x66, - 0x34, 0xda, 0x21, 0xb6, 0x22, 0xb4, 0xe3, 0x62, 0xbc, 0x45, 0xe1, 0x83, 0xfc, 0xe6, 0x5a, 0x2d, - 0x71, 0x69, 0x96, 0x59, 0x06, 0xe4, 0xc3, 0x7e, 0xd4, 0x0c, 0xd1, 0x14, 0xd2, 0xc0, 0x4b, 0xe8, - 0x6a, 0xb5, 0x9b, 0x82, 0xae, 0xd8, 0x43, 0x17, 0x86, 0xbb, 0x3a, 0x9d, 0xc4, 0x63, 0x97, 0xc5, - 0x54, 0x68, 0xf9, 0x11, 0xc7, 0x29, 0x3c, 0x96, 0xdc, 0xb9, 0x02, 0x84, 0xca, 0x3b, 0x97, 0x86, - 0xc2, 0xde, 0x81, 0xd9, 0xd5, 0xe5, 0x45, 0xa5, 0x45, 0x5e, 0xf1, 0xeb, 0x5d, 0x7c, 0x88, 0x07, - 0xac, 0x0f, 0xc7, 0x90, 0xd7, 0x17, 0xc5, 0x6e, 0x92, 0x85, 0xc6, 0x2e, 0xc0, 0x68, 0x75, 0x45, - 0xf6, 0xfd, 0xb8, 0x9e, 0x4a, 0x8b, 0x2c, 0xa3, 0x54, 0x21, 0xbb, 0x9b, 0x5c, 0x0a, 0x26, 0x8e, - 0x95, 0xde, 0xcf, 0x0e, 0x70, 0x21, 0x78, 0x0b, 0x26, 0x97, 0xfc, 0xa8, 0xda, 0x0e, 0x23, 0xb7, - 0x5d, 0xe7, 0xd5, 0x15, 0x3d, 0xae, 0xf5, 0x96, 0x1f, 0x39, 0x1e, 0x95, 0x88, 0x2f, 0x37, 0x31, - 0xd9, 0x67, 0x90, 0xf4, 0x06, 0x6f, 0xf3, 0x20, 0x89, 0x67, 0x3d, 0x2c, 0xfb, 0x56, 0x90, 0xee, - 0xc4, 0x25, 0xb6, 0x89, 0x48, 0x69, 0xbe, 0x64, 0x72, 0xce, 0x65, 0xbf, 0xc1, 0x43, 0xb9, 0x5b, - 0x7c, 0x17, 0xa5, 0xf9, 0xd2, 0xda, 0x76, 0xc4, 0x0e, 0xfa, 0x6f, 0x61, 0x9a, 0xaf, 0x1e, 0x5c, - 0xf6, 0x19, 0x18, 0xc6, 0x9f, 0x24, 0xdd, 0xce, 0x66, 0xb0, 0x4d, 0x24, 0xdb, 0xba, 0xc0, 0xb4, - 0x25, 0x01, 0xab, 0xc2, 0x28, 0x5d, 0xac, 0x4e, 0x92, 0xac, 0x86, 0x6e, 0x68, 0x72, 0x66, 0x10, - 0xbd, 0xd5, 0x80, 0x09, 0xbd, 0x42, 0xb1, 0x22, 0x6e, 0xba, 0xe1, 0x2e, 0x6f, 0x88, 0x5f, 0x94, - 0x67, 0x0e, 0x57, 0xc4, 0x2e, 0x42, 0x1d, 0xf1, 0x1d, 0xb6, 0x86, 0x22, 0xce, 0xd4, 0x6a, 0x78, - 0x2f, 0xa4, 0x4f, 0x21, 0x55, 0x8b, 0x87, 0x6a, 0xbb, 0x86, 0x4d, 0x45, 0xd6, 0xf7, 0xc0, 0xdc, - 0x7a, 0xb7, 0xd9, 0x74, 0xb7, 0x9a, 0x5c, 0xe5, 0x21, 0xc1, 0x0c, 0xde, 0x4b, 0x30, 0x5c, 0xd3, - 0x72, 0x82, 0xc7, 0xb9, 0x20, 0x35, 0x1c, 0x34, 0x42, 0xcd, 0x61, 0xa8, 0x9e, 0x54, 0x36, 0x70, - 0x49, 0x6a, 0xfd, 0x6e, 0x0e, 0xe6, 0xd4, 0xfb, 0x7f, 0xe0, 0xd6, 0xf7, 0xe2, 0xc4, 0xf0, 0x17, - 0x8c, 0xb9, 0x86, 0x13, 0x36, 0x35, 0x8d, 0xe4, 0xac, 0xbb, 0xa5, 0x3e, 0xc2, 0x14, 0x58, 0xb2, - 0x3e, 0xf8, 0xb8, 0x8f, 0x61, 0xef, 0xc0, 0x38, 0x1d, 0x8f, 0x5a, 0x80, 0x49, 0x8c, 0xe2, 0x45, - 0xd7, 0xbd, 0xb4, 0x35, 0x8a, 0x8e, 0x8e, 0xb2, 0x98, 0xd9, 0x94, 0x8f, 0x2b, 0x03, 0x64, 0xcb, - 0x62, 0x66, 0x1d, 0x47, 0x4c, 0xdd, 0xdf, 0x1c, 0x4f, 0xf7, 0x2d, 0xcd, 0xdd, 0x6b, 0x7a, 0x48, - 0xb9, 0x5c, 0x72, 0x33, 0x4e, 0x42, 0xca, 0xe9, 0x37, 0xe3, 0x18, 0x35, 0x1e, 0x93, 0xfc, 0x31, - 0x63, 0xf2, 0x9e, 0x1a, 0x93, 0x42, 0xff, 0x89, 0x31, 0x7b, 0xc4, 0x38, 0xd4, 0x92, 0x15, 0x32, - 0x34, 0x90, 0x5a, 0xe5, 0x19, 0x8c, 0x9d, 0x2f, 0x49, 0xd2, 0xbb, 0x28, 0x71, 0xd2, 0x75, 0x35, - 0xc3, 0x83, 0x33, 0x3d, 0x66, 0x6b, 0xfe, 0x2c, 0x4c, 0x54, 0xa2, 0xc8, 0xad, 0xef, 0xf2, 0xc6, - 0x8a, 0xd8, 0x9e, 0xb4, 0xe8, 0x57, 0x2e, 0xc1, 0xf5, 0x47, 0x33, 0x1d, 0x57, 0x46, 0x73, 0x75, - 0x43, 0x32, 0x66, 0x8d, 0xa3, 0xb9, 0x0a, 0x88, 0x19, 0xcd, 0x55, 0x40, 0xd8, 0x65, 0x18, 0xad, - 0xb6, 0x1f, 0x7a, 0xa2, 0x4f, 0x64, 0x00, 0x2c, 0xd4, 0x4d, 0x79, 0x12, 0xa4, 0x6f, 0xae, 0x84, - 0xc5, 0xde, 0xd2, 0x2e, 0x35, 0x63, 0x89, 0x02, 0x43, 0xaa, 0xbc, 0xe2, 0x08, 0x37, 0xfa, 0x85, - 0x25, 0xbe, 0xe5, 0x5c, 0x83, 0x51, 0xa5, 0xc9, 0x84, 0x44, 0x69, 0x41, 0x94, 0xbd, 0x01, 0x23, - 0x14, 0x32, 0x26, 0xf9, 0xd6, 0xf2, 0xe5, 0x8d, 0x6b, 0x49, 0xbe, 0xb5, 0x7c, 0x79, 0x46, 0x92, - 0x6f, 0x2d, 0x73, 0x5e, 0xac, 0x04, 0x9a, 0x38, 0x56, 0x09, 0x74, 0x1f, 0x26, 0x36, 0xdc, 0x20, - 0xf2, 0x84, 0x8c, 0xd2, 0x8e, 0xc2, 0xf9, 0x49, 0x43, 0x6f, 0xaa, 0x15, 0x2d, 0x3d, 0xaf, 0xf2, - 0x52, 0x77, 0x34, 0x7c, 0x33, 0x81, 0x72, 0x02, 0xcf, 0x36, 0x65, 0x9d, 0xfa, 0x38, 0xa6, 0xac, - 0xd8, 0xa9, 0xa8, 0x2b, 0x9b, 0x4e, 0x34, 0x32, 0x78, 0x69, 0x49, 0x29, 0xcc, 0x62, 0x44, 0xf6, - 0x25, 0x98, 0x10, 0x7f, 0x6f, 0xf8, 0x4d, 0xaf, 0xee, 0xf1, 0x70, 0xbe, 0x84, 0x8d, 0x7b, 0x3e, - 0x73, 0xf5, 0x23, 0xd2, 0x7e, 0x8d, 0x47, 0x72, 0x01, 0x23, 0xe3, 0xb4, 0x12, 0xdc, 0xe0, 0xc6, - 0xde, 0x87, 0x09, 0x31, 0xfb, 0xb6, 0xdc, 0x50, 0x8a, 0xa6, 0x33, 0x89, 0x31, 0x72, 0x83, 0xe0, - 0x3d, 0x01, 0x95, 0x75, 0x02, 0x71, 0xcc, 0x57, 0x3a, 0x72, 0x83, 0x64, 0xda, 0x6c, 0xef, 0xf4, - 0x6c, 0x8e, 0x0a, 0x8d, 0x7d, 0x0e, 0x26, 0x2a, 0x9d, 0x4e, 0xb2, 0xe3, 0xcc, 0x6a, 0x8a, 0xb0, - 0x4e, 0xc7, 0xc9, 0xdc, 0x75, 0x0c, 0x8a, 0xf4, 0xc6, 0x3c, 0x77, 0xa2, 0x8d, 0x99, 0xbd, 0x11, - 0x4b, 0xeb, 0xa7, 0x12, 0xad, 0x2e, 0x5d, 0x1c, 0x0d, 0xd1, 0x5f, 0x0a, 0xee, 0xcb, 0x30, 0x29, - 0xd5, 0x9c, 0x4a, 0x9a, 0x39, 0xdd, 0xb3, 0x7a, 0x32, 0x84, 0x1a, 0x93, 0x86, 0xad, 0xc2, 0x94, - 0xf4, 0xb6, 0x6e, 0x52, 0xa4, 0xeb, 0xf9, 0x33, 0xb8, 0x6a, 0x91, 0x8b, 0x74, 0xd2, 0x6e, 0x62, - 0x02, 0x14, 0xd7, 0xe0, 0x92, 0x22, 0xb2, 0xfe, 0x34, 0x07, 0x67, 0xfa, 0x8c, 0x78, 0x1c, 0x07, - 0x39, 0x77, 0x74, 0x1c, 0x64, 0xb1, 0x73, 0x98, 0x5a, 0x11, 0x6c, 0x3f, 0x49, 0x59, 0xfa, 0x78, - 0x29, 0x79, 0xcb, 0x07, 0x46, 0x39, 0x86, 0xa8, 0xea, 0x5b, 0x3e, 0xaa, 0x66, 0x0b, 0xbd, 0x87, - 0x10, 0xe1, 0xc9, 0x8f, 0x5a, 0xb2, 0x0e, 0x0f, 0xca, 0xcf, 0x53, 0x0a, 0xa3, 0x78, 0x58, 0x3f, - 0xf4, 0x8d, 0x15, 0x9c, 0xc1, 0xda, 0x3a, 0xc8, 0xc1, 0xb8, 0xb6, 0x0e, 0xd9, 0x79, 0xcd, 0x0b, - 0xb8, 0x24, 0x93, 0x60, 0x69, 0x1c, 0xf2, 0xf2, 0x24, 0xc2, 0x45, 0x95, 0x3f, 0x5e, 0x01, 0x7d, - 0x47, 0x88, 0x42, 0x5a, 0xac, 0xe8, 0x96, 0xa1, 0x2d, 0xb6, 0xb1, 0x1c, 0xd3, 0xe9, 0xbb, 0x61, - 0x54, 0xa9, 0x47, 0xde, 0x43, 0x3e, 0xc0, 0xa1, 0x93, 0xa4, 0xd3, 0x77, 0xc3, 0xc8, 0x71, 0x91, - 0xac, 0x27, 0x9d, 0x7e, 0xcc, 0xd0, 0xfa, 0xfe, 0x1c, 0xc0, 0xbd, 0xea, 0x32, 0x06, 0x7b, 0xff, - 0xb8, 0x42, 0x41, 0x76, 0x00, 0x5d, 0xc5, 0xfd, 0x08, 0x71, 0xe0, 0xbf, 0xcb, 0xc1, 0x94, 0x89, - 0xc6, 0xde, 0x83, 0xe9, 0x5a, 0x3d, 0xf0, 0x9b, 0xcd, 0x2d, 0xb7, 0xbe, 0xb7, 0xe6, 0xb5, 0xb9, - 0x0c, 0x5d, 0x3a, 0x2c, 0xcf, 0xa2, 0x30, 0x2e, 0x72, 0x9a, 0xa2, 0xcc, 0x4e, 0x23, 0xb3, 0x1f, - 0xc8, 0xc1, 0x64, 0x6d, 0xd7, 0x7f, 0x14, 0x47, 0x1b, 0xa5, 0x01, 0xf9, 0xb2, 0x58, 0xdb, 0xe1, - 0xae, 0xff, 0x28, 0xc9, 0xa0, 0x69, 0x18, 0x7f, 0xbe, 0x3b, 0xd8, 0xbb, 0x7c, 0xdd, 0xc7, 0x9b, - 0x4c, 0x14, 0x5e, 0x32, 0x2a, 0xb1, 0xcd, 0x3a, 0xad, 0xbf, 0xc8, 0xc1, 0x38, 0xde, 0x79, 0x9a, - 0x4d, 0x94, 0xb9, 0xbe, 0x9b, 0xd2, 0x31, 0xc6, 0xed, 0x3a, 0x62, 0x60, 0xdf, 0x84, 0xe9, 0x14, - 0x1a, 0xb3, 0x60, 0xa4, 0x86, 0x0e, 0xfe, 0xba, 0x82, 0x42, 0xba, 0xfc, 0xdb, 0x54, 0x62, 0xad, - 0x6a, 0x64, 0xf7, 0xaf, 0xe0, 0xb3, 0xee, 0x22, 0x80, 0xa7, 0x40, 0xea, 0x66, 0xc3, 0xd2, 0x5f, - 0x72, 0xff, 0x8a, 0xad, 0x61, 0x59, 0xeb, 0x30, 0x52, 0xf3, 0x83, 0x68, 0x69, 0x5f, 0x5e, 0x26, - 0x56, 0x78, 0x58, 0xd7, 0xdf, 0x6d, 0x3d, 0x7c, 0x2b, 0xa9, 0xdb, 0x54, 0xc4, 0xca, 0x30, 0x7c, - 0xdd, 0xe3, 0xcd, 0x86, 0x6e, 0xa0, 0xbb, 0x2d, 0x00, 0xb6, 0x84, 0x8b, 0x0b, 0xd7, 0xe9, 0x24, - 0x27, 0x4a, 0x62, 0x09, 0xfc, 0x71, 0xd7, 0xcd, 0xb2, 0xd1, 0xbf, 0x2f, 0xc4, 0x79, 0x08, 0x7a, - 0x6b, 0x3a, 0xa2, 0xab, 0xff, 0xc3, 0x1c, 0x2c, 0xf4, 0x27, 0xd1, 0x8d, 0x8b, 0x73, 0x47, 0x18, - 0x17, 0xbf, 0x9c, 0x7e, 0x67, 0x44, 0x34, 0x7a, 0x67, 0x4c, 0x5e, 0x17, 0x57, 0xd0, 0xb6, 0xbb, - 0xce, 0x55, 0x22, 0x94, 0xf3, 0x47, 0x7c, 0x33, 0x22, 0xca, 0x61, 0x8e, 0x90, 0xc6, 0x26, 0x5a, - 0xeb, 0x37, 0x86, 0xe0, 0x6c, 0x5f, 0x0a, 0x76, 0x53, 0x4b, 0xaf, 0x34, 0x15, 0x27, 0x76, 0xe9, - 0x8b, 0x7f, 0x09, 0xff, 0x45, 0xf3, 0xbd, 0xb4, 0xb7, 0xd9, 0xdd, 0x38, 0xad, 0x4e, 0x1e, 0x79, - 0x7d, 0xe2, 0x58, 0x5e, 0x12, 0x1d, 0x99, 0x41, 0x6f, 0x86, 0x1d, 0xf4, 0x4b, 0xe4, 0x91, 0xeb, - 0x35, 0x43, 0x7d, 0xd9, 0x35, 0x24, 0xc8, 0x56, 0x65, 0x89, 0xc5, 0xf7, 0x50, 0xb6, 0xc5, 0xb7, - 0xf5, 0x2f, 0x72, 0x30, 0x16, 0x7f, 0x36, 0x5b, 0x80, 0xd3, 0x9b, 0x76, 0x65, 0x79, 0xd5, 0xd9, - 0xfc, 0x60, 0x63, 0xd5, 0xb9, 0xb7, 0x5e, 0xdb, 0x58, 0x5d, 0xae, 0x5e, 0xaf, 0xae, 0xae, 0x94, - 0x9e, 0x61, 0x33, 0x30, 0x79, 0x6f, 0xfd, 0xf6, 0xfa, 0xdd, 0x07, 0xeb, 0xce, 0xaa, 0x6d, 0xdf, - 0xb5, 0x4b, 0x39, 0x36, 0x09, 0x63, 0xf6, 0x52, 0x65, 0xd9, 0x59, 0xbf, 0xbb, 0xb2, 0x5a, 0xca, - 0xb3, 0x12, 0x4c, 0x2c, 0xdf, 0x5d, 0x5f, 0x5f, 0x5d, 0xde, 0xac, 0xde, 0xaf, 0x6e, 0x7e, 0x50, - 0x2a, 0x30, 0x06, 0x53, 0x88, 0xb0, 0x61, 0x57, 0xd7, 0x97, 0xab, 0x1b, 0x95, 0xb5, 0xd2, 0x90, - 0x80, 0x09, 0x7c, 0x0d, 0x36, 0x1c, 0x33, 0xba, 0x7d, 0x6f, 0x69, 0xb5, 0x34, 0x22, 0x50, 0xc4, - 0x5f, 0x1a, 0xca, 0xa8, 0xa8, 0x1e, 0x51, 0x56, 0x2a, 0x9b, 0x95, 0xa5, 0x4a, 0x6d, 0xb5, 0x54, - 0x64, 0x67, 0x60, 0xd6, 0x00, 0x39, 0x6b, 0x77, 0x6f, 0x54, 0xd7, 0x4b, 0x63, 0x6c, 0x0e, 0x4a, - 0x31, 0x6c, 0x65, 0xc9, 0xb9, 0x57, 0x5b, 0xb5, 0x4b, 0x90, 0x86, 0xae, 0x57, 0xee, 0xac, 0x96, - 0xc6, 0xad, 0x77, 0xa5, 0x1f, 0xa0, 0xec, 0x6a, 0x76, 0x1a, 0x58, 0x6d, 0xb3, 0xb2, 0x79, 0xaf, - 0x96, 0x6a, 0xfc, 0x38, 0x8c, 0xd6, 0xee, 0x2d, 0x2f, 0xaf, 0xd6, 0x6a, 0xa5, 0x1c, 0x03, 0x18, - 0xb9, 0x5e, 0xa9, 0xae, 0xad, 0xae, 0x94, 0xf2, 0xd6, 0x4f, 0xe6, 0x60, 0x46, 0x49, 0x80, 0xea, - 0xd1, 0xe8, 0x63, 0xae, 0xc5, 0xf7, 0x8c, 0x8b, 0xad, 0x72, 0xd2, 0x4a, 0x55, 0x72, 0xc4, 0x32, - 0xfc, 0xb9, 0x1c, 0x9c, 0xca, 0xc4, 0x66, 0x1f, 0x40, 0x49, 0x7d, 0xc1, 0x1d, 0x37, 0xaa, 0xef, - 0x26, 0xfb, 0xd8, 0xf3, 0xa9, 0x5a, 0x52, 0x68, 0x52, 0xad, 0x99, 0x24, 0x7c, 0xee, 0x61, 0x33, - 0x78, 0x3a, 0x02, 0xeb, 0x9b, 0x39, 0x38, 0xd3, 0xa7, 0x1a, 0xb6, 0x0c, 0x23, 0x71, 0x62, 0x9a, - 0x23, 0x2c, 0xd8, 0xe6, 0xbe, 0x75, 0x50, 0x26, 0x44, 0xcc, 0x90, 0x8b, 0x7f, 0xd9, 0x23, 0x71, - 0xa6, 0x19, 0x4c, 0xf7, 0x22, 0xbb, 0xef, 0x6c, 0xaa, 0xe7, 0xa9, 0xa6, 0xca, 0x83, 0xda, 0xd2, - 0x38, 0xf5, 0x5d, 0xc1, 0x7d, 0x14, 0x62, 0xbe, 0x17, 0xeb, 0xa7, 0x73, 0x42, 0xb8, 0x4b, 0x23, - 0x0a, 0x99, 0xb7, 0x12, 0x86, 0xdd, 0x16, 0xb7, 0xfd, 0x26, 0xaf, 0xd8, 0xeb, 0x74, 0x6c, 0xa0, - 0xb4, 0xea, 0x62, 0x01, 0x5e, 0x2b, 0x1c, 0x37, 0x68, 0x1b, 0xaf, 0xd5, 0x3a, 0x0d, 0x7b, 0x0b, - 0x60, 0xf5, 0x71, 0xc4, 0x83, 0xb6, 0xdb, 0x8c, 0x63, 0xb4, 0xc8, 0xc8, 0x52, 0x04, 0x35, 0xe5, - 0x6d, 0x0d, 0xd9, 0xfa, 0xdb, 0x39, 0x98, 0xa0, 0x4b, 0x53, 0xa5, 0xc9, 0x83, 0xe8, 0xe3, 0x4d, - 0xaf, 0xb7, 0x8c, 0xe9, 0x15, 0x3b, 0x6c, 0x68, 0xfc, 0x45, 0x71, 0xe6, 0xcc, 0xfa, 0xa7, 0x39, - 0x28, 0xa5, 0x11, 0xd9, 0x7b, 0x50, 0xac, 0xf1, 0x87, 0x3c, 0xf0, 0xa2, 0x7d, 0xda, 0x28, 0x55, - 0x0a, 0x3f, 0x89, 0x43, 0x65, 0x72, 0x3e, 0x84, 0xf4, 0xcb, 0x8e, 0x69, 0x06, 0xdd, 0xef, 0x35, - 0xb5, 0x47, 0xe1, 0x49, 0xa9, 0x3d, 0xac, 0xff, 0x39, 0x0f, 0x67, 0x6e, 0xf0, 0x48, 0x6f, 0x53, - 0x6c, 0x5e, 0xf0, 0xc9, 0xc1, 0xda, 0xa5, 0xb5, 0x64, 0x1e, 0x46, 0xb1, 0x48, 0x8d, 0xaf, 0xad, - 0x7e, 0xb2, 0xa5, 0x78, 0x5e, 0x17, 0x8c, 0x1c, 0x61, 0x7d, 0xea, 0xbe, 0xa4, 0x65, 0x0d, 0x8a, - 0xa7, 0xf5, 0x05, 0x98, 0xc2, 0xb0, 0xf8, 0x5d, 0xb1, 0x1c, 0x78, 0x83, 0xd4, 0x3f, 0x45, 0x3b, - 0x05, 0x65, 0xaf, 0x41, 0x49, 0x40, 0x2a, 0xf5, 0xbd, 0xb6, 0xff, 0xa8, 0xc9, 0x1b, 0x3b, 0xbc, - 0x81, 0xc7, 0x7a, 0xd1, 0xee, 0x81, 0x2b, 0x9e, 0xf7, 0xda, 0xf2, 0xea, 0xc6, 0x1b, 0xa8, 0xa3, - 0x21, 0x9e, 0x09, 0x74, 0xe1, 0x2d, 0x18, 0xff, 0x88, 0x19, 0xc0, 0xac, 0xff, 0x29, 0x07, 0x73, - 0xd8, 0x38, 0xad, 0x62, 0x95, 0x9d, 0x55, 0xf5, 0x96, 0x96, 0x14, 0xc7, 0x15, 0x20, 0x73, 0x29, - 0xc4, 0xbd, 0x98, 0xe8, 0x84, 0xf2, 0x03, 0xe8, 0x84, 0x6a, 0x27, 0xc9, 0x44, 0x3f, 0xa0, 0x4a, - 0xeb, 0xd6, 0x50, 0xb1, 0x50, 0x1a, 0x4a, 0x86, 0xdc, 0xfa, 0x81, 0x3c, 0x8c, 0xda, 0x1c, 0x53, - 0x74, 0xb3, 0x0b, 0x30, 0xba, 0xee, 0x47, 0x3c, 0xbc, 0x63, 0xe4, 0x63, 0x6f, 0x0b, 0x90, 0xd3, - 0x6a, 0xd8, 0xaa, 0x50, 0x4c, 0xf8, 0x8d, 0xc0, 0x6f, 0x74, 0xeb, 0x91, 0x3e, 0xe1, 0x3b, 0x12, - 0x64, 0xab, 0x32, 0xf6, 0x3a, 0x8c, 0x11, 0xe7, 0xf8, 0x51, 0x17, 0x8d, 0x91, 0x03, 0x1e, 0xa7, - 0x78, 0x4f, 0x10, 0x50, 0xa6, 0x95, 0x02, 0xc6, 0x90, 0x26, 0xd3, 0xf6, 0xc8, 0x0c, 0x4a, 0x54, - 0x1f, 0x3e, 0x42, 0x54, 0xff, 0x24, 0x8c, 0x54, 0xc2, 0x90, 0x47, 0x2a, 0x8a, 0xc1, 0x44, 0x1c, - 0xb6, 0x2d, 0xe4, 0x91, 0x64, 0xec, 0x62, 0xb9, 0x4d, 0x78, 0xd6, 0x3f, 0xcb, 0xc3, 0x30, 0xfe, - 0x89, 0x4f, 0xa6, 0x41, 0x7d, 0xd7, 0x78, 0x32, 0x0d, 0xea, 0xbb, 0x36, 0x42, 0xd9, 0x15, 0xd4, - 0x54, 0xa8, 0xfc, 0x4d, 0xd4, 0x7a, 0x54, 0xc1, 0x37, 0x12, 0xb0, 0xad, 0xe3, 0xc4, 0x2f, 0xfc, - 0x85, 0xcc, 0xd8, 0x25, 0xa7, 0x21, 0x7f, 0xb7, 0x46, 0x2d, 0xc6, 0x88, 0x58, 0x7e, 0x68, 0xe7, - 0xef, 0xd6, 0xb0, 0x37, 0x6e, 0x56, 0x16, 0xdf, 0xbc, 0x46, 0x0d, 0x95, 0xbd, 0xb1, 0xeb, 0x2e, - 0xbe, 0x79, 0xcd, 0xa6, 0x12, 0xd1, 0xbf, 0xf8, 0xcd, 0xf8, 0xf0, 0x2a, 0x7d, 0xee, 0xb1, 0x7f, - 0xb1, 0x6d, 0xf8, 0xc8, 0x6a, 0x27, 0x08, 0x6c, 0x11, 0xc6, 0x29, 0xd6, 0x03, 0xe2, 0x6b, 0xb1, - 0x18, 0x28, 0x16, 0x84, 0xa4, 0xd0, 0x91, 0xe4, 0x13, 0x1c, 0x0d, 0x90, 0xca, 0x32, 0x4b, 0x4f, - 0x70, 0x6a, 0x08, 0x43, 0x5b, 0x43, 0x11, 0x9f, 0x24, 0xdf, 0xf0, 0x12, 0x5f, 0xfa, 0x29, 0x2d, - 0x68, 0x00, 0xa6, 0x39, 0x88, 0x11, 0xac, 0x5f, 0xca, 0x43, 0x71, 0xa3, 0xd9, 0xdd, 0xf1, 0xda, - 0xf7, 0xaf, 0x30, 0x06, 0x78, 0x8d, 0x53, 0x79, 0x30, 0xc4, 0xdf, 0xec, 0x2c, 0x14, 0xd5, 0xcd, - 0x4d, 0x6d, 0x48, 0x21, 0xdd, 0xda, 0xe6, 0x41, 0x8d, 0x3b, 0x85, 0x3e, 0x53, 0x3f, 0xd9, 0x15, - 0x88, 0xef, 0x5f, 0xfd, 0x2e, 0x6a, 0x43, 0x62, 0xb1, 0xd8, 0x31, 0x1a, 0x7b, 0x03, 0xf0, 0x90, - 0xa0, 0xcb, 0x83, 0x52, 0x68, 0xcb, 0x4f, 0x23, 0x39, 0x45, 0x92, 0x20, 0x1a, 0xbb, 0x0a, 0x34, - 0x31, 0x29, 0x9b, 0xf9, 0x29, 0x93, 0x40, 0xe6, 0x87, 0x54, 0x24, 0x84, 0xca, 0xde, 0x81, 0xf1, - 0x7a, 0xc0, 0xf1, 0xd5, 0xd1, 0x6d, 0x26, 0x49, 0xca, 0x75, 0xca, 0xe5, 0xa4, 0xfc, 0xfe, 0x15, - 0x5b, 0x47, 0xb7, 0xfe, 0xcf, 0x51, 0x98, 0xd0, 0xbf, 0x87, 0xd9, 0x30, 0x1b, 0x36, 0xc5, 0xdd, - 0x9d, 0x8c, 0xcd, 0x3a, 0x58, 0x48, 0xc7, 0xe9, 0x79, 0xf3, 0x83, 0x04, 0x9e, 0xb4, 0x3c, 0x53, - 0x41, 0x2a, 0x6e, 0x3e, 0x63, 0xcf, 0x84, 0x09, 0x58, 0xe2, 0xb1, 0x0a, 0x14, 0xfd, 0x4e, 0xb8, - 0xc3, 0xdb, 0x9e, 0x7a, 0x6f, 0x79, 0xd1, 0x60, 0x74, 0x97, 0x0a, 0x7b, 0x78, 0xc5, 0x64, 0xec, - 0x4d, 0x18, 0xf1, 0x3b, 0xbc, 0xed, 0x7a, 0x74, 0xc6, 0x3d, 0x9b, 0x62, 0xc0, 0xdb, 0x95, 0xaa, - 0x46, 0x48, 0xc8, 0xec, 0x32, 0x0c, 0xf9, 0x7b, 0xf1, 0x78, 0x9d, 0x35, 0x89, 0xf6, 0x22, 0x57, - 0x23, 0x41, 0x44, 0x41, 0xf0, 0xa1, 0xdb, 0xda, 0xa6, 0x11, 0x33, 0x09, 0x6e, 0xb9, 0xad, 0x6d, - 0x9d, 0x40, 0x20, 0xb2, 0xf7, 0x01, 0x3a, 0xee, 0x0e, 0x0f, 0x9c, 0x46, 0x37, 0xda, 0xa7, 0x71, - 0x7b, 0xde, 0x20, 0xdb, 0x10, 0xc5, 0x2b, 0xdd, 0x68, 0x5f, 0xa3, 0x1d, 0xeb, 0x28, 0x20, 0xab, - 0x00, 0xb4, 0xdc, 0x28, 0xe2, 0x41, 0xcb, 0x27, 0x6b, 0xbf, 0x24, 0x08, 0xa1, 0x64, 0x70, 0x27, - 0x2e, 0xd6, 0x38, 0x68, 0x44, 0xf8, 0xd1, 0x5e, 0xe0, 0x52, 0x4e, 0xf9, 0xd4, 0x47, 0x7b, 0x81, - 0xd1, 0x4a, 0x81, 0xc8, 0x3e, 0x03, 0xa3, 0x0d, 0x2f, 0xac, 0xfb, 0x41, 0x83, 0xa2, 0x97, 0x3c, - 0x67, 0xd0, 0xac, 0xc8, 0x32, 0x8d, 0x4c, 0xa1, 0x8b, 0xaf, 0xa5, 0x20, 0xa4, 0xeb, 0xfe, 0x23, - 0x54, 0xf3, 0xa7, 0xbf, 0xb6, 0x16, 0x17, 0xeb, 0x5f, 0x9b, 0x10, 0x89, 0xa1, 0xdc, 0xf1, 0xa2, - 0xa6, 0xbb, 0x45, 0xef, 0xdc, 0xe6, 0x50, 0xde, 0xc0, 0x22, 0x7d, 0x28, 0x25, 0x32, 0x7b, 0x0b, - 0x8a, 0xbc, 0x1d, 0x05, 0xae, 0xe3, 0x35, 0xc8, 0x4b, 0xd2, 0xfc, 0x68, 0x71, 0x00, 0xbb, 0xd5, - 0x15, 0xfd, 0xa3, 0x11, 0xbf, 0xda, 0x10, 0xfd, 0x13, 0xd6, 0xbd, 0x16, 0x39, 0x37, 0x9a, 0xfd, - 0x53, 0x5b, 0xae, 0xde, 0xd1, 0xfb, 0x47, 0x20, 0xb2, 0xf7, 0x60, 0x54, 0xac, 0xdf, 0x86, 0xbf, - 0x43, 0x01, 0x21, 0x2c, 0xb3, 0x7f, 0x64, 0x59, 0xcf, 0x74, 0x55, 0x44, 0x62, 0x21, 0xbb, 0x8f, - 0x42, 0xc7, 0xab, 0x53, 0x90, 0x07, 0x73, 0x39, 0x56, 0x1e, 0xd4, 0xaa, 0xcb, 0x1a, 0xd9, 0xb0, - 0xfb, 0x28, 0xac, 0xd6, 0xd9, 0x22, 0x0c, 0x63, 0x8a, 0x08, 0x0a, 0x44, 0x69, 0xd2, 0x60, 0x72, - 0x08, 0x9d, 0x06, 0x51, 0xd9, 0xf3, 0x00, 0xc9, 0x5b, 0xbc, 0x7c, 0x39, 0xb1, 0x35, 0xc8, 0x67, - 0x87, 0xfe, 0xb7, 0x5f, 0x28, 0xe7, 0x96, 0x00, 0x8a, 0x2a, 0xce, 0x8c, 0xb5, 0x06, 0x67, 0xfb, - 0xae, 0x5e, 0xf6, 0x2a, 0x94, 0xb6, 0x5d, 0xd2, 0xdd, 0xd5, 0x77, 0xdd, 0x76, 0x9b, 0x37, 0x69, - 0xdf, 0x9c, 0x56, 0xf0, 0x65, 0x09, 0x96, 0x9c, 0xad, 0xf7, 0x61, 0x2e, 0x6b, 0xd8, 0xd8, 0x0b, - 0x30, 0xa1, 0x87, 0xd4, 0x21, 0x26, 0xe3, 0x6e, 0xc7, 0x53, 0x41, 0x75, 0x88, 0xc1, 0xaf, 0xe7, - 0xe0, 0xb9, 0xa3, 0x36, 0x01, 0xb6, 0x00, 0xc5, 0x4e, 0xe0, 0xf9, 0x28, 0x6c, 0x52, 0xce, 0x02, - 0xf5, 0x1b, 0xd3, 0x11, 0xa0, 0x54, 0x14, 0xb9, 0x3b, 0xe4, 0xa6, 0x61, 0x8f, 0x21, 0x64, 0xd3, - 0xdd, 0x09, 0xd9, 0x27, 0x60, 0xa6, 0xc1, 0xb7, 0xdd, 0x6e, 0x33, 0x72, 0xc2, 0xfa, 0x2e, 0x6f, - 0xa0, 0x67, 0x14, 0x9a, 0xdf, 0xd9, 0x25, 0x2a, 0xa8, 0x29, 0x78, 0xcf, 0x17, 0x0f, 0xf7, 0xf9, - 0xe2, 0x5b, 0x43, 0xc5, 0x5c, 0x29, 0x6f, 0xa3, 0xbd, 0x93, 0xf5, 0xbd, 0x79, 0x98, 0xef, 0x37, - 0xeb, 0xd9, 0xbb, 0x59, 0x7d, 0x20, 0x9f, 0x1f, 0x74, 0xb8, 0xfe, 0xfc, 0xa0, 0xd5, 0xc6, 0x16, - 0x21, 0xf6, 0x6b, 0x3a, 0x2e, 0x46, 0x81, 0x82, 0x09, 0x9a, 0x8e, 0x1b, 0x86, 0x8f, 0xc4, 0xc2, - 0x2e, 0x68, 0x61, 0x69, 0x09, 0xa6, 0xd3, 0x28, 0x18, 0xfb, 0x34, 0x40, 0xbd, 0xe9, 0x87, 0x1c, - 0x5f, 0xf9, 0x49, 0x62, 0x90, 0xc6, 0xdd, 0x31, 0x54, 0x7f, 0xd6, 0x45, 0xe8, 0xb2, 0xdf, 0xe0, - 0x34, 0x80, 0x2e, 0x9c, 0xe9, 0xb3, 0xcd, 0x89, 0xe1, 0x49, 0x72, 0xbc, 0xab, 0x8c, 0x51, 0xdd, - 0x38, 0xd3, 0x7b, 0xba, 0xc7, 0xf3, 0xfd, 0xe6, 0xc8, 0x3e, 0xb0, 0xde, 0xbd, 0x4c, 0x70, 0x27, - 0x13, 0xe5, 0x6e, 0x10, 0x73, 0x97, 0x90, 0x7b, 0x41, 0x93, 0x95, 0x61, 0x5c, 0x65, 0x84, 0x14, - 0x12, 0xb9, 0x64, 0x0e, 0x04, 0xba, 0xcd, 0x71, 0xf2, 0x60, 0xdc, 0x51, 0xf4, 0x5e, 0xa3, 0xb3, - 0x7e, 0x0c, 0x21, 0x9b, 0xfb, 0x1d, 0xd5, 0xba, 0xe7, 0xd4, 0xfc, 0x36, 0x4f, 0x18, 0x2a, 0xfd, - 0x99, 0x9c, 0x1a, 0xfe, 0xde, 0x2d, 0xfa, 0xb8, 0xef, 0x63, 0x80, 0xbe, 0x46, 0xf4, 0x61, 0xf8, - 0xb7, 0x90, 0x3d, 0xd4, 0xaa, 0x23, 0xd9, 0x83, 0x7e, 0xb2, 0x0b, 0x30, 0x1d, 0x48, 0x6b, 0xd4, - 0xc8, 0xa7, 0xfe, 0x94, 0xd9, 0x37, 0x26, 0x25, 0x78, 0xd3, 0xc7, 0x3e, 0xa5, 0xef, 0xba, 0x15, - 0x77, 0x98, 0x76, 0x62, 0xb1, 0x4b, 0x30, 0x26, 0x4e, 0x2c, 0x8c, 0x57, 0x93, 0x72, 0x72, 0x40, - 0x3c, 0x3c, 0xff, 0xed, 0xe2, 0x87, 0xf4, 0x37, 0xf1, 0xfa, 0x66, 0x5e, 0x31, 0xd3, 0xcf, 0x4b, - 0x76, 0x06, 0x46, 0xfd, 0x60, 0x47, 0x6b, 0xda, 0x88, 0x1f, 0xec, 0x88, 0x76, 0x5d, 0x84, 0x92, - 0xf4, 0xb9, 0x91, 0xc1, 0x0c, 0xc2, 0xfd, 0xb6, 0xbc, 0x50, 0x17, 0xed, 0x29, 0x09, 0xc7, 0xb4, - 0xf7, 0xfb, 0xed, 0xba, 0xc0, 0x0c, 0x43, 0xdf, 0xd1, 0xc3, 0x54, 0x51, 0xb3, 0xa7, 0xc2, 0xd0, - 0x4f, 0xe2, 0x55, 0x35, 0xd8, 0x12, 0x4c, 0x0a, 0x3e, 0x71, 0xb0, 0x2c, 0x3a, 0xce, 0xcf, 0xf5, - 0x1e, 0xe7, 0xfb, 0xed, 0xba, 0xfa, 0x44, 0x7b, 0x22, 0xd4, 0x7e, 0xb1, 0xdb, 0x50, 0xd2, 0xe4, - 0x1e, 0xf4, 0xaa, 0x4c, 0x59, 0x46, 0x27, 0x6c, 0x34, 0x79, 0xa9, 0xda, 0xde, 0xf6, 0xed, 0xe9, - 0xba, 0x09, 0xa0, 0xae, 0xf9, 0xb7, 0x73, 0x6a, 0x2f, 0xcd, 0x20, 0x62, 0x16, 0x4c, 0xee, 0xba, - 0xa1, 0x13, 0x86, 0x2d, 0x69, 0xe9, 0x45, 0xe1, 0x79, 0xc7, 0x77, 0xdd, 0xb0, 0x16, 0xb6, 0x54, - 0xfa, 0x8f, 0x53, 0x02, 0xc7, 0x77, 0xbb, 0xd1, 0xae, 0xa3, 0x4b, 0x71, 0xb2, 0xc7, 0x66, 0x77, - 0xdd, 0xf0, 0xae, 0x28, 0xd3, 0x78, 0xb3, 0x97, 0x60, 0x0a, 0xf9, 0xd6, 0x3d, 0xc5, 0x18, 0x03, - 0x52, 0xd8, 0x13, 0x82, 0x71, 0xdd, 0x93, 0x9c, 0xe9, 0x0b, 0xff, 0xf7, 0x3c, 0x9c, 0xce, 0xee, - 0x1d, 0x9c, 0x9e, 0xa2, 0x4f, 0xd1, 0xd3, 0x8e, 0xbe, 0x6d, 0x4c, 0x40, 0x64, 0x30, 0x91, 0xac, - 0xc1, 0xc9, 0x67, 0x0e, 0xce, 0x6b, 0x30, 0x83, 0x8c, 0x48, 0x5e, 0x6c, 0x7a, 0x61, 0x44, 0x31, - 0x32, 0xec, 0x69, 0x51, 0x20, 0xf7, 0xf3, 0x35, 0x01, 0x66, 0x2f, 0xc3, 0x94, 0xda, 0x91, 0xfd, - 0x47, 0x6d, 0x51, 0xb1, 0xdc, 0x8e, 0x27, 0x09, 0x7a, 0x17, 0x81, 0xec, 0x14, 0x8c, 0xb8, 0x9d, - 0x8e, 0xa8, 0x52, 0xee, 0xc2, 0xc3, 0x6e, 0xa7, 0x23, 0x53, 0xd4, 0xa0, 0x5f, 0xa1, 0xb3, 0x8d, - 0xb6, 0x3e, 0x64, 0x58, 0x68, 0x4f, 0x20, 0x50, 0xda, 0xff, 0x84, 0x62, 0xdd, 0x0b, 0x5a, 0x85, - 0x32, 0x8a, 0x28, 0xe0, 0x76, 0x62, 0x84, 0xb3, 0x50, 0x54, 0xaf, 0xce, 0xd2, 0x3d, 0xc2, 0x1e, - 0x75, 0xe9, 0xc5, 0xf9, 0x4d, 0x38, 0xd3, 0xf0, 0x42, 0x9c, 0xbc, 0xb2, 0x49, 0x9d, 0x0e, 0x79, - 0x32, 0xca, 0x50, 0xb7, 0xf6, 0x1c, 0x15, 0x8b, 0x9e, 0xac, 0x74, 0x3a, 0xd2, 0x9f, 0x91, 0xfa, - 0xfa, 0x33, 0x30, 0x4d, 0x72, 0x13, 0x1d, 0x91, 0xf8, 0x2d, 0xb4, 0x80, 0xc5, 0x85, 0x86, 0x92, - 0x02, 0x01, 0x81, 0xaa, 0x0d, 0x45, 0xf9, 0x47, 0x39, 0x38, 0x95, 0x29, 0x78, 0xb1, 0xaf, 0x82, - 0x74, 0xdc, 0x8a, 0x7c, 0x27, 0xe0, 0x75, 0xaf, 0xe3, 0x61, 0x68, 0x0b, 0xa9, 0x98, 0x5c, 0x3c, - 0x4a, 0x64, 0x43, 0x27, 0xb0, 0x4d, 0xdf, 0x8e, 0x89, 0xa4, 0xc6, 0xa4, 0x14, 0xa4, 0xc0, 0x0b, - 0x5f, 0x84, 0x53, 0x99, 0xa8, 0x19, 0x9a, 0x8c, 0xd7, 0xcd, 0x94, 0xcc, 0xea, 0xa9, 0x29, 0xd5, - 0x68, 0x4d, 0xc3, 0x41, 0xcd, 0xfb, 0xad, 0xb8, 0x79, 0x29, 0x11, 0x8d, 0xad, 0xa6, 0xd7, 0x75, - 0xd6, 0x2d, 0x43, 0x11, 0xf5, 0x5f, 0xda, 0x5f, 0x84, 0x53, 0x34, 0xf9, 0x76, 0x02, 0xb7, 0xb3, - 0x9b, 0xb0, 0x93, 0x1f, 0xfa, 0x4a, 0x16, 0x3b, 0x39, 0x2b, 0x6f, 0x08, 0xfc, 0x98, 0xeb, 0xac, - 0xdb, 0x0b, 0xa4, 0x36, 0xfc, 0x71, 0xbc, 0xd4, 0x33, 0x3e, 0x27, 0x63, 0x5a, 0xe7, 0xfe, 0x7f, - 0xf6, 0xae, 0x26, 0xc6, 0x91, 0xe3, 0x3a, 0x4f, 0x93, 0x9c, 0x19, 0xce, 0xe3, 0xfc, 0xf4, 0xd4, - 0xae, 0x76, 0x47, 0x33, 0xfb, 0xa3, 0xed, 0xfd, 0xf1, 0x2e, 0xd7, 0x92, 0xbd, 0xab, 0xd8, 0xf2, - 0xca, 0x91, 0xe5, 0x1e, 0xb2, 0x39, 0xd3, 0xbb, 0xfc, 0x53, 0x37, 0x39, 0xe3, 0x95, 0x6c, 0x77, - 0x5a, 0xc3, 0x9e, 0x19, 0xc6, 0x1c, 0x92, 0x66, 0x93, 0x5a, 0xaf, 0x10, 0x20, 0x31, 0x02, 0xd8, - 0x40, 0xfe, 0x9c, 0x38, 0x01, 0x62, 0x04, 0x01, 0x72, 0x88, 0x10, 0xe4, 0x90, 0x7b, 0x80, 0x24, - 0x17, 0xdf, 0x04, 0x18, 0x06, 0x0c, 0x24, 0xa7, 0x04, 0x10, 0x12, 0x01, 0xc9, 0x21, 0xc9, 0x2d, - 0x88, 0x0f, 0x3e, 0x05, 0xf5, 0xaa, 0xaa, 0xbb, 0xfa, 0x87, 0xdc, 0x59, 0xad, 0x94, 0xc4, 0x80, - 0x4f, 0x64, 0x57, 0xbd, 0xaa, 0xae, 0xae, 0xdf, 0xf7, 0x5e, 0xbd, 0xf7, 0xbd, 0xb4, 0x69, 0x7d, - 0xfa, 0x35, 0x55, 0x07, 0x22, 0x6f, 0x56, 0x4c, 0x77, 0xc9, 0xcd, 0xa2, 0x04, 0xb7, 0xcd, 0x1b, - 0x22, 0x6d, 0x0d, 0x36, 0x0b, 0x89, 0xb9, 0x7e, 0x10, 0x4f, 0x22, 0x5b, 0xb0, 0x14, 0x44, 0x9d, - 0xe6, 0x07, 0x47, 0x9e, 0x25, 0x98, 0x1d, 0xfe, 0x85, 0xdf, 0x56, 0xe0, 0x85, 0x27, 0xf5, 0x10, - 0xd9, 0x87, 0x73, 0x68, 0x7a, 0xe1, 0x0f, 0x82, 0x4e, 0x76, 0x0e, 0xdc, 0x83, 0x63, 0x8f, 0xcf, - 0x49, 0x2d, 0xb5, 0xab, 0x87, 0x43, 0xdb, 0x6e, 0x48, 0xbd, 0x3c, 0x1c, 0xda, 0xfe, 0x40, 0x3c, - 0x97, 0x68, 0x71, 0xde, 0x86, 0x0e, 0x6c, 0xcd, 0x28, 0x29, 0x6d, 0x0b, 0x8a, 0xbc, 0x2d, 0xdc, - 0x04, 0xf5, 0xd0, 0xeb, 0x50, 0x8e, 0xd7, 0xeb, 0x60, 0xd3, 0xde, 0xb9, 0xcb, 0xa2, 0xa8, 0x5b, - 0xab, 0x41, 0xba, 0xed, 0x0f, 0xf6, 0xee, 0xf2, 0xb7, 0x9c, 0x88, 0x03, 0x4d, 0x66, 0xfd, 0xc9, - 0x4b, 0x70, 0x26, 0x06, 0x0a, 0x12, 0x7a, 0x99, 0x5b, 0xeb, 0x34, 0x2b, 0x0a, 0x21, 0x75, 0x05, - 0x96, 0xc5, 0x98, 0x8f, 0x02, 0x5f, 0x35, 0xab, 0xc0, 0xd3, 0xe8, 0x9a, 0xe2, 0xaf, 0x9b, 0x88, - 0x8f, 0x4a, 0x95, 0x1a, 0x4e, 0xc1, 0x29, 0x93, 0x17, 0x81, 0x04, 0x5c, 0x79, 0xb0, 0x0d, 0xf0, - 0x17, 0xae, 0x8b, 0x9c, 0x60, 0xfd, 0xf2, 0xd7, 0xfe, 0x5d, 0x06, 0xce, 0xa4, 0x88, 0x1b, 0x94, - 0xc5, 0xef, 0xf6, 0xc7, 0xde, 0x11, 0x13, 0x10, 0xe4, 0x8f, 0x5c, 0x93, 0xd2, 0xb9, 0x0e, 0x69, - 0x81, 0x45, 0x09, 0xe7, 0xef, 0xe2, 0x4f, 0x74, 0x6b, 0x70, 0x47, 0x42, 0x3d, 0x42, 0xff, 0x12, - 0x13, 0xd6, 0x31, 0xf4, 0x81, 0xdf, 0x1d, 0x60, 0x04, 0x05, 0x64, 0x31, 0x72, 0x11, 0x21, 0x0d, - 0x5b, 0xd1, 0x94, 0x88, 0x28, 0x8f, 0x61, 0xa9, 0xc3, 0x58, 0x0a, 0xf9, 0x22, 0x6c, 0x4a, 0x27, - 0x89, 0x13, 0x5b, 0x57, 0x68, 0x8d, 0x6e, 0x9d, 0x77, 0x83, 0x33, 0xa5, 0x1c, 0x59, 0x61, 0xdb, - 0x70, 0x09, 0x07, 0xb1, 0xdb, 0x19, 0x3a, 0x89, 0x58, 0x19, 0xf8, 0xa9, 0x0c, 0x5c, 0x7e, 0x93, - 0x52, 0x99, 0x9d, 0x61, 0x2c, 0x6c, 0x06, 0xfd, 0x6a, 0xde, 0x7d, 0x6f, 0xc1, 0x73, 0xa9, 0x2d, - 0xa6, 0xc7, 0x07, 0x1a, 0x3b, 0x85, 0x9c, 0xcf, 0x22, 0x7d, 0xa6, 0xac, 0xcf, 0x15, 0x58, 0x7e, - 0xdb, 0x73, 0x47, 0xde, 0x88, 0x9f, 0xcb, 0x7c, 0x4a, 0xb0, 0x34, 0xf9, 0x58, 0xee, 0x44, 0x87, - 0x86, 0xeb, 0x75, 0x48, 0x0d, 0xce, 0xb0, 0xf3, 0xad, 0x7b, 0x82, 0xac, 0x1e, 0xd7, 0x05, 0x29, - 0x11, 0x66, 0x07, 0x8b, 0xe0, 0xc1, 0x63, 0x22, 0x15, 0x2b, 0x6d, 0xad, 0x1f, 0xc5, 0x93, 0xe8, - 0x8a, 0x3e, 0x97, 0x4e, 0x4d, 0xb6, 0xa1, 0xc0, 0x2a, 0x67, 0x4c, 0x3f, 0x53, 0xe2, 0x5f, 0x99, - 0xf9, 0x86, 0x12, 0xda, 0x00, 0xfb, 0xc1, 0x7f, 0x7a, 0x1a, 0xe3, 0x7d, 0xa9, 0x73, 0x22, 0xdf, - 0x51, 0x58, 0xcb, 0x98, 0xc8, 0xef, 0x26, 0xb4, 0xbf, 0x57, 0xc4, 0xa7, 0x46, 0x04, 0x58, 0x3a, - 0xb5, 0x7c, 0xaf, 0x2f, 0xee, 0x69, 0x96, 0x2c, 0xfe, 0xf4, 0x94, 0x53, 0x9d, 0xbc, 0x02, 0xcb, - 0xb4, 0xda, 0xa3, 0x49, 0x9f, 0x4d, 0xb9, 0x6c, 0x04, 0x0c, 0xa7, 0xc6, 0xb2, 0xe8, 0xb0, 0xed, - 0xce, 0x59, 0x85, 0x93, 0xf0, 0x91, 0xf2, 0xc2, 0xfe, 0xc9, 0x78, 0x28, 0x4f, 0x54, 0xa1, 0xcc, - 0xb3, 0x6b, 0xad, 0x26, 0x2f, 0x92, 0xa7, 0x34, 0x21, 0x2f, 0xbc, 0xbd, 0xc0, 0xd4, 0x79, 0xda, - 0x6d, 0x28, 0x48, 0x75, 0xd3, 0x8f, 0x61, 0xde, 0x2d, 0xe2, 0x63, 0xd8, 0x13, 0x1f, 0xec, 0xb7, - 0x21, 0x2f, 0xaa, 0xa4, 0x4c, 0xff, 0xf1, 0xc0, 0x17, 0x8b, 0x1c, 0xff, 0xd3, 0x34, 0xda, 0xcb, - 0xf8, 0x91, 0xf3, 0x16, 0xfe, 0xc7, 0x93, 0x62, 0xec, 0x52, 0x6e, 0xbf, 0xe7, 0x3b, 0x43, 0xb4, - 0x92, 0x0a, 0x58, 0x63, 0x9a, 0xde, 0xea, 0xf9, 0xcc, 0x76, 0x8a, 0xbf, 0xe3, 0x2f, 0x32, 0x42, - 0x8a, 0xde, 0x1e, 0x0c, 0xc6, 0xfe, 0x78, 0xe4, 0x0e, 0x23, 0x3a, 0x3f, 0x72, 0x02, 0xcf, 0x23, - 0x93, 0x79, 0x17, 0x63, 0x35, 0x0c, 0x46, 0x02, 0x9c, 0x22, 0x18, 0xfe, 0xc2, 0xdd, 0xcf, 0x44, - 0xd9, 0x60, 0x9d, 0x52, 0xeb, 0x32, 0x31, 0x1d, 0x75, 0xa9, 0xd6, 0xdd, 0x39, 0xeb, 0x3c, 0xab, - 0x33, 0x41, 0x45, 0x76, 0x53, 0x56, 0x42, 0x5c, 0xe9, 0xb7, 0x1d, 0x2e, 0x8b, 0x68, 0xad, 0xf2, - 0x82, 0x21, 0x5f, 0x82, 0xa5, 0x6e, 0x47, 0x0e, 0x49, 0x18, 0x57, 0x37, 0x99, 0x1d, 0x06, 0x8b, - 0x1c, 0xd6, 0x41, 0x07, 0xae, 0xcb, 0x53, 0xb7, 0x57, 0x22, 0xda, 0x51, 0x6d, 0x5b, 0x08, 0x6c, - 0xc9, 0x62, 0x64, 0x15, 0x32, 0xc1, 0xd1, 0x92, 0xe9, 0x76, 0xd8, 0x1c, 0x0d, 0x81, 0x99, 0x2d, - 0xfe, 0xa4, 0xfd, 0x1a, 0xdc, 0x3c, 0x6d, 0x1f, 0xd1, 0xf9, 0x3c, 0xa5, 0xc3, 0x97, 0xac, 0x75, - 0x37, 0xd1, 0x6f, 0x57, 0x40, 0xc6, 0x95, 0xed, 0x8a, 0x1d, 0x44, 0xa4, 0xb5, 0x47, 0x5d, 0xed, - 0xaf, 0xb3, 0xb0, 0x1a, 0xd5, 0x07, 0x93, 0xdb, 0x90, 0x93, 0x96, 0xf1, 0xf9, 0x14, 0xa5, 0x31, - 0x2e, 0x5e, 0x24, 0x3a, 0xd5, 0xb2, 0x25, 0xf7, 0x61, 0x15, 0x2d, 0xd4, 0x90, 0x3b, 0x1b, 0x77, - 0xf9, 0x2d, 0xc3, 0xec, 0x8b, 0xa2, 0xfc, 0xfb, 0x1f, 0x5c, 0x9e, 0xc3, 0x3b, 0xa1, 0x65, 0x5a, - 0x96, 0x32, 0x48, 0x34, 0x53, 0x52, 0xf7, 0xe5, 0xa6, 0xab, 0xfb, 0xf8, 0xa7, 0x4c, 0x51, 0xf7, - 0xcd, 0xcf, 0x50, 0xf7, 0x85, 0x25, 0x65, 0x75, 0x1f, 0x2a, 0x7d, 0x17, 0xa7, 0x29, 0x7d, 0xc3, - 0x32, 0x4c, 0xe9, 0x1b, 0xaa, 0xeb, 0xf2, 0x53, 0xd5, 0x75, 0x61, 0x19, 0xae, 0xae, 0xbb, 0xc6, - 0xfb, 0x68, 0xe4, 0x3e, 0x72, 0xb0, 0xf3, 0xf8, 0xd9, 0x82, 0x5f, 0x6f, 0xb9, 0x8f, 0xd0, 0x8a, - 0x64, 0x7b, 0x09, 0x84, 0xe9, 0x89, 0xf6, 0x87, 0x4a, 0x4c, 0x59, 0x26, 0xc6, 0xef, 0x3a, 0xac, - 0xb2, 0x1d, 0xdf, 0xeb, 0x48, 0xe2, 0xd8, 0x8a, 0xb5, 0x22, 0x52, 0x99, 0x48, 0xf6, 0x29, 0x58, - 0x0b, 0xc8, 0xb8, 0x54, 0x82, 0x2e, 0x69, 0x56, 0x50, 0x9a, 0xe3, 0xab, 0xdc, 0x86, 0xf5, 0x80, - 0x90, 0x2b, 0x3c, 0x98, 0x44, 0xb6, 0x62, 0xa9, 0x22, 0xa3, 0xc9, 0xd3, 0xb5, 0xa3, 0x38, 0x73, - 0xfe, 0x09, 0xb5, 0x4a, 0xfb, 0x61, 0x36, 0xa2, 0x48, 0x10, 0xaf, 0xa1, 0x47, 0x91, 0x3f, 0x70, - 0x78, 0x27, 0xf1, 0xbd, 0xe8, 0xca, 0x94, 0x31, 0xe3, 0xc6, 0x3b, 0xb6, 0xdd, 0xb0, 0xc0, 0xf7, - 0x07, 0xc2, 0x96, 0xc7, 0x61, 0x6c, 0x29, 0x3b, 0x3c, 0x71, 0xce, 0x8a, 0xea, 0xd8, 0xc6, 0x53, - 0x9c, 0x5d, 0x9d, 0x90, 0xe4, 0xe8, 0x94, 0x45, 0xf6, 0x34, 0x78, 0x12, 0x2f, 0x68, 0x03, 0xea, - 0xdd, 0xfc, 0x68, 0xe5, 0xd9, 0x14, 0xf1, 0x22, 0x51, 0x39, 0xf6, 0x12, 0xd6, 0xac, 0x4e, 0xc4, - 0x5f, 0x51, 0xad, 0x01, 0xcb, 0x28, 0xc6, 0x8b, 0x0a, 0x73, 0x29, 0xba, 0xe6, 0xe4, 0xc7, 0x97, - 0xcc, 0x9a, 0x55, 0xa0, 0xe5, 0x44, 0x35, 0xc7, 0xf0, 0xbc, 0x2c, 0x7c, 0x47, 0x1b, 0x39, 0x2f, - 0xe0, 0x62, 0x67, 0xf6, 0x40, 0x28, 0xa3, 0x63, 0x53, 0xcf, 0xb9, 0xd1, 0x04, 0x4e, 0xa6, 0x1d, - 0xc3, 0xe6, 0xf4, 0x21, 0x99, 0x11, 0x8a, 0x28, 0xe4, 0xdc, 0x33, 0x32, 0xe7, 0x2e, 0x8b, 0xe2, - 0xd9, 0x88, 0x28, 0xae, 0xfd, 0x79, 0x16, 0xae, 0x9e, 0x62, 0xb8, 0x66, 0xbc, 0xf3, 0xcb, 0x51, - 0x1e, 0x27, 0x13, 0x11, 0x9e, 0x68, 0xa5, 0x7c, 0x83, 0xa4, 0x82, 0x5c, 0x3a, 0x87, 0xf3, 0x2b, - 0xb0, 0xc6, 0x76, 0x41, 0x66, 0x7f, 0x77, 0x38, 0xe9, 0x9d, 0x62, 0x1b, 0xdc, 0x12, 0xce, 0x42, - 0xb1, 0xa2, 0xb8, 0x33, 0xe2, 0x8e, 0x61, 0x07, 0x69, 0xa4, 0x05, 0x05, 0x24, 0x3b, 0x74, 0xbb, - 0xbd, 0x53, 0x79, 0xad, 0x08, 0x57, 0x24, 0xb9, 0x18, 0x33, 0x1b, 0xa6, 0x09, 0x15, 0x7c, 0x26, - 0x37, 0x60, 0xad, 0x3f, 0x39, 0x71, 0xdc, 0xe1, 0x90, 0xcd, 0x05, 0x6e, 0xe6, 0x30, 0x6f, 0xad, - 0xf4, 0x27, 0x27, 0xfa, 0x70, 0x88, 0x43, 0x8a, 0xf6, 0x10, 0xeb, 0x94, 0x8e, 0xad, 0x5a, 0x41, - 0xb9, 0x80, 0x94, 0xb4, 0x02, 0xb6, 0x6e, 0x39, 0xed, 0x59, 0x60, 0xd6, 0x71, 0x3c, 0x14, 0x13, - 0x7b, 0xd0, 0x7e, 0x9a, 0x11, 0x42, 0xe3, 0xf4, 0x79, 0xff, 0x8b, 0x21, 0x4a, 0x19, 0xa2, 0x9b, - 0xa0, 0xd2, 0xae, 0x0f, 0x37, 0x95, 0x60, 0x8c, 0x56, 0xfb, 0x93, 0x93, 0xa0, 0xef, 0xe4, 0x8e, - 0x5f, 0x90, 0x3b, 0xfe, 0x15, 0x21, 0x54, 0xa6, 0x6e, 0x0f, 0xd3, 0xbb, 0x5c, 0xfb, 0xcf, 0x2c, - 0xdc, 0x38, 0xdd, 0x26, 0xf0, 0x8b, 0x71, 0x4b, 0x19, 0xb7, 0x98, 0x76, 0x71, 0x3e, 0xa1, 0x5d, - 0x4c, 0x59, 0x7b, 0x0b, 0x69, 0x6b, 0x2f, 0xa1, 0xcb, 0x5c, 0x4c, 0xd1, 0x65, 0xa6, 0x2e, 0xd0, - 0xfc, 0x13, 0x16, 0xe8, 0x92, 0x3c, 0x4f, 0xfe, 0x2d, 0xd0, 0x02, 0x44, 0xe5, 0x81, 0xb7, 0xe0, - 0x8c, 0x90, 0x07, 0xd8, 0xc9, 0x11, 0xaa, 0xa8, 0x0b, 0x77, 0x6f, 0xa5, 0x49, 0x02, 0x48, 0x96, - 0xc2, 0xad, 0xaf, 0x73, 0x19, 0x20, 0xcc, 0xff, 0xff, 0xc3, 0xfd, 0x93, 0x87, 0x70, 0x0e, 0x81, - 0xcc, 0x0f, 0x64, 0xe5, 0xba, 0x33, 0xf2, 0x0e, 0xf9, 0x7c, 0xb8, 0x92, 0xe0, 0x95, 0xbb, 0x07, - 0x52, 0x73, 0x2c, 0xef, 0x70, 0x77, 0xce, 0x3a, 0xeb, 0xa7, 0xa4, 0xc7, 0x05, 0x8b, 0xbf, 0x52, - 0x40, 0x7b, 0x72, 0x7f, 0xa1, 0xb6, 0x27, 0xde, 0xe1, 0x4b, 0x56, 0xc1, 0x95, 0x7a, 0xef, 0x2a, - 0xac, 0x8c, 0xbc, 0xc3, 0x91, 0xe7, 0x1f, 0x47, 0xd4, 0x08, 0xcb, 0x3c, 0x51, 0x74, 0x8c, 0x80, - 0x53, 0x7c, 0x2a, 0xce, 0x5c, 0x14, 0xd2, 0x2a, 0x81, 0xbc, 0x98, 0x3a, 0x0e, 0x74, 0x36, 0xc9, - 0x0d, 0x64, 0x0f, 0xf7, 0x73, 0xf9, 0x8c, 0x9a, 0xb5, 0x38, 0xe8, 0xe3, 0x61, 0xb7, 0xe7, 0x69, - 0x7f, 0xa3, 0x08, 0x8e, 0x20, 0xad, 0xf3, 0xc8, 0x5b, 0x92, 0xd5, 0x6a, 0x36, 0xc1, 0x86, 0xa4, - 0x15, 0x91, 0x0d, 0xfc, 0x38, 0x0e, 0x21, 0x26, 0x44, 0x70, 0x08, 0x31, 0xe5, 0x19, 0x4c, 0xef, - 0xb8, 0xd4, 0x7c, 0x4f, 0x98, 0xbe, 0xd0, 0x3d, 0x6f, 0xef, 0x0e, 0xb9, 0x05, 0x8b, 0xcc, 0xda, - 0x45, 0x34, 0x77, 0x2d, 0xd2, 0xdc, 0xbd, 0x3b, 0x96, 0xc8, 0xd7, 0x7e, 0x10, 0xe8, 0x83, 0x13, - 0x1f, 0xb1, 0x77, 0x87, 0xbc, 0x72, 0x3a, 0x2b, 0xd4, 0xbc, 0xb0, 0x42, 0x0d, 0x2c, 0x50, 0xbf, - 0x10, 0xb1, 0x40, 0xbd, 0x36, 0xbb, 0xb7, 0xf8, 0x85, 0x1d, 0xc3, 0xdd, 0x0b, 0xf1, 0x98, 0x7e, - 0xaa, 0xc0, 0xc5, 0x99, 0x25, 0xc8, 0x05, 0xc8, 0xeb, 0x4d, 0xb3, 0x15, 0x8e, 0x2f, 0x5d, 0x33, - 0x22, 0x85, 0xec, 0xc0, 0xd2, 0xb6, 0xeb, 0x77, 0x0f, 0xe8, 0x34, 0x4e, 0xd5, 0xa0, 0x27, 0xaa, - 0x0d, 0xc8, 0x77, 0xe7, 0xac, 0xb0, 0x2c, 0x71, 0x60, 0x1d, 0xd7, 0x42, 0x24, 0xc6, 0x51, 0x36, - 0x45, 0xd7, 0x90, 0xa8, 0x30, 0x51, 0x8c, 0xee, 0x33, 0x89, 0xc4, 0xf8, 0x12, 0x7c, 0x47, 0xf0, - 0x22, 0xd3, 0x1b, 0xf8, 0x14, 0x00, 0xa2, 0x37, 0x21, 0xdf, 0x14, 0x57, 0xe9, 0x92, 0xd9, 0xb6, - 0xb8, 0x36, 0xb7, 0x82, 0x5c, 0xed, 0x77, 0x14, 0xa1, 0x10, 0x78, 0xf2, 0x87, 0x48, 0xe1, 0xa1, - 0x3a, 0xb3, 0xc3, 0x43, 0x75, 0x3e, 0x62, 0x78, 0x28, 0xed, 0x2f, 0x39, 0xbc, 0xb7, 0xd9, 0x69, - 0xc6, 0xd4, 0x9b, 0xcf, 0x6a, 0x7e, 0x6f, 0x44, 0x66, 0xe7, 0x55, 0x29, 0xbc, 0x60, 0xf2, 0x5d, - 0xd3, 0xad, 0xf0, 0xa5, 0xa9, 0xfa, 0xc7, 0x59, 0xb8, 0x30, 0xab, 0x78, 0x6a, 0x00, 0x63, 0xe5, - 0xe9, 0x02, 0x18, 0xdf, 0x82, 0x3c, 0x4b, 0x0b, 0x6c, 0xcb, 0xb1, 0xc3, 0x79, 0x51, 0xda, 0xe1, - 0x22, 0x9b, 0x5c, 0x85, 0x05, 0xbd, 0x64, 0x87, 0x31, 0xb5, 0xd0, 0x08, 0xd4, 0x3d, 0xf0, 0xd1, - 0xbc, 0x90, 0x67, 0x91, 0xaf, 0x27, 0xc3, 0xc8, 0xf1, 0x60, 0x5a, 0x5b, 0x52, 0x87, 0x24, 0x90, - 0xf7, 0xb1, 0xbd, 0x21, 0x52, 0x3c, 0x07, 0x5f, 0xb6, 0x92, 0x21, 0xe9, 0x34, 0x58, 0x68, 0x8e, - 0x3c, 0xdf, 0x1b, 0xcb, 0x06, 0x9a, 0x43, 0x4c, 0xb1, 0x78, 0x0e, 0x37, 0x9f, 0x74, 0x1f, 0x33, - 0x6f, 0xf9, 0x05, 0x19, 0xc1, 0x04, 0xed, 0x2d, 0x69, 0xb2, 0x25, 0x91, 0xd0, 0x02, 0x55, 0x77, - 0xd2, 0x3f, 0x38, 0x6e, 0x5b, 0x55, 0xce, 0x6a, 0xb0, 0x02, 0x3d, 0x4c, 0xa5, 0x1f, 0xe8, 0x5b, - 0x12, 0x89, 0xf6, 0x5d, 0x05, 0xce, 0xa6, 0x7d, 0x07, 0xb9, 0x00, 0xb9, 0x7e, 0x6a, 0xc4, 0xbc, - 0x3e, 0x73, 0xf2, 0x2d, 0xd0, 0x5f, 0xe7, 0x70, 0x30, 0x3a, 0x71, 0xc7, 0xb2, 0x19, 0xab, 0x94, - 0x6c, 0x01, 0x7d, 0xa8, 0xe0, 0x7f, 0x72, 0x59, 0xec, 0xd1, 0xd9, 0x44, 0x8c, 0x3d, 0xfc, 0xd1, - 0x74, 0x00, 0xb3, 0xd3, 0x6c, 0x0c, 0x19, 0xf2, 0xfb, 0xcb, 0x90, 0xa3, 0xcd, 0x8a, 0xcd, 0x5e, - 0x3a, 0x7f, 0xf4, 0x5a, 0x95, 0x13, 0xb1, 0x56, 0xf9, 0xee, 0x49, 0xcf, 0x42, 0x62, 0x6d, 0x1f, - 0x56, 0xa3, 0x14, 0xc4, 0x88, 0x62, 0x85, 0x16, 0xee, 0xaa, 0xbc, 0xa6, 0xed, 0xc1, 0x80, 0xb9, - 0x52, 0x6c, 0x3f, 0xff, 0x8f, 0x1f, 0x5c, 0x06, 0xfa, 0xc8, 0xca, 0xa4, 0x61, 0x89, 0x6a, 0xdf, - 0xcb, 0xc0, 0xd9, 0xd0, 0x7b, 0x5b, 0xac, 0xa1, 0x9f, 0x5b, 0x57, 0x42, 0x3d, 0xe2, 0xea, 0x26, - 0x18, 0xad, 0xe4, 0x07, 0xce, 0xf0, 0xb0, 0xd9, 0x81, 0x8d, 0x69, 0xf4, 0xe4, 0x36, 0x2c, 0x21, - 0xe0, 0xcf, 0xd0, 0x3d, 0xf0, 0xe4, 0xbd, 0xaf, 0x2f, 0x12, 0xad, 0x30, 0x5f, 0xfb, 0xb1, 0x02, - 0x9b, 0xdc, 0x01, 0xa0, 0xe6, 0x76, 0xfb, 0x78, 0x59, 0x79, 0xe0, 0x7d, 0x3c, 0xae, 0xb0, 0x3b, - 0x91, 0x7d, 0xec, 0x7a, 0xd4, 0xcf, 0x23, 0xf1, 0xb6, 0xe9, 0x5f, 0x4b, 0x6e, 0x21, 0x88, 0x15, - 0xbf, 0x99, 0xcd, 0x31, 0xe8, 0x81, 0x3e, 0x4d, 0x90, 0xa1, 0x07, 0x90, 0x42, 0xfb, 0x75, 0xb8, - 0x34, 0xfb, 0x05, 0xe4, 0x6b, 0xb0, 0x82, 0x51, 0x91, 0xda, 0xc3, 0xa3, 0x91, 0xdb, 0xf1, 0x84, - 0x2a, 0x4c, 0xa8, 0x2f, 0xe5, 0x3c, 0x86, 0xc9, 0xc5, 0x5d, 0xe1, 0x8f, 0x30, 0xde, 0x12, 0x2f, - 0x14, 0xf1, 0xb2, 0x91, 0x6b, 0xd3, 0x7e, 0x43, 0x01, 0x92, 0xac, 0x83, 0x7c, 0x1e, 0x96, 0xdb, - 0xad, 0x92, 0x3d, 0x76, 0x47, 0xe3, 0xdd, 0xc1, 0x64, 0xc4, 0x01, 0xb1, 0x98, 0x67, 0xf4, 0xf8, - 0xc0, 0x61, 0xb7, 0x10, 0xc7, 0x83, 0xc9, 0xc8, 0x8a, 0xd0, 0x61, 0x38, 0x1f, 0xcf, 0xfb, 0x46, - 0xc7, 0x7d, 0x1c, 0x0d, 0xe7, 0xc3, 0xd3, 0x22, 0xe1, 0x7c, 0x78, 0x9a, 0xf6, 0x9e, 0x02, 0x5b, - 0xc2, 0xe0, 0xae, 0x93, 0xd2, 0x96, 0x12, 0xe2, 0x7f, 0x8c, 0x04, 0x02, 0xeb, 0x2c, 0x96, 0x76, - 0x5d, 0x40, 0xe4, 0x60, 0x03, 0x91, 0xb7, 0x65, 0x65, 0xc9, 0x97, 0x21, 0x67, 0x8f, 0x07, 0xc3, - 0x53, 0x60, 0xe4, 0xa8, 0xc1, 0x88, 0x8e, 0x07, 0x43, 0xac, 0x02, 0x4b, 0x6a, 0x1e, 0x9c, 0x95, - 0x1b, 0x27, 0x5a, 0x4c, 0x6a, 0xb0, 0xc8, 0xc1, 0xd0, 0x62, 0xb7, 0xdd, 0x33, 0xbe, 0x69, 0x7b, - 0x4d, 0x00, 0xf1, 0x70, 0x04, 0x50, 0x4b, 0xd4, 0xa1, 0xfd, 0x9e, 0x02, 0x05, 0xca, 0x6d, 0xa0, - 0x14, 0xf7, 0xac, 0x53, 0x3a, 0xca, 0x38, 0x0a, 0xd3, 0x8c, 0xa0, 0xfa, 0x53, 0x9d, 0xc6, 0x9f, - 0x83, 0xb5, 0x58, 0x01, 0xa2, 0x21, 0x04, 0x43, 0xaf, 0x7b, 0xe0, 0xb2, 0xe8, 0x20, 0xcc, 0xac, - 0x21, 0x92, 0xa6, 0xfd, 0x96, 0x02, 0x67, 0xa9, 0xcc, 0xcf, 0x2e, 0x0b, 0xad, 0x49, 0x4f, 0xac, - 0x77, 0xca, 0x41, 0x09, 0xcb, 0x4d, 0xe6, 0x1e, 0xce, 0x38, 0x28, 0x9e, 0x66, 0x05, 0xb9, 0x64, - 0x17, 0xf2, 0xfc, 0x7c, 0xf1, 0x39, 0x70, 0xe7, 0x25, 0x49, 0x99, 0x10, 0x56, 0xcc, 0x89, 0xe8, - 0x97, 0xe0, 0x16, 0xc6, 0xcb, 0x58, 0x41, 0x69, 0xed, 0xbf, 0x14, 0x38, 0x3f, 0xa5, 0x0c, 0x79, - 0x0d, 0xe6, 0xd1, 0x75, 0x8d, 0x8f, 0xde, 0x85, 0x29, 0xaf, 0x18, 0x1f, 0x1c, 0xef, 0xdd, 0x61, - 0x07, 0xd1, 0x09, 0x7d, 0xb0, 0x58, 0x29, 0xf2, 0x16, 0x2c, 0xe9, 0x9d, 0x0e, 0x17, 0x67, 0x32, - 0x11, 0x71, 0x66, 0xca, 0x1b, 0x5f, 0x0a, 0xe8, 0x99, 0x38, 0xc3, 0x9c, 0x28, 0x3a, 0x1d, 0x87, - 0xbb, 0xe5, 0x85, 0xf5, 0x6d, 0xfe, 0x32, 0xac, 0x46, 0x89, 0x9f, 0xca, 0x93, 0xe8, 0x07, 0x0a, - 0xa8, 0xd1, 0x36, 0x7c, 0x32, 0x10, 0x42, 0x69, 0xc3, 0xfc, 0x84, 0x49, 0xf5, 0x07, 0x19, 0x78, - 0x2e, 0xb5, 0x87, 0xc9, 0x8b, 0xb0, 0xa0, 0x0f, 0x87, 0x66, 0x99, 0xcf, 0x2a, 0xce, 0x21, 0xa1, - 0x96, 0x38, 0x22, 0xed, 0x31, 0x22, 0xf2, 0x32, 0xe4, 0xd9, 0x9d, 0x74, 0x59, 0x6c, 0x38, 0x88, - 0x89, 0xc2, 0x2f, 0xcc, 0xa3, 0x10, 0x9a, 0x82, 0x90, 0x54, 0x60, 0x95, 0xa3, 0x89, 0x58, 0xde, - 0x91, 0xf7, 0xad, 0x00, 0xcb, 0x1d, 0xe1, 0xe6, 0x85, 0xea, 0xd9, 0x19, 0xb1, 0x3c, 0x19, 0x4f, - 0x23, 0x5a, 0x8a, 0x54, 0x41, 0xc5, 0x3a, 0xe5, 0x9a, 0x18, 0x8e, 0x27, 0xe2, 0xbb, 0xb0, 0x46, - 0x4c, 0xa9, 0x2b, 0x51, 0x32, 0x18, 0x2e, 0xdd, 0xf7, 0xbb, 0x47, 0xfd, 0x13, 0xaf, 0x3f, 0xfe, - 0xe4, 0x86, 0x2b, 0x7c, 0xc7, 0xa9, 0x86, 0xeb, 0x8f, 0x72, 0x6c, 0x31, 0xc7, 0x8b, 0x51, 0x8e, - 0x46, 0x82, 0x6e, 0x46, 0x8e, 0x06, 0x83, 0xdd, 0x33, 0xbc, 0x8c, 0x32, 0x2c, 0x32, 0x1c, 0x13, - 0xb1, 0x32, 0x2e, 0xa6, 0x36, 0x81, 0xd1, 0xec, 0xdd, 0x61, 0xec, 0x0b, 0xf3, 0xa1, 0xf3, 0x2d, - 0x51, 0x94, 0xec, 0x41, 0xa1, 0xd4, 0xf3, 0xdc, 0xfe, 0x64, 0xd8, 0x3a, 0xdd, 0x95, 0xe3, 0x06, - 0xff, 0x96, 0xe5, 0x03, 0x56, 0x0c, 0xaf, 0x2a, 0x71, 0x27, 0x97, 0x2b, 0x22, 0xad, 0xc0, 0xad, - 0x26, 0x87, 0x9a, 0xca, 0xcf, 0xce, 0xe8, 0x9f, 0x78, 0x22, 0x96, 0x8b, 0xfa, 0x8c, 0x71, 0xbf, - 0x1b, 0x07, 0x56, 0xab, 0xae, 0x3f, 0x6e, 0x8d, 0xdc, 0xbe, 0x8f, 0xf8, 0x87, 0xa7, 0xc0, 0x87, - 0xda, 0x12, 0xb1, 0x75, 0x51, 0xc7, 0x38, 0x0e, 0x8a, 0x32, 0x0d, 0x66, 0xb4, 0x3a, 0xca, 0x2f, - 0x55, 0xba, 0x7d, 0xb7, 0xd7, 0x7d, 0x57, 0x78, 0x1f, 0x32, 0x7e, 0xe9, 0x50, 0x24, 0x5a, 0x61, - 0xbe, 0xf6, 0xd5, 0xc4, 0xb8, 0xb1, 0x56, 0x16, 0x60, 0x91, 0xfb, 0xa6, 0x33, 0x5f, 0xed, 0xa6, - 0x51, 0x2f, 0x9b, 0xf5, 0x1d, 0x55, 0x21, 0xab, 0x00, 0x4d, 0xab, 0x51, 0x32, 0x6c, 0x9b, 0x3e, - 0x67, 0xe8, 0x33, 0x77, 0xe4, 0xae, 0xb4, 0xab, 0x6a, 0x56, 0xf2, 0xe5, 0xce, 0x69, 0x3f, 0x52, - 0xe0, 0x5c, 0xfa, 0x50, 0x92, 0x16, 0xa0, 0x37, 0x3f, 0xbf, 0x7c, 0xfe, 0xfc, 0xcc, 0x71, 0x4f, - 0x4d, 0x8e, 0xa3, 0x02, 0x8c, 0x99, 0xb7, 0x79, 0x46, 0x5c, 0x16, 0x31, 0xf7, 0xb5, 0x6e, 0xc7, - 0xca, 0x74, 0x3b, 0x5a, 0x09, 0x36, 0xa6, 0xd5, 0x11, 0xfd, 0xd4, 0x35, 0x28, 0xe8, 0xcd, 0x66, - 0xd5, 0x2c, 0xe9, 0x2d, 0xb3, 0x51, 0x57, 0x15, 0xb2, 0x04, 0xf3, 0x3b, 0x56, 0xa3, 0xdd, 0x54, - 0x33, 0xda, 0xf7, 0x15, 0x58, 0x31, 0x43, 0x5b, 0xa7, 0x67, 0x5d, 0x7c, 0xaf, 0x46, 0x16, 0xdf, - 0x46, 0x80, 0x7b, 0x11, 0xbc, 0xe0, 0x54, 0x2b, 0xef, 0x1f, 0x14, 0x58, 0x4f, 0x94, 0x21, 0x36, - 0x2c, 0xea, 0xfb, 0x76, 0xc3, 0x2c, 0x97, 0x78, 0xcb, 0x2e, 0x87, 0x46, 0x3a, 0x18, 0xda, 0x28, - 0xf1, 0x16, 0xe6, 0x2b, 0xfa, 0xc8, 0x77, 0x06, 0xdd, 0x8e, 0x14, 0x96, 0x74, 0x77, 0xce, 0x12, - 0x35, 0xe1, 0x49, 0xf6, 0xee, 0x64, 0xe4, 0x61, 0xb5, 0x99, 0x88, 0x22, 0x34, 0x48, 0x4f, 0x56, - 0x8c, 0x3e, 0x01, 0x2e, 0xcd, 0x4f, 0x56, 0x1d, 0xd6, 0xb7, 0xbd, 0x02, 0x05, 0x2e, 0xb5, 0xa0, - 0x40, 0xf0, 0x43, 0x05, 0x36, 0xa6, 0xb5, 0x95, 0x0a, 0x42, 0x51, 0xc7, 0xf1, 0x73, 0x41, 0xa8, - 0x82, 0xa8, 0xc7, 0xb8, 0x20, 0x23, 0xaf, 0x43, 0xc1, 0xf4, 0xfd, 0x89, 0x37, 0xb2, 0x5f, 0x6e, - 0x5b, 0x26, 0x9f, 0x20, 0x17, 0xff, 0xfd, 0x83, 0xcb, 0xe7, 0xd1, 0x72, 0x7f, 0xe4, 0xf8, 0x2f, - 0x3b, 0x93, 0x51, 0x37, 0x02, 0xeb, 0x2e, 0x97, 0xa0, 0x7c, 0xab, 0x3b, 0xe9, 0x74, 0x3d, 0xc1, - 0xb5, 0x0b, 0xe7, 0x5a, 0x9e, 0x26, 0x9f, 0x22, 0x22, 0x4d, 0xfb, 0x8e, 0x02, 0x9b, 0xd3, 0x3b, - 0x86, 0x9e, 0x4c, 0x2d, 0x66, 0x4b, 0x29, 0xdc, 0x5b, 0xf1, 0x64, 0x0a, 0x0c, 0x2e, 0xe5, 0x3a, - 0x05, 0x21, 0x2d, 0x14, 0x84, 0x09, 0xcf, 0x24, 0x62, 0x03, 0x47, 0x0b, 0x09, 0x42, 0xed, 0x3f, - 0x32, 0x70, 0x8e, 0x4e, 0xba, 0x9e, 0xe7, 0xfb, 0xfa, 0x64, 0x7c, 0xec, 0xf5, 0xc7, 0x9c, 0x0d, - 0x23, 0xaf, 0xc0, 0xc2, 0xf1, 0xd3, 0xa9, 0x1c, 0x19, 0x39, 0x21, 0x80, 0x1b, 0xb9, 0xf0, 0x43, - 0xa0, 0xff, 0xc9, 0x15, 0x90, 0xa3, 0x31, 0x67, 0x11, 0x0f, 0x32, 0xb3, 0xa1, 0x58, 0x4b, 0xc3, - 0x20, 0x70, 0xea, 0x17, 0x60, 0x1e, 0xd5, 0x0c, 0x7c, 0x4b, 0x15, 0xac, 0x70, 0x7a, 0xeb, 0x50, - 0x09, 0x61, 0xb1, 0x02, 0xe4, 0x33, 0x00, 0x21, 0x94, 0x3e, 0xdf, 0x33, 0x85, 0xf8, 0x1d, 0xa0, - 0xe9, 0x5b, 0x4b, 0x27, 0x87, 0x2e, 0xc7, 0xa7, 0x2f, 0xc2, 0xba, 0xe8, 0x96, 0xa1, 0x80, 0x91, - 0xe3, 0xb7, 0x61, 0x6b, 0x2c, 0xc3, 0x1c, 0x0a, 0x28, 0xb9, 0x6b, 0x89, 0x88, 0xb2, 0x88, 0x26, - 0x1b, 0x0b, 0x1b, 0x7b, 0x2d, 0x11, 0x36, 0x36, 0xcf, 0xa8, 0xe4, 0xd8, 0xb0, 0xda, 0xbf, 0x66, - 0x60, 0x69, 0x9f, 0x32, 0x2b, 0x28, 0x82, 0xcf, 0x16, 0xe9, 0xef, 0x42, 0xa1, 0x3a, 0x70, 0xf9, - 0xb5, 0x03, 0x37, 0xdf, 0x67, 0x4e, 0xb0, 0xbd, 0x81, 0x2b, 0x6e, 0x30, 0x7c, 0x4b, 0x26, 0x7a, - 0x82, 0x03, 0xef, 0x7d, 0x58, 0x60, 0xd7, 0x40, 0x5c, 0xbb, 0x24, 0xd8, 0xd5, 0xa0, 0x45, 0x2f, - 0xb1, 0x6c, 0x49, 0x53, 0xce, 0xae, 0x92, 0x64, 0xde, 0x89, 0x83, 0x62, 0x4a, 0x0a, 0x87, 0xf9, - 0xd3, 0x29, 0x1c, 0x24, 0xf0, 0xaf, 0x85, 0xd3, 0x80, 0x7f, 0x6d, 0xde, 0x83, 0x82, 0xd4, 0x9e, - 0xa7, 0xe2, 0x5e, 0xbf, 0x9d, 0x81, 0x15, 0xfc, 0xaa, 0xc0, 0x26, 0xe4, 0xe7, 0x53, 0x7d, 0xf2, - 0x6a, 0x44, 0x7d, 0xb2, 0x21, 0x8f, 0x17, 0xfb, 0xb2, 0x19, 0x7a, 0x93, 0xfb, 0xb0, 0x9e, 0x20, - 0x24, 0x9f, 0x83, 0x79, 0xda, 0x7c, 0x21, 0x6e, 0xaa, 0xf1, 0x19, 0x10, 0x02, 0xc5, 0xd2, 0x0f, - 0xf7, 0x2d, 0x46, 0xad, 0xfd, 0xb7, 0x02, 0xcb, 0x3c, 0x4e, 0x43, 0xff, 0x70, 0xf0, 0xc4, 0xee, - 0xbc, 0x11, 0xef, 0x4e, 0x06, 0x47, 0xc1, 0xbb, 0xf3, 0x7f, 0xbb, 0x13, 0xef, 0x45, 0x3a, 0xf1, - 0x7c, 0x00, 0x1b, 0x27, 0x3e, 0x67, 0x46, 0x1f, 0xfe, 0x2d, 0x02, 0xa9, 0x46, 0x09, 0xc9, 0xd7, - 0x61, 0xa9, 0xee, 0x3d, 0x8a, 0x48, 0x6d, 0x37, 0xa6, 0x54, 0xfa, 0x52, 0x40, 0xc8, 0xd6, 0x14, - 0x1e, 0x78, 0x7d, 0xef, 0x91, 0x93, 0xb8, 0x81, 0x0a, 0xab, 0xa4, 0x82, 0x5b, 0xb4, 0xd8, 0xd3, - 0x4c, 0x7d, 0xee, 0x4b, 0x88, 0x08, 0x2b, 0xdf, 0xcd, 0x02, 0x84, 0x6e, 0x58, 0x74, 0x01, 0x46, - 0x2e, 0xdf, 0x85, 0xc2, 0x1b, 0x93, 0xe4, 0x39, 0x2e, 0xee, 0xe4, 0x6f, 0x70, 0xc5, 0x6c, 0x66, - 0x3a, 0xac, 0x1f, 0xaa, 0x68, 0x4b, 0xdc, 0xef, 0xa7, 0xe3, 0xf5, 0x5c, 0xb6, 0xb7, 0x67, 0xb7, - 0xaf, 0x21, 0x8a, 0x6b, 0x90, 0x3a, 0x25, 0xe0, 0x2e, 0x7a, 0x07, 0x95, 0x29, 0x41, 0xc2, 0xb5, - 0x31, 0xf7, 0x74, 0xae, 0x8d, 0x4d, 0x58, 0xea, 0xf6, 0xdf, 0xf1, 0xfa, 0xe3, 0xc1, 0xe8, 0x31, - 0x6a, 0xa3, 0x43, 0x35, 0x17, 0xed, 0x02, 0x53, 0xe4, 0xb1, 0x71, 0xc0, 0x83, 0x31, 0xa0, 0x97, - 0x87, 0x21, 0x48, 0x0c, 0x5c, 0x33, 0xe7, 0xd5, 0x85, 0xfb, 0xb9, 0xfc, 0x82, 0xba, 0x78, 0x3f, - 0x97, 0xcf, 0xab, 0x4b, 0xf7, 0x73, 0xf9, 0x25, 0x15, 0x2c, 0xe9, 0x7e, 0x27, 0xb8, 0xbf, 0x91, - 0xae, 0x5c, 0xa2, 0xd7, 0x29, 0xda, 0xcf, 0x32, 0x40, 0x92, 0xcd, 0x20, 0xaf, 0x42, 0x81, 0x6d, - 0xb0, 0xce, 0xc8, 0xff, 0x26, 0xb7, 0xfd, 0x66, 0x38, 0x35, 0x52, 0xb2, 0x8c, 0x53, 0xc3, 0x92, - 0x2d, 0xff, 0x9b, 0x3d, 0xf2, 0x35, 0x38, 0x83, 0xdd, 0x3b, 0xf4, 0x46, 0xdd, 0x41, 0xc7, 0x41, - 0x50, 0x51, 0xb7, 0xc7, 0x83, 0xe3, 0xbd, 0x88, 0x51, 0x5c, 0x93, 0xd9, 0x53, 0x86, 0x01, 0xbd, - 0xad, 0x9a, 0x48, 0xd9, 0x64, 0x84, 0xa4, 0x05, 0xaa, 0x5c, 0xfe, 0x70, 0xd2, 0xeb, 0xf1, 0x91, - 0x2d, 0x52, 0x41, 0x37, 0x9e, 0x37, 0xa5, 0xe2, 0xd5, 0xb0, 0xe2, 0xca, 0xa4, 0xd7, 0x23, 0xaf, - 0x00, 0x0c, 0xfa, 0xce, 0x49, 0xd7, 0xf7, 0xd9, 0x1d, 0x47, 0xe0, 0x18, 0x1a, 0xa6, 0xca, 0x83, - 0x31, 0xe8, 0xd7, 0x58, 0x22, 0xf9, 0x25, 0x40, 0xf7, 0x76, 0xc4, 0x7d, 0x60, 0x56, 0x2d, 0x3c, - 0xdc, 0x85, 0x48, 0x8c, 0xfa, 0xa1, 0x1e, 0x79, 0x76, 0xf7, 0x5d, 0x61, 0x77, 0xff, 0x26, 0xac, - 0x73, 0x23, 0xd4, 0xfd, 0xee, 0xf8, 0x98, 0x73, 0xd8, 0xcf, 0xc2, 0x9e, 0x4b, 0x2c, 0xf6, 0x3f, - 0xe5, 0x00, 0xf4, 0x7d, 0x5b, 0x40, 0x2a, 0xdd, 0x82, 0x79, 0x2a, 0x37, 0x08, 0xfd, 0x03, 0x6a, - 0x6f, 0xb1, 0x5e, 0x59, 0x7b, 0x8b, 0x14, 0x74, 0x35, 0x5a, 0xe8, 0xfb, 0x20, 0x74, 0x0f, 0xb8, - 0x1a, 0x99, 0x3b, 0x44, 0x04, 0xd2, 0x96, 0x53, 0x91, 0x2a, 0x40, 0x08, 0x72, 0xc4, 0x25, 0xd9, - 0xf5, 0x10, 0x2d, 0x84, 0x67, 0x70, 0x58, 0xfd, 0x10, 0x28, 0x49, 0x9e, 0x3e, 0x21, 0x19, 0x79, - 0x00, 0xb9, 0x96, 0x1b, 0xb8, 0x3d, 0x4e, 0x81, 0x7e, 0x7a, 0x81, 0x07, 0x2f, 0x0c, 0xe1, 0x9f, - 0x56, 0xc7, 0x6e, 0x24, 0xc6, 0x2b, 0x56, 0x42, 0x0c, 0x58, 0xe0, 0x81, 0xa9, 0xa7, 0x40, 0x06, - 0xf2, 0xb8, 0xd4, 0x1c, 0x28, 0x18, 0x13, 0x65, 0x9e, 0x82, 0x87, 0xa0, 0xbe, 0x0b, 0x59, 0xdb, - 0xae, 0x71, 0xc0, 0x83, 0x95, 0x50, 0x2a, 0xb1, 0xed, 0x1a, 0xbb, 0xa3, 0xf4, 0xfd, 0x13, 0xa9, - 0x18, 0x25, 0x26, 0x5f, 0x84, 0x82, 0xc4, 0x3e, 0x73, 0xa8, 0x10, 0xec, 0x03, 0xc9, 0xf5, 0x44, - 0xde, 0x34, 0x24, 0x6a, 0x52, 0x05, 0xf5, 0xc1, 0xe4, 0x6d, 0x4f, 0x1f, 0x0e, 0xd1, 0xe3, 0xec, - 0x1d, 0x6f, 0xc4, 0xd8, 0xb6, 0x7c, 0x88, 0xb1, 0x8b, 0x0e, 0x7b, 0x1d, 0x91, 0x2b, 0xeb, 0x60, - 0xe2, 0x25, 0x49, 0x13, 0xd6, 0x6d, 0x6f, 0x3c, 0x19, 0x32, 0x3b, 0x8d, 0xca, 0x60, 0x44, 0x85, - 0x10, 0x06, 0x2c, 0x82, 0x70, 0xa4, 0x3e, 0xcd, 0x14, 0xc6, 0x31, 0x87, 0x83, 0x51, 0x4c, 0x20, - 0x49, 0x16, 0xd6, 0x3c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0x15, 0x6d, 0xf0, 0x54, 0x15, 0xa2, 0x4d, - 0x28, 0xd0, 0x7c, 0x26, 0x05, 0xfc, 0x0a, 0x2f, 0xcc, 0x24, 0xf0, 0xab, 0x08, 0xe4, 0xd5, 0x7b, - 0x39, 0x09, 0x7f, 0x91, 0x8f, 0xc5, 0x6b, 0x00, 0xf7, 0x07, 0xdd, 0x7e, 0xcd, 0x1b, 0x1f, 0x0f, - 0x3a, 0x12, 0x06, 0x57, 0xe1, 0x57, 0x07, 0xdd, 0xbe, 0x73, 0x82, 0xc9, 0x3f, 0xfb, 0xe0, 0xb2, - 0x44, 0x64, 0x49, 0xff, 0xc9, 0xa7, 0x61, 0x89, 0x3e, 0xb5, 0x42, 0x6b, 0x13, 0xa6, 0xaa, 0xc4, - 0xd2, 0x2c, 0x4a, 0x41, 0x48, 0x40, 0xee, 0x61, 0x5c, 0x8e, 0xee, 0x70, 0x2c, 0x31, 0xaf, 0x22, - 0x08, 0x47, 0x77, 0x38, 0x8e, 0x43, 0xea, 0x4a, 0xc4, 0x64, 0x37, 0x68, 0xba, 0x08, 0xa5, 0xc3, - 0xc3, 0x7f, 0xa0, 0x3e, 0x8e, 0xcf, 0x35, 0x47, 0x60, 0x79, 0xca, 0x41, 0x4f, 0x63, 0xc5, 0xb0, - 0x11, 0xf6, 0x6e, 0x99, 0x5d, 0xa0, 0x70, 0xa6, 0x96, 0x35, 0xc2, 0x3f, 0xee, 0x38, 0x07, 0x98, - 0x1c, 0x69, 0x44, 0x40, 0x4c, 0xb6, 0x61, 0x8d, 0xf1, 0xf8, 0x41, 0x48, 0x3e, 0xce, 0xe2, 0xe2, - 0xde, 0x16, 0xc6, 0xec, 0x93, 0x5f, 0x1f, 0x2b, 0x40, 0x2a, 0x30, 0x8f, 0x02, 0x21, 0x37, 0x31, - 0xdf, 0x92, 0xa5, 0xe7, 0xf8, 0x3a, 0xc2, 0x7d, 0x05, 0xe5, 0x66, 0x79, 0x5f, 0x41, 0x52, 0xf2, - 0x15, 0x00, 0xa3, 0x3f, 0x1a, 0xf4, 0x7a, 0x88, 0x36, 0x9b, 0x47, 0x51, 0xea, 0x62, 0x74, 0x3d, - 0x62, 0x2d, 0x21, 0x11, 0x47, 0x46, 0xc3, 0x67, 0x27, 0x86, 0x49, 0x2b, 0xd5, 0xa5, 0x99, 0xb0, - 0xc0, 0x16, 0x23, 0x22, 0x37, 0xf3, 0x58, 0x14, 0x12, 0xee, 0x2f, 0x43, 0x6e, 0xe6, 0xe9, 0x49, - 0xe4, 0x66, 0xa9, 0x80, 0xf6, 0x00, 0xce, 0xa6, 0x7d, 0x58, 0x44, 0x84, 0x55, 0x4e, 0x2b, 0xc2, - 0xfe, 0x59, 0x16, 0x96, 0xb1, 0x36, 0xb1, 0x0b, 0xeb, 0xb0, 0x62, 0x4f, 0xde, 0x0e, 0x60, 0x8d, - 0xc4, 0x6e, 0x8c, 0xed, 0xf3, 0xe5, 0x0c, 0xf9, 0x6a, 0x2b, 0x52, 0x82, 0x18, 0xb0, 0x2a, 0x4e, - 0x82, 0x1d, 0x61, 0x81, 0x1e, 0x80, 0x26, 0x0b, 0x68, 0xbe, 0x64, 0x48, 0xd2, 0x58, 0xa1, 0xf0, - 0x3c, 0xc8, 0x3e, 0xcd, 0x79, 0x90, 0x3b, 0xd5, 0x79, 0xf0, 0x16, 0x2c, 0x8b, 0xb7, 0xe1, 0x4e, - 0x3e, 0xff, 0x6c, 0x3b, 0x79, 0xa4, 0x32, 0x52, 0x0d, 0x76, 0xf4, 0x85, 0x99, 0x3b, 0x3a, 0xde, - 0x17, 0x8a, 0x55, 0x36, 0xc4, 0xb4, 0xe4, 0xc6, 0x8e, 0x31, 0xfb, 0x76, 0x4a, 0xcd, 0x8f, 0x70, - 0x4a, 0x7e, 0x0e, 0x96, 0xaa, 0x03, 0x71, 0x55, 0x24, 0xe9, 0xe8, 0x7b, 0x22, 0x51, 0x66, 0x17, - 0x02, 0xca, 0xe0, 0x74, 0xcb, 0x7e, 0x1c, 0xa7, 0xdb, 0x3d, 0x00, 0xee, 0xda, 0x10, 0xc6, 0xda, - 0xc2, 0x25, 0x23, 0xc0, 0x20, 0xa2, 0x57, 0x05, 0x12, 0x31, 0xdd, 0x9d, 0xb8, 0x15, 0x8a, 0x7e, - 0x70, 0x30, 0x98, 0xf4, 0xc7, 0x91, 0xe0, 0xb4, 0xc2, 0x9d, 0xd0, 0xe5, 0x79, 0xf2, 0xf6, 0x10, - 0x2b, 0xf6, 0xf1, 0x0e, 0x08, 0x79, 0x23, 0x30, 0xa2, 0x5b, 0x9c, 0xd5, 0x43, 0x5a, 0xa2, 0x87, - 0xa6, 0x9a, 0xce, 0x69, 0x3f, 0x52, 0x64, 0xc4, 0xfa, 0x8f, 0x30, 0xd4, 0x5f, 0x00, 0x08, 0xee, - 0xea, 0xc5, 0x58, 0x33, 0x79, 0x29, 0x48, 0x95, 0x7b, 0x39, 0xa4, 0x95, 0xbe, 0x26, 0xfb, 0x71, - 0x7d, 0x4d, 0x0b, 0x0a, 0x8d, 0x6f, 0x8c, 0xdd, 0xd0, 0xb8, 0x03, 0xec, 0x80, 0x93, 0xc5, 0x9d, - 0x29, 0xbb, 0x7d, 0x1d, 0xcf, 0x86, 0x90, 0x0f, 0x9e, 0xc2, 0x02, 0x4b, 0x05, 0xb5, 0x37, 0x60, - 0x4d, 0x76, 0x81, 0x7e, 0xdc, 0x3f, 0x20, 0x5f, 0x62, 0xf8, 0x99, 0x4a, 0x44, 0x62, 0x91, 0x88, - 0xe8, 0x8e, 0xfb, 0xb8, 0x7f, 0xc0, 0xf8, 0x1f, 0xf7, 0x91, 0xdc, 0x56, 0x94, 0xf1, 0x7e, 0xa2, - 0x00, 0x49, 0x92, 0xcb, 0xbb, 0x89, 0xf2, 0x7f, 0xc0, 0x5d, 0xc6, 0xb8, 0xb2, 0xdc, 0xd3, 0x70, - 0x65, 0xc5, 0xdf, 0x57, 0x60, 0xcd, 0xd4, 0x6b, 0x1c, 0x5e, 0x9e, 0xdd, 0x39, 0x5c, 0x81, 0x8b, - 0xa6, 0x5e, 0x73, 0x9a, 0x8d, 0xaa, 0x59, 0x7a, 0xe8, 0xa4, 0xa2, 0xc6, 0x5e, 0x84, 0xe7, 0x93, - 0x24, 0xe1, 0xdd, 0xc4, 0x05, 0xd8, 0x48, 0x66, 0x0b, 0x64, 0xd9, 0xf4, 0xc2, 0x02, 0x84, 0x36, - 0x5b, 0x7c, 0x1d, 0xd6, 0x04, 0x8a, 0x6a, 0xab, 0x6a, 0x23, 0x4e, 0xfb, 0x1a, 0x14, 0xf6, 0x0c, - 0xcb, 0xac, 0x3c, 0x74, 0x2a, 0xed, 0x6a, 0x55, 0x9d, 0x23, 0x2b, 0xb0, 0xc4, 0x13, 0x4a, 0xba, - 0xaa, 0x90, 0x65, 0xc8, 0x9b, 0x75, 0xdb, 0x28, 0xb5, 0x2d, 0x43, 0xcd, 0x14, 0x5f, 0x87, 0xd5, - 0xe6, 0xa8, 0xfb, 0x8e, 0x3b, 0xf6, 0x1e, 0x78, 0x8f, 0xf1, 0x6a, 0x61, 0x11, 0xb2, 0x96, 0xbe, - 0xaf, 0xce, 0x11, 0x80, 0x85, 0xe6, 0x83, 0x92, 0x7d, 0xe7, 0x8e, 0xaa, 0x90, 0x02, 0x2c, 0xee, - 0x94, 0x9a, 0xce, 0x83, 0x9a, 0xad, 0x66, 0xe8, 0x83, 0xbe, 0x6f, 0xe3, 0x43, 0xb6, 0xf8, 0x59, - 0x58, 0x47, 0x5e, 0xa1, 0xda, 0xf5, 0xc7, 0x5e, 0xdf, 0x1b, 0x61, 0x1b, 0x96, 0x21, 0x6f, 0x7b, - 0x74, 0x91, 0x8f, 0x3d, 0xd6, 0x80, 0xda, 0xa4, 0x37, 0xee, 0x0e, 0x7b, 0xde, 0xb7, 0x54, 0xa5, - 0x78, 0x0f, 0xd6, 0xac, 0xc1, 0x64, 0xdc, 0xed, 0x1f, 0xd9, 0x63, 0x4a, 0x71, 0xf4, 0x98, 0x3c, - 0x07, 0xeb, 0xed, 0xba, 0x5e, 0xdb, 0x36, 0x77, 0xda, 0x8d, 0xb6, 0xed, 0xd4, 0xf4, 0x56, 0x69, - 0x97, 0x5d, 0x6c, 0xd4, 0x1a, 0x76, 0xcb, 0xb1, 0x8c, 0x92, 0x51, 0x6f, 0xa9, 0x4a, 0xf1, 0x7b, - 0xa8, 0xf6, 0x38, 0x18, 0xf4, 0x3b, 0x15, 0x17, 0xe3, 0xf6, 0xd3, 0x06, 0x6b, 0x70, 0xc9, 0x36, - 0x4a, 0x8d, 0x7a, 0xd9, 0xa9, 0xe8, 0xa5, 0x56, 0xc3, 0x4a, 0x83, 0x2d, 0xde, 0x84, 0x73, 0x29, - 0x34, 0x8d, 0x56, 0x53, 0x55, 0xc8, 0x65, 0xd8, 0x4a, 0xc9, 0xdb, 0x37, 0xb6, 0xf5, 0x76, 0x6b, - 0xb7, 0xae, 0x66, 0xa6, 0x14, 0xb6, 0xed, 0x86, 0x9a, 0x2d, 0xfe, 0xb6, 0x02, 0xab, 0x6d, 0x9f, - 0x5b, 0x15, 0xb7, 0xd1, 0xa1, 0xf0, 0x05, 0xb8, 0xd0, 0xb6, 0x0d, 0xcb, 0x69, 0x35, 0x1e, 0x18, - 0x75, 0xa7, 0x6d, 0xeb, 0x3b, 0xf1, 0xd6, 0x5c, 0x86, 0x2d, 0x89, 0xc2, 0x32, 0x4a, 0x8d, 0x3d, - 0xc3, 0x72, 0x9a, 0xba, 0x6d, 0xef, 0x37, 0xac, 0xb2, 0xaa, 0xd0, 0x37, 0xa6, 0x10, 0xd4, 0x2a, - 0x3a, 0x6b, 0x4d, 0x24, 0xaf, 0x6e, 0xec, 0xeb, 0x55, 0x67, 0xbb, 0xd1, 0x52, 0xb3, 0xc5, 0x1a, - 0x3d, 0x7a, 0x11, 0x3c, 0x94, 0xd9, 0xc2, 0xe5, 0x21, 0x57, 0x6f, 0xd4, 0x8d, 0xf8, 0x75, 0xd8, - 0x32, 0xe4, 0xf5, 0x66, 0xd3, 0x6a, 0xec, 0xe1, 0x14, 0x03, 0x58, 0x28, 0x1b, 0x75, 0xda, 0xb2, - 0x2c, 0xcd, 0x69, 0x5a, 0x8d, 0x5a, 0xa3, 0x65, 0x94, 0xd5, 0x5c, 0xd1, 0x12, 0x4b, 0x58, 0x54, - 0x7a, 0x30, 0x60, 0x77, 0x4f, 0x65, 0xa3, 0xa2, 0xb7, 0xab, 0x2d, 0x3e, 0x44, 0x0f, 0x1d, 0xcb, - 0x78, 0xa3, 0x6d, 0xd8, 0x2d, 0x5b, 0x55, 0x88, 0x0a, 0xcb, 0x75, 0xc3, 0x28, 0xdb, 0x8e, 0x65, - 0xec, 0x99, 0xc6, 0xbe, 0x9a, 0xa1, 0x75, 0xb2, 0xff, 0xf4, 0x0d, 0xc5, 0xf7, 0x14, 0x20, 0x0c, - 0x78, 0x55, 0x44, 0xf3, 0xc0, 0x19, 0x73, 0x09, 0x36, 0x77, 0xe9, 0x50, 0xe3, 0xa7, 0xd5, 0x1a, - 0xe5, 0x78, 0x97, 0x9d, 0x03, 0x12, 0xcb, 0x6f, 0x54, 0x2a, 0xaa, 0x42, 0xb6, 0xe0, 0x4c, 0x2c, - 0xbd, 0x6c, 0x35, 0x9a, 0x6a, 0x66, 0x33, 0x93, 0x57, 0xc8, 0xf9, 0x44, 0xe6, 0x03, 0xc3, 0x68, - 0xaa, 0x59, 0x3a, 0x44, 0xb1, 0x0c, 0xb1, 0x24, 0x58, 0xf1, 0x5c, 0xf1, 0x3b, 0x0a, 0x9c, 0x63, - 0xcd, 0x14, 0xeb, 0x2b, 0x68, 0xea, 0x05, 0xd8, 0xe0, 0x70, 0xd2, 0x69, 0x0d, 0x3d, 0x0b, 0x6a, - 0x24, 0x97, 0x35, 0xf3, 0x39, 0x58, 0x8f, 0xa4, 0x62, 0x3b, 0x32, 0x74, 0xf7, 0x88, 0x24, 0x6f, - 0x1b, 0x76, 0xcb, 0x31, 0x2a, 0x95, 0x86, 0xd5, 0x62, 0x0d, 0xc9, 0x16, 0x35, 0x58, 0x2f, 0x79, - 0xa3, 0x31, 0x95, 0x8a, 0xfa, 0x7e, 0x77, 0xd0, 0xc7, 0x26, 0xac, 0xc0, 0x92, 0xf1, 0x95, 0x96, - 0x51, 0xb7, 0xcd, 0x46, 0x5d, 0x9d, 0x2b, 0x5e, 0x88, 0xd1, 0x88, 0x75, 0x6c, 0xdb, 0xbb, 0xea, - 0x5c, 0xd1, 0x85, 0x15, 0x61, 0xbf, 0xcb, 0x66, 0xc5, 0x25, 0xd8, 0x14, 0x73, 0x0d, 0x77, 0x94, - 0xf8, 0x27, 0x6c, 0xc0, 0xd9, 0x64, 0xbe, 0xd1, 0x52, 0x15, 0x3a, 0x0a, 0xb1, 0x1c, 0x9a, 0x9e, - 0x29, 0xfe, 0xa6, 0x02, 0x2b, 0xc1, 0x7d, 0x06, 0x6a, 0x50, 0x2f, 0xc3, 0x56, 0xad, 0xa2, 0x3b, - 0x65, 0x63, 0xcf, 0x2c, 0x19, 0xce, 0x03, 0xb3, 0x5e, 0x8e, 0xbd, 0xe4, 0x79, 0x78, 0x2e, 0x85, - 0x00, 0xdf, 0xb2, 0x01, 0x67, 0xe3, 0x59, 0x2d, 0xba, 0x54, 0x33, 0xb4, 0xeb, 0xe3, 0x39, 0xc1, - 0x3a, 0xcd, 0x16, 0xff, 0x54, 0x81, 0x0d, 0x1e, 0x2e, 0x9d, 0xdf, 0xac, 0xb0, 0x38, 0x1a, 0x08, - 0x34, 0x5b, 0x84, 0x1b, 0x2d, 0xab, 0x6d, 0xb7, 0x8c, 0xb2, 0x28, 0x4e, 0x27, 0xad, 0x69, 0x19, - 0x35, 0xa3, 0xde, 0x8a, 0xb5, 0xed, 0x36, 0x7c, 0x6a, 0x06, 0x6d, 0xbd, 0xd1, 0x12, 0xcf, 0x74, - 0xad, 0x7e, 0x0a, 0xae, 0xce, 0x20, 0x0e, 0x08, 0x33, 0xc5, 0x3d, 0x58, 0xb5, 0xf5, 0x5a, 0xb5, - 0x32, 0x18, 0x1d, 0x78, 0xfa, 0x64, 0x7c, 0xdc, 0x27, 0x5b, 0x70, 0xbe, 0xd2, 0xb0, 0x4a, 0x86, - 0x83, 0x5f, 0x10, 0x6b, 0xc4, 0x19, 0x58, 0x93, 0x33, 0x1f, 0x1a, 0x74, 0x75, 0x11, 0x58, 0x95, - 0x13, 0xeb, 0x0d, 0x35, 0x53, 0xfc, 0x2a, 0x2c, 0x47, 0x62, 0x8e, 0x9d, 0x87, 0x33, 0xf2, 0x73, - 0xd3, 0xeb, 0x77, 0xba, 0xfd, 0x23, 0x75, 0x2e, 0x9e, 0x61, 0x4d, 0xfa, 0x7d, 0x9a, 0x81, 0xdb, - 0x8d, 0x9c, 0xd1, 0xf2, 0x46, 0x27, 0xdd, 0xbe, 0x3b, 0xf6, 0x3a, 0x6a, 0xa6, 0xf8, 0x12, 0xac, - 0x44, 0x90, 0x8e, 0xe9, 0xbc, 0xaa, 0x36, 0xf8, 0xf9, 0x50, 0x33, 0xca, 0x66, 0xbb, 0xa6, 0xce, - 0xd3, 0x8d, 0x66, 0xd7, 0xdc, 0xd9, 0x55, 0xa1, 0xf8, 0x7d, 0x85, 0x4a, 0x28, 0xd8, 0xef, 0xb5, - 0x8a, 0x2e, 0x66, 0x22, 0x5d, 0x05, 0x0c, 0x3f, 0xdd, 0xb0, 0x6d, 0x76, 0x49, 0x7d, 0x01, 0x36, - 0xf8, 0x83, 0xa3, 0xd7, 0xcb, 0xce, 0xae, 0x6e, 0x95, 0xf7, 0x75, 0x8b, 0x2e, 0x8d, 0x87, 0x6a, - 0x06, 0xd7, 0xbb, 0x94, 0xe2, 0xb4, 0x1a, 0xed, 0xd2, 0xae, 0x9a, 0xa5, 0xcb, 0x2b, 0x92, 0xde, - 0x34, 0xeb, 0x6a, 0x0e, 0x77, 0x8f, 0x04, 0x35, 0x56, 0x4b, 0xf3, 0xe7, 0x8b, 0x1f, 0x2a, 0x70, - 0xde, 0xee, 0x1e, 0xf5, 0xdd, 0xf1, 0x64, 0xe4, 0xe9, 0xbd, 0xa3, 0xc1, 0xa8, 0x3b, 0x3e, 0x3e, - 0xb1, 0x27, 0xdd, 0xb1, 0x47, 0x6e, 0xc1, 0x75, 0xdb, 0xdc, 0xa9, 0xeb, 0x2d, 0xba, 0xfa, 0xf5, - 0xea, 0x4e, 0xc3, 0x32, 0x5b, 0xbb, 0x35, 0xc7, 0x6e, 0x9b, 0x89, 0x85, 0x71, 0x0d, 0x5e, 0x98, - 0x4e, 0x5a, 0x35, 0x76, 0xf4, 0xd2, 0x43, 0x55, 0x99, 0x5d, 0xe1, 0xb6, 0x5e, 0xd5, 0xeb, 0x25, - 0xa3, 0xec, 0xec, 0xdd, 0x51, 0x33, 0xe4, 0x3a, 0x5c, 0x99, 0x4e, 0x5a, 0x31, 0x9b, 0x36, 0x25, - 0xcb, 0xce, 0x7e, 0xef, 0xae, 0x5d, 0xa3, 0x54, 0xb9, 0xe2, 0x9f, 0x28, 0xb0, 0x31, 0x0d, 0x28, - 0x87, 0xdc, 0x00, 0xcd, 0xa8, 0xb7, 0x2c, 0xdd, 0x2c, 0x3b, 0x25, 0xcb, 0x28, 0x1b, 0xf5, 0x96, - 0xa9, 0x57, 0x6d, 0xc7, 0x6e, 0xb4, 0xe9, 0x6c, 0x0a, 0x6d, 0x09, 0xae, 0xc2, 0xe5, 0x19, 0x74, - 0x0d, 0xb3, 0x5c, 0x52, 0x15, 0x72, 0x07, 0x5e, 0x9c, 0x41, 0x64, 0x3f, 0xb4, 0x5b, 0x46, 0x4d, - 0xce, 0x51, 0x33, 0xc5, 0x12, 0x6c, 0x4e, 0xc7, 0xda, 0xa0, 0xa7, 0x48, 0xb4, 0xa7, 0xf3, 0x90, - 0x2b, 0xd3, 0x83, 0x2b, 0x02, 0xb3, 0x5f, 0xec, 0x82, 0x1a, 0xf7, 0xf4, 0x4f, 0x18, 0x7d, 0x58, - 0xed, 0x7a, 0x9d, 0x9d, 0x72, 0x6b, 0x50, 0x68, 0xb4, 0x76, 0x0d, 0x8b, 0x07, 0x2a, 0xc0, 0xc8, - 0x04, 0xed, 0x3a, 0x5d, 0x38, 0x0d, 0xcb, 0x7c, 0x13, 0x8f, 0xbb, 0x0d, 0x38, 0x6b, 0x57, 0xf5, - 0xd2, 0x03, 0x5c, 0xd3, 0x66, 0xdd, 0x29, 0xed, 0xea, 0xf5, 0xba, 0x51, 0x55, 0x01, 0x3b, 0x73, - 0x9a, 0x77, 0x1f, 0xf9, 0x34, 0xdc, 0x6c, 0x3c, 0x68, 0xe9, 0x4e, 0xb3, 0xda, 0xde, 0x31, 0xeb, - 0x8e, 0xfd, 0xb0, 0x5e, 0x12, 0xac, 0x59, 0x29, 0x79, 0x22, 0xdc, 0x84, 0x6b, 0x33, 0xa9, 0xc3, - 0x90, 0x02, 0x37, 0x40, 0x9b, 0x49, 0xc9, 0x3f, 0xa4, 0xf8, 0x63, 0x05, 0xb6, 0x66, 0xdc, 0x3e, - 0x93, 0x17, 0xe1, 0xd6, 0xae, 0xa1, 0x97, 0xab, 0x86, 0x6d, 0xe3, 0x46, 0x41, 0x87, 0x81, 0x19, - 0x87, 0xa4, 0xee, 0xf7, 0xb7, 0xe0, 0xfa, 0x6c, 0xf2, 0x90, 0x73, 0xb8, 0x09, 0xd7, 0x66, 0x93, - 0x72, 0x4e, 0x22, 0x43, 0xf7, 0xdb, 0xd9, 0x94, 0x01, 0x07, 0x92, 0x2d, 0xfe, 0xae, 0x02, 0xe7, - 0xd2, 0x55, 0x40, 0xb4, 0x6d, 0x66, 0xdd, 0x6e, 0xe9, 0xd5, 0xaa, 0xd3, 0xd4, 0x2d, 0xbd, 0xe6, - 0x18, 0x75, 0xab, 0x51, 0xad, 0xa6, 0x9d, 0xbc, 0xd7, 0xe0, 0x85, 0xe9, 0xa4, 0x76, 0xc9, 0x32, - 0x9b, 0xf4, 0x70, 0xd1, 0xe0, 0xd2, 0x74, 0x2a, 0xc3, 0x2c, 0x19, 0x6a, 0x66, 0xfb, 0xb5, 0xf7, - 0xff, 0xe5, 0xd2, 0xdc, 0xfb, 0x1f, 0x5e, 0x52, 0x7e, 0xf2, 0xe1, 0x25, 0xe5, 0x9f, 0x3f, 0xbc, - 0xa4, 0xbc, 0x79, 0xfb, 0x74, 0xd1, 0x78, 0x50, 0x2c, 0x79, 0x7b, 0x01, 0xad, 0xa1, 0x5e, 0xfe, - 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x58, 0xe7, 0xf4, 0x89, 0x61, 0xaf, 0x01, 0x00, + // 29395 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xfd, 0x6b, 0x70, 0x1c, 0x59, + 0x76, 0x20, 0x06, 0x77, 0x55, 0xe1, 0x51, 0x38, 0x78, 0x15, 0x2e, 0x40, 0x12, 0x44, 0x37, 0xbb, + 0xd8, 0xd9, 0xdd, 0x6c, 0x76, 0x4f, 0x37, 0x39, 0x04, 0xa7, 0x39, 0xd3, 0xd3, 0xaf, 0x29, 0x3c, + 0x48, 0x16, 0x09, 0x82, 0x98, 0x2c, 0x90, 0x9c, 0xd6, 0x3c, 0x72, 0x12, 0x55, 0x17, 0x40, 0x36, + 0xaa, 0x2a, 0x6b, 0x32, 0xb3, 0x48, 0x62, 0x66, 0xf5, 0xad, 0x9e, 0xab, 0x4f, 0x21, 0xeb, 0xb5, + 0x96, 0x56, 0xb3, 0x0e, 0xad, 0xac, 0x90, 0xbd, 0xb6, 0x62, 0x1d, 0xab, 0xb0, 0x25, 0x2b, 0xfc, + 0x50, 0x58, 0x2b, 0x6d, 0x28, 0x64, 0x85, 0xc2, 0xb1, 0x52, 0xd8, 0xf2, 0x6b, 0xac, 0x80, 0x2c, + 0xcb, 0x3f, 0x6c, 0x44, 0x38, 0x42, 0xf2, 0x86, 0xed, 0xf0, 0x6c, 0x68, 0xd7, 0x71, 0xcf, 0x3d, + 0x37, 0xf3, 0xde, 0xac, 0x2c, 0xa0, 0xd0, 0xcd, 0xd1, 0x8a, 0x13, 0xfa, 0x43, 0xa2, 0xce, 0x3d, + 0xe7, 0xdc, 0x9b, 0xf7, 0x79, 0xee, 0xb9, 0xe7, 0x01, 0x2f, 0x44, 0xbc, 0xc9, 0x3b, 0x7e, 0x10, + 0x5d, 0x6e, 0xf2, 0x1d, 0xb7, 0xbe, 0x7f, 0x39, 0xda, 0xef, 0xf0, 0x50, 0xfe, 0x7b, 0xa9, 0x13, + 0xf8, 0x91, 0xcf, 0x86, 0xf1, 0xc7, 0xc2, 0xdc, 0x8e, 0xbf, 0xe3, 0x23, 0xe4, 0xb2, 0xf8, 0x4b, + 0x16, 0x2e, 0x3c, 0xbf, 0xe3, 0xfb, 0x3b, 0x4d, 0x7e, 0x19, 0x7f, 0x6d, 0x75, 0xb7, 0x2f, 0x37, + 0xba, 0x81, 0x1b, 0x79, 0x7e, 0x9b, 0xca, 0xcb, 0xe9, 0xf2, 0xc8, 0x6b, 0xf1, 0x30, 0x72, 0x5b, + 0x9d, 0x7e, 0x0c, 0x1e, 0x05, 0x6e, 0xa7, 0xc3, 0x03, 0xaa, 0x7d, 0xe1, 0xd5, 0xb8, 0x81, 0x6e, + 0x14, 0x09, 0x4a, 0xc1, 0xfc, 0xf2, 0xc3, 0x2b, 0xfa, 0x4f, 0x42, 0x7d, 0x23, 0xfb, 0x5b, 0x14, + 0xc3, 0x14, 0x67, 0xeb, 0x17, 0x0a, 0x30, 0x76, 0x9b, 0xf3, 0x4e, 0xa5, 0xe9, 0x3d, 0xe4, 0xec, + 0x45, 0x18, 0x5a, 0x77, 0x5b, 0x7c, 0x3e, 0x77, 0x3e, 0x77, 0x71, 0x6c, 0x69, 0xfa, 0xf0, 0xa0, + 0x3c, 0x1e, 0xf2, 0xe0, 0x21, 0x0f, 0x9c, 0xb6, 0xdb, 0xe2, 0x36, 0x16, 0xb2, 0x4f, 0xc0, 0x98, + 0xf8, 0x3f, 0xec, 0xb8, 0x75, 0x3e, 0x9f, 0x47, 0xcc, 0xc9, 0xc3, 0x83, 0xf2, 0x58, 0x5b, 0x01, + 0xed, 0xa4, 0x9c, 0x55, 0x61, 0x74, 0xf5, 0x71, 0xc7, 0x0b, 0x78, 0x38, 0x3f, 0x74, 0x3e, 0x77, + 0x71, 0x7c, 0x71, 0xe1, 0x92, 0xfc, 0xd6, 0x4b, 0xea, 0x5b, 0x2f, 0x6d, 0xaa, 0xce, 0x58, 0x9a, + 0xfd, 0xbd, 0x83, 0xf2, 0x33, 0x87, 0x07, 0xe5, 0x51, 0x2e, 0x49, 0x7e, 0xea, 0x4f, 0xca, 0x39, + 0x5b, 0xd1, 0xb3, 0x77, 0x60, 0x68, 0x73, 0xbf, 0xc3, 0xe7, 0xc7, 0xce, 0xe7, 0x2e, 0x4e, 0x2d, + 0x3e, 0x7f, 0x49, 0x0e, 0x4f, 0xdc, 0xf8, 0xe4, 0x2f, 0x81, 0xb5, 0x54, 0x3c, 0x3c, 0x28, 0x0f, + 0x09, 0x14, 0x1b, 0xa9, 0xd8, 0x1b, 0x30, 0x72, 0xd3, 0x0f, 0xa3, 0xea, 0xca, 0x3c, 0x60, 0x93, + 0x4f, 0x1d, 0x1e, 0x94, 0x67, 0x76, 0xfd, 0x30, 0x72, 0xbc, 0xc6, 0xeb, 0x7e, 0xcb, 0x8b, 0x78, + 0xab, 0x13, 0xed, 0xdb, 0x84, 0x64, 0x3d, 0x86, 0x49, 0x83, 0x1f, 0x1b, 0x87, 0xd1, 0x7b, 0xeb, + 0xb7, 0xd7, 0xef, 0x3e, 0x58, 0x2f, 0x3d, 0xc3, 0x8a, 0x30, 0xb4, 0x7e, 0x77, 0x65, 0xb5, 0x94, + 0x63, 0xa3, 0x50, 0xa8, 0x6c, 0x6c, 0x94, 0xf2, 0x6c, 0x02, 0x8a, 0x2b, 0x95, 0xcd, 0xca, 0x52, + 0xa5, 0xb6, 0x5a, 0x2a, 0xb0, 0x59, 0x98, 0x7e, 0x50, 0x5d, 0x5f, 0xb9, 0xfb, 0xa0, 0xe6, 0xac, + 0xac, 0xd6, 0x6e, 0x6f, 0xde, 0xdd, 0x28, 0x0d, 0xb1, 0x29, 0x80, 0xdb, 0xf7, 0x96, 0x56, 0xed, + 0xf5, 0xd5, 0xcd, 0xd5, 0x5a, 0x69, 0x98, 0xcd, 0x41, 0x49, 0x91, 0x38, 0xb5, 0x55, 0xfb, 0x7e, + 0x75, 0x79, 0xb5, 0x34, 0x72, 0x6b, 0xa8, 0x58, 0x28, 0x0d, 0xd9, 0xa3, 0x6b, 0xdc, 0x0d, 0x79, + 0x75, 0xc5, 0xfa, 0x77, 0x0a, 0x50, 0xbc, 0xc3, 0x23, 0xb7, 0xe1, 0x46, 0x2e, 0x7b, 0xce, 0x18, + 0x1f, 0xfc, 0x44, 0x6d, 0x60, 0x5e, 0xec, 0x1d, 0x98, 0xe1, 0xc3, 0x83, 0x72, 0xee, 0x0d, 0x7d, + 0x40, 0xde, 0x86, 0xf1, 0x15, 0x1e, 0xd6, 0x03, 0xaf, 0x23, 0x26, 0xcd, 0x7c, 0x01, 0xd1, 0xce, + 0x1e, 0x1e, 0x94, 0x4f, 0x35, 0x12, 0xb0, 0xd6, 0x21, 0x3a, 0x36, 0xab, 0xc2, 0xc8, 0x9a, 0xbb, + 0xc5, 0x9b, 0xe1, 0xfc, 0xf0, 0xf9, 0xc2, 0xc5, 0xf1, 0xc5, 0x67, 0x69, 0x10, 0x54, 0x03, 0x2f, + 0xc9, 0xd2, 0xd5, 0x76, 0x14, 0xec, 0x2f, 0xcd, 0x1d, 0x1e, 0x94, 0x4b, 0x4d, 0x04, 0xe8, 0x1d, + 0x2c, 0x51, 0x58, 0x2d, 0x99, 0x18, 0x23, 0xc7, 0x4e, 0x8c, 0x73, 0xbf, 0x77, 0x50, 0xce, 0x89, + 0x01, 0xa3, 0x89, 0x91, 0xf0, 0x33, 0xa7, 0xc8, 0x22, 0x14, 0x6d, 0xfe, 0xd0, 0x0b, 0xc5, 0x97, + 0x15, 0xf1, 0xcb, 0x4e, 0x1f, 0x1e, 0x94, 0x59, 0x40, 0x30, 0xad, 0x19, 0x31, 0xde, 0xc2, 0x5b, + 0x30, 0xae, 0xb5, 0x9a, 0x95, 0xa0, 0xb0, 0xc7, 0xf7, 0x65, 0x0f, 0xdb, 0xe2, 0x4f, 0x36, 0x07, + 0xc3, 0x0f, 0xdd, 0x66, 0x97, 0xba, 0xd4, 0x96, 0x3f, 0x3e, 0x9b, 0xff, 0x4c, 0xee, 0xd6, 0x50, + 0x71, 0xb4, 0x54, 0xb4, 0xf3, 0xd5, 0x15, 0xeb, 0xef, 0x0e, 0x41, 0xd1, 0xf6, 0xe5, 0x42, 0x64, + 0xaf, 0xc2, 0x70, 0x2d, 0x72, 0x23, 0x35, 0x4c, 0xb3, 0x87, 0x07, 0xe5, 0x69, 0xb1, 0x48, 0xb9, + 0x56, 0xbf, 0xc4, 0x10, 0xa8, 0x1b, 0xbb, 0x6e, 0xa8, 0x86, 0x0b, 0x51, 0x3b, 0x02, 0xa0, 0xa3, + 0x22, 0x06, 0xbb, 0x00, 0x43, 0x77, 0xfc, 0x06, 0xa7, 0x11, 0x63, 0x87, 0x07, 0xe5, 0xa9, 0x96, + 0xdf, 0xd0, 0x11, 0xb1, 0x9c, 0xbd, 0x0e, 0x63, 0xcb, 0xdd, 0x20, 0xe0, 0x6d, 0x31, 0xd7, 0x87, + 0x10, 0x79, 0xea, 0xf0, 0xa0, 0x0c, 0x75, 0x09, 0x74, 0xbc, 0x86, 0x9d, 0x20, 0x88, 0x61, 0xa8, + 0x45, 0x6e, 0x10, 0xf1, 0xc6, 0xfc, 0xf0, 0x40, 0xc3, 0x20, 0xd6, 0xe7, 0x4c, 0x28, 0x49, 0xd2, + 0xc3, 0x40, 0x9c, 0xd8, 0x4d, 0x18, 0xbf, 0x11, 0xb8, 0x75, 0xbe, 0xc1, 0x03, 0xcf, 0x6f, 0xe0, + 0xf8, 0x16, 0x96, 0x2e, 0x1c, 0x1e, 0x94, 0x4f, 0xef, 0x08, 0xb0, 0xd3, 0x41, 0x78, 0x42, 0xfd, + 0xed, 0x83, 0x72, 0x71, 0x85, 0xb6, 0x4c, 0x5b, 0x27, 0x65, 0x5f, 0x15, 0x83, 0x13, 0x46, 0xd8, + 0xb5, 0xbc, 0x31, 0x3f, 0x7a, 0x6c, 0x13, 0x2d, 0x6a, 0xe2, 0xe9, 0xa6, 0x1b, 0x46, 0x4e, 0x20, + 0xe9, 0x52, 0xed, 0xd4, 0x59, 0xb2, 0xbb, 0x50, 0xac, 0xd5, 0x77, 0x79, 0xa3, 0xdb, 0xe4, 0x38, + 0x65, 0xc6, 0x17, 0xcf, 0xd0, 0xa4, 0x56, 0xe3, 0xa9, 0x8a, 0x97, 0x16, 0x88, 0x37, 0x0b, 0x09, + 0xa2, 0xcf, 0x27, 0x85, 0xf5, 0xd9, 0xe2, 0x37, 0x7f, 0xb1, 0xfc, 0xcc, 0xf7, 0xfd, 0xf1, 0xf9, + 0x67, 0xac, 0xff, 0x24, 0x0f, 0xa5, 0x34, 0x13, 0xb6, 0x0d, 0x93, 0xf7, 0x3a, 0x0d, 0x37, 0xe2, + 0xcb, 0x4d, 0x8f, 0xb7, 0xa3, 0x10, 0x27, 0xc9, 0xd1, 0xdf, 0xf4, 0x12, 0xd5, 0x3b, 0xdf, 0x45, + 0x42, 0xa7, 0x2e, 0x29, 0x53, 0x5f, 0x65, 0xb2, 0x4d, 0xea, 0xa9, 0xe1, 0x06, 0x1e, 0xe2, 0x0c, + 0x3b, 0x59, 0x3d, 0x72, 0xeb, 0xef, 0x53, 0x0f, 0xb1, 0xa5, 0x09, 0xd4, 0x6e, 0x6c, 0xed, 0xe3, + 0xcc, 0x1c, 0x7c, 0x02, 0x09, 0x92, 0x8c, 0x09, 0x24, 0xc0, 0xd6, 0xff, 0x9a, 0x83, 0x29, 0x9b, + 0x87, 0x7e, 0x37, 0xa8, 0xf3, 0x9b, 0xdc, 0x6d, 0xf0, 0x40, 0x4c, 0xff, 0xdb, 0x5e, 0xbb, 0x41, + 0x6b, 0x0a, 0xa7, 0xff, 0x9e, 0xd7, 0xd6, 0xb7, 0x6e, 0x2c, 0x67, 0x9f, 0x84, 0xd1, 0x5a, 0x77, + 0x0b, 0x51, 0xf3, 0xc9, 0x0e, 0x10, 0x76, 0xb7, 0x9c, 0x14, 0xba, 0x42, 0x63, 0x97, 0x61, 0xf4, + 0x3e, 0x0f, 0xc2, 0x64, 0x37, 0xc4, 0xa3, 0xe1, 0xa1, 0x04, 0xe9, 0x04, 0x84, 0xc5, 0x6e, 0x24, + 0x3b, 0x32, 0x1d, 0x6a, 0xd3, 0xa9, 0x7d, 0x30, 0x99, 0x2a, 0x2d, 0x82, 0xe8, 0x53, 0x45, 0x61, + 0x59, 0x3f, 0x9d, 0x87, 0xd2, 0x8a, 0x1b, 0xb9, 0x5b, 0x6e, 0x48, 0xfd, 0x79, 0xff, 0xaa, 0xd8, + 0xe3, 0xb5, 0x0f, 0xc5, 0x3d, 0x5e, 0xb4, 0xfc, 0x23, 0x7f, 0xde, 0xcb, 0xe9, 0xcf, 0x1b, 0x17, + 0x27, 0x2c, 0x7d, 0x5e, 0xf2, 0x51, 0xef, 0x1e, 0xff, 0x51, 0x25, 0xfa, 0xa8, 0xa2, 0xfa, 0xa8, + 0xe4, 0x53, 0xd8, 0xbb, 0x30, 0x54, 0xeb, 0xf0, 0x3a, 0x6d, 0x22, 0xea, 0x5c, 0x30, 0x3f, 0x4e, + 0x20, 0xdc, 0xbf, 0xba, 0x34, 0x41, 0x6c, 0x86, 0xc2, 0x0e, 0xaf, 0xdb, 0x48, 0xa6, 0x2d, 0x9a, + 0xff, 0xb4, 0x00, 0x73, 0x59, 0x64, 0xfa, 0x77, 0x8c, 0x1c, 0xf1, 0x1d, 0x17, 0xa1, 0x28, 0x8e, + 0x70, 0x71, 0x2c, 0xe2, 0x76, 0x31, 0xb6, 0x34, 0x21, 0x9a, 0xbc, 0x4b, 0x30, 0x3b, 0x2e, 0x65, + 0x2f, 0xc6, 0x12, 0x41, 0x31, 0xe1, 0x47, 0x12, 0x81, 0x92, 0x03, 0xc4, 0x58, 0xab, 0x25, 0x8c, + 0x82, 0x43, 0xd2, 0x2d, 0x0a, 0x9c, 0x8c, 0x75, 0x40, 0x10, 0xe3, 0x98, 0x51, 0x87, 0xc2, 0x2a, + 0x14, 0xd5, 0x67, 0xcd, 0x4f, 0x20, 0xa3, 0x99, 0x54, 0x27, 0xdd, 0xbf, 0x2a, 0x07, 0xb3, 0x41, + 0xbf, 0x75, 0x36, 0x0a, 0x87, 0x5d, 0x85, 0xe2, 0x46, 0xe0, 0x3f, 0xde, 0xaf, 0xae, 0x84, 0xf3, + 0x93, 0xe7, 0x0b, 0x17, 0xc7, 0x96, 0xce, 0x1c, 0x1e, 0x94, 0x67, 0x3b, 0x02, 0xe6, 0x78, 0x0d, + 0xfd, 0xa4, 0x8d, 0x11, 0x6f, 0x0d, 0x15, 0x73, 0xa5, 0xfc, 0xad, 0xa1, 0x62, 0xbe, 0x54, 0x90, + 0xe2, 0xc5, 0xad, 0xa1, 0xe2, 0x50, 0x69, 0xf8, 0xd6, 0x50, 0x71, 0x18, 0x05, 0x8e, 0xb1, 0x12, + 0xdc, 0x1a, 0x2a, 0x8e, 0x97, 0x26, 0x8c, 0xd3, 0x1e, 0x19, 0x44, 0x7e, 0xdd, 0x6f, 0xda, 0x85, + 0x7b, 0x76, 0xd5, 0x1e, 0x59, 0xae, 0x2c, 0xf3, 0x20, 0xb2, 0x0b, 0x95, 0x07, 0x35, 0x7b, 0x72, + 0x65, 0xbf, 0xed, 0xb6, 0xbc, 0xba, 0x3c, 0x3a, 0xed, 0xc2, 0x8d, 0xe5, 0x0d, 0xab, 0x02, 0x53, + 0xc9, 0xb7, 0xac, 0x79, 0x61, 0xc4, 0x2e, 0xc3, 0x98, 0x82, 0x88, 0x8d, 0xae, 0x90, 0xf9, 0xd5, + 0x76, 0x82, 0x63, 0xfd, 0x6e, 0x1e, 0x20, 0x29, 0x79, 0x4a, 0xd7, 0xc2, 0xa7, 0x8d, 0xb5, 0x70, + 0x2a, 0xbd, 0x16, 0xfa, 0xae, 0x02, 0xf6, 0x3e, 0x8c, 0x08, 0xb1, 0xa0, 0xab, 0x44, 0xa2, 0x33, + 0x69, 0x52, 0x2c, 0xbc, 0x7f, 0x75, 0x69, 0x8a, 0x88, 0x47, 0x42, 0x84, 0xd8, 0x44, 0xa6, 0x2d, + 0xa3, 0x5f, 0x18, 0x4d, 0x06, 0x83, 0x16, 0xd0, 0x45, 0x88, 0x07, 0x94, 0x3a, 0x14, 0x57, 0x46, + 0x47, 0x0d, 0x72, 0x5c, 0xca, 0xce, 0x82, 0x18, 0x70, 0xea, 0xd4, 0xd1, 0xc3, 0x83, 0x72, 0xa1, + 0x1b, 0x78, 0x38, 0x09, 0xd8, 0x65, 0xa0, 0x69, 0x40, 0x1d, 0x28, 0x66, 0xdf, 0x4c, 0xdd, 0x75, + 0xea, 0x3c, 0x88, 0x92, 0x1e, 0x9f, 0xcf, 0xa9, 0xd9, 0xc2, 0x3a, 0x60, 0x4e, 0x95, 0xf9, 0x21, + 0x9c, 0x06, 0x17, 0x33, 0x7b, 0xe5, 0x92, 0x81, 0x2a, 0xc5, 0xc8, 0xf3, 0xea, 0x54, 0x6a, 0xc8, + 0x32, 0xa7, 0x47, 0xa4, 0x34, 0x2b, 0x60, 0x57, 0x41, 0xcc, 0x50, 0xea, 0x7d, 0xa0, 0x7a, 0x2a, + 0x0f, 0x6a, 0x4b, 0xa7, 0x88, 0xd3, 0xa4, 0xfb, 0x48, 0x27, 0x17, 0xd8, 0xec, 0x6d, 0x10, 0x53, + 0x98, 0xfa, 0x9d, 0x11, 0xd1, 0x8d, 0xe5, 0x8d, 0xe5, 0xa6, 0xdf, 0x6d, 0xd4, 0x3e, 0xbf, 0x96, + 0x10, 0xef, 0xd4, 0x3b, 0x3a, 0xf1, 0x8d, 0xe5, 0x0d, 0xf6, 0x36, 0x0c, 0x57, 0xbe, 0xde, 0x0d, + 0x38, 0xc9, 0x27, 0x13, 0xaa, 0x4e, 0x01, 0x5b, 0x3a, 0x43, 0x84, 0xd3, 0xae, 0xf8, 0xa9, 0xcb, + 0x75, 0x58, 0x2e, 0x6a, 0xde, 0x5c, 0xab, 0x91, 0xec, 0xc1, 0x52, 0xdd, 0xb2, 0xb9, 0xa6, 0x35, + 0x3b, 0x32, 0xbe, 0x5a, 0x50, 0xb1, 0xcb, 0x90, 0xaf, 0xac, 0xe0, 0x8d, 0x68, 0x7c, 0x71, 0x4c, + 0x55, 0xbb, 0xb2, 0x34, 0x47, 0x24, 0x13, 0xae, 0xbe, 0x0c, 0xf2, 0x95, 0x15, 0xb6, 0x04, 0xc3, + 0x77, 0xf6, 0x6b, 0x9f, 0x5f, 0xa3, 0xcd, 0x6c, 0x56, 0xcd, 0x6b, 0x01, 0xbb, 0x8b, 0xcb, 0x3e, + 0x4c, 0x5a, 0xdc, 0xda, 0x0f, 0xbf, 0xd6, 0xd4, 0x5b, 0x8c, 0x68, 0x6c, 0x03, 0xc6, 0x2a, 0x8d, + 0x96, 0xd7, 0xbe, 0x17, 0xf2, 0x60, 0x7e, 0x1c, 0xf9, 0xcc, 0xa7, 0xda, 0x1d, 0x97, 0x2f, 0xcd, + 0x1f, 0x1e, 0x94, 0xe7, 0x5c, 0xf1, 0xd3, 0xe9, 0x86, 0x3c, 0xd0, 0xb8, 0x25, 0x4c, 0xd8, 0x06, + 0xc0, 0x1d, 0xbf, 0xbd, 0xe3, 0x57, 0xa2, 0xa6, 0x1b, 0xa6, 0xb6, 0xc7, 0xa4, 0x20, 0x16, 0x1f, + 0x4e, 0xb5, 0x04, 0xcc, 0x71, 0x05, 0x50, 0x63, 0xa8, 0xf1, 0x60, 0xd7, 0x61, 0xe4, 0x6e, 0xe0, + 0xd6, 0x9b, 0x7c, 0x7e, 0x12, 0xb9, 0xcd, 0x11, 0x37, 0x09, 0x54, 0x5f, 0x3a, 0x4f, 0x0c, 0x4b, + 0x3e, 0x82, 0xf5, 0x6b, 0x8a, 0x44, 0x5c, 0x78, 0x00, 0xac, 0x77, 0x4e, 0x66, 0x5c, 0x12, 0x3e, + 0xa1, 0x5f, 0x12, 0x92, 0x45, 0xbf, 0xec, 0xb7, 0x5a, 0x6e, 0xbb, 0x81, 0xb4, 0xf7, 0x17, 0xb5, + 0xbb, 0x83, 0xf5, 0x35, 0x98, 0xe9, 0xe9, 0xac, 0x63, 0xee, 0x77, 0xef, 0xc1, 0xf4, 0x0a, 0xdf, + 0x76, 0xbb, 0xcd, 0x28, 0x3e, 0x49, 0xe4, 0x12, 0xc5, 0x9b, 0x56, 0x43, 0x16, 0x39, 0xea, 0xf8, + 0xb0, 0xd3, 0xc8, 0xd6, 0xbb, 0x30, 0x69, 0x7c, 0xbe, 0xb8, 0x2a, 0x54, 0xba, 0x0d, 0x2f, 0xc2, + 0x81, 0xcc, 0x25, 0x57, 0x05, 0x57, 0x00, 0x71, 0xb8, 0xec, 0x04, 0xc1, 0xfa, 0x77, 0x75, 0x69, + 0x85, 0x76, 0x22, 0x71, 0xad, 0xa6, 0xfd, 0x20, 0x97, 0xc8, 0x4e, 0x3d, 0xfb, 0x41, 0xbc, 0x1b, + 0xbc, 0x2a, 0xd7, 0x66, 0xbe, 0x67, 0x6d, 0x8e, 0xd3, 0x48, 0x14, 0xdc, 0x47, 0xa1, 0x5c, 0x91, + 0xf1, 0x4c, 0x2d, 0x7c, 0xf4, 0x99, 0xfa, 0x3e, 0x4c, 0xdc, 0x71, 0xdb, 0xee, 0x0e, 0x6f, 0x88, + 0x2f, 0x90, 0x7b, 0xcf, 0xd8, 0xd2, 0xb3, 0x87, 0x07, 0xe5, 0x33, 0x2d, 0x09, 0xc7, 0xaf, 0xd4, + 0x27, 0x91, 0x41, 0xc0, 0xae, 0xa8, 0x95, 0x3d, 0x9c, 0xb1, 0xb2, 0x27, 0xa9, 0xf6, 0x61, 0x5c, + 0xd9, 0xb4, 0x9e, 0xad, 0xdf, 0x1a, 0xc3, 0x6f, 0x64, 0xaf, 0xc3, 0x88, 0xcd, 0x77, 0xc4, 0x51, + 0x93, 0x4b, 0x06, 0x29, 0x40, 0x88, 0xde, 0x31, 0x12, 0x07, 0xe5, 0x0c, 0xde, 0x08, 0x77, 0xbd, + 0xed, 0x88, 0x7a, 0x27, 0x96, 0x33, 0x08, 0xac, 0xc9, 0x19, 0x04, 0x31, 0xaf, 0xb3, 0x12, 0x26, + 0x76, 0x3f, 0x7b, 0xa5, 0x46, 0x9d, 0xa6, 0x7a, 0xd8, 0x5e, 0xd1, 0xb6, 0x91, 0xc0, 0x90, 0x12, + 0x04, 0x36, 0xbb, 0x06, 0x63, 0x95, 0x7a, 0xdd, 0xef, 0x6a, 0x77, 0x46, 0xb9, 0x6e, 0x25, 0xd0, + 0x54, 0x91, 0x24, 0xa8, 0xac, 0x06, 0xe3, 0xab, 0xe2, 0xa2, 0xe5, 0x2d, 0xbb, 0xf5, 0x5d, 0xd5, + 0x49, 0x6a, 0x0f, 0xd3, 0x4a, 0x92, 0x95, 0xcb, 0x11, 0x58, 0x17, 0x40, 0x5d, 0xc9, 0xa0, 0xe1, + 0xb2, 0x4d, 0x18, 0xaf, 0xf1, 0x7a, 0xc0, 0xa3, 0x5a, 0xe4, 0x07, 0x3c, 0xb5, 0x25, 0x6b, 0x25, + 0x4b, 0xcf, 0xab, 0xbb, 0x5e, 0x88, 0x40, 0x27, 0x14, 0x50, 0x9d, 0xab, 0x86, 0x2c, 0x85, 0xf6, + 0x96, 0x1f, 0xec, 0xaf, 0x2c, 0xd1, 0x36, 0x9d, 0x9c, 0xe9, 0x12, 0xac, 0x0b, 0xed, 0x02, 0xd2, + 0xd8, 0x32, 0x85, 0x76, 0x89, 0x85, 0x23, 0xb5, 0x52, 0x43, 0xd9, 0x8a, 0x36, 0xed, 0xe9, 0xa4, + 0x97, 0x11, 0xac, 0x8d, 0x54, 0x23, 0x44, 0xc9, 0xcc, 0x18, 0x29, 0xc2, 0x62, 0x1d, 0x60, 0x6a, + 0xd4, 0xa4, 0xa0, 0xdb, 0xe4, 0x61, 0x48, 0x7b, 0xf9, 0xd9, 0xd4, 0xe0, 0x27, 0x08, 0x4b, 0x2f, + 0x13, 0xf3, 0x73, 0x6a, 0x1a, 0xd0, 0x3d, 0x4d, 0x14, 0x6a, 0xf5, 0x64, 0xf0, 0x66, 0x6f, 0x01, + 0xac, 0x3e, 0x8e, 0x78, 0xd0, 0x76, 0x9b, 0xb1, 0x1e, 0x0c, 0x55, 0x3f, 0x9c, 0xa0, 0xe6, 0x40, + 0x6b, 0xc8, 0x6c, 0x19, 0x26, 0x2b, 0x61, 0xd8, 0x6d, 0x71, 0xdb, 0x6f, 0xf2, 0x8a, 0xbd, 0x8e, + 0xfb, 0xfe, 0xd8, 0xd2, 0xb9, 0xc3, 0x83, 0xf2, 0x59, 0x17, 0x0b, 0x9c, 0xc0, 0x6f, 0x72, 0xc7, + 0x0d, 0xf4, 0xd9, 0x6d, 0xd2, 0xb0, 0xbb, 0x00, 0x77, 0x3b, 0xbc, 0x5d, 0xe3, 0x6e, 0x50, 0xdf, + 0x4d, 0x6d, 0xf3, 0x49, 0xc1, 0xd2, 0x73, 0xf4, 0x85, 0x73, 0x7e, 0x87, 0xb7, 0x43, 0x84, 0xe9, + 0xad, 0x4a, 0x30, 0xd9, 0x03, 0x98, 0xae, 0x56, 0xee, 0x6c, 0xf8, 0x4d, 0xaf, 0xbe, 0x4f, 0x92, + 0xd3, 0x14, 0x6a, 0x07, 0x4f, 0x13, 0xd7, 0x54, 0xa9, 0xdc, 0x9e, 0x3c, 0xb7, 0xe5, 0x74, 0x10, + 0xea, 0x90, 0xfc, 0x94, 0xe6, 0xc2, 0x3e, 0x10, 0x73, 0x30, 0x14, 0xc2, 0xe0, 0xa6, 0xbb, 0x13, + 0xce, 0x4f, 0x1b, 0xda, 0xae, 0xca, 0x83, 0xda, 0x25, 0xad, 0x54, 0x8a, 0x29, 0x0b, 0x72, 0x22, + 0x22, 0xd4, 0x89, 0xdc, 0x9d, 0xd0, 0x9c, 0x88, 0x31, 0x36, 0xbb, 0x05, 0xb0, 0xe2, 0xd7, 0xbb, + 0x2d, 0xde, 0x8e, 0x56, 0x96, 0xe6, 0x4b, 0xe6, 0x55, 0x20, 0x2e, 0x48, 0xb6, 0xb6, 0x86, 0x5f, + 0x37, 0x66, 0xa2, 0x46, 0xbd, 0xf0, 0x1e, 0x94, 0xd2, 0x0d, 0x39, 0xa1, 0x02, 0x6b, 0xb2, 0x34, + 0xa5, 0x7d, 0xfd, 0xea, 0x63, 0x2f, 0x8c, 0x42, 0xeb, 0x1b, 0xc6, 0x0a, 0x14, 0xbb, 0xc3, 0x6d, + 0xbe, 0xbf, 0x11, 0xf0, 0x6d, 0xef, 0x31, 0x6d, 0x66, 0xb8, 0x3b, 0xec, 0xf1, 0x7d, 0xa7, 0x83, + 0x50, 0x7d, 0x77, 0x88, 0x51, 0xd9, 0xa7, 0xa0, 0x78, 0xfb, 0x4e, 0xed, 0x36, 0xdf, 0xaf, 0xae, + 0xd0, 0x41, 0x25, 0xc9, 0x5a, 0xa1, 0x23, 0x48, 0x8d, 0xb9, 0x16, 0x63, 0x5a, 0x4b, 0xc9, 0x4e, + 0x28, 0x6a, 0x5e, 0x6e, 0x76, 0xc3, 0x88, 0x07, 0xd5, 0x15, 0xbd, 0xe6, 0xba, 0x04, 0xa6, 0xf6, + 0xa5, 0x18, 0xd5, 0xfa, 0x57, 0x79, 0xdc, 0x05, 0xc5, 0x84, 0xaf, 0xb6, 0xc3, 0xc8, 0x6d, 0xd7, + 0x79, 0xcc, 0x00, 0x27, 0xbc, 0x47, 0xd0, 0xd4, 0x84, 0x4f, 0x90, 0xcd, 0xaa, 0xf3, 0x03, 0x57, + 0x2d, 0xaa, 0x54, 0x9a, 0x8b, 0xea, 0x8a, 0xae, 0x5e, 0x0d, 0x08, 0x9a, 0xaa, 0x32, 0x41, 0x66, + 0x17, 0x60, 0xb4, 0x5a, 0xb9, 0x53, 0xe9, 0x46, 0xbb, 0xb8, 0x07, 0x17, 0xa5, 0x7c, 0x2e, 0x66, + 0xab, 0xdb, 0x8d, 0x76, 0x6d, 0x55, 0xc8, 0x2e, 0xe3, 0xbd, 0xa7, 0xcd, 0x23, 0xa9, 0x86, 0xa5, + 0x43, 0x37, 0x94, 0xa0, 0xd4, 0xb5, 0x47, 0x80, 0xd8, 0x6b, 0x30, 0x7c, 0x7f, 0x63, 0xb9, 0xba, + 0x42, 0x17, 0x67, 0x3c, 0x89, 0x1e, 0x76, 0xea, 0x66, 0x4b, 0x24, 0x0a, 0x5b, 0x85, 0xa9, 0x1a, + 0xaf, 0x77, 0x03, 0x2f, 0xda, 0xbf, 0x11, 0xf8, 0xdd, 0x4e, 0x38, 0x3f, 0x8a, 0x75, 0xe0, 0x4a, + 0x0f, 0xa9, 0xc4, 0xd9, 0xc1, 0x22, 0x8d, 0x3a, 0x45, 0x64, 0xfd, 0x76, 0x2e, 0xd9, 0x26, 0xd9, + 0x05, 0x43, 0xac, 0x41, 0xdd, 0x8d, 0x10, 0x6b, 0x74, 0xdd, 0x0d, 0x0a, 0x38, 0x36, 0xb0, 0xe5, + 0x6e, 0x18, 0xf9, 0xad, 0xd5, 0x76, 0xa3, 0xe3, 0x7b, 0xed, 0x08, 0xa9, 0x64, 0xe7, 0x5b, 0x87, + 0x07, 0xe5, 0xe7, 0xeb, 0x58, 0xea, 0x70, 0x2a, 0x76, 0x52, 0x5c, 0x32, 0xa8, 0x3f, 0xc6, 0x78, + 0x58, 0xbf, 0x9f, 0x37, 0x8e, 0x37, 0xd1, 0x3c, 0x9b, 0x77, 0x9a, 0x5e, 0x1d, 0x6f, 0xf4, 0xf8, + 0xa1, 0xf1, 0xac, 0xc2, 0xe6, 0x05, 0x49, 0xa9, 0xec, 0x21, 0x93, 0x77, 0x06, 0x35, 0xfb, 0x1c, + 0x4c, 0x08, 0x49, 0x83, 0x7e, 0x86, 0xf3, 0x79, 0xec, 0xec, 0xe7, 0x50, 0x0b, 0x17, 0xf2, 0x20, + 0x66, 0x63, 0x88, 0x28, 0x3a, 0x05, 0x6b, 0xc0, 0xfc, 0x66, 0xe0, 0xb6, 0x43, 0x2f, 0x5a, 0x6d, + 0xd7, 0x83, 0x7d, 0x94, 0x8c, 0x56, 0xdb, 0xee, 0x56, 0x93, 0x37, 0xf0, 0x73, 0x8b, 0x4b, 0x17, + 0x0f, 0x0f, 0xca, 0x2f, 0x45, 0x12, 0xc7, 0xe1, 0x31, 0x92, 0xc3, 0x25, 0x96, 0xc6, 0xb9, 0x2f, + 0x27, 0x21, 0x49, 0xa9, 0x6e, 0xc5, 0x47, 0x18, 0x29, 0x24, 0xa0, 0x24, 0x15, 0x8f, 0x86, 0xd8, + 0xc3, 0xf4, 0x66, 0xea, 0x04, 0xd6, 0xff, 0x9d, 0x4b, 0x0e, 0x60, 0xf6, 0x0e, 0x8c, 0xd3, 0x8a, + 0xd1, 0xe6, 0x05, 0xee, 0xa0, 0x6a, 0x79, 0xa5, 0x46, 0x56, 0x47, 0x17, 0xf7, 0xfe, 0xca, 0xf2, + 0x9a, 0x36, 0x37, 0xf0, 0xde, 0xef, 0xd6, 0x9b, 0x69, 0x2a, 0x85, 0x26, 0x26, 0xc1, 0xe6, 0x5a, + 0xcd, 0xec, 0x15, 0x9c, 0x04, 0x51, 0x33, 0xcc, 0xe8, 0x06, 0x0d, 0xf9, 0xe3, 0x7f, 0xf8, 0x7f, + 0x9f, 0xcb, 0x3a, 0xe7, 0xd9, 0x12, 0x4c, 0x3e, 0xf0, 0x83, 0x3d, 0x1c, 0x5f, 0xad, 0x13, 0x70, + 0xe4, 0x1f, 0xa9, 0x82, 0xf4, 0x07, 0x99, 0x24, 0x7a, 0xdb, 0xb4, 0xde, 0x30, 0xdb, 0x96, 0xe2, + 0x60, 0x10, 0x88, 0x71, 0x88, 0x39, 0xc6, 0xab, 0x03, 0xc7, 0x21, 0x69, 0x82, 0x31, 0x85, 0x75, + 0x74, 0xeb, 0xbf, 0xc8, 0xe9, 0xe7, 0xb9, 0xe8, 0xe4, 0x15, 0xbf, 0xe5, 0x7a, 0x6d, 0xed, 0x73, + 0xe4, 0xc3, 0x12, 0x42, 0xd3, 0x2d, 0xd1, 0x90, 0xd9, 0x55, 0x28, 0xca, 0x5f, 0xf1, 0x5e, 0x8b, + 0x5a, 0x2d, 0x22, 0x34, 0x0f, 0x0a, 0x85, 0xd8, 0x33, 0x32, 0x85, 0x93, 0x8e, 0xcc, 0x6f, 0xe5, + 0xf4, 0xa3, 0xf8, 0xa3, 0x1e, 0x36, 0xa9, 0x43, 0x26, 0x7f, 0x92, 0x43, 0xe6, 0x63, 0x7f, 0xc2, + 0xf7, 0xe5, 0x60, 0x5c, 0xd3, 0x52, 0x88, 0x6f, 0xd8, 0x08, 0xfc, 0x0f, 0x79, 0x3d, 0x32, 0xbf, + 0xa1, 0x23, 0x81, 0xa9, 0x6f, 0x88, 0x51, 0x3f, 0xc6, 0x37, 0x58, 0x7f, 0x91, 0xa3, 0x3b, 0xd2, + 0xc0, 0xdb, 0xbc, 0xb9, 0x25, 0xe7, 0x4f, 0x72, 0x44, 0x7e, 0x0e, 0x86, 0x6d, 0xde, 0xf0, 0x42, + 0xba, 0xdf, 0xcc, 0xe8, 0xf7, 0x31, 0x2c, 0x48, 0xe4, 0xa6, 0x40, 0xfc, 0xd4, 0xcf, 0x37, 0x2c, + 0x17, 0x82, 0x6c, 0x35, 0xbc, 0xde, 0xe4, 0x8f, 0x3d, 0xb9, 0x18, 0xe9, 0xa8, 0xc5, 0xe3, 0xcd, + 0x0b, 0x9d, 0x6d, 0x51, 0x42, 0x12, 0xb5, 0xbe, 0xf0, 0x0c, 0x1a, 0xeb, 0x03, 0x80, 0xa4, 0x4a, + 0x76, 0x1b, 0x4a, 0x34, 0x1b, 0xbc, 0xf6, 0x8e, 0x14, 0xa4, 0xa8, 0x0f, 0xca, 0x87, 0x07, 0xe5, + 0x67, 0xeb, 0x71, 0x19, 0x49, 0x9d, 0x1a, 0xdf, 0x1e, 0x42, 0xeb, 0xdf, 0xcf, 0x43, 0xbe, 0x82, + 0x03, 0x72, 0x9b, 0xef, 0x47, 0xee, 0xd6, 0x75, 0xaf, 0x69, 0x2c, 0xa6, 0x3d, 0x84, 0x3a, 0xdb, + 0x9e, 0xa1, 0xae, 0xd0, 0x90, 0xc5, 0x62, 0xba, 0x1d, 0x6c, 0xbd, 0x89, 0x84, 0xda, 0x62, 0xda, + 0x0b, 0xb6, 0xde, 0x4c, 0x93, 0xc5, 0x88, 0xcc, 0x82, 0x11, 0xb9, 0xb0, 0x68, 0x0e, 0xc2, 0xe1, + 0x41, 0x79, 0x44, 0xae, 0x3f, 0x9b, 0x4a, 0xd8, 0x59, 0x28, 0xd4, 0x36, 0xd6, 0x69, 0x07, 0x44, + 0xb5, 0x60, 0xd8, 0x69, 0xdb, 0x02, 0x26, 0xea, 0x5c, 0x5b, 0xa9, 0x6c, 0xa0, 0x22, 0x60, 0x38, + 0xa9, 0xb3, 0xd9, 0x70, 0x3b, 0x69, 0x55, 0x40, 0x8c, 0xc8, 0xde, 0x85, 0xf1, 0xdb, 0x2b, 0xcb, + 0x37, 0xfd, 0x50, 0xee, 0x5e, 0x23, 0xc9, 0xe4, 0xdf, 0x6b, 0xd4, 0x1d, 0xd4, 0xc4, 0xa7, 0x8f, + 0x01, 0x0d, 0xdf, 0xfa, 0xe1, 0x3c, 0x8c, 0x6b, 0x7a, 0x32, 0xf6, 0x29, 0x7a, 0x20, 0xcd, 0x19, + 0x37, 0x00, 0x0d, 0x43, 0x94, 0x4a, 0xa5, 0x4a, 0xcb, 0x6f, 0x70, 0x7a, 0x2e, 0x4d, 0x14, 0x18, + 0xf9, 0x41, 0x14, 0x18, 0x6f, 0x01, 0xc8, 0x39, 0x80, 0x4d, 0xd6, 0xc4, 0x09, 0xcd, 0x4e, 0x42, + 0x1f, 0x97, 0x04, 0x99, 0xdd, 0x87, 0xd9, 0xcd, 0xa0, 0x1b, 0x46, 0xb5, 0xfd, 0x30, 0xe2, 0x2d, + 0xc1, 0x6d, 0xc3, 0xf7, 0x9b, 0x34, 0xff, 0x5e, 0x3a, 0x3c, 0x28, 0x9f, 0x8f, 0x44, 0xb1, 0x13, + 0x62, 0x39, 0x36, 0xc0, 0xe9, 0xf8, 0xbe, 0xae, 0xd6, 0xc8, 0x62, 0x60, 0xd9, 0x30, 0xa1, 0x2b, + 0x45, 0xc4, 0xc9, 0x42, 0x8f, 0x49, 0xa4, 0xea, 0xd6, 0x4e, 0x16, 0x6a, 0x65, 0xef, 0xe3, 0x96, + 0x49, 0x62, 0x7d, 0x4a, 0x57, 0xc8, 0x0d, 0xba, 0xb0, 0xad, 0x1f, 0xc8, 0x25, 0xdb, 0xc8, 0xfd, + 0x2b, 0xec, 0x6d, 0x18, 0x91, 0x8f, 0x77, 0xf4, 0xc6, 0x79, 0x2a, 0xbe, 0xd4, 0xea, 0x2f, 0x7b, + 0x52, 0x13, 0xfe, 0x87, 0xf2, 0x81, 0xff, 0x19, 0x9b, 0x48, 0x62, 0x25, 0xba, 0xa9, 0x4f, 0x53, + 0xdc, 0x51, 0x5d, 0x7c, 0x25, 0x4b, 0x89, 0x6e, 0xfd, 0xce, 0x10, 0x4c, 0x99, 0x68, 0xfa, 0x0b, + 0x5f, 0x6e, 0xa0, 0x17, 0xbe, 0xcf, 0x41, 0x51, 0xf4, 0x87, 0x57, 0xe7, 0x4a, 0x22, 0x7b, 0x09, + 0x9f, 0x16, 0x08, 0x66, 0xbc, 0x5c, 0x83, 0x1c, 0x0e, 0x71, 0xc7, 0xb5, 0x63, 0x2a, 0xb6, 0xa8, + 0x3d, 0x43, 0x15, 0x12, 0x21, 0x45, 0x3d, 0x43, 0xe9, 0xeb, 0x21, 0x7e, 0x90, 0x7a, 0x03, 0x46, + 0x84, 0x7c, 0x1f, 0xab, 0x60, 0xb0, 0x95, 0x42, 0xf4, 0x4f, 0x99, 0xa8, 0x48, 0x24, 0xf6, 0x00, + 0x8a, 0x6b, 0x6e, 0x18, 0xd5, 0x38, 0x6f, 0x0f, 0xf0, 0x76, 0x5f, 0xa6, 0xae, 0x9a, 0xc5, 0x87, + 0xf1, 0x90, 0xf3, 0x76, 0xea, 0xf1, 0x35, 0x66, 0xc6, 0xbe, 0x0c, 0xb0, 0xec, 0xb7, 0xa3, 0xc0, + 0x6f, 0xae, 0xf9, 0x3b, 0xf3, 0x23, 0x78, 0xf7, 0x7d, 0x3e, 0x35, 0x00, 0x09, 0x82, 0xbc, 0xfe, + 0xc6, 0x0a, 0x9e, 0xba, 0x2c, 0x70, 0x9a, 0xfe, 0x8e, 0xbe, 0x0e, 0x12, 0x7c, 0x76, 0x1d, 0x4a, + 0x4a, 0xb1, 0x70, 0xaf, 0xb3, 0x13, 0xe0, 0x04, 0x19, 0x4d, 0x24, 0x0f, 0xfe, 0x38, 0x72, 0xba, + 0x04, 0xd7, 0x77, 0xca, 0x34, 0x0d, 0xfb, 0x12, 0x9c, 0x49, 0xc3, 0xd4, 0x28, 0x17, 0x13, 0x99, + 0x5c, 0x67, 0x97, 0x31, 0xef, 0xfb, 0xb1, 0xb0, 0xbe, 0x9d, 0x87, 0x33, 0x7d, 0x3e, 0x56, 0xac, + 0x07, 0x3c, 0xae, 0xb5, 0xf5, 0x90, 0x3a, 0xa5, 0xa5, 0xcd, 0xd1, 0x79, 0xc8, 0xd3, 0x01, 0x37, + 0xb4, 0x54, 0x3a, 0x3c, 0x28, 0x4f, 0x18, 0xe3, 0x98, 0xaf, 0xae, 0xb0, 0x5b, 0x30, 0x24, 0x86, + 0x68, 0x80, 0xa7, 0x73, 0xa5, 0x53, 0x9a, 0x8a, 0x3c, 0x7d, 0xfa, 0xe0, 0xd0, 0x21, 0x0f, 0xf6, + 0x29, 0x28, 0x6c, 0x6e, 0xae, 0xe1, 0xdc, 0x29, 0xe0, 0xb7, 0x4f, 0x46, 0x51, 0xd3, 0x98, 0xaa, + 0x93, 0x82, 0xf6, 0x52, 0x6c, 0x69, 0x21, 0xd0, 0xd9, 0x17, 0x52, 0x26, 0x3d, 0xaf, 0x1d, 0x3d, + 0xd0, 0x83, 0x5b, 0xf8, 0x7c, 0x0c, 0xc3, 0x1a, 0xeb, 0xe7, 0xf3, 0xc9, 0x1a, 0xbe, 0xee, 0x35, + 0x23, 0x1e, 0xb0, 0x05, 0xb9, 0x24, 0x13, 0xe1, 0xcc, 0x8e, 0x7f, 0xb3, 0xf9, 0x64, 0x7d, 0x4b, + 0x56, 0xf1, 0x42, 0x7e, 0x4d, 0x5b, 0xc8, 0x05, 0x5c, 0xc8, 0x53, 0x7d, 0x97, 0xec, 0x6b, 0x19, + 0xf3, 0x12, 0x17, 0x62, 0xc6, 0xdc, 0x7b, 0x09, 0x26, 0xd7, 0xfd, 0xd5, 0xc7, 0x51, 0x8c, 0x28, + 0x16, 0x60, 0xd1, 0x36, 0x81, 0x82, 0xe3, 0xdd, 0x66, 0x83, 0x07, 0x9b, 0xbb, 0x6e, 0xdb, 0x78, + 0xbb, 0xb6, 0x7b, 0xe0, 0x02, 0x77, 0x9d, 0x3f, 0x32, 0x71, 0x47, 0x25, 0x6e, 0x1a, 0x6e, 0x7d, + 0x7f, 0x5e, 0x75, 0xc6, 0xfd, 0xc5, 0xa7, 0xf4, 0x8d, 0xf4, 0x4d, 0xe3, 0x8d, 0x74, 0x36, 0xd6, + 0xee, 0xc6, 0x0f, 0xfe, 0x8b, 0xc7, 0xd8, 0x09, 0xfc, 0x0f, 0xc3, 0x30, 0xa1, 0xa3, 0x8b, 0x7e, + 0xa8, 0x34, 0x1a, 0x81, 0xde, 0x0f, 0x6e, 0xa3, 0x11, 0xd8, 0x08, 0x35, 0xcc, 0x02, 0x0a, 0x47, + 0x9a, 0x05, 0x7c, 0x05, 0xc6, 0x96, 0x5b, 0x0d, 0xe3, 0xb1, 0xd2, 0xca, 0x68, 0xde, 0xa5, 0x18, + 0x49, 0xae, 0x85, 0x58, 0x69, 0x59, 0x6f, 0x35, 0x7a, 0x9f, 0x28, 0x13, 0x96, 0x86, 0x45, 0xc1, + 0xf0, 0xc7, 0xb1, 0x28, 0xb8, 0x06, 0x63, 0xf7, 0x42, 0xbe, 0xd9, 0x6d, 0xb7, 0x79, 0x13, 0xa7, + 0x55, 0x51, 0xca, 0xfa, 0xdd, 0x90, 0x3b, 0x11, 0x42, 0xf5, 0x06, 0xc4, 0xa8, 0xfa, 0x00, 0x8f, + 0x1e, 0x31, 0xc0, 0x57, 0xa1, 0xb8, 0xc1, 0x79, 0x80, 0x7d, 0x3a, 0x9e, 0x88, 0x74, 0x1d, 0xce, + 0x03, 0x47, 0x74, 0xac, 0x61, 0x69, 0x40, 0x88, 0x86, 0x79, 0xc2, 0xc4, 0x80, 0xe6, 0x09, 0xec, + 0x05, 0x98, 0xe8, 0x74, 0xb7, 0x9a, 0x5e, 0x1d, 0xf9, 0x92, 0x5d, 0x83, 0x3d, 0x2e, 0x61, 0x82, + 0x6d, 0xc8, 0xbe, 0x00, 0x93, 0x78, 0xc7, 0x89, 0xa7, 0xdc, 0x94, 0xf1, 0xaa, 0x67, 0x94, 0x49, + 0x49, 0xa7, 0x2e, 0x40, 0x4e, 0x86, 0xf9, 0x8d, 0xc9, 0x68, 0xa1, 0x06, 0x53, 0xe6, 0x48, 0x3e, + 0x81, 0xc7, 0xbd, 0xd8, 0xd4, 0xa2, 0x58, 0x1a, 0xbb, 0x35, 0x54, 0x84, 0xd2, 0xb8, 0x34, 0xb2, + 0xb0, 0x61, 0x23, 0xfe, 0x26, 0x9b, 0xdd, 0xee, 0x6e, 0xf1, 0xa0, 0xcd, 0x23, 0x1e, 0xd2, 0x25, + 0x20, 0xb4, 0x87, 0x2a, 0x9d, 0x4e, 0x68, 0xfd, 0xc7, 0x79, 0x18, 0xad, 0x3c, 0xa8, 0x55, 0xdb, + 0xdb, 0x3e, 0x3e, 0xd1, 0xc5, 0x2f, 0x33, 0xfa, 0x13, 0x5d, 0xfc, 0x32, 0xa3, 0xbf, 0xc7, 0x5c, + 0xce, 0xb8, 0xc6, 0xa1, 0x15, 0xaf, 0x76, 0x8d, 0x33, 0x2e, 0xa0, 0xc9, 0x23, 0x55, 0x61, 0x80, + 0x47, 0xaa, 0x58, 0x8f, 0x38, 0x74, 0xbc, 0x1e, 0xf1, 0x6d, 0x18, 0xaf, 0xb6, 0x23, 0xbe, 0x13, + 0x24, 0x33, 0x3d, 0xbe, 0x52, 0xc6, 0x60, 0x5d, 0xb4, 0xd7, 0xb0, 0xc5, 0x34, 0x92, 0xba, 0xcb, + 0x58, 0x67, 0x89, 0xd3, 0x48, 0xaa, 0x38, 0x53, 0xfa, 0x00, 0x85, 0x68, 0xad, 0xa4, 0xe6, 0x88, + 0x32, 0x04, 0x90, 0xc2, 0xe7, 0x54, 0xa2, 0xbc, 0x17, 0x1d, 0xbb, 0x34, 0x93, 0x6d, 0x08, 0x60, + 0xfd, 0x48, 0x1e, 0xc6, 0x2b, 0x9d, 0xce, 0x53, 0x6e, 0x8e, 0xf5, 0x19, 0x63, 0x7b, 0x55, 0x77, + 0xa1, 0xf8, 0xbb, 0x06, 0xb2, 0xc4, 0xfa, 0x95, 0x3c, 0x4c, 0xa7, 0x28, 0xf4, 0xd6, 0xe7, 0x06, + 0x34, 0xc2, 0xca, 0x0f, 0x68, 0x84, 0x55, 0x18, 0xcc, 0x08, 0x6b, 0xe8, 0xe3, 0x6c, 0x99, 0xaf, + 0x40, 0xa1, 0xd2, 0xe9, 0xa4, 0x1f, 0x73, 0x3b, 0x9d, 0xfb, 0x57, 0xe5, 0x7d, 0xd6, 0xed, 0x74, + 0x6c, 0x81, 0x61, 0xec, 0x63, 0x23, 0x03, 0xee, 0x63, 0xd6, 0x1b, 0x30, 0x86, 0xbc, 0xd0, 0xf4, + 0xe9, 0x3c, 0xe0, 0x62, 0x26, 0xab, 0x27, 0xa3, 0x2e, 0x5a, 0xe6, 0xff, 0x22, 0x07, 0xc3, 0xf8, + 0xfb, 0x29, 0x9d, 0x63, 0x8b, 0xc6, 0x1c, 0x2b, 0x69, 0x73, 0x6c, 0x90, 0xd9, 0xf5, 0x8f, 0x0a, + 0x00, 0xcb, 0x77, 0xed, 0x9a, 0x54, 0x7b, 0xb0, 0xeb, 0x30, 0xed, 0x36, 0x9b, 0xfe, 0x23, 0xde, + 0x70, 0xfc, 0xc0, 0xdb, 0xf1, 0xda, 0xb2, 0xe7, 0xd4, 0x0b, 0xa3, 0x59, 0xa4, 0xbf, 0x3b, 0x50, + 0xd1, 0x5d, 0x59, 0xa2, 0xf3, 0x69, 0xf1, 0x68, 0xd7, 0x6f, 0xa8, 0x0b, 0x9c, 0xc1, 0x87, 0x8a, + 0x32, 0xf8, 0xdc, 0x91, 0x25, 0x3a, 0x9f, 0x5d, 0xbc, 0x90, 0x2a, 0xf9, 0xd1, 0xe0, 0x43, 0x45, + 0x19, 0x7c, 0xe4, 0x2d, 0x36, 0x64, 0x6b, 0x30, 0x83, 0x10, 0xa7, 0x1e, 0xf0, 0x06, 0x6f, 0x47, + 0x9e, 0xdb, 0x0c, 0xe9, 0xca, 0x8f, 0xca, 0xa1, 0x9e, 0x42, 0xfd, 0xca, 0x83, 0x85, 0xcb, 0x49, + 0x19, 0xbb, 0x04, 0xa3, 0x2d, 0xf7, 0xb1, 0xe3, 0xee, 0xc8, 0xb7, 0xf6, 0x49, 0x79, 0x45, 0x24, + 0x90, 0xbe, 0x61, 0xb7, 0xdc, 0xc7, 0x95, 0x1d, 0x2e, 0xbe, 0x82, 0x3f, 0xee, 0xf8, 0xa1, 0xf6, + 0x15, 0x23, 0xc9, 0x57, 0xa4, 0x8a, 0xf4, 0xaf, 0xa0, 0x22, 0xfa, 0x0a, 0xeb, 0xff, 0x19, 0xc6, + 0xa9, 0x4d, 0x9b, 0x00, 0x99, 0x87, 0xe5, 0x32, 0xcc, 0xc3, 0xde, 0x02, 0xed, 0x88, 0xd3, 0x55, + 0x7b, 0xda, 0x01, 0xaf, 0x5f, 0x0b, 0x13, 0x64, 0xb6, 0x97, 0x36, 0x14, 0x2b, 0xe0, 0xca, 0x79, + 0x31, 0x3d, 0xaf, 0x9e, 0x88, 0x8d, 0xd8, 0x4d, 0x60, 0xd5, 0x36, 0xbe, 0x66, 0xf1, 0xda, 0x9e, + 0xd7, 0xb9, 0xcf, 0x03, 0x6f, 0x7b, 0x9f, 0xc6, 0x05, 0x85, 0x28, 0x8f, 0x4a, 0x9d, 0x70, 0xcf, + 0xeb, 0x88, 0x7b, 0xa3, 0xb7, 0xbd, 0x6f, 0x67, 0xd0, 0xb0, 0xf7, 0x61, 0xd4, 0xe6, 0x8f, 0x02, + 0x2f, 0x52, 0xe6, 0x0f, 0x53, 0xb1, 0x96, 0x03, 0xa1, 0x72, 0x88, 0x02, 0xf9, 0x43, 0x5f, 0xac, + 0x54, 0xce, 0x16, 0xe5, 0x29, 0x25, 0xcd, 0x1c, 0x26, 0x93, 0xaf, 0xad, 0x3c, 0xa8, 0xf5, 0x3b, + 0xa4, 0xd8, 0xab, 0x30, 0x8c, 0x47, 0x1d, 0x09, 0x70, 0xe8, 0x36, 0x80, 0x02, 0x8f, 0x7e, 0x0e, + 0x23, 0x06, 0x7b, 0x1e, 0x20, 0x7e, 0x2e, 0x0a, 0xe7, 0x8b, 0x28, 0x5a, 0x69, 0x90, 0xf4, 0x39, + 0x3d, 0x76, 0xa2, 0x73, 0x7a, 0x0d, 0x4a, 0x36, 0xff, 0x5a, 0xd7, 0x0b, 0x78, 0xa3, 0xd2, 0xc1, + 0x37, 0x89, 0x70, 0x1e, 0x70, 0x82, 0x9d, 0x3f, 0x3c, 0x28, 0x3f, 0x17, 0x50, 0x99, 0xe3, 0x76, + 0xe4, 0x53, 0x86, 0x31, 0xbb, 0xd3, 0x94, 0xec, 0x2d, 0x18, 0x12, 0x3b, 0x02, 0x99, 0x94, 0x29, + 0xdd, 0x6e, 0xb2, 0x49, 0xc8, 0x9b, 0x76, 0xdd, 0x37, 0xa6, 0x2a, 0x92, 0x7c, 0xe7, 0xcc, 0xb4, + 0x7e, 0x25, 0x0f, 0x2f, 0xc6, 0x87, 0xe0, 0xdd, 0xa0, 0x56, 0xb9, 0xb3, 0x56, 0x6d, 0x6c, 0xd0, + 0x9d, 0x71, 0x23, 0xf0, 0x1f, 0x7a, 0x0d, 0x1e, 0xdc, 0xbf, 0x72, 0xcc, 0x16, 0xbe, 0x26, 0x97, + 0x8f, 0x54, 0x38, 0xe7, 0x0d, 0x83, 0x16, 0x4d, 0xd6, 0x20, 0x9b, 0x9b, 0x4e, 0xa7, 0x47, 0xff, + 0x7c, 0xf3, 0x19, 0x3b, 0x61, 0xc0, 0x7e, 0x20, 0x07, 0xa7, 0xb3, 0x1b, 0x42, 0x7a, 0x84, 0xb2, + 0xba, 0xaf, 0xf4, 0x69, 0xed, 0xd2, 0x2b, 0x87, 0x07, 0xe5, 0x17, 0x43, 0xb7, 0xd5, 0x74, 0xbc, + 0x86, 0xac, 0xcd, 0xab, 0x73, 0xa7, 0x43, 0x08, 0x46, 0xbd, 0x7d, 0x6a, 0xfa, 0x2c, 0xa8, 0x9d, + 0x7c, 0x3e, 0xb7, 0x04, 0x50, 0x54, 0x3a, 0x3d, 0xeb, 0xd7, 0x73, 0xa0, 0x4d, 0xed, 0xa2, 0xcd, + 0x1b, 0x5e, 0xc0, 0xeb, 0x11, 0xed, 0xe6, 0xe4, 0x8e, 0x23, 0x61, 0x29, 0xfb, 0x25, 0x84, 0xb1, + 0xf7, 0x60, 0x94, 0x76, 0x1d, 0xdc, 0xb8, 0x93, 0x25, 0x41, 0xda, 0x42, 0xe9, 0xb7, 0xd5, 0xb3, + 0x63, 0x29, 0x22, 0x71, 0x2b, 0xba, 0xf5, 0x60, 0x73, 0xb9, 0xe9, 0x7a, 0xad, 0x90, 0x4e, 0x3f, + 0xec, 0xd6, 0x0f, 0x1f, 0x45, 0x4e, 0x1d, 0xa1, 0xfa, 0xad, 0x28, 0x46, 0xb5, 0x6e, 0x28, 0x65, + 0xe5, 0x31, 0x46, 0x78, 0x65, 0x18, 0xbe, 0x9f, 0x28, 0x2d, 0x96, 0xc6, 0x0e, 0x0f, 0xca, 0x72, + 0xba, 0xd8, 0x12, 0x6e, 0xfd, 0x58, 0x0e, 0xa6, 0xcc, 0xf9, 0xc4, 0x2e, 0xc1, 0x08, 0xb9, 0xc2, + 0xe4, 0x50, 0x39, 0x23, 0x7a, 0x61, 0x44, 0x3a, 0xc1, 0x18, 0xae, 0x2f, 0x84, 0x25, 0xce, 0x6f, + 0xe2, 0x40, 0x87, 0x17, 0x9e, 0xdf, 0x75, 0x09, 0xb2, 0x55, 0x19, 0xb3, 0x84, 0xf0, 0x1e, 0x76, + 0x9b, 0x91, 0xae, 0xb3, 0x0f, 0x10, 0x62, 0x53, 0x89, 0xb5, 0x0c, 0x23, 0x72, 0x2f, 0x49, 0x19, + 0xff, 0xe4, 0x4e, 0x60, 0xfc, 0x63, 0x1d, 0xe4, 0x00, 0x6a, 0xb5, 0x9b, 0xb7, 0xf9, 0xfe, 0x86, + 0xeb, 0x05, 0xf8, 0xc8, 0x84, 0xfb, 0xf6, 0x6d, 0x5a, 0x5c, 0x13, 0xf4, 0xc8, 0x24, 0xf7, 0xf8, + 0x3d, 0xbe, 0x6f, 0x3c, 0x32, 0x29, 0x54, 0x3c, 0x1c, 0x02, 0xef, 0xa1, 0x1b, 0x71, 0x41, 0x98, + 0x47, 0x42, 0x79, 0x38, 0x48, 0x68, 0x8a, 0x52, 0x43, 0x66, 0x5f, 0x86, 0xa9, 0xe4, 0x57, 0xfc, + 0x54, 0x36, 0x15, 0x2f, 0x60, 0xb3, 0x70, 0xe9, 0xf9, 0xc3, 0x83, 0xf2, 0x82, 0xc6, 0x35, 0xfd, + 0x88, 0x96, 0x62, 0x66, 0xfd, 0x52, 0x0e, 0x1f, 0x88, 0xd5, 0x07, 0x5e, 0x80, 0xa1, 0xd8, 0xa4, + 0x71, 0x82, 0x76, 0x1d, 0xf3, 0x39, 0x00, 0xcb, 0xd9, 0x8b, 0x50, 0x48, 0xbe, 0x04, 0xf7, 0x6a, + 0xf3, 0x0b, 0x44, 0x29, 0xbb, 0x01, 0xa3, 0x03, 0xb5, 0x19, 0x97, 0x46, 0x46, 0x5b, 0x15, 0x35, + 0x8e, 0xc2, 0xad, 0x07, 0x9b, 0xdf, 0xbd, 0xa3, 0xf0, 0x93, 0x79, 0x98, 0x16, 0xfd, 0x5a, 0xe9, + 0x46, 0xbb, 0x7e, 0xe0, 0x45, 0xfb, 0x4f, 0xad, 0x76, 0xeb, 0x1d, 0x43, 0x34, 0x5e, 0x50, 0xa7, + 0x8c, 0xfe, 0x6d, 0x03, 0x29, 0xb9, 0xfe, 0xab, 0x61, 0x98, 0xcd, 0xa0, 0x62, 0xaf, 0x1b, 0x0a, + 0xe8, 0x79, 0xe5, 0xea, 0xfa, 0xed, 0x83, 0xf2, 0x84, 0x42, 0xdf, 0x4c, 0x5c, 0x5f, 0x17, 0x4d, + 0x6b, 0x0b, 0xd9, 0x53, 0xa8, 0x8f, 0xd6, 0xad, 0x2d, 0x4c, 0x1b, 0x8b, 0x57, 0x61, 0xd8, 0xf6, + 0x9b, 0x5c, 0x59, 0x18, 0xa1, 0x84, 0x11, 0x08, 0x80, 0xf1, 0xa2, 0x2a, 0x00, 0xec, 0x26, 0x8c, + 0x8a, 0x3f, 0xee, 0xb8, 0x1d, 0x7a, 0x2b, 0x60, 0xf1, 0xe5, 0x0c, 0xa1, 0x1d, 0xaf, 0xbd, 0xa3, + 0xdf, 0xcf, 0x9a, 0xdc, 0x69, 0xb9, 0x1d, 0x43, 0x14, 0x92, 0x88, 0xc6, 0x3d, 0xaf, 0xd8, 0xff, + 0x9e, 0x97, 0x3b, 0xf6, 0x9e, 0xb7, 0x0d, 0x50, 0xf3, 0x76, 0xda, 0x5e, 0x7b, 0xa7, 0xd2, 0xdc, + 0x21, 0x87, 0xe1, 0x57, 0xfb, 0x8f, 0xc2, 0xa5, 0x04, 0x19, 0x27, 0xee, 0xb3, 0xf8, 0xa0, 0x27, + 0x61, 0x8e, 0xdb, 0xdc, 0x31, 0x1c, 0x1b, 0x34, 0xce, 0x6c, 0x1d, 0xa0, 0x52, 0x8f, 0xbc, 0x87, + 0x62, 0x0a, 0x87, 0x24, 0xb7, 0xa8, 0x26, 0x2f, 0x57, 0x6e, 0xf3, 0xfd, 0x1a, 0x8f, 0x92, 0xa7, + 0x11, 0x17, 0x51, 0xc5, 0x4a, 0x30, 0xac, 0xd6, 0x13, 0x0e, 0xac, 0x03, 0xa7, 0x2a, 0x8d, 0x86, + 0x27, 0xbe, 0xc1, 0x6d, 0xe2, 0x5b, 0x1f, 0x6f, 0x20, 0xeb, 0x89, 0x6c, 0xd6, 0xaf, 0x12, 0xeb, + 0x17, 0xdc, 0x98, 0xca, 0x89, 0x24, 0x59, 0xba, 0x9a, 0x6c, 0xc6, 0x56, 0x0d, 0xa6, 0xcc, 0x8f, + 0x37, 0x1d, 0x9d, 0x27, 0xa0, 0x68, 0xd7, 0x2a, 0x4e, 0xed, 0x66, 0xe5, 0x4a, 0x29, 0xc7, 0x4a, + 0x30, 0x41, 0xbf, 0x16, 0x9d, 0xc5, 0x37, 0xaf, 0x95, 0xf2, 0x06, 0xe4, 0xcd, 0x2b, 0x8b, 0xa5, + 0xc2, 0x42, 0x7e, 0x3e, 0x97, 0xf2, 0x31, 0x1a, 0x2d, 0x15, 0xa5, 0x12, 0xcc, 0xfa, 0xd5, 0x1c, + 0x14, 0x55, 0xdb, 0xd9, 0x35, 0x28, 0xd4, 0x6a, 0x37, 0x53, 0x5e, 0x41, 0xc9, 0x29, 0x23, 0xf7, + 0xd3, 0x30, 0xd4, 0x4d, 0x3f, 0x05, 0x81, 0xa0, 0xdb, 0x5c, 0xab, 0x91, 0x70, 0xa0, 0xe8, 0x92, + 0xcd, 0x5b, 0xd2, 0x65, 0xb8, 0x4a, 0x5c, 0x83, 0xc2, 0xad, 0x07, 0x9b, 0x74, 0xab, 0x50, 0x74, + 0xc9, 0x7e, 0x2a, 0xe9, 0x3e, 0x7c, 0xa4, 0xef, 0xf2, 0x82, 0xc0, 0xb2, 0x61, 0x5c, 0x9b, 0xc8, + 0xf2, 0xd0, 0x6d, 0xf9, 0xb1, 0x77, 0x2f, 0x1d, 0xba, 0x02, 0x62, 0x53, 0x89, 0x90, 0x11, 0xd6, + 0xfc, 0xba, 0xdb, 0xa4, 0xd3, 0x1b, 0x65, 0x84, 0xa6, 0x00, 0xd8, 0x12, 0x6e, 0xfd, 0x76, 0x0e, + 0x4a, 0x28, 0x49, 0xa1, 0xe9, 0xa6, 0xbf, 0xc7, 0xdb, 0xf7, 0xaf, 0xb0, 0x37, 0xd4, 0x92, 0xcb, + 0xc5, 0x0a, 0x87, 0x61, 0x5c, 0x72, 0xa9, 0x17, 0x0b, 0x5a, 0x76, 0x9a, 0x03, 0x75, 0x7e, 0x70, + 0xc7, 0xcb, 0x63, 0x1c, 0xa8, 0xcb, 0x30, 0x8c, 0xcd, 0xa1, 0xcd, 0x11, 0x5b, 0x1e, 0x09, 0x80, + 0x2d, 0xe1, 0xda, 0xde, 0xf4, 0xd3, 0xf9, 0x9e, 0x6f, 0x58, 0xfc, 0xae, 0x72, 0x5e, 0x34, 0x3f, + 0x6e, 0xa0, 0xfd, 0xfa, 0x03, 0x98, 0x4b, 0x77, 0x09, 0x2a, 0x83, 0x2a, 0x30, 0x6d, 0xc2, 0x95, + 0x5e, 0xe8, 0x4c, 0x66, 0x5d, 0xf7, 0x17, 0xed, 0x34, 0xbe, 0xf5, 0xbf, 0xe4, 0x60, 0x0c, 0xff, + 0xb4, 0xbb, 0x4d, 0x34, 0xa1, 0xa9, 0x3c, 0xa8, 0x91, 0xe2, 0x57, 0x17, 0xe6, 0xdc, 0x47, 0xa1, + 0x43, 0xba, 0x61, 0x63, 0x8f, 0x89, 0x91, 0x89, 0x54, 0x6a, 0x74, 0x95, 0x72, 0x24, 0x26, 0x95, + 0xaa, 0xdf, 0x30, 0x45, 0x4a, 0xc8, 0x68, 0x78, 0xf7, 0xa0, 0x26, 0xa6, 0x9f, 0xfe, 0xa6, 0x8d, + 0x74, 0x7e, 0xd3, 0x34, 0xbc, 0x93, 0x68, 0xf8, 0xa4, 0xfd, 0xa0, 0x56, 0xb1, 0xd7, 0x8d, 0x27, + 0x6d, 0xd1, 0x46, 0xc3, 0x4e, 0x9c, 0x90, 0xac, 0x7f, 0x02, 0xe9, 0x0e, 0xa4, 0x03, 0xef, 0x84, + 0x6b, 0xe3, 0x6d, 0x18, 0xae, 0x34, 0x9b, 0xfe, 0x23, 0xda, 0x25, 0x94, 0x6e, 0x2a, 0xee, 0x3f, + 0x79, 0x9e, 0xa1, 0x7a, 0xc5, 0x70, 0xc8, 0x12, 0x00, 0xb6, 0x0c, 0x63, 0x95, 0x07, 0xb5, 0x6a, + 0x75, 0x65, 0x73, 0x53, 0x3a, 0x9f, 0x14, 0x96, 0x5e, 0x56, 0xfd, 0xe3, 0x79, 0x0d, 0x27, 0xfd, + 0xaa, 0x9a, 0xc8, 0xef, 0x09, 0x1d, 0x7b, 0x17, 0xe0, 0x96, 0xef, 0xb5, 0xa5, 0x3a, 0x89, 0x3e, + 0xfe, 0xdc, 0xe1, 0x41, 0x79, 0xfc, 0x43, 0xdf, 0x6b, 0x93, 0xfe, 0x49, 0xb4, 0x3d, 0x41, 0xb2, + 0xb5, 0xbf, 0x45, 0x4f, 0x2f, 0xf9, 0xd2, 0x2c, 0x66, 0x38, 0xe9, 0xe9, 0x2d, 0xbf, 0xc7, 0x22, + 0x46, 0xa1, 0xb1, 0x16, 0x4c, 0xd7, 0xba, 0x3b, 0x3b, 0x5c, 0xec, 0xec, 0xa4, 0x40, 0x19, 0xa1, + 0x3b, 0x6e, 0x1c, 0xf2, 0x43, 0xde, 0x47, 0xc4, 0x2d, 0x25, 0x5c, 0x7a, 0x5d, 0x4c, 0xe4, 0x6f, + 0x1d, 0x94, 0xe9, 0xb5, 0x56, 0x88, 0x6a, 0xa1, 0xa2, 0xef, 0x55, 0x9f, 0xa4, 0x79, 0xb3, 0xbb, + 0x30, 0x72, 0xc3, 0x8b, 0x6e, 0x76, 0xb7, 0xc8, 0x99, 0xe2, 0x85, 0x23, 0x16, 0x8d, 0x44, 0x94, + 0xcf, 0x05, 0x3b, 0x5e, 0xb4, 0xdb, 0xd5, 0xcd, 0xd9, 0x89, 0x0d, 0x7b, 0x00, 0xc5, 0x65, 0x2f, + 0xa8, 0x37, 0xf9, 0x72, 0x95, 0xce, 0xfe, 0x17, 0x8f, 0x60, 0xa9, 0x50, 0x65, 0xbf, 0xd4, 0xf1, + 0x57, 0xdd, 0xd3, 0x65, 0x01, 0x85, 0xc1, 0xfe, 0xcd, 0x1c, 0x3c, 0x1b, 0xb7, 0xbe, 0xb2, 0xc3, + 0xdb, 0xd1, 0x1d, 0x37, 0xaa, 0xef, 0xf2, 0x80, 0x7a, 0x69, 0xec, 0xa8, 0x5e, 0xfa, 0x6c, 0x4f, + 0x2f, 0x5d, 0x4c, 0x7a, 0xc9, 0x15, 0xcc, 0x9c, 0x96, 0xe4, 0xd6, 0xdb, 0x67, 0x47, 0xd5, 0xca, + 0x1c, 0x80, 0xe4, 0xfd, 0x87, 0x9c, 0xf1, 0x5e, 0x3e, 0xe2, 0x83, 0x13, 0x64, 0x32, 0xa2, 0x8f, + 0x7f, 0x1b, 0x56, 0x60, 0x31, 0x94, 0xdd, 0x56, 0x9e, 0x4b, 0x52, 0x2a, 0x39, 0x7f, 0x04, 0x6f, + 0xe9, 0xcd, 0x34, 0x7b, 0x84, 0x8f, 0xa2, 0x1c, 0xed, 0x35, 0x77, 0x8b, 0x04, 0x91, 0x63, 0x46, + 0x7b, 0xcd, 0x4d, 0x46, 0xbb, 0xe9, 0xa6, 0x47, 0x7b, 0xcd, 0xdd, 0x62, 0xcb, 0xd2, 0xdd, 0x52, + 0xfa, 0xe6, 0x3d, 0x7f, 0x14, 0xb7, 0xe5, 0x0d, 0x79, 0x32, 0x67, 0xb8, 0x5d, 0x7e, 0x11, 0xc6, + 0x6a, 0x1d, 0xb7, 0xce, 0x9b, 0xde, 0x76, 0x44, 0x0f, 0x82, 0x2f, 0x1d, 0xc1, 0x2a, 0xc6, 0xa5, + 0xc7, 0x24, 0xf5, 0x53, 0xbf, 0x26, 0xc5, 0x38, 0xa2, 0x85, 0x9b, 0x1b, 0x77, 0xe6, 0xa7, 0x8f, + 0x6d, 0xe1, 0xe6, 0xc6, 0x1d, 0x92, 0x39, 0x3a, 0x2d, 0x43, 0xe6, 0xd8, 0xb8, 0xc3, 0x3a, 0x30, + 0xb5, 0xc9, 0x83, 0xc0, 0xdd, 0xf6, 0x83, 0x96, 0x54, 0xd8, 0x49, 0x7f, 0x8f, 0x57, 0x8f, 0xe2, + 0x67, 0x10, 0x48, 0x4d, 0x6d, 0xa4, 0x60, 0x4e, 0x5a, 0xcb, 0x97, 0xe2, 0x6f, 0xfd, 0x46, 0x01, + 0xce, 0xf4, 0x69, 0x25, 0x5b, 0x57, 0xbb, 0x62, 0xce, 0xd0, 0xac, 0xf6, 0x41, 0xbf, 0x74, 0xec, + 0x46, 0xb9, 0x06, 0xa5, 0xd5, 0xdb, 0x28, 0x4e, 0x4b, 0x9d, 0xf7, 0x72, 0x45, 0x9d, 0x27, 0xa8, + 0xfd, 0xe3, 0x7b, 0x68, 0xc2, 0xa6, 0x74, 0xe5, 0x75, 0xc3, 0x57, 0xb3, 0x87, 0x72, 0xe1, 0xfb, + 0xf3, 0x30, 0x84, 0x67, 0x5b, 0x2a, 0x42, 0x4d, 0xee, 0x44, 0x11, 0x6a, 0x3e, 0x07, 0x13, 0xab, + 0xb7, 0xe5, 0x65, 0xf7, 0xa6, 0x1b, 0xee, 0xd2, 0xce, 0x8b, 0x2f, 0xc2, 0x7c, 0xcf, 0xa1, 0xbb, + 0xf1, 0xae, 0x6b, 0x88, 0x95, 0x06, 0x05, 0xbb, 0x07, 0xb3, 0xb2, 0x6d, 0xde, 0xb6, 0x57, 0x97, + 0x81, 0x2e, 0x3c, 0xb7, 0x49, 0xdb, 0xf0, 0x8b, 0x87, 0x07, 0xe5, 0x32, 0xdf, 0x43, 0xe3, 0x3c, + 0x2a, 0x77, 0x42, 0x44, 0xd0, 0xad, 0xf4, 0x32, 0xe8, 0x75, 0xef, 0x7b, 0x7b, 0x0c, 0x2b, 0x14, + 0xb5, 0x89, 0xba, 0x05, 0xae, 0x44, 0xb2, 0x7e, 0x7d, 0x18, 0x16, 0xfa, 0xef, 0xa0, 0xec, 0xf3, + 0xe6, 0x00, 0x5e, 0x38, 0x76, 0xcf, 0x3d, 0x7e, 0x0c, 0xbf, 0x00, 0x73, 0xab, 0xed, 0x88, 0x07, + 0x9d, 0xc0, 0x53, 0xf1, 0x16, 0x6e, 0xfa, 0xa1, 0x32, 0x86, 0x44, 0xab, 0x44, 0x1e, 0x97, 0x93, + 0x5e, 0x12, 0x4d, 0x33, 0x35, 0x56, 0x99, 0x1c, 0xd8, 0x2a, 0x4c, 0x69, 0xf0, 0x66, 0x77, 0x87, + 0x64, 0x06, 0xf9, 0xf4, 0xa0, 0xf1, 0x6c, 0x76, 0x75, 0x4b, 0xb1, 0x14, 0xd1, 0xc2, 0x2f, 0x15, + 0x68, 0x5a, 0xbc, 0x08, 0x85, 0x5a, 0x77, 0x8b, 0xa6, 0x83, 0xbc, 0x1c, 0x18, 0x07, 0x89, 0x28, + 0x65, 0x9f, 0x01, 0xb0, 0x79, 0xc7, 0x0f, 0xbd, 0xc8, 0x0f, 0xf6, 0x75, 0xb7, 0x9d, 0x20, 0x86, + 0x9a, 0x96, 0xc5, 0x0a, 0xca, 0x6e, 0xc2, 0x74, 0xf2, 0xeb, 0xee, 0xa3, 0x36, 0x29, 0x53, 0xc7, + 0xa4, 0x16, 0x23, 0x21, 0x77, 0x7c, 0x51, 0xa6, 0x1f, 0x8d, 0x29, 0x32, 0xb6, 0x08, 0xc5, 0x07, + 0x7e, 0xb0, 0xb7, 0x2d, 0x06, 0x6a, 0x28, 0x39, 0xbc, 0x1f, 0x11, 0x4c, 0x3f, 0xa4, 0x14, 0x9e, + 0x98, 0xf3, 0xab, 0xed, 0x87, 0x5e, 0xe0, 0xb7, 0x5b, 0xbc, 0x1d, 0xe9, 0xaf, 0xe5, 0x3c, 0x01, + 0x1b, 0x0e, 0x93, 0x09, 0x58, 0xdc, 0xd5, 0x2b, 0xf5, 0xc8, 0x0f, 0xe8, 0xa9, 0x5c, 0x0e, 0xb7, + 0x00, 0x18, 0xc3, 0x2d, 0x00, 0xa2, 0x13, 0x6d, 0xbe, 0x4d, 0xcf, 0x06, 0xd8, 0x89, 0x01, 0xdf, + 0x36, 0xbc, 0x41, 0xf9, 0xb6, 0x10, 0x3e, 0x6c, 0xbe, 0x8d, 0x0a, 0x06, 0x23, 0x88, 0xd2, 0x76, + 0x8f, 0x6a, 0x8a, 0xd0, 0xac, 0xdf, 0x1b, 0xeb, 0x3b, 0x6f, 0xc5, 0x6e, 0x7f, 0xb2, 0x79, 0xbb, + 0xe6, 0x0e, 0x30, 0x6f, 0x5f, 0x8f, 0xed, 0x95, 0x75, 0x17, 0x68, 0x84, 0xe8, 0xc7, 0x8d, 0xc4, + 0x59, 0xf8, 0xe5, 0xe2, 0x49, 0x26, 0x11, 0x75, 0x52, 0x7e, 0xd0, 0x4e, 0x2a, 0x0c, 0xd4, 0x49, + 0x6c, 0x09, 0x26, 0xe3, 0x30, 0x5c, 0x1b, 0x6e, 0x64, 0xec, 0x4d, 0x71, 0xec, 0x34, 0xa7, 0xe3, + 0x46, 0xfa, 0xde, 0x64, 0x92, 0xb0, 0x77, 0x60, 0x9c, 0x8c, 0xf6, 0x91, 0xc3, 0x70, 0x62, 0x36, + 0xa9, 0x2c, 0xfc, 0x53, 0xf4, 0x3a, 0xba, 0x58, 0x92, 0x1b, 0x5e, 0x87, 0x37, 0xbd, 0x36, 0xaf, + 0xa1, 0xb6, 0x9e, 0x66, 0x0c, 0x2e, 0xc9, 0x0e, 0x95, 0x38, 0x52, 0x91, 0x6f, 0xe8, 0xe9, 0x0c, + 0xa2, 0xf4, 0x64, 0x1d, 0x3d, 0xd1, 0x64, 0x95, 0x56, 0x4b, 0xc1, 0x9a, 0xbf, 0xe3, 0x29, 0x3b, + 0x4d, 0x65, 0xb5, 0x14, 0x38, 0x4d, 0x01, 0x4d, 0x59, 0x2d, 0x49, 0x54, 0x71, 0x93, 0x10, 0x3f, + 0xaa, 0x2b, 0xf4, 0x44, 0x85, 0x37, 0x09, 0x24, 0x32, 0x8d, 0x63, 0x25, 0x92, 0xaa, 0x66, 0xb5, + 0xe5, 0x7a, 0x4d, 0xf2, 0x74, 0x4d, 0xaa, 0xe1, 0x02, 0x9a, 0xae, 0x06, 0x51, 0x59, 0x1d, 0x26, + 0x6c, 0xbe, 0xbd, 0x11, 0xf8, 0x11, 0xaf, 0x47, 0xbc, 0x41, 0xd2, 0x93, 0xba, 0x40, 0x2c, 0xf9, + 0xbe, 0x94, 0x0c, 0x97, 0xde, 0xf8, 0xbd, 0x83, 0x72, 0xee, 0x5b, 0x07, 0x65, 0x10, 0x20, 0x69, + 0x79, 0x7d, 0x78, 0x50, 0x3e, 0x23, 0xc6, 0xbf, 0xa3, 0x88, 0xf5, 0x23, 0x46, 0x67, 0xca, 0xbe, + 0x21, 0x36, 0xdd, 0xb8, 0x4b, 0x92, 0xca, 0x26, 0xfa, 0x54, 0xf6, 0x66, 0x66, 0x65, 0x65, 0xad, + 0xb7, 0x33, 0x2b, 0xcd, 0xac, 0x84, 0xbd, 0x0b, 0xe3, 0xcb, 0xd5, 0x65, 0xbf, 0xbd, 0xed, 0xed, + 0xd4, 0x6e, 0x56, 0x50, 0x04, 0x23, 0xab, 0xfb, 0xba, 0xe7, 0xd4, 0x11, 0xee, 0x84, 0xbb, 0xae, + 0xe1, 0x7c, 0x95, 0xe0, 0xb3, 0x1b, 0x30, 0xa5, 0x7e, 0xda, 0x7c, 0xfb, 0x9e, 0x5d, 0x45, 0xc9, + 0x4b, 0xb9, 0x3a, 0xc4, 0x1c, 0x44, 0x47, 0x74, 0x03, 0x5d, 0x22, 0x4f, 0x91, 0x89, 0xc9, 0xb8, + 0xc2, 0x3b, 0x4d, 0x7f, 0x5f, 0x34, 0x6f, 0xd3, 0xe3, 0x01, 0xca, 0x5a, 0x34, 0x19, 0x1b, 0x71, + 0x89, 0x13, 0x79, 0xc6, 0x76, 0x9b, 0x22, 0x62, 0xeb, 0x30, 0x43, 0x53, 0xfc, 0xbe, 0x17, 0x7a, + 0x5b, 0x5e, 0xd3, 0x8b, 0xf6, 0x51, 0xca, 0x22, 0x29, 0x44, 0xad, 0x8b, 0x87, 0x71, 0xa9, 0xc6, + 0xac, 0x97, 0xd4, 0xfa, 0xd5, 0x3c, 0x3c, 0x77, 0xd4, 0x8d, 0x83, 0xd5, 0xcc, 0xcd, 0xec, 0xe2, + 0x00, 0xb7, 0x94, 0xe3, 0xb7, 0xb3, 0x55, 0x98, 0xba, 0x1b, 0xec, 0xb8, 0x6d, 0xef, 0xeb, 0x78, + 0x93, 0x8c, 0x8d, 0xb7, 0xb0, 0x33, 0x7c, 0xad, 0xc4, 0x9c, 0xed, 0x29, 0xa2, 0x85, 0x87, 0xb4, + 0xcd, 0x7d, 0x54, 0x37, 0xa0, 0x6b, 0x30, 0xb6, 0xec, 0xb7, 0x23, 0xfe, 0x38, 0x4a, 0x39, 0xbd, + 0x4a, 0x60, 0xda, 0x05, 0x4a, 0xa1, 0x5a, 0xff, 0x2a, 0x0f, 0xe7, 0x8e, 0x14, 0xb9, 0xd9, 0xa6, + 0xd9, 0x6b, 0xaf, 0x0e, 0x22, 0xa7, 0x1f, 0xdf, 0x6d, 0x8b, 0x3d, 0x76, 0x46, 0xc7, 0x5a, 0xd9, + 0x2f, 0xfc, 0x37, 0x39, 0xea, 0xa4, 0x4f, 0xc2, 0x28, 0x56, 0x15, 0x77, 0x91, 0xd4, 0x46, 0xe1, + 0x2e, 0xec, 0x99, 0xda, 0x28, 0x89, 0xc6, 0xae, 0x42, 0x71, 0xd9, 0x6d, 0x36, 0x35, 0x97, 0x60, + 0xbc, 0x49, 0xd4, 0x11, 0x96, 0x32, 0x4b, 0x53, 0x88, 0xec, 0x2d, 0x00, 0xf9, 0xb7, 0x76, 0x56, + 0xe0, 0x66, 0x49, 0x64, 0xa9, 0xe3, 0x42, 0x43, 0xc6, 0x40, 0x82, 0x75, 0x3f, 0x76, 0x3a, 0x94, + 0x81, 0x04, 0x05, 0xc0, 0x08, 0x24, 0x28, 0x00, 0xd6, 0xaf, 0x15, 0xe0, 0xf9, 0xa3, 0xef, 0x8d, + 0xec, 0x9e, 0x39, 0x04, 0xaf, 0x0d, 0x74, 0xdb, 0x3c, 0x7e, 0x0c, 0x54, 0x58, 0x4e, 0xd9, 0x21, + 0x17, 0x7b, 0x8d, 0xe1, 0xbf, 0x7d, 0x50, 0xd6, 0x6c, 0x1d, 0x6f, 0xf9, 0x5e, 0x5b, 0x7b, 0x9b, + 0xf8, 0x1a, 0x40, 0x2d, 0x72, 0x23, 0xaf, 0x7e, 0xeb, 0xc1, 0x6d, 0x15, 0xb5, 0xe2, 0xda, 0x60, + 0x2d, 0x4b, 0xe8, 0xe4, 0xbe, 0x42, 0x7e, 0x38, 0x08, 0x75, 0x3e, 0x7c, 0xb4, 0x67, 0xdc, 0x8c, + 0x13, 0xe4, 0x85, 0xcf, 0x42, 0x29, 0x4d, 0xca, 0x2e, 0xc0, 0x10, 0x36, 0x40, 0xb3, 0xe8, 0x4f, + 0x71, 0xc0, 0xf2, 0x85, 0x3b, 0x34, 0x77, 0xd0, 0x4b, 0x1a, 0x1f, 0xc4, 0x4d, 0x1d, 0x1c, 0x79, + 0x49, 0xcb, 0xf7, 0xf4, 0x5e, 0x3d, 0x5c, 0x8a, 0xc8, 0xfa, 0xcb, 0x1c, 0x9c, 0xed, 0x7b, 0x23, + 0x67, 0x1b, 0xe6, 0x80, 0xbd, 0x7c, 0xdc, 0x15, 0xfe, 0xd8, 0xb1, 0x5a, 0xf8, 0x71, 0x35, 0xf7, + 0xdf, 0x83, 0x89, 0x5a, 0x77, 0x2b, 0x7d, 0xc9, 0x92, 0x31, 0x0c, 0x34, 0xb8, 0x7e, 0x82, 0xe9, + 0xf8, 0xe2, 0xfb, 0xd5, 0x8b, 0x3f, 0x59, 0x96, 0x68, 0x56, 0x56, 0xb1, 0x1b, 0x5f, 0xaf, 0x97, + 0xb8, 0x49, 0x64, 0xfd, 0x4a, 0x3e, 0xfb, 0xb6, 0x2a, 0x6e, 0xf7, 0x27, 0xb8, 0xad, 0xde, 0x58, + 0xde, 0x38, 0xfe, 0xdb, 0xff, 0xa9, 0xfa, 0x76, 0x7c, 0x00, 0xa5, 0x1d, 0x4f, 0x29, 0x14, 0xe9, + 0x01, 0x54, 0xed, 0x8e, 0xa1, 0xf9, 0x00, 0xaa, 0x90, 0xd9, 0x9b, 0x30, 0xb6, 0xe6, 0x4b, 0x07, + 0x6e, 0xf5, 0xc5, 0xd2, 0xcf, 0x4d, 0x01, 0xf5, 0xed, 0x31, 0xc6, 0x14, 0x77, 0x0b, 0x73, 0xe0, + 0x95, 0x31, 0x19, 0xde, 0x2d, 0x52, 0xd3, 0xc5, 0x54, 0xbb, 0x99, 0x64, 0xd6, 0x7f, 0x34, 0x0c, + 0xd6, 0xf1, 0x4a, 0x03, 0xf6, 0x81, 0xd9, 0x77, 0x97, 0x06, 0x56, 0x37, 0x0c, 0xb4, 0xe5, 0x56, + 0xba, 0x0d, 0x8f, 0xb7, 0xeb, 0xa6, 0xf7, 0x35, 0xc1, 0xf4, 0x2d, 0x50, 0xe1, 0x7d, 0x14, 0x67, + 0xa8, 0x85, 0xff, 0xb2, 0x90, 0x2c, 0xb5, 0xd4, 0xd1, 0x98, 0xfb, 0x08, 0x47, 0x23, 0xbb, 0x0d, + 0x25, 0x1d, 0xa2, 0xbd, 0x84, 0xa2, 0xe4, 0x62, 0x30, 0x4a, 0x35, 0xaa, 0x87, 0xd0, 0x3c, 0x5f, + 0x0b, 0x83, 0x9f, 0xaf, 0x89, 0xf8, 0x8e, 0xf5, 0x0f, 0xf5, 0x8a, 0xef, 0x69, 0x87, 0x47, 0x0d, + 0x5d, 0x79, 0x6b, 0x87, 0x74, 0x68, 0x0d, 0x9b, 0xde, 0xda, 0x19, 0x07, 0x97, 0x8e, 0xae, 0x1c, + 0xce, 0xf1, 0xa7, 0xe6, 0x6f, 0x19, 0x3b, 0x9c, 0x4b, 0xfa, 0x2c, 0x87, 0xf3, 0x98, 0x44, 0x1c, + 0x80, 0x76, 0xb7, 0x2d, 0x23, 0xd6, 0x8e, 0x26, 0x07, 0x60, 0xd0, 0x6d, 0x3b, 0xe9, 0xa8, 0xb5, + 0x31, 0xa2, 0xf5, 0xe3, 0x79, 0x98, 0x92, 0x1b, 0xae, 0x7c, 0xca, 0x78, 0x6a, 0x9f, 0x89, 0xde, + 0x36, 0x9e, 0x89, 0x54, 0x88, 0x1e, 0xfd, 0xd3, 0x06, 0x7a, 0x24, 0xda, 0x05, 0xd6, 0x4b, 0xc3, + 0x6c, 0x98, 0xd0, 0xa1, 0x47, 0xbf, 0x0f, 0x5d, 0x49, 0xa2, 0x39, 0xd1, 0x79, 0x87, 0x8f, 0x74, + 0xa1, 0x6d, 0xf0, 0xb0, 0x7e, 0x2c, 0x0f, 0x93, 0xda, 0xa3, 0xfe, 0x53, 0xdb, 0xf1, 0x9f, 0x35, + 0x3a, 0x7e, 0x3e, 0x76, 0xfa, 0x88, 0xbf, 0x6c, 0xa0, 0x7e, 0xef, 0xc2, 0x4c, 0x0f, 0x49, 0xda, + 0x36, 0x22, 0x37, 0x88, 0x6d, 0xc4, 0xeb, 0xbd, 0xa1, 0x61, 0x64, 0x84, 0xe5, 0x38, 0x50, 0x80, + 0x1e, 0x8b, 0xe6, 0x27, 0xf3, 0x30, 0x47, 0xbf, 0x30, 0x96, 0x9a, 0x94, 0x38, 0x9e, 0xda, 0xb1, + 0xa8, 0x18, 0x63, 0x51, 0x36, 0xc7, 0x42, 0xfb, 0xc0, 0xfe, 0x43, 0x62, 0xfd, 0x10, 0xc0, 0x7c, + 0x3f, 0x82, 0x81, 0x7d, 0x2b, 0x13, 0xcf, 0x95, 0xfc, 0x00, 0x9e, 0x2b, 0x6b, 0x50, 0xc2, 0xaa, + 0x28, 0x5a, 0x52, 0x28, 0xee, 0xad, 0x85, 0xe4, 0x92, 0x28, 0x03, 0xde, 0x51, 0xf4, 0xa6, 0x30, + 0x75, 0x71, 0xed, 0xa1, 0x64, 0xbf, 0x94, 0x83, 0x29, 0x04, 0xae, 0x3e, 0xe4, 0xed, 0x08, 0x99, + 0x0d, 0x91, 0xa3, 0x45, 0xfc, 0x8a, 0x54, 0x8b, 0x02, 0xaf, 0xbd, 0x43, 0xcf, 0x48, 0x5b, 0xf4, + 0x8c, 0xf4, 0x8e, 0x7c, 0xfe, 0xba, 0x54, 0xf7, 0x5b, 0x97, 0x77, 0x02, 0xf7, 0xa1, 0x27, 0xed, + 0x55, 0xdc, 0xe6, 0xe5, 0x24, 0xc0, 0x7f, 0xc7, 0x4b, 0x85, 0xec, 0x27, 0x56, 0xf8, 0x44, 0x27, + 0x1b, 0xca, 0xb1, 0xda, 0xf4, 0xfd, 0xda, 0x6c, 0x11, 0xfb, 0x1e, 0x38, 0x23, 0x63, 0x98, 0x88, + 0x6b, 0x9a, 0xd7, 0xee, 0xfa, 0xdd, 0x70, 0xc9, 0xad, 0xef, 0x09, 0x59, 0x4d, 0x3a, 0x8b, 0xe1, + 0x97, 0xd7, 0xe3, 0x42, 0x67, 0x4b, 0x96, 0x1a, 0xce, 0xb1, 0xd9, 0x0c, 0xd8, 0x4d, 0x98, 0x91, + 0x45, 0x95, 0x6e, 0xe4, 0xd7, 0xea, 0x6e, 0xd3, 0x6b, 0xef, 0xe0, 0x81, 0x50, 0x94, 0xe7, 0x91, + 0xdb, 0x8d, 0x7c, 0x27, 0x94, 0x70, 0xfd, 0xba, 0xdd, 0x43, 0xc4, 0xaa, 0x30, 0x6d, 0x73, 0xb7, + 0x71, 0xc7, 0x7d, 0xbc, 0xec, 0x76, 0xdc, 0xba, 0xb8, 0xbc, 0x17, 0xf1, 0xc9, 0x15, 0x4f, 0xe5, + 0x80, 0xbb, 0x0d, 0xa7, 0xe5, 0x3e, 0x76, 0xea, 0x54, 0x68, 0xea, 0x5d, 0x0d, 0xba, 0x98, 0x95, + 0xd7, 0x8e, 0x59, 0x8d, 0xa5, 0x59, 0x79, 0xed, 0xfe, 0xac, 0x12, 0x3a, 0xc5, 0x6a, 0xd3, 0x0d, + 0x76, 0x78, 0x24, 0xcd, 0x3d, 0xe1, 0x7c, 0xee, 0x62, 0x4e, 0x63, 0x15, 0x61, 0x99, 0x83, 0xa6, + 0x9f, 0x69, 0x56, 0x1a, 0x9d, 0x98, 0x79, 0x0f, 0x02, 0x2f, 0xe2, 0xfa, 0x17, 0x8e, 0x63, 0xb3, + 0xb0, 0xff, 0xd1, 0x50, 0xb6, 0xdf, 0x27, 0xf6, 0x50, 0x26, 0xdc, 0xb4, 0x8f, 0x9c, 0xe8, 0xe1, + 0x96, 0xfd, 0x95, 0x3d, 0x94, 0x31, 0x37, 0xfd, 0x3b, 0x27, 0xf1, 0x3b, 0x35, 0x6e, 0x7d, 0x3e, + 0xb4, 0x87, 0x92, 0xad, 0x8b, 0x4e, 0x8b, 0x78, 0x5b, 0xcc, 0x68, 0x32, 0x77, 0x9d, 0xc2, 0xa6, + 0xbd, 0x44, 0x36, 0x5b, 0xa5, 0x40, 0x15, 0x3b, 0x19, 0xc6, 0xaf, 0x69, 0x62, 0xf6, 0xb7, 0x60, + 0xfa, 0x5e, 0xc8, 0xaf, 0x57, 0x37, 0x6a, 0x2a, 0xe4, 0x09, 0x6a, 0x88, 0xa6, 0x16, 0xaf, 0x1c, + 0xb3, 0xe9, 0x5c, 0xd2, 0x69, 0x30, 0xce, 0xbe, 0x1c, 0xb7, 0x6e, 0xc8, 0x9d, 0x6d, 0xaf, 0x13, + 0xc6, 0xf1, 0xa3, 0xf4, 0x71, 0x4b, 0x55, 0x65, 0xdd, 0x84, 0x99, 0x1e, 0x36, 0x6c, 0x0a, 0x40, + 0x00, 0x9d, 0x7b, 0xeb, 0xb5, 0xd5, 0xcd, 0xd2, 0x33, 0xac, 0x04, 0x13, 0xf8, 0x7b, 0x75, 0xbd, + 0xb2, 0xb4, 0xb6, 0xba, 0x52, 0xca, 0xb1, 0x19, 0x98, 0x44, 0xc8, 0x4a, 0xb5, 0x26, 0x41, 0x79, + 0x19, 0x65, 0xd9, 0x2e, 0xc9, 0xa5, 0x1b, 0x89, 0x05, 0x80, 0x67, 0x8a, 0xf5, 0xf7, 0xf3, 0x70, + 0x56, 0x1d, 0x2b, 0x3c, 0x12, 0x22, 0x98, 0xd7, 0xde, 0x79, 0xca, 0x4f, 0x87, 0xeb, 0xc6, 0xe9, + 0xf0, 0x52, 0xea, 0xa4, 0x4e, 0x7d, 0xe5, 0x11, 0x47, 0xc4, 0x6f, 0x8d, 0xc1, 0xb9, 0x23, 0xa9, + 0xd8, 0xe7, 0xc5, 0x69, 0xee, 0xf1, 0x76, 0x54, 0x6d, 0x34, 0xf9, 0xa6, 0xd7, 0xe2, 0x7e, 0x37, + 0x22, 0xf3, 0xea, 0x17, 0x51, 0x29, 0x83, 0x85, 0x8e, 0xd7, 0x68, 0x72, 0x27, 0x92, 0xc5, 0xc6, + 0x74, 0xeb, 0xa5, 0x16, 0x2c, 0xe3, 0x9c, 0x1f, 0xd5, 0x76, 0xc4, 0x83, 0x87, 0x68, 0xc2, 0x15, + 0xb3, 0xdc, 0xe3, 0xbc, 0xe3, 0xb8, 0xa2, 0xd4, 0xf1, 0xa8, 0xd8, 0x64, 0xd9, 0x43, 0xcd, 0xae, + 0x6b, 0x2c, 0x97, 0xc5, 0x15, 0xee, 0x8e, 0xfb, 0x98, 0x6c, 0x4a, 0x28, 0x84, 0x5e, 0xcc, 0x52, + 0xfa, 0x73, 0xb6, 0xdc, 0xc7, 0x76, 0x2f, 0x09, 0xfb, 0x32, 0x9c, 0xa2, 0x03, 0x88, 0xfc, 0xf1, + 0xd5, 0x17, 0x4b, 0x6f, 0xff, 0x57, 0x0e, 0x0f, 0xca, 0x67, 0x54, 0xf0, 0x41, 0x15, 0x81, 0x21, + 0xeb, 0xab, 0xb3, 0xb9, 0xb0, 0x4d, 0x71, 0x20, 0xa7, 0xba, 0xe3, 0x0e, 0x0f, 0x43, 0xe5, 0x68, + 0x44, 0xd7, 0x1b, 0xbd, 0x33, 0x9d, 0x96, 0x2c, 0xb7, 0xfb, 0x52, 0xb2, 0x9b, 0x30, 0xf5, 0x80, + 0x6f, 0xe9, 0xe3, 0x33, 0x12, 0x6f, 0x55, 0xa5, 0x47, 0x7c, 0xab, 0xff, 0xe0, 0xa4, 0xe8, 0x98, + 0x87, 0x4a, 0xde, 0xc7, 0xfb, 0x6b, 0x5e, 0x18, 0xf1, 0x36, 0x0f, 0x30, 0xce, 0xcb, 0x28, 0x6e, + 0x06, 0xf3, 0x89, 0x84, 0x6c, 0x96, 0x2f, 0xbd, 0x70, 0x78, 0x50, 0x3e, 0x27, 0x3d, 0xf6, 0x9a, + 0x04, 0x77, 0x52, 0x19, 0x33, 0x7a, 0xb9, 0xb2, 0xaf, 0xc2, 0xb4, 0xed, 0x77, 0x23, 0xaf, 0xbd, + 0x53, 0x8b, 0x02, 0x37, 0xe2, 0x3b, 0xf2, 0x40, 0x4a, 0x02, 0xca, 0xa4, 0x4a, 0xe9, 0x7d, 0x50, + 0x02, 0x9d, 0x90, 0xa0, 0xc6, 0x89, 0x60, 0x12, 0xb0, 0xaf, 0xc0, 0x94, 0xf4, 0xc4, 0x8e, 0x2b, + 0x18, 0x33, 0xa2, 0x7d, 0x9b, 0x85, 0xf7, 0xaf, 0x90, 0x09, 0x00, 0x42, 0xb3, 0x2a, 0x48, 0x71, + 0x63, 0x5f, 0xa4, 0xce, 0xda, 0xf0, 0xda, 0x3b, 0xf1, 0x34, 0x06, 0xec, 0xf9, 0x37, 0x92, 0x2e, + 0xe9, 0x88, 0xe6, 0xaa, 0x69, 0xdc, 0xc7, 0x9e, 0xa9, 0x97, 0x0f, 0x8b, 0xe0, 0x5c, 0x25, 0x0c, + 0xbd, 0x30, 0x22, 0x27, 0x84, 0xd5, 0xc7, 0xbc, 0xde, 0x15, 0xc8, 0xe2, 0xa2, 0xc8, 0x03, 0x69, + 0x04, 0x3b, 0xbc, 0x74, 0xe9, 0xf0, 0xa0, 0xfc, 0x9a, 0x8b, 0x88, 0x0e, 0xf9, 0x2d, 0x38, 0x5c, + 0xa1, 0x3a, 0x8f, 0x24, 0xae, 0xf6, 0x0d, 0x47, 0x33, 0x65, 0x5f, 0x81, 0xd3, 0xcb, 0x6e, 0xc8, + 0xab, 0xed, 0x90, 0xb7, 0x43, 0x2f, 0xf2, 0x1e, 0x72, 0xea, 0x54, 0x3c, 0xfc, 0x8a, 0x98, 0x5b, + 0xc4, 0xaa, 0xbb, 0xa1, 0x58, 0x98, 0x31, 0x8a, 0x43, 0x83, 0xa2, 0x55, 0xd3, 0x87, 0x0b, 0xb3, + 0x61, 0xaa, 0x56, 0xbb, 0xb9, 0xe2, 0xb9, 0xf1, 0xba, 0x9a, 0xc4, 0xfe, 0x7a, 0x0d, 0xf5, 0x33, + 0xe1, 0xae, 0xd3, 0xf0, 0xdc, 0x78, 0x41, 0xf5, 0xe9, 0xac, 0x14, 0x07, 0xeb, 0x20, 0x07, 0xa5, + 0xf4, 0x50, 0xb2, 0x2f, 0xc0, 0x98, 0x34, 0x06, 0xe2, 0xe1, 0x2e, 0x39, 0x26, 0x2b, 0xdb, 0x92, + 0x18, 0x6e, 0x12, 0x91, 0x53, 0x90, 0x34, 0x35, 0xe2, 0xba, 0xdd, 0x02, 0x3a, 0x05, 0x29, 0x22, + 0xd6, 0x80, 0x09, 0x39, 0x5a, 0x1c, 0xa3, 0x49, 0x91, 0x4d, 0xe8, 0x0b, 0xfa, 0xea, 0xa0, 0xa2, + 0x14, 0x7f, 0x7c, 0xfa, 0xa1, 0x39, 0x21, 0x11, 0x8c, 0x2a, 0x0c, 0xae, 0x4b, 0x00, 0x45, 0x45, + 0x68, 0x9d, 0x85, 0x33, 0x7d, 0xda, 0x6c, 0x3d, 0xc4, 0xe7, 0xe0, 0x3e, 0x35, 0xb2, 0x2f, 0xc0, + 0x1c, 0x12, 0x2e, 0xfb, 0xed, 0x36, 0xaf, 0x47, 0xb8, 0x1d, 0x29, 0x15, 0x6a, 0x41, 0xda, 0x1c, + 0xc8, 0xef, 0xad, 0xc7, 0x08, 0x4e, 0x5a, 0x93, 0x9a, 0xc9, 0xc1, 0xfa, 0xb9, 0x3c, 0xcc, 0xd3, + 0x0e, 0x67, 0xf3, 0xba, 0x1f, 0x34, 0x9e, 0xfe, 0x13, 0x75, 0xd5, 0x38, 0x51, 0x5f, 0x8c, 0x23, + 0x51, 0x64, 0x7d, 0xe4, 0x11, 0x07, 0xea, 0xaf, 0xe4, 0xe0, 0xb9, 0xa3, 0x88, 0x44, 0xef, 0xc4, + 0xd1, 0xb3, 0xc6, 0x7a, 0xa2, 0x64, 0x75, 0x60, 0x16, 0x07, 0x74, 0x79, 0x97, 0xd7, 0xf7, 0xc2, + 0x9b, 0x7e, 0x18, 0xa1, 0x59, 0x7a, 0xbe, 0xcf, 0x83, 0xe5, 0xeb, 0x99, 0x0f, 0x96, 0xa7, 0xe5, + 0x2c, 0xab, 0x23, 0x0f, 0x19, 0xdf, 0x6b, 0x8f, 0xef, 0x87, 0x76, 0x16, 0x6b, 0x34, 0x2f, 0xae, + 0x74, 0xa3, 0xdd, 0x8d, 0x80, 0x6f, 0xf3, 0x80, 0xb7, 0xeb, 0xfc, 0xbb, 0xcc, 0xbc, 0xd8, 0xfc, + 0xb8, 0x81, 0x34, 0x18, 0xff, 0x74, 0x12, 0xe6, 0xb2, 0xc8, 0x44, 0xbf, 0x68, 0x97, 0xe6, 0x74, + 0xea, 0xb3, 0x1f, 0xcc, 0xc1, 0x44, 0x8d, 0xd7, 0xfd, 0x76, 0xe3, 0x3a, 0x9a, 0x85, 0x50, 0xef, + 0x38, 0x52, 0x68, 0x10, 0x70, 0x67, 0x3b, 0x65, 0x2f, 0xf2, 0xed, 0x83, 0xf2, 0xe7, 0x06, 0xbb, + 0xab, 0xd6, 0x7d, 0x8c, 0x26, 0x11, 0x61, 0x68, 0xee, 0xb8, 0x0a, 0x7c, 0xe1, 0x31, 0x2a, 0x65, + 0x4b, 0x30, 0x49, 0xcb, 0xd5, 0xd7, 0x83, 0xa7, 0xc9, 0x60, 0x1d, 0xaa, 0xa0, 0x47, 0xff, 0x68, + 0x90, 0xb0, 0xab, 0x50, 0xb8, 0xb7, 0x78, 0x9d, 0xc6, 0x40, 0x05, 0x37, 0xbf, 0xb7, 0x78, 0x1d, + 0xd5, 0x61, 0xe2, 0x8a, 0x31, 0xd9, 0x5d, 0x34, 0x2c, 0x35, 0xee, 0x2d, 0x5e, 0x67, 0x7f, 0x1b, + 0x4e, 0xad, 0x78, 0x21, 0x55, 0x21, 0x0d, 0xdd, 0x1b, 0xe8, 0xde, 0x35, 0xd2, 0x67, 0xf6, 0x7e, + 0x3a, 0x73, 0xf6, 0xbe, 0xd0, 0x88, 0x99, 0x38, 0xd2, 0x8a, 0xbe, 0x91, 0x0e, 0x12, 0x97, 0x5d, + 0x0f, 0xfb, 0x10, 0xa6, 0x50, 0x77, 0x8e, 0xb6, 0xff, 0x18, 0xde, 0x77, 0xb4, 0x4f, 0xcd, 0x9f, + 0xcc, 0xac, 0x79, 0x41, 0x3a, 0x89, 0xa3, 0x07, 0x01, 0x86, 0x02, 0x36, 0x6e, 0xfd, 0x06, 0x67, + 0x76, 0x0b, 0xa6, 0x49, 0xfc, 0xba, 0xbb, 0xbd, 0xb9, 0xcb, 0x57, 0xdc, 0x7d, 0x32, 0xb2, 0xc0, + 0x1b, 0x1d, 0xc9, 0x6c, 0x8e, 0xbf, 0xed, 0x44, 0xbb, 0xdc, 0x69, 0xb8, 0x86, 0xa0, 0x92, 0x22, + 0x64, 0xdf, 0x80, 0xf1, 0x35, 0xbf, 0x2e, 0x24, 0x6f, 0xdc, 0x19, 0xa4, 0xdd, 0xc5, 0x07, 0x98, + 0x5c, 0x4b, 0x82, 0x53, 0xe2, 0xd4, 0xb7, 0x0f, 0xca, 0x6f, 0x9f, 0x74, 0xd2, 0x68, 0x15, 0xd8, + 0x7a, 0x6d, 0x6c, 0x19, 0x8a, 0x0f, 0xf8, 0x96, 0xf8, 0xda, 0x74, 0xe2, 0x1d, 0x05, 0x26, 0xb3, + 0x2a, 0xfa, 0x65, 0x98, 0x55, 0x11, 0x8c, 0x05, 0x30, 0x83, 0xfd, 0xb3, 0xe1, 0x86, 0xe1, 0x23, + 0x3f, 0x68, 0x60, 0x84, 0xf5, 0x7e, 0x26, 0x1d, 0x8b, 0x99, 0x9d, 0xff, 0x9c, 0xec, 0xfc, 0x8e, + 0xc6, 0x41, 0x17, 0x20, 0x7b, 0xd8, 0xb3, 0xaf, 0xc2, 0x14, 0x79, 0x36, 0xdf, 0xb9, 0x5e, 0xc1, + 0x55, 0x39, 0x61, 0x38, 0xc9, 0x99, 0x85, 0x52, 0x4a, 0x25, 0x47, 0x69, 0xa5, 0x81, 0x72, 0x5a, + 0xdb, 0xae, 0xf9, 0x6a, 0xa6, 0x93, 0xb0, 0x0d, 0x18, 0x5f, 0xe1, 0x0f, 0xbd, 0x3a, 0x47, 0x47, + 0x1e, 0x32, 0xa2, 0x8d, 0x33, 0x87, 0x24, 0x25, 0x52, 0x17, 0xd3, 0x40, 0x80, 0x74, 0x0b, 0x32, + 0xad, 0x26, 0x63, 0x44, 0x76, 0x0d, 0x0a, 0xd5, 0x95, 0x0d, 0xb2, 0xa1, 0x55, 0xbe, 0x31, 0xd5, + 0xc6, 0x86, 0xca, 0xb3, 0x80, 0x46, 0x50, 0x5e, 0xc3, 0xb0, 0xc0, 0xad, 0xae, 0x6c, 0xb0, 0x6d, + 0x98, 0xc4, 0x0e, 0xb8, 0xc9, 0x5d, 0xd9, 0xb7, 0xd3, 0x7d, 0xfa, 0xf6, 0x52, 0x66, 0xdf, 0xce, + 0xcb, 0xbe, 0xdd, 0x25, 0x6a, 0x23, 0x70, 0xbc, 0xce, 0x56, 0x88, 0xb4, 0x94, 0xcc, 0x42, 0x85, + 0x3b, 0xdf, 0x5c, 0x43, 0x23, 0x0f, 0x12, 0x69, 0x55, 0xee, 0x8b, 0x38, 0xfe, 0x7a, 0x5f, 0x13, + 0xfd, 0x5e, 0x3e, 0xec, 0xb3, 0x30, 0x74, 0x77, 0x2f, 0x72, 0xe7, 0x67, 0x8c, 0x7e, 0x14, 0x20, + 0xf5, 0xf9, 0xa8, 0x85, 0xf4, 0xf7, 0x8c, 0x30, 0x42, 0x48, 0x23, 0x86, 0xe2, 0xa6, 0x1b, 0x34, + 0x1e, 0xb9, 0x01, 0x7a, 0x53, 0xce, 0x1a, 0x2c, 0xb4, 0x12, 0x39, 0x14, 0xbb, 0x04, 0x48, 0xb9, + 0x58, 0xea, 0x2c, 0xd8, 0xf7, 0xc0, 0xd9, 0xd0, 0xdb, 0x69, 0xbb, 0x51, 0x37, 0xe0, 0x8e, 0xdb, + 0xdc, 0xf1, 0x03, 0x2f, 0xda, 0x6d, 0x39, 0x61, 0xd7, 0x8b, 0xf8, 0xfc, 0x9c, 0x91, 0xfa, 0xb2, + 0xa6, 0xf0, 0x2a, 0x0a, 0xad, 0x26, 0xb0, 0xec, 0x33, 0x61, 0x76, 0x01, 0xfb, 0x22, 0x4c, 0xea, + 0x5b, 0x72, 0x38, 0x7f, 0xea, 0x7c, 0xe1, 0xe2, 0x54, 0x7c, 0xf1, 0x48, 0x6f, 0xe0, 0x2a, 0x64, + 0xa4, 0x76, 0x42, 0x84, 0x66, 0xc8, 0x48, 0x8d, 0x57, 0x9c, 0x4c, 0x8a, 0x95, 0x66, 0xed, 0x19, + 0x9a, 0xb1, 0xd4, 0xcb, 0x77, 0xae, 0x57, 0xec, 0xd1, 0x8d, 0xea, 0xfd, 0x5a, 0xd3, 0x8f, 0xac, + 0xff, 0x2c, 0x87, 0x9b, 0x38, 0x7b, 0x0d, 0xa3, 0x9f, 0xc4, 0xcf, 0x79, 0xa8, 0xbf, 0x75, 0x3b, + 0xa9, 0x78, 0xc3, 0x12, 0x85, 0xbd, 0x0e, 0x23, 0xd7, 0xdd, 0x3a, 0x8f, 0xd4, 0xa3, 0x2b, 0x22, + 0x6f, 0x23, 0x44, 0x57, 0xf6, 0x4a, 0x1c, 0x21, 0x5f, 0xca, 0xc9, 0x5d, 0x49, 0xb2, 0xa3, 0x2e, + 0x57, 0xd4, 0x9b, 0x2b, 0xca, 0x97, 0xb4, 0x28, 0xb4, 0xf4, 0xa9, 0x29, 0xfb, 0xe4, 0x4c, 0x0e, + 0xd6, 0x9f, 0xe7, 0x92, 0x5d, 0x89, 0xbd, 0x02, 0x43, 0xf6, 0x46, 0xdc, 0x7e, 0xe9, 0x21, 0x99, + 0x6a, 0x3e, 0x22, 0xb0, 0x2f, 0xc2, 0x29, 0x8d, 0x4f, 0x8f, 0xb1, 0xf4, 0xcb, 0xe8, 0xc0, 0xa7, + 0xb5, 0x24, 0xdb, 0x62, 0x3a, 0x9b, 0x07, 0x0a, 0xd3, 0x49, 0xc1, 0x0a, 0x6f, 0x7b, 0x92, 0xb7, + 0xf6, 0xb1, 0x3a, 0xef, 0x06, 0x22, 0xa4, 0x3f, 0x36, 0x8b, 0x83, 0xf4, 0xdf, 0xb3, 0x7e, 0x33, + 0x67, 0xec, 0x36, 0x71, 0x1a, 0xca, 0xdc, 0x31, 0x69, 0x28, 0xdf, 0x02, 0xa8, 0x74, 0x23, 0x7f, + 0xb5, 0x1d, 0xf8, 0x4d, 0xa9, 0x45, 0xa1, 0x90, 0xdb, 0xa8, 0x1b, 0xe6, 0x08, 0x36, 0xdc, 0x8c, + 0x62, 0xe4, 0x4c, 0xbb, 0xf2, 0xc2, 0x47, 0xb5, 0x2b, 0xb7, 0x7e, 0x3f, 0x67, 0xac, 0x51, 0x21, + 0x25, 0xd2, 0x54, 0xd4, 0xcd, 0x7e, 0x3a, 0xde, 0x43, 0x27, 0x6c, 0xfa, 0xfa, 0x0e, 0xa9, 0xd0, + 0xd8, 0xff, 0x3f, 0x07, 0xa7, 0xa5, 0x81, 0xf6, 0x7a, 0xb7, 0xb5, 0xc5, 0x83, 0xfb, 0x6e, 0xd3, + 0x6b, 0x48, 0x2f, 0x55, 0x29, 0x00, 0x5f, 0xec, 0x5d, 0xf0, 0xd9, 0xf8, 0xf2, 0xa2, 0x2a, 0x0d, + 0xc6, 0x9d, 0x36, 0x16, 0x3a, 0x0f, 0xe3, 0x52, 0xfd, 0xa2, 0x9a, 0x4d, 0x6f, 0xfd, 0x6a, 0x0e, + 0x5e, 0x38, 0xb6, 0x16, 0x76, 0x19, 0x46, 0x55, 0xac, 0xf3, 0x1c, 0x76, 0x3c, 0x1a, 0x4b, 0xf6, + 0xc6, 0x39, 0x57, 0x58, 0xec, 0x4b, 0x70, 0x4a, 0x67, 0xb5, 0x19, 0xb8, 0x9e, 0x1e, 0x51, 0x3c, + 0xa3, 0xd5, 0x91, 0x40, 0x49, 0x4b, 0x6b, 0xd9, 0x4c, 0xac, 0xff, 0x37, 0xa7, 0x25, 0xa6, 0x7d, + 0x4a, 0x65, 0xf8, 0x6b, 0x86, 0x0c, 0xaf, 0xe2, 0xce, 0xc5, 0x5f, 0x25, 0xca, 0x32, 0xef, 0x5d, + 0xd3, 0x9a, 0xd1, 0x2f, 0x02, 0x7e, 0x24, 0x0f, 0xe3, 0xf7, 0x42, 0x1e, 0xc8, 0x87, 0xdc, 0xef, + 0xae, 0xf8, 0x62, 0xf1, 0x77, 0x0d, 0x14, 0x01, 0xea, 0x4f, 0x73, 0xa8, 0xe0, 0xd7, 0x29, 0x44, + 0x6f, 0x68, 0xc9, 0xa8, 0xb0, 0x37, 0x30, 0x0d, 0x15, 0x42, 0x65, 0xe0, 0xa1, 0x35, 0x33, 0x2f, + 0x1d, 0x26, 0x27, 0x5c, 0x63, 0x9f, 0x83, 0xe1, 0x7b, 0xa8, 0xae, 0x34, 0x23, 0x12, 0xc4, 0xfc, + 0xb1, 0x50, 0x6e, 0xd2, 0xdd, 0xd0, 0x0c, 0x96, 0x24, 0x09, 0x59, 0x0d, 0x46, 0x97, 0x03, 0x8e, + 0x69, 0x66, 0x87, 0x06, 0xf7, 0xa7, 0xad, 0x4b, 0x92, 0xb4, 0x3f, 0x2d, 0x71, 0xb2, 0x7e, 0x36, + 0x0f, 0x2c, 0xf9, 0x46, 0xcc, 0xa9, 0x12, 0x3e, 0xb5, 0x83, 0xfe, 0xbe, 0x31, 0xe8, 0xe7, 0x7a, + 0x06, 0x5d, 0x7e, 0xde, 0x40, 0x63, 0xff, 0xdb, 0x39, 0x38, 0x9d, 0x4d, 0xc8, 0x5e, 0x84, 0x91, + 0xbb, 0x9b, 0x1b, 0x2a, 0xa8, 0x05, 0x7d, 0x8a, 0xdf, 0x41, 0x5d, 0x81, 0x4d, 0x45, 0xec, 0x0d, + 0x18, 0xf9, 0xbc, 0xbd, 0x2c, 0xce, 0x21, 0x2d, 0x6a, 0xf7, 0xd7, 0x02, 0xa7, 0x6e, 0x1e, 0x45, + 0x84, 0xa4, 0x8f, 0x6d, 0xe1, 0x89, 0x8d, 0xed, 0x4f, 0xe6, 0x61, 0xba, 0x52, 0xaf, 0xf3, 0x30, + 0x14, 0xd2, 0x0e, 0x0f, 0xa3, 0xa7, 0x76, 0x60, 0xb3, 0xc3, 0x55, 0x18, 0xdf, 0x36, 0xd0, 0xa8, + 0xfe, 0x6e, 0x0e, 0x4e, 0x29, 0xaa, 0x87, 0x1e, 0x7f, 0xb4, 0xb9, 0x1b, 0xf0, 0x70, 0xd7, 0x6f, + 0x36, 0x06, 0x4e, 0x0d, 0x20, 0x04, 0x3d, 0x8c, 0xf7, 0xab, 0xbf, 0xea, 0x6f, 0x23, 0xc4, 0x10, + 0xf4, 0x64, 0x4c, 0xe0, 0xcb, 0x30, 0x5a, 0xe9, 0x74, 0x02, 0xff, 0xa1, 0x5c, 0xf6, 0x14, 0x0e, + 0xcd, 0x95, 0x20, 0xc3, 0x1d, 0x59, 0x82, 0x44, 0x33, 0x56, 0x78, 0x5b, 0x06, 0xfa, 0x9a, 0x94, + 0xcd, 0x68, 0xf0, 0xb6, 0x2e, 0x8b, 0x63, 0xb9, 0x55, 0x03, 0xb6, 0x11, 0xf8, 0x2d, 0x3f, 0xe2, + 0x0d, 0xf9, 0x3d, 0xe8, 0xc5, 0x7d, 0x6c, 0x60, 0xa0, 0x4d, 0x2f, 0x6a, 0x1a, 0x81, 0x81, 0x22, + 0x01, 0xb0, 0x25, 0xdc, 0xfa, 0x3f, 0x87, 0x61, 0x42, 0xef, 0x1d, 0x66, 0xc9, 0x78, 0xdf, 0x7e, + 0xa0, 0x87, 0x12, 0x70, 0x11, 0x62, 0x53, 0x49, 0x12, 0x87, 0x23, 0x7f, 0x6c, 0x1c, 0x8e, 0x07, + 0x30, 0xb9, 0x11, 0xf8, 0x18, 0xb7, 0x4d, 0xa6, 0x1f, 0x97, 0x5b, 0xe1, 0xac, 0x76, 0xef, 0x14, + 0x03, 0x89, 0xef, 0xa1, 0x28, 0xd9, 0x77, 0x08, 0xdb, 0x49, 0x27, 0x27, 0x37, 0xf9, 0x48, 0x53, + 0x0b, 0x37, 0xa4, 0xe0, 0x8b, 0xb1, 0xa9, 0x85, 0x80, 0x98, 0xa6, 0x16, 0x02, 0xa2, 0xaf, 0xb5, + 0xe1, 0x27, 0xb5, 0xd6, 0xd8, 0xcf, 0xe6, 0x60, 0xbc, 0xd2, 0x6e, 0x53, 0x7c, 0x8f, 0x63, 0x5c, + 0x9b, 0xbf, 0x44, 0xd6, 0x16, 0x6f, 0x7f, 0x24, 0x6b, 0x0b, 0x94, 0x5b, 0x42, 0x94, 0x54, 0x93, + 0x0a, 0xf5, 0xdb, 0x9a, 0xd6, 0x0e, 0xf6, 0x36, 0x94, 0xe2, 0x49, 0x5e, 0x6d, 0x37, 0xf8, 0x63, + 0x2e, 0xf3, 0x25, 0x4d, 0x52, 0xd8, 0x55, 0x5d, 0x32, 0x4d, 0x23, 0xb2, 0x4d, 0x00, 0x37, 0x9e, + 0x5d, 0xa9, 0xc4, 0x6f, 0xbd, 0xd3, 0x8f, 0xa4, 0x67, 0xfc, 0x8d, 0x0f, 0x5a, 0xba, 0xf4, 0x9c, + 0xf0, 0x61, 0x2d, 0x98, 0x96, 0x59, 0xd7, 0x30, 0x1b, 0x3b, 0x46, 0x17, 0x87, 0x63, 0xc7, 0xe1, + 0x15, 0xd2, 0x9f, 0x3d, 0x4b, 0xb9, 0xdc, 0x30, 0xc1, 0xbb, 0x93, 0x11, 0x6a, 0x3c, 0xcd, 0x5b, + 0x06, 0xb9, 0xb5, 0xcf, 0xf4, 0xb6, 0x57, 0x4e, 0xfa, 0x9f, 0xcc, 0xc1, 0x69, 0x7d, 0xd2, 0xd7, + 0xba, 0x5b, 0x2d, 0x0f, 0x2f, 0x85, 0xec, 0x12, 0x8c, 0xd1, 0x9c, 0x8c, 0x2f, 0x51, 0xbd, 0x41, + 0xd2, 0x13, 0x14, 0xb6, 0x2a, 0xa6, 0xa1, 0xe0, 0x41, 0x52, 0xf7, 0x6c, 0x6a, 0x9f, 0x12, 0x45, + 0x49, 0x46, 0xcf, 0x00, 0x7f, 0x9b, 0xf3, 0x53, 0x40, 0xac, 0xf7, 0x60, 0xc6, 0x1c, 0x89, 0x1a, + 0x8f, 0xd8, 0xab, 0x30, 0xaa, 0x86, 0x2f, 0x97, 0x3d, 0x7c, 0xaa, 0xdc, 0x7a, 0x00, 0xac, 0x87, + 0x3e, 0x44, 0xb3, 0x28, 0x1e, 0x29, 0xb3, 0x3d, 0xf5, 0x28, 0xd9, 0x83, 0xb8, 0x34, 0x4b, 0xed, + 0x1b, 0x37, 0x6c, 0xcb, 0x05, 0xa9, 0xf5, 0xe7, 0x53, 0x30, 0x9b, 0xb1, 0xe7, 0x1e, 0x23, 0x13, + 0x95, 0xcd, 0x0d, 0x62, 0x2c, 0x8e, 0x8c, 0xa0, 0xb6, 0x85, 0xf7, 0x60, 0xf8, 0xd8, 0xed, 0x40, + 0x7a, 0x16, 0xa4, 0x76, 0x01, 0x49, 0xf6, 0x1d, 0x91, 0x8b, 0xf4, 0xe0, 0x25, 0xc3, 0x4f, 0x2c, + 0x78, 0xc9, 0x12, 0x4c, 0xd2, 0x57, 0xd1, 0x76, 0xa5, 0x59, 0xb8, 0x06, 0xb2, 0xc0, 0xe9, 0xd9, + 0xb6, 0x4c, 0x12, 0xc9, 0x23, 0xf4, 0x9b, 0x0f, 0x39, 0xf1, 0x18, 0xd5, 0x79, 0x60, 0x41, 0x26, + 0x0f, 0x8d, 0x84, 0xfd, 0x07, 0x98, 0xf1, 0x09, 0x21, 0xfa, 0x9e, 0x55, 0x3c, 0x6a, 0xcf, 0x6a, + 0x3c, 0x99, 0x3d, 0xeb, 0x9c, 0x6a, 0x63, 0xf6, 0xde, 0x95, 0xd1, 0x2c, 0xf6, 0xcb, 0x39, 0x98, + 0x91, 0x11, 0x34, 0xf4, 0xc6, 0x1e, 0x19, 0x15, 0xa1, 0xfe, 0x64, 0x1a, 0xfb, 0x1c, 0x65, 0x3a, + 0xc9, 0x6e, 0x6b, 0x6f, 0xa3, 0xd8, 0xf7, 0x00, 0xc4, 0x2b, 0x4a, 0x06, 0x9a, 0x1c, 0x5f, 0x7c, + 0x2e, 0x63, 0x17, 0x88, 0x91, 0x92, 0xa8, 0xec, 0x51, 0x4c, 0x67, 0xe4, 0xf9, 0x8a, 0xa1, 0xec, + 0x6f, 0xc3, 0x9c, 0x58, 0x2f, 0x31, 0x84, 0xe2, 0xfd, 0xcc, 0x8f, 0x63, 0x2d, 0x9f, 0xea, 0x2f, + 0x13, 0x5d, 0xca, 0x22, 0x93, 0x61, 0x49, 0x93, 0x94, 0xab, 0x91, 0x1e, 0x1a, 0x20, 0xb3, 0x22, + 0x0c, 0xa3, 0x85, 0xad, 0x97, 0x91, 0xd3, 0xfb, 0xec, 0x6f, 0x67, 0xd5, 0x5a, 0x90, 0xfb, 0x5b, + 0x68, 0x3a, 0x9a, 0x22, 0x88, 0x7d, 0x1e, 0x58, 0x1c, 0x7a, 0x42, 0xc2, 0xb8, 0x8a, 0xaa, 0x2e, + 0xd5, 0xcd, 0x49, 0x08, 0x8b, 0x40, 0x15, 0xeb, 0x93, 0xa4, 0x97, 0x98, 0x71, 0x98, 0xa3, 0x8f, + 0x16, 0x50, 0x95, 0x8e, 0x29, 0x9c, 0x9f, 0x32, 0xa2, 0x29, 0x25, 0x25, 0x49, 0x6e, 0x56, 0x2d, + 0xa7, 0x93, 0xa1, 0x72, 0xca, 0x62, 0xc7, 0xae, 0xc1, 0x18, 0x7a, 0x7b, 0xde, 0x54, 0xc6, 0x5e, + 0x64, 0x78, 0x82, 0x7e, 0xa1, 0xce, 0xae, 0x69, 0xb2, 0x95, 0xa0, 0x8a, 0xeb, 0xc0, 0x4a, 0xb0, + 0x6f, 0x77, 0xdb, 0xa8, 0x14, 0x26, 0x7d, 0x47, 0x23, 0xd8, 0x77, 0x82, 0xae, 0xe9, 0x0e, 0x8c, + 0x48, 0xec, 0xab, 0x30, 0x7e, 0xc7, 0x7d, 0xac, 0x74, 0xc2, 0xa4, 0xf8, 0x3d, 0x6a, 0x07, 0xb2, + 0xd4, 0xd7, 0xb4, 0xdc, 0xc7, 0x4e, 0xa3, 0x9b, 0x0e, 0x8a, 0x8a, 0xdb, 0x90, 0xce, 0x92, 0x7d, + 0x19, 0x40, 0xd3, 0x54, 0xb3, 0x63, 0x2b, 0x78, 0x41, 0xc5, 0x08, 0xcb, 0xd4, 0x60, 0x23, 0x7f, + 0x8d, 0x61, 0x4a, 0x72, 0x98, 0xfb, 0xce, 0x49, 0x0e, 0xa7, 0xbe, 0x73, 0x92, 0xc3, 0xc2, 0x16, + 0x9c, 0xed, 0xbb, 0x74, 0x32, 0x42, 0xb7, 0x5e, 0x36, 0x43, 0xb7, 0x9e, 0xed, 0x77, 0xc4, 0x86, + 0x66, 0x20, 0xfe, 0xd9, 0xd2, 0x5c, 0x7f, 0xe9, 0xe4, 0x5b, 0xf9, 0xd4, 0x91, 0x4b, 0x17, 0x0b, + 0x99, 0xb8, 0xa5, 0x9f, 0x4c, 0x92, 0xc7, 0x5c, 0x9d, 0xf2, 0x50, 0xce, 0x27, 0x17, 0x9a, 0x54, + 0x7a, 0x73, 0x79, 0x3c, 0x7f, 0xdc, 0xd3, 0xf7, 0x1d, 0x98, 0x92, 0xe9, 0xf5, 0x6e, 0xf3, 0xfd, + 0x47, 0x7e, 0xd0, 0x50, 0x39, 0xac, 0x51, 0x06, 0xef, 0xc9, 0x8d, 0x9b, 0xc2, 0x65, 0x2b, 0xca, + 0x81, 0x70, 0x18, 0x6b, 0x3f, 0x9b, 0xb9, 0x8b, 0x09, 0x84, 0xa3, 0x7c, 0x0b, 0xd9, 0x9b, 0xb1, + 0xa0, 0xc6, 0x03, 0x3d, 0x1c, 0x7f, 0xa0, 0x80, 0x19, 0xf2, 0x1a, 0x0f, 0xac, 0x3f, 0x2e, 0x00, + 0x93, 0x35, 0x2d, 0xbb, 0x1d, 0x17, 0xdd, 0x6b, 0x3d, 0x0c, 0x4c, 0x53, 0x22, 0x1c, 0x77, 0xab, + 0xc9, 0xf5, 0xa8, 0x4e, 0x64, 0x5c, 0x1b, 0x97, 0x39, 0xe9, 0x8b, 0x4e, 0x0f, 0x61, 0x9f, 0xad, + 0x2e, 0xff, 0x71, 0xb6, 0xba, 0xaf, 0xc2, 0xb3, 0x95, 0x0e, 0xe6, 0xe9, 0x54, 0xb5, 0x5c, 0xf7, + 0x03, 0xb5, 0x49, 0x19, 0x8e, 0x5b, 0x6e, 0x8c, 0xd6, 0xd3, 0xd2, 0xa3, 0x58, 0x68, 0x72, 0x8a, + 0x98, 0x97, 0x9d, 0x48, 0x0f, 0x04, 0xa0, 0xe4, 0x94, 0x0e, 0x96, 0x64, 0xc8, 0x29, 0x92, 0x44, + 0xf1, 0xf0, 0x02, 0x25, 0xa7, 0x60, 0x02, 0x9a, 0x84, 0x87, 0x17, 0xf0, 0x3e, 0xb2, 0x4e, 0x4c, + 0xc2, 0xde, 0x81, 0xf1, 0x4a, 0x37, 0xf2, 0x89, 0x31, 0x59, 0x85, 0x27, 0xf6, 0xdb, 0xd4, 0x14, + 0xe3, 0xea, 0x93, 0xa0, 0x5b, 0x7f, 0x56, 0x80, 0xb3, 0xbd, 0xc3, 0x4b, 0xa5, 0xf1, 0xfa, 0xc8, + 0x1d, 0xb3, 0x3e, 0xb2, 0x66, 0x43, 0x3e, 0x09, 0x8f, 0xfe, 0x24, 0x66, 0x83, 0x4c, 0xf7, 0xf9, + 0x11, 0x67, 0x43, 0x0d, 0xc6, 0xf5, 0xf3, 0x6e, 0xe8, 0xa3, 0x9e, 0x77, 0x3a, 0x17, 0x71, 0xa9, + 0x97, 0xf1, 0x0f, 0x86, 0x93, 0xa7, 0xa3, 0x74, 0xe8, 0x03, 0x89, 0xc1, 0xfe, 0x7f, 0x70, 0x5e, + 0xee, 0x49, 0xe9, 0x8f, 0x5d, 0xda, 0x57, 0x1c, 0x69, 0xe0, 0x16, 0x0f, 0x0f, 0xca, 0x97, 0xa4, + 0xaa, 0xc4, 0xe9, 0xe9, 0x36, 0x67, 0x6b, 0xdf, 0x51, 0x2d, 0xd3, 0x2a, 0x39, 0x96, 0xb7, 0xb5, + 0x0c, 0x67, 0xa9, 0x34, 0xf1, 0xbc, 0x55, 0x85, 0x62, 0x90, 0xf7, 0x12, 0x6d, 0x17, 0x0e, 0x72, + 0x4a, 0x91, 0x85, 0xe5, 0x98, 0x28, 0x54, 0x4b, 0xe2, 0xf8, 0x46, 0x96, 0xcf, 0x8d, 0x0c, 0x71, + 0x2c, 0xc1, 0xa6, 0xbb, 0x8d, 0xd2, 0xa9, 0xe5, 0x33, 0x75, 0x6a, 0x4a, 0x29, 0x53, 0xc8, 0x54, + 0xca, 0xac, 0xc0, 0x74, 0xad, 0xbb, 0xa5, 0xea, 0x4e, 0x3b, 0xdd, 0x85, 0xdd, 0xad, 0xac, 0x5e, + 0x49, 0x93, 0x58, 0x3f, 0x9a, 0x87, 0x89, 0x8d, 0x66, 0x77, 0xc7, 0x6b, 0xaf, 0xb8, 0x91, 0xfb, + 0xd4, 0xaa, 0xf9, 0xde, 0x32, 0xd4, 0x7c, 0xb1, 0x6b, 0x59, 0xfc, 0x61, 0x03, 0xe9, 0xf8, 0x7e, + 0x26, 0x07, 0xd3, 0x09, 0x89, 0x3c, 0xac, 0x6f, 0xc2, 0x90, 0xf8, 0x41, 0x97, 0xdf, 0xf3, 0x3d, + 0x8c, 0x65, 0xe6, 0xb0, 0xf8, 0x2f, 0x52, 0xbc, 0x99, 0x69, 0x79, 0x90, 0xc3, 0xc2, 0xa7, 0x61, + 0x2c, 0x61, 0x7b, 0x92, 0x8c, 0x61, 0xbf, 0x96, 0x83, 0x52, 0xfa, 0x4b, 0xd8, 0x6d, 0x18, 0x15, + 0x9c, 0x3c, 0xae, 0xee, 0xe5, 0x2f, 0xf5, 0xf9, 0xe6, 0x4b, 0x84, 0x26, 0x9b, 0x87, 0x9d, 0xcf, + 0x25, 0xc4, 0x56, 0x1c, 0x16, 0x6c, 0x98, 0xd0, 0xb1, 0x32, 0x5a, 0xf7, 0xba, 0x29, 0xa1, 0x9c, + 0xce, 0xee, 0x07, 0x23, 0xcf, 0x99, 0xd1, 0x6a, 0x12, 0x3e, 0x2e, 0x18, 0x93, 0x2b, 0x73, 0x55, + 0xe1, 0xa4, 0x59, 0x4c, 0xa2, 0xae, 0xeb, 0xf3, 0x2c, 0x63, 0x42, 0xc7, 0x78, 0xec, 0x75, 0x18, + 0x91, 0xf5, 0xe9, 0xf9, 0x7e, 0x3a, 0x08, 0xd1, 0xe5, 0x64, 0x89, 0x63, 0xfd, 0x83, 0x02, 0x9c, + 0x4e, 0x9a, 0x77, 0xaf, 0xd3, 0x70, 0x23, 0xbe, 0xe1, 0x06, 0x6e, 0x2b, 0x3c, 0x66, 0x05, 0x5c, + 0xec, 0x69, 0x1a, 0xe6, 0x7f, 0x51, 0x4d, 0xd3, 0x1a, 0x64, 0xa5, 0x1a, 0x84, 0x3a, 0x50, 0xd9, + 0x20, 0xd5, 0x0c, 0x76, 0x1b, 0x0a, 0x35, 0x1e, 0xd1, 0xde, 0x7b, 0xa1, 0xa7, 0x57, 0xf5, 0x76, + 0x5d, 0xaa, 0xf1, 0x48, 0x0e, 0xa2, 0x0c, 0xee, 0xc3, 0x8d, 0x70, 0xae, 0x35, 0x1e, 0xb1, 0x07, + 0x30, 0xb2, 0xfa, 0xb8, 0xc3, 0xeb, 0x11, 0xe5, 0xbb, 0x7b, 0xf5, 0x68, 0x7e, 0x12, 0x57, 0x4b, + 0x77, 0xc7, 0x11, 0xa0, 0x77, 0x96, 0x44, 0x59, 0xb8, 0x06, 0x45, 0x55, 0xf9, 0x49, 0x66, 0xee, + 0xc2, 0x5b, 0x30, 0xae, 0x55, 0x72, 0xa2, 0x49, 0xff, 0x0b, 0x62, 0x5f, 0xf5, 0x9b, 0x2a, 0x45, + 0xde, 0x6a, 0x8f, 0xac, 0x98, 0xd3, 0x53, 0xb7, 0x8b, 0x12, 0x67, 0x8f, 0x8a, 0x8e, 0x10, 0x1a, + 0xab, 0x30, 0x5d, 0xdb, 0xf3, 0x3a, 0x49, 0x54, 0x4d, 0xe3, 0x44, 0xc6, 0x7c, 0x18, 0x74, 0x71, + 0x4f, 0x9f, 0xc8, 0x69, 0x3a, 0xeb, 0x2f, 0x73, 0x30, 0x22, 0xfe, 0xba, 0x7f, 0xed, 0x29, 0xdd, + 0x32, 0xaf, 0x1a, 0x5b, 0xe6, 0x8c, 0x16, 0xd8, 0x1a, 0x37, 0x8e, 0x6b, 0xc7, 0x6c, 0x96, 0x07, + 0x34, 0x40, 0x12, 0x99, 0xdd, 0x80, 0x51, 0x32, 0x29, 0x22, 0xdb, 0x6f, 0x3d, 0x52, 0xb6, 0x32, + 0x36, 0x8a, 0x6f, 0xf8, 0x7e, 0x27, 0xad, 0x12, 0x51, 0xd4, 0x42, 0xae, 0x57, 0xf1, 0x4d, 0x8d, + 0xc4, 0xaa, 0x3e, 0x3a, 0xeb, 0xc9, 0x38, 0xcf, 0x5a, 0x2a, 0xe4, 0x3e, 0xae, 0xfc, 0x15, 0x7a, + 0x0d, 0x29, 0x1c, 0xc5, 0xe4, 0xb4, 0xca, 0x3b, 0x99, 0xf9, 0x50, 0xf2, 0x47, 0xa7, 0x64, 0x74, + 0x64, 0xd5, 0xb0, 0x77, 0x61, 0xe2, 0xba, 0x1f, 0x3c, 0x72, 0x03, 0x19, 0xf3, 0x92, 0xcc, 0x0f, + 0xc4, 0xfd, 0x73, 0x72, 0x5b, 0xc2, 0x65, 0xd4, 0xcc, 0x6f, 0x1f, 0x94, 0x87, 0x96, 0x7c, 0xbf, + 0x69, 0x1b, 0xe8, 0xec, 0x2e, 0x4c, 0xde, 0x71, 0x1f, 0x6b, 0x37, 0x67, 0xe9, 0x7d, 0xf3, 0xaa, + 0x98, 0xc0, 0xe2, 0xea, 0x7d, 0xbc, 0x7d, 0x97, 0x49, 0xcf, 0x3c, 0x98, 0xda, 0xf0, 0x83, 0x88, + 0x2a, 0xf1, 0xda, 0x3b, 0xf4, 0xb1, 0xbd, 0x16, 0x6a, 0x97, 0x33, 0x2d, 0xd4, 0xce, 0x76, 0xfc, + 0x20, 0x72, 0xb6, 0x63, 0x72, 0x23, 0x2a, 0x96, 0xc1, 0x98, 0xbd, 0x0b, 0x33, 0x5a, 0xd4, 0xbf, + 0xeb, 0x7e, 0xd0, 0x72, 0x95, 0x64, 0x8f, 0xca, 0x64, 0x34, 0x5a, 0xd9, 0x46, 0xb0, 0xdd, 0x8b, + 0xc9, 0xbe, 0x98, 0xe5, 0xcf, 0x34, 0x9c, 0x98, 0xb8, 0x65, 0xf8, 0x33, 0xf5, 0x33, 0x71, 0xeb, + 0xf5, 0x6c, 0xda, 0x39, 0xca, 0x04, 0xb6, 0xb8, 0x74, 0x85, 0xee, 0xf0, 0xc7, 0x9b, 0xb8, 0xc6, + 0xe3, 0xd6, 0xc7, 0xd4, 0x75, 0x11, 0x0a, 0x4b, 0x1b, 0xd7, 0xf1, 0x09, 0x44, 0x59, 0xeb, 0xb4, + 0x77, 0xdd, 0x76, 0x1d, 0x25, 0x6e, 0x32, 0x3b, 0xd7, 0x77, 0xe4, 0xa5, 0x8d, 0xeb, 0xcc, 0x85, + 0xd9, 0x0d, 0x1e, 0xb4, 0xbc, 0xe8, 0x0b, 0x57, 0xae, 0x68, 0x03, 0x55, 0xc4, 0xa6, 0x5d, 0xa6, + 0xa6, 0x95, 0x3b, 0x88, 0xe2, 0x3c, 0xbe, 0x72, 0x25, 0x73, 0x38, 0xe2, 0x86, 0x65, 0xf1, 0x12, + 0x3b, 0xe3, 0x1d, 0xf7, 0x71, 0xe2, 0x2d, 0x10, 0x92, 0x67, 0xe8, 0x39, 0x35, 0xb1, 0x12, 0x4f, + 0x03, 0x63, 0x67, 0x34, 0x89, 0xc4, 0x85, 0x29, 0x99, 0x5e, 0x21, 0xf9, 0xd4, 0x2c, 0x28, 0xbd, + 0x90, 0x72, 0x1f, 0xd6, 0xa5, 0x7e, 0x0d, 0x9d, 0xdd, 0x8b, 0xaf, 0x7d, 0xf2, 0xda, 0x44, 0x59, + 0x15, 0x2f, 0xeb, 0xd7, 0x3e, 0xa9, 0x8d, 0x31, 0x3e, 0x6b, 0x3a, 0xd6, 0x15, 0x48, 0xf7, 0x09, + 0xdb, 0xe4, 0xd2, 0x7b, 0x9b, 0x9c, 0x38, 0xf9, 0x6d, 0x92, 0xc3, 0xd0, 0x9a, 0x5f, 0xdf, 0xa3, + 0x50, 0x5e, 0x9f, 0x17, 0xcb, 0xbd, 0xe9, 0xd7, 0xf7, 0x9e, 0x9c, 0x69, 0x2f, 0xb2, 0x67, 0xeb, + 0xa2, 0xa9, 0x62, 0x16, 0x50, 0x9f, 0x90, 0xb9, 0xe8, 0x5c, 0x7c, 0x9d, 0xd2, 0xca, 0xa4, 0xe0, + 0x23, 0x27, 0x8d, 0xea, 0x5a, 0xdb, 0x24, 0x67, 0x1c, 0x4a, 0x2b, 0x3c, 0xdc, 0x8b, 0xfc, 0xce, + 0x72, 0xd3, 0xeb, 0x6c, 0xf9, 0x6e, 0xa0, 0x02, 0xac, 0xf6, 0xae, 0xef, 0x57, 0x32, 0xd7, 0xf7, + 0x4c, 0x43, 0xd2, 0x3b, 0x75, 0xc5, 0xc0, 0xee, 0x61, 0xc9, 0xbe, 0x08, 0x53, 0x62, 0x72, 0xaf, + 0x3e, 0x8e, 0x78, 0x5b, 0x8e, 0xfc, 0x0c, 0x8a, 0x0e, 0x73, 0x5a, 0x46, 0x81, 0xb8, 0x50, 0xce, + 0x29, 0x5c, 0xec, 0x3c, 0x26, 0x30, 0xc2, 0xa0, 0x19, 0xac, 0x58, 0x03, 0xe6, 0xef, 0xb8, 0x8f, + 0xb5, 0x5c, 0x90, 0xda, 0x24, 0x65, 0x38, 0xc1, 0x2e, 0x1e, 0x1e, 0x94, 0x5f, 0x12, 0x13, 0x2c, + 0x89, 0xf9, 0xdb, 0x67, 0xbe, 0xf6, 0xe5, 0xc4, 0xbe, 0x01, 0x67, 0xe8, 0xb3, 0x56, 0x30, 0xcd, + 0x8e, 0x1f, 0xec, 0xd7, 0x76, 0x5d, 0x74, 0x14, 0x9a, 0x3d, 0xd9, 0x86, 0xa8, 0x3a, 0xac, 0xa1, + 0xf8, 0x38, 0xa1, 0x64, 0x64, 0xf7, 0xab, 0x81, 0x7d, 0x08, 0x53, 0xf2, 0xdd, 0xe7, 0xa6, 0x1f, + 0x46, 0xa8, 0x15, 0x98, 0x3b, 0x99, 0xfd, 0xbb, 0x7c, 0x4c, 0x92, 0x1e, 0x23, 0x29, 0x2d, 0x42, + 0x8a, 0x33, 0x7b, 0x1b, 0xc6, 0x37, 0xbc, 0xb6, 0x0c, 0x54, 0x58, 0xdd, 0x40, 0xfd, 0x25, 0x9d, + 0x3f, 0x1d, 0xaf, 0xed, 0xa8, 0xab, 0x79, 0x27, 0xde, 0x2e, 0x74, 0x6c, 0xf6, 0x00, 0xc6, 0x6b, + 0xb5, 0x9b, 0xd7, 0x3d, 0x71, 0x00, 0x76, 0xf6, 0xe7, 0x4f, 0xf7, 0x69, 0xe5, 0x8b, 0x99, 0xad, + 0x9c, 0x0c, 0xc3, 0x5d, 0xcc, 0xaf, 0xef, 0xd4, 0xfd, 0xce, 0xbe, 0xad, 0x73, 0xca, 0xb0, 0x09, + 0x3f, 0xf3, 0x84, 0x6d, 0xc2, 0xab, 0x30, 0xad, 0x59, 0x69, 0xa2, 0x85, 0xe6, 0x7c, 0x12, 0xdd, + 0x46, 0xb7, 0x01, 0x4f, 0xfb, 0x40, 0xa6, 0xe9, 0x94, 0x31, 0xf8, 0xd9, 0x93, 0x1a, 0x83, 0x7b, + 0x30, 0x23, 0x07, 0x83, 0xe6, 0x01, 0x8e, 0xf4, 0x42, 0x9f, 0x3e, 0x7c, 0x35, 0xb3, 0x0f, 0x67, + 0x69, 0xa4, 0xd5, 0x24, 0xc3, 0x77, 0xce, 0x5e, 0xae, 0x6c, 0x1b, 0x18, 0x01, 0x29, 0xbb, 0x3f, + 0xd6, 0xf5, 0x6c, 0x9f, 0xba, 0x5e, 0xca, 0xac, 0x6b, 0x4a, 0xd5, 0xb5, 0x25, 0xab, 0xc9, 0xe0, + 0xc8, 0xda, 0xaa, 0x1e, 0x35, 0xbf, 0xb0, 0x63, 0x9f, 0x33, 0x94, 0xa9, 0xbd, 0x08, 0x32, 0x4a, + 0x70, 0x7a, 0xd2, 0xa6, 0xfb, 0x3d, 0x83, 0x33, 0x7b, 0x0c, 0xa7, 0x7b, 0x5b, 0x81, 0x75, 0x9e, + 0xc3, 0x3a, 0xcf, 0x19, 0x75, 0xa6, 0x91, 0xe4, 0xbc, 0x31, 0x3f, 0x2b, 0x5d, 0x6b, 0x1f, 0xfe, + 0xec, 0x87, 0x72, 0x70, 0xe6, 0xce, 0xf5, 0x0a, 0x26, 0xb5, 0xf3, 0x64, 0xdc, 0xaa, 0xd8, 0x77, + 0xf4, 0x79, 0x52, 0xb8, 0xa7, 0x1f, 0x01, 0x94, 0xc4, 0x81, 0x5b, 0x85, 0x90, 0x11, 0x5f, 0x6c, + 0x6d, 0xbb, 0x32, 0x57, 0x1e, 0xb1, 0xc8, 0x70, 0x30, 0xfd, 0xe6, 0x9f, 0x94, 0x73, 0x76, 0xbf, + 0xaa, 0x58, 0x13, 0x16, 0xcc, 0x6e, 0x51, 0xe6, 0xfa, 0xbb, 0xbc, 0xd9, 0x9c, 0x2f, 0xe3, 0x8c, + 0x7e, 0xfd, 0xf0, 0xa0, 0x7c, 0xb1, 0xa7, 0x77, 0x63, 0x17, 0x00, 0x81, 0xa9, 0x7d, 0xf0, 0x11, + 0xfc, 0x6e, 0x0d, 0x15, 0x27, 0x4b, 0x53, 0x19, 0xc6, 0xea, 0xd6, 0x6f, 0xe5, 0x53, 0x27, 0x15, + 0xab, 0xc2, 0x28, 0x4d, 0x40, 0x12, 0xdd, 0x7b, 0xa7, 0xd9, 0xb9, 0xcc, 0x69, 0x36, 0x4a, 0x73, + 0xd9, 0x56, 0xf4, 0xec, 0x91, 0x60, 0x85, 0xad, 0xa0, 0xbb, 0xce, 0x97, 0xe5, 0x41, 0x84, 0x20, + 0xe3, 0xc8, 0x5d, 0x39, 0xb9, 0x0b, 0x96, 0xe9, 0xe1, 0x87, 0x67, 0xaf, 0xaa, 0x8d, 0xed, 0xc9, + 0x8c, 0x2b, 0x85, 0xd8, 0x8f, 0xc7, 0x4c, 0xaf, 0xf2, 0xc4, 0x2a, 0x14, 0xb5, 0x58, 0xbf, 0x99, + 0x83, 0x49, 0xe3, 0xa8, 0x63, 0xd7, 0x34, 0x27, 0xb5, 0xc4, 0x6f, 0xdb, 0xc0, 0xc1, 0xdd, 0x2f, + 0xed, 0xbe, 0x76, 0x8d, 0x2c, 0xce, 0xf3, 0xfd, 0xe9, 0x70, 0xf6, 0xa7, 0x7d, 0x16, 0x8f, 0xd6, + 0x0c, 0xc6, 0x79, 0xdc, 0x86, 0xfa, 0xe4, 0x71, 0xfb, 0xb5, 0xe7, 0x60, 0xca, 0xbc, 0x0b, 0xb1, + 0xd7, 0x61, 0x04, 0xb5, 0xb2, 0xea, 0x62, 0x2d, 0xf3, 0xdf, 0xfb, 0xa9, 0x94, 0xa4, 0x84, 0xc3, + 0x5e, 0x06, 0x88, 0x4d, 0x7f, 0xd5, 0x9b, 0xc4, 0xf0, 0xe1, 0x41, 0x39, 0xf7, 0x86, 0xad, 0x15, + 0xb0, 0xaf, 0x00, 0xac, 0xfb, 0x0d, 0x1e, 0x27, 0xbd, 0x3c, 0xe2, 0xdd, 0xfd, 0x95, 0x9e, 0x6c, + 0x04, 0xa7, 0xda, 0x7e, 0x83, 0xf7, 0xa6, 0x1e, 0xd0, 0x38, 0xb2, 0xcf, 0xc2, 0xb0, 0xdd, 0x15, + 0x97, 0x78, 0xa9, 0x3f, 0x19, 0x57, 0x47, 0x4e, 0xb7, 0xc9, 0x93, 0x1b, 0x62, 0xd0, 0x4d, 0x9b, + 0x94, 0x09, 0x00, 0x7b, 0x5f, 0x66, 0x29, 0xa0, 0x10, 0x7f, 0xc3, 0xc9, 0x2b, 0x8d, 0x26, 0x8a, + 0xf4, 0x04, 0xf9, 0xd3, 0x48, 0xd8, 0x5d, 0x18, 0xd5, 0x9f, 0x17, 0x34, 0x6f, 0x67, 0xfd, 0x09, + 0x4a, 0xbb, 0x6e, 0x52, 0xb6, 0xcc, 0xf4, 0xcb, 0x83, 0xe2, 0xc2, 0xde, 0x81, 0x31, 0xc1, 0x5e, + 0x2c, 0xe5, 0x90, 0xae, 0x19, 0xf8, 0x16, 0xa3, 0x35, 0x48, 0x6c, 0x07, 0x46, 0x20, 0xbe, 0x98, + 0x80, 0x7d, 0x11, 0xf3, 0x30, 0x52, 0x57, 0x1f, 0x69, 0x8f, 0x71, 0xa1, 0xa7, 0xab, 0x31, 0x31, + 0x63, 0x6f, 0x62, 0xf7, 0x98, 0x1f, 0xdb, 0x89, 0x83, 0x6d, 0x0d, 0x92, 0x59, 0xe2, 0xb5, 0x9e, + 0x0a, 0xe6, 0x55, 0xfc, 0xa8, 0xde, 0xe4, 0xa5, 0x06, 0x5f, 0xd6, 0x81, 0x52, 0x22, 0xe5, 0x51, + 0x5d, 0x70, 0x54, 0x5d, 0x6f, 0xf4, 0xd4, 0xa5, 0x0f, 0x60, 0x4f, 0x75, 0x3d, 0xdc, 0x59, 0x03, + 0xa6, 0xd4, 0x89, 0x41, 0xf5, 0x8d, 0x1f, 0x55, 0xdf, 0xcb, 0x3d, 0xf5, 0xcd, 0x36, 0xb6, 0x7a, + 0xeb, 0x49, 0xf1, 0x64, 0xef, 0xc0, 0xa4, 0x82, 0xc8, 0x54, 0xa2, 0x13, 0x49, 0xce, 0xc8, 0xc6, + 0x56, 0x4f, 0x02, 0x51, 0x13, 0x59, 0xa7, 0x96, 0xb3, 0x63, 0xd2, 0xa0, 0x4e, 0xcf, 0x0a, 0x13, + 0x99, 0x7d, 0x00, 0xe3, 0xd5, 0x96, 0xf8, 0x10, 0xbf, 0xed, 0x46, 0x9c, 0x3c, 0xe1, 0x94, 0x6d, + 0x89, 0x56, 0xa2, 0x4d, 0x55, 0x99, 0x24, 0x35, 0x29, 0x32, 0x92, 0xa4, 0x26, 0x60, 0xd1, 0x79, + 0xf2, 0x3d, 0x89, 0xe6, 0xb0, 0xf2, 0x92, 0x3b, 0x97, 0x61, 0xdf, 0xa1, 0xb1, 0xa7, 0x50, 0x9a, + 0x02, 0xaa, 0xde, 0x73, 0x52, 0xa1, 0x34, 0x75, 0x9e, 0xec, 0x5d, 0x18, 0xa7, 0xa4, 0x3b, 0x15, + 0x7b, 0x3d, 0x9c, 0x2f, 0xe1, 0xc7, 0xa3, 0x6f, 0xbf, 0xca, 0xcf, 0xe3, 0xb8, 0x41, 0xca, 0x90, + 0x31, 0xc1, 0x67, 0x5f, 0x80, 0xb9, 0x07, 0x5e, 0xbb, 0xe1, 0x3f, 0x0a, 0xe9, 0x98, 0xa2, 0x8d, + 0x6e, 0x26, 0x71, 0x23, 0x7a, 0x24, 0xcb, 0x63, 0xe1, 0xac, 0x67, 0xe3, 0xcb, 0xe4, 0xc0, 0xbe, + 0xb7, 0x87, 0xb3, 0x9c, 0x41, 0xec, 0xa8, 0x19, 0xb4, 0xd8, 0x33, 0x83, 0x7a, 0xab, 0x4f, 0x4f, + 0xa7, 0xcc, 0x6a, 0x98, 0x0f, 0xcc, 0x3c, 0xdf, 0x6f, 0xf9, 0x5e, 0x7b, 0x7e, 0x16, 0xf7, 0xc2, + 0x67, 0xd3, 0xde, 0xf4, 0x88, 0x47, 0xc9, 0x66, 0xad, 0xc3, 0x83, 0xf2, 0xf3, 0x69, 0x21, 0xfc, + 0x43, 0xdf, 0x50, 0x94, 0x67, 0xb0, 0x66, 0x1f, 0xc0, 0x84, 0xf8, 0x3f, 0xd6, 0x12, 0xcc, 0x19, + 0x16, 0x81, 0x1a, 0x26, 0xd5, 0x83, 0x63, 0x84, 0x59, 0x81, 0x32, 0x14, 0x08, 0x06, 0x2b, 0xf6, + 0x16, 0x80, 0x90, 0x63, 0x68, 0x3b, 0x3e, 0x95, 0x44, 0x2e, 0x45, 0x31, 0xa8, 0x77, 0x23, 0x4e, + 0x90, 0xd9, 0x3b, 0x30, 0x2e, 0x7e, 0xd5, 0xba, 0x0d, 0x5f, 0xac, 0x8d, 0xd3, 0x48, 0x2b, 0x9d, + 0x12, 0x05, 0x6d, 0x28, 0xe1, 0x86, 0x53, 0x62, 0x82, 0xce, 0x6e, 0xc2, 0x34, 0x46, 0x98, 0xad, + 0x62, 0x26, 0xea, 0xc8, 0xe3, 0xe1, 0xfc, 0x19, 0xed, 0x1d, 0x5c, 0x14, 0x39, 0x5e, 0x5c, 0xa6, + 0x5f, 0x2e, 0x52, 0x64, 0x2c, 0x84, 0xd9, 0xde, 0x87, 0xc4, 0x70, 0x7e, 0x1e, 0x3b, 0x49, 0x89, + 0xd4, 0xbd, 0x18, 0x72, 0x3f, 0x16, 0x23, 0xa2, 0x6d, 0x5c, 0xea, 0x39, 0x41, 0xaf, 0x30, 0x8b, + 0x3b, 0xb3, 0x81, 0xdd, 0x58, 0xde, 0x48, 0x87, 0x60, 0x3d, 0x8b, 0x5f, 0x80, 0xc3, 0xbc, 0x53, + 0x4f, 0xb2, 0xe0, 0x66, 0x84, 0x61, 0xcd, 0xa0, 0x66, 0x5f, 0x87, 0x53, 0x6a, 0x07, 0xa1, 0x22, + 0x9a, 0xd7, 0x0b, 0x27, 0xdc, 0x89, 0x1b, 0x5b, 0x71, 0xd5, 0x3d, 0x53, 0x3a, 0xbb, 0x0a, 0xe6, + 0xc2, 0x38, 0x0e, 0x2b, 0xd5, 0xf8, 0xec, 0x51, 0x35, 0x5e, 0xec, 0xa9, 0xf1, 0x34, 0x4e, 0x94, + 0xde, 0xca, 0x74, 0x9e, 0x6c, 0x09, 0x26, 0x69, 0x1d, 0xd1, 0x6c, 0x7b, 0x0e, 0x7b, 0x0b, 0xb5, + 0x4a, 0x6a, 0x05, 0xf6, 0x4c, 0x38, 0x93, 0x44, 0xdf, 0x91, 0xe5, 0x33, 0xc2, 0x39, 0x63, 0x47, + 0x4e, 0xbf, 0x1e, 0x98, 0xc8, 0x62, 0x47, 0x4a, 0xa4, 0x98, 0xd5, 0xc7, 0x9d, 0x80, 0x74, 0x46, + 0xcf, 0x27, 0x99, 0x49, 0x34, 0xe1, 0xc7, 0xe1, 0x31, 0x86, 0xbe, 0x25, 0x64, 0x71, 0x60, 0xf7, + 0x60, 0x36, 0x3e, 0xb5, 0x35, 0xc6, 0xe5, 0x24, 0xc3, 0x4b, 0x72, 0xd4, 0x67, 0xf3, 0xcd, 0xa2, + 0x67, 0x2e, 0x9c, 0x31, 0xce, 0x69, 0x8d, 0xf5, 0x79, 0x64, 0x8d, 0x59, 0x97, 0xcd, 0x43, 0x3e, + 0x9b, 0x7d, 0x3f, 0x3e, 0xec, 0x43, 0x58, 0x48, 0x9f, 0xcd, 0x5a, 0x2d, 0x2f, 0x60, 0x2d, 0xaf, + 0x1d, 0x1e, 0x94, 0x2f, 0xf4, 0x1c, 0xef, 0xd9, 0x15, 0x1d, 0xc1, 0x8d, 0x7d, 0x05, 0xe6, 0xcd, + 0xf3, 0x59, 0xab, 0xc9, 0xc2, 0x9a, 0x70, 0xe9, 0xc4, 0x07, 0x7b, 0x76, 0x0d, 0x7d, 0x79, 0xb0, + 0x08, 0xca, 0x99, 0xb3, 0x5b, 0xab, 0xe6, 0xc5, 0xe4, 0x83, 0x7a, 0x56, 0x49, 0x76, 0x75, 0xc7, + 0xb1, 0x64, 0x8f, 0xe0, 0xf9, 0xac, 0x63, 0x42, 0xab, 0xf4, 0xa5, 0x58, 0x2b, 0xfb, 0x89, 0xec, + 0x23, 0x27, 0xbb, 0xe6, 0x63, 0xd8, 0xb2, 0x2f, 0xc2, 0x29, 0x6d, 0x7d, 0x69, 0xf5, 0xbd, 0x8c, + 0xf5, 0xa1, 0x13, 0xb0, 0xbe, 0x30, 0xb3, 0x6b, 0xc9, 0xe6, 0xc1, 0x5a, 0x30, 0xab, 0x3e, 0x1c, + 0xd5, 0xdf, 0x74, 0xf4, 0x5c, 0x30, 0x76, 0xd5, 0x5e, 0x0c, 0x2d, 0x6f, 0xfe, 0x96, 0xd3, 0x49, + 0x08, 0xf5, 0x99, 0x9e, 0xc1, 0x97, 0xdd, 0x84, 0x91, 0xda, 0x46, 0xf5, 0xfa, 0xf5, 0xd5, 0xf9, + 0x57, 0xb0, 0x06, 0xe5, 0x31, 0x24, 0x81, 0xc6, 0xa5, 0x89, 0x0c, 0xd5, 0x3a, 0xde, 0xf6, 0xb6, + 0xe1, 0x98, 0x25, 0x51, 0xd9, 0xf7, 0xa2, 0x89, 0x98, 0xd8, 0x51, 0x2b, 0x61, 0xe8, 0xed, 0x60, + 0xaa, 0x8a, 0x70, 0xfe, 0x35, 0xe3, 0xa5, 0x97, 0x4e, 0x8f, 0xfd, 0x65, 0x4c, 0x1a, 0xd4, 0x83, + 0x2e, 0xa5, 0xcd, 0xc3, 0x83, 0xf2, 0x39, 0xda, 0xb9, 0x1d, 0x37, 0x61, 0xa5, 0x6f, 0xe2, 0xbd, + 0x15, 0xdd, 0x1a, 0x2a, 0x5e, 0x2c, 0xbd, 0x7a, 0x6b, 0xa8, 0xf8, 0x6a, 0xe9, 0x35, 0xfb, 0xb9, + 0xec, 0x44, 0xe7, 0xb2, 0xaf, 0xed, 0x0b, 0x47, 0x95, 0x26, 0x23, 0x61, 0xfd, 0xbd, 0x1c, 0x94, + 0x8f, 0x69, 0xb0, 0xd8, 0x5b, 0x93, 0xde, 0xac, 0x71, 0xe5, 0x87, 0x2c, 0x7d, 0x72, 0xe2, 0x02, + 0xc7, 0x7c, 0xbc, 0x36, 0x49, 0xd0, 0xf5, 0x89, 0x22, 0xcf, 0x6b, 0x1e, 0x70, 0xbd, 0x11, 0xe7, + 0x15, 0x96, 0xf5, 0x0b, 0x39, 0x98, 0xcd, 0x18, 0x1f, 0x76, 0x01, 0x86, 0x30, 0x95, 0x8c, 0x66, + 0x6d, 0x90, 0x4a, 0x21, 0x83, 0xe5, 0xec, 0x93, 0x30, 0xba, 0xb2, 0x5e, 0xab, 0x55, 0xd6, 0xd5, + 0x55, 0x56, 0x6e, 0xe3, 0xed, 0xd0, 0x09, 0x5d, 0xf3, 0x91, 0x92, 0xd0, 0xd8, 0x1b, 0x30, 0x52, + 0xdd, 0x40, 0x02, 0x69, 0x33, 0x87, 0x2d, 0xf4, 0x3a, 0x69, 0x7c, 0x42, 0xb2, 0x7e, 0x3c, 0x07, + 0xac, 0x77, 0xb2, 0xb1, 0x2b, 0x30, 0xae, 0x4f, 0x69, 0x79, 0xf1, 0xc6, 0x07, 0x35, 0x6d, 0xc2, + 0xda, 0x3a, 0x0e, 0x5b, 0x81, 0x61, 0x4c, 0xb6, 0x17, 0xbf, 0x8e, 0x66, 0x1e, 0x8c, 0x67, 0x7a, + 0x0e, 0xc6, 0x61, 0x4c, 0xe5, 0x67, 0x4b, 0x62, 0xeb, 0x77, 0x73, 0xc0, 0xb2, 0x6d, 0x9e, 0x06, + 0xb2, 0xce, 0x78, 0x53, 0xf3, 0x79, 0xd6, 0x93, 0x45, 0xc4, 0x99, 0x7e, 0xf4, 0x4b, 0x64, 0xe2, + 0x1d, 0x7d, 0xc1, 0x50, 0x5a, 0xf4, 0x77, 0x94, 0x7b, 0x15, 0x86, 0xef, 0xf3, 0x60, 0x4b, 0x99, + 0x83, 0xa2, 0x09, 0xd9, 0x43, 0x01, 0xd0, 0x2f, 0xf1, 0x88, 0x61, 0xfd, 0x59, 0x0e, 0xe6, 0xb2, + 0x24, 0xdc, 0x63, 0xfc, 0xd9, 0xac, 0x94, 0x2b, 0x1e, 0x5a, 0x66, 0x48, 0xfb, 0xb2, 0xd8, 0x01, + 0xaf, 0x0c, 0xc3, 0xe2, 0x63, 0xd5, 0x08, 0xa3, 0x12, 0x45, 0xf4, 0x46, 0x68, 0x4b, 0xb8, 0x40, + 0x90, 0xb1, 0xbd, 0x86, 0x30, 0x2c, 0x1c, 0x22, 0xe0, 0x7c, 0xb4, 0x25, 0x5c, 0x20, 0xdc, 0xf1, + 0x1b, 0x71, 0x9e, 0x69, 0x44, 0x68, 0x09, 0x80, 0x2d, 0xe1, 0xec, 0x02, 0x8c, 0xde, 0x6d, 0xaf, + 0x71, 0xf7, 0xa1, 0x0a, 0x58, 0x8e, 0x96, 0x24, 0x7e, 0xdb, 0x69, 0x0a, 0x98, 0xad, 0x0a, 0xad, + 0x9f, 0xc9, 0xc1, 0x4c, 0x8f, 0x70, 0x7d, 0xbc, 0xcb, 0xde, 0xd1, 0xbe, 0x33, 0x83, 0x7c, 0x9f, + 0x6c, 0xfe, 0x50, 0x76, 0xf3, 0xad, 0xff, 0x6b, 0x18, 0xce, 0xf4, 0xd1, 0x75, 0x24, 0xbe, 0x7d, + 0xb9, 0x63, 0x7d, 0xfb, 0xbe, 0x04, 0x93, 0xcb, 0x4d, 0xd7, 0x6b, 0x85, 0x9b, 0x7e, 0xd2, 0xe2, + 0xc4, 0x45, 0x00, 0xcb, 0x54, 0xaa, 0x6d, 0x65, 0x4b, 0x7e, 0xb6, 0x8e, 0x14, 0x4e, 0xe4, 0xf7, + 0x8a, 0x5a, 0x06, 0xb3, 0x1e, 0xef, 0xba, 0xc2, 0x5f, 0x13, 0xef, 0x3a, 0xd3, 0xdf, 0x63, 0xe8, + 0x89, 0xfa, 0x7b, 0x64, 0xdb, 0x8a, 0x0e, 0x7f, 0x1c, 0xcb, 0xe1, 0x65, 0x98, 0x94, 0xa6, 0x34, + 0x95, 0x50, 0x0e, 0xd2, 0x48, 0x8f, 0xf9, 0x8d, 0x1b, 0xf6, 0x8e, 0x85, 0x41, 0xc3, 0x6e, 0x9a, + 0xbe, 0x09, 0xa3, 0xf8, 0x04, 0x78, 0xa1, 0xbf, 0xef, 0x81, 0xf1, 0xf4, 0x6f, 0xf8, 0x20, 0x7c, + 0x03, 0xe6, 0xb2, 0x2e, 0x4b, 0xf3, 0x45, 0xc3, 0x4a, 0xaf, 0xaf, 0x75, 0xe7, 0xe0, 0x57, 0xae, + 0xbd, 0xde, 0x2b, 0x97, 0xf5, 0x33, 0x79, 0xd3, 0xef, 0xef, 0xaf, 0xe3, 0xb4, 0x7f, 0x15, 0x86, + 0x1f, 0xec, 0xf2, 0x40, 0x6d, 0xb6, 0xd8, 0x90, 0x47, 0x02, 0xa0, 0x37, 0x04, 0x31, 0xd8, 0x75, + 0x98, 0xda, 0x90, 0xd3, 0x40, 0x8d, 0xed, 0x50, 0x72, 0xff, 0xed, 0x90, 0x96, 0x26, 0x63, 0x70, + 0x53, 0x54, 0xd6, 0x0d, 0x38, 0x67, 0xec, 0x06, 0x14, 0xa7, 0x44, 0xfa, 0x27, 0xc8, 0xe3, 0x78, + 0x2a, 0xf1, 0xc8, 0x48, 0xb6, 0x2e, 0x3b, 0x05, 0xb5, 0xb6, 0xe1, 0xf9, 0x23, 0x19, 0x89, 0x53, + 0x10, 0x3a, 0xf1, 0xaf, 0x94, 0xfd, 0xe3, 0x91, 0xa4, 0xb6, 0x46, 0x67, 0x7d, 0x03, 0x26, 0xf4, + 0x5e, 0xc6, 0x0d, 0x5d, 0xfc, 0xa6, 0x1d, 0x55, 0x6e, 0xe8, 0x02, 0x60, 0x4b, 0x78, 0xa2, 0x57, + 0xcf, 0x67, 0xeb, 0xd5, 0x93, 0xe1, 0x2f, 0x1c, 0x37, 0xfc, 0xa2, 0x72, 0xdc, 0x2f, 0xb4, 0xca, + 0xf1, 0xb7, 0x5e, 0x39, 0x06, 0x22, 0xb1, 0x25, 0xfc, 0x89, 0x56, 0xfe, 0x3b, 0x2a, 0x5f, 0x0c, + 0xba, 0x3f, 0xa8, 0xc5, 0x93, 0xe4, 0x9f, 0x9e, 0xcd, 0x5a, 0x0b, 0x09, 0x66, 0x72, 0x42, 0xe7, + 0x8f, 0x3b, 0xa1, 0x4f, 0x32, 0x11, 0x51, 0xee, 0x93, 0x43, 0x3a, 0x94, 0x48, 0x55, 0x6e, 0x8f, + 0x29, 0x80, 0xc2, 0xb2, 0xbe, 0x99, 0x83, 0x53, 0x99, 0xfa, 0x4b, 0x51, 0xab, 0x54, 0x94, 0x6a, + 0xeb, 0x30, 0xad, 0x25, 0x95, 0x18, 0x27, 0xf1, 0x42, 0x1f, 0xfc, 0x5b, 0xac, 0x17, 0x60, 0x2c, + 0x7e, 0x3d, 0x63, 0x73, 0x6a, 0xe8, 0xd0, 0x64, 0x4c, 0x3d, 0xc2, 0xd4, 0x00, 0x44, 0x0b, 0x9e, + 0xa8, 0x81, 0xa3, 0xf5, 0x3b, 0x79, 0x99, 0x4b, 0xf0, 0xa9, 0x0d, 0x28, 0x99, 0x6d, 0x95, 0x28, + 0x3e, 0xa9, 0x7f, 0x18, 0x49, 0xb6, 0x0a, 0x23, 0xb5, 0xc8, 0x8d, 0xba, 0xca, 0x79, 0x7e, 0x56, + 0x27, 0xc3, 0x82, 0xfb, 0x8b, 0x89, 0xfb, 0x74, 0x88, 0x10, 0xe3, 0xc6, 0x86, 0x10, 0xcd, 0xb8, + 0xf1, 0x0f, 0x72, 0x30, 0xa1, 0x13, 0xb3, 0x0f, 0x60, 0x4a, 0x85, 0xc9, 0x93, 0x21, 0x05, 0xe8, + 0xa9, 0x4f, 0xd9, 0xc9, 0xa8, 0x30, 0x79, 0x7a, 0x08, 0x02, 0x03, 0x5f, 0xdf, 0xaa, 0x3b, 0x3a, + 0x32, 0x6b, 0x00, 0x6b, 0x6d, 0xbb, 0xce, 0x23, 0xee, 0xee, 0xf1, 0x30, 0x72, 0xa4, 0x3d, 0x03, + 0xbd, 0x08, 0x2a, 0xf6, 0x77, 0xae, 0x57, 0xa4, 0x29, 0x83, 0x18, 0x09, 0x8a, 0x77, 0xd8, 0x43, + 0xa3, 0x3f, 0x73, 0xb4, 0xb6, 0xdd, 0x07, 0xb2, 0x50, 0xd2, 0x59, 0x7f, 0x3e, 0x22, 0xa7, 0x1b, + 0x45, 0xd5, 0xdc, 0x82, 0xa9, 0xbb, 0xd5, 0x95, 0x65, 0x4d, 0xe9, 0x69, 0x26, 0x65, 0x59, 0x7d, + 0x1c, 0xf1, 0xa0, 0xed, 0x36, 0xd5, 0x7d, 0x2f, 0x39, 0x82, 0x7c, 0xaf, 0x51, 0xcf, 0x56, 0x88, + 0xa6, 0x38, 0x8a, 0x3a, 0xe4, 0xcd, 0x32, 0xae, 0x23, 0x3f, 0x60, 0x1d, 0xa1, 0xdb, 0x6a, 0xf6, + 0xa9, 0xc3, 0xe4, 0xc8, 0x76, 0xa1, 0x74, 0x03, 0x65, 0x35, 0xad, 0x96, 0xc2, 0xd1, 0xb5, 0xbc, + 0x48, 0xb5, 0x3c, 0x2b, 0x85, 0xbc, 0xec, 0x7a, 0x7a, 0xb8, 0x26, 0xfb, 0xc4, 0xd0, 0xb1, 0xfb, + 0xc4, 0xdf, 0xc9, 0xc1, 0x88, 0x14, 0x06, 0x69, 0x1a, 0xf7, 0x11, 0x37, 0x1f, 0x3c, 0x19, 0x71, + 0xb3, 0x84, 0xe7, 0x84, 0x31, 0xa1, 0x65, 0x19, 0x5b, 0x49, 0xad, 0x0b, 0x65, 0x93, 0x8b, 0xcf, + 0x17, 0xb2, 0xe4, 0xf8, 0x65, 0xc1, 0xaa, 0x89, 0x43, 0xfb, 0xe8, 0xb1, 0x3e, 0x93, 0x2a, 0x08, + 0xc0, 0x28, 0x39, 0xb4, 0x9b, 0x6e, 0xec, 0x6b, 0x30, 0x46, 0x6e, 0xf2, 0x4b, 0xfb, 0xf4, 0x48, + 0x59, 0x32, 0xec, 0x3e, 0x1a, 0x4b, 0xfb, 0x89, 0xa0, 0x4b, 0x8e, 0xf6, 0xce, 0xd6, 0xbe, 0x91, + 0x9a, 0x51, 0x21, 0xb2, 0xbb, 0x32, 0x65, 0x99, 0x8c, 0x3b, 0x6a, 0x06, 0x1a, 0x8f, 0xe1, 0x14, + 0x80, 0x47, 0xf9, 0xda, 0x66, 0x84, 0x19, 0x4d, 0x78, 0xb0, 0x35, 0x28, 0xa1, 0xad, 0x10, 0x6f, + 0xc8, 0x55, 0x53, 0x5d, 0x91, 0xae, 0xd8, 0x64, 0xef, 0x19, 0xc9, 0x32, 0x5a, 0x6e, 0x29, 0x2f, + 0xa8, 0x1e, 0x4a, 0x71, 0x39, 0x2d, 0xa5, 0x67, 0x1f, 0x7b, 0x07, 0xc6, 0xe3, 0xb8, 0xaf, 0xb1, + 0x1f, 0x26, 0x3e, 0x56, 0x24, 0x81, 0x62, 0xcd, 0x44, 0x57, 0x1a, 0x3a, 0x5b, 0x84, 0xa2, 0x58, + 0xc4, 0xe9, 0xa4, 0x90, 0x5d, 0x82, 0xe9, 0x7e, 0x11, 0x0a, 0x8f, 0xd5, 0x60, 0x56, 0x2c, 0x9a, + 0x9a, 0xd7, 0xde, 0x69, 0xf2, 0x35, 0x7f, 0xc7, 0xef, 0x46, 0xf7, 0xec, 0x35, 0xda, 0xc3, 0xe5, + 0x75, 0xc0, 0x6d, 0x35, 0x8d, 0xe2, 0xc0, 0x48, 0xf9, 0x9d, 0x41, 0xad, 0x6d, 0x95, 0x7f, 0x92, + 0x87, 0x71, 0x6d, 0x3e, 0xb1, 0x57, 0xa1, 0x58, 0x0d, 0xd7, 0xfc, 0xfa, 0x5e, 0x1c, 0xa1, 0x6d, + 0xf2, 0xf0, 0xa0, 0x3c, 0xe6, 0x85, 0x4e, 0x13, 0x81, 0x76, 0x5c, 0xcc, 0x96, 0x60, 0x52, 0xfe, + 0xa5, 0xe2, 0xf1, 0xe7, 0x13, 0x65, 0x91, 0x44, 0x56, 0x91, 0xf8, 0xf5, 0xdd, 0xd3, 0x20, 0x61, + 0x5f, 0x06, 0x90, 0x00, 0xf4, 0xe9, 0x2d, 0x0c, 0xee, 0x8d, 0x4c, 0x15, 0x64, 0x78, 0xf3, 0x6a, + 0x0c, 0xd9, 0x57, 0x65, 0x9c, 0x58, 0x35, 0xff, 0x87, 0x06, 0x77, 0xa7, 0x16, 0xfc, 0x9d, 0xec, + 0xa8, 0x0e, 0x3a, 0x4b, 0x4a, 0xa1, 0xb1, 0x60, 0xf3, 0xba, 0xff, 0x90, 0x07, 0xfb, 0x95, 0x08, + 0x11, 0x35, 0x0c, 0xeb, 0x7f, 0xcc, 0x69, 0xab, 0x86, 0xad, 0x63, 0x1e, 0x53, 0x39, 0x23, 0xc8, + 0x5e, 0x27, 0xbe, 0x33, 0x28, 0xb8, 0xcd, 0xb7, 0x97, 0x9e, 0x25, 0xeb, 0xe2, 0xd9, 0x78, 0x5e, + 0xa5, 0xf2, 0x9b, 0x4a, 0x20, 0xfb, 0x1c, 0x0c, 0x61, 0xd7, 0xe5, 0x8f, 0xfd, 0x34, 0x75, 0x6c, + 0x0f, 0x89, 0x3e, 0xc3, 0x0f, 0x41, 0x4a, 0xf6, 0x49, 0xf2, 0x87, 0x94, 0x9d, 0x3f, 0xa5, 0x9d, + 0xbd, 0xa2, 0x1d, 0xf1, 0x79, 0x9d, 0x04, 0xf6, 0xd0, 0x66, 0xcf, 0xdf, 0xcb, 0x43, 0x29, 0xbd, + 0x56, 0xd9, 0xfb, 0x30, 0xa1, 0xce, 0x53, 0x4c, 0x74, 0x2f, 0xbe, 0x72, 0x82, 0x82, 0xb9, 0xab, + 0x43, 0x35, 0x9d, 0xe7, 0x5e, 0x27, 0x10, 0xc2, 0xcd, 0x26, 0x05, 0xda, 0xd2, 0x56, 0x49, 0xe4, + 0x47, 0x9d, 0x54, 0x78, 0x52, 0x85, 0xc6, 0xde, 0x84, 0xc2, 0x9d, 0xeb, 0x15, 0xf2, 0x9b, 0x29, + 0xa5, 0x4f, 0x5d, 0x69, 0x17, 0x68, 0x5a, 0x29, 0x0a, 0x7c, 0xb6, 0xa6, 0x45, 0xf2, 0x1d, 0x31, + 0x32, 0x78, 0x29, 0x70, 0xfc, 0x71, 0xc7, 0x87, 0xf4, 0x95, 0x19, 0xf4, 0x29, 0x36, 0xe5, 0x7f, + 0x5d, 0x80, 0xb1, 0xb8, 0x7e, 0xc6, 0x74, 0x6f, 0x44, 0xe9, 0x79, 0xc8, 0xce, 0x42, 0x51, 0x89, + 0x6b, 0xe4, 0x3e, 0x33, 0x1a, 0x92, 0xa8, 0x36, 0x0f, 0x4a, 0x2e, 0x93, 0xcb, 0xdc, 0x56, 0x3f, + 0xd9, 0x15, 0x88, 0x85, 0xae, 0x7e, 0xd2, 0xd9, 0x90, 0x18, 0x30, 0x3b, 0x46, 0x63, 0x53, 0x90, + 0xf7, 0x64, 0xbc, 0xa3, 0x31, 0x3b, 0xef, 0x35, 0xd8, 0xfb, 0x50, 0x74, 0x1b, 0x0d, 0xde, 0x70, + 0x5c, 0x65, 0xf8, 0x72, 0xd4, 0xa4, 0x29, 0x0a, 0x6e, 0xf2, 0x10, 0x40, 0xaa, 0x4a, 0xc4, 0x2a, + 0x30, 0xd6, 0x74, 0xa5, 0x6d, 0x5b, 0x63, 0x80, 0x13, 0x25, 0xe1, 0x50, 0x14, 0x64, 0xf7, 0x42, + 0xde, 0x60, 0xaf, 0xc0, 0x90, 0x18, 0x4d, 0x3a, 0x42, 0x94, 0x94, 0x28, 0x06, 0x53, 0x76, 0xd8, + 0xcd, 0x67, 0x6c, 0x44, 0x60, 0x2f, 0x41, 0xa1, 0xbb, 0xb8, 0x4d, 0x87, 0x43, 0x29, 0x89, 0xaa, + 0x1d, 0xa3, 0x89, 0x62, 0x76, 0x15, 0x8a, 0x8f, 0xcc, 0x80, 0xcc, 0xa7, 0x52, 0xc3, 0x18, 0xe3, + 0xc7, 0x88, 0xec, 0x15, 0x28, 0x84, 0xa1, 0x4f, 0xd6, 0x22, 0x6a, 0x09, 0xd6, 0x6a, 0x77, 0xe3, + 0x51, 0x13, 0xdc, 0xc3, 0xd0, 0x5f, 0x2a, 0xc2, 0x88, 0x3c, 0x31, 0xac, 0xe7, 0x01, 0x92, 0x36, + 0xf6, 0xba, 0x43, 0x59, 0x5f, 0x86, 0xb1, 0xb8, 0x6d, 0xec, 0x1c, 0xc0, 0x1e, 0xdf, 0x77, 0x76, + 0xdd, 0x76, 0xa3, 0x29, 0xc5, 0xcd, 0x09, 0x7b, 0x6c, 0x8f, 0xef, 0xdf, 0x44, 0x00, 0x3b, 0x03, + 0xa3, 0x1d, 0x31, 0xfc, 0x34, 0xc7, 0x27, 0xec, 0x91, 0x4e, 0x77, 0x4b, 0x4c, 0xe5, 0x79, 0x18, + 0x45, 0x35, 0x24, 0xad, 0xc8, 0x49, 0x5b, 0xfd, 0xb4, 0xfe, 0xa2, 0x80, 0x59, 0x4b, 0xb4, 0x0f, + 0x62, 0x2f, 0xc2, 0x64, 0x3d, 0xe0, 0x78, 0x38, 0xb9, 0x42, 0xe4, 0xa2, 0x7a, 0x26, 0x12, 0x60, + 0xb5, 0xc1, 0x2e, 0xc0, 0x74, 0xa7, 0xbb, 0xd5, 0xf4, 0xea, 0xa2, 0x36, 0xa7, 0xbe, 0x45, 0x61, + 0xd6, 0x27, 0xec, 0x49, 0x09, 0xbe, 0xcd, 0xf7, 0x97, 0xb7, 0x30, 0xa0, 0x57, 0x49, 0x8f, 0xc7, + 0x1a, 0xc5, 0x49, 0x81, 0xed, 0x69, 0x0d, 0x8e, 0x86, 0x6f, 0xa7, 0x61, 0xc4, 0x75, 0x77, 0xba, + 0x9e, 0x0c, 0xbc, 0x33, 0x61, 0xd3, 0x2f, 0xf6, 0x09, 0x98, 0x49, 0x42, 0x04, 0xab, 0xcf, 0x18, + 0xc6, 0xcf, 0x28, 0xc5, 0x05, 0xcb, 0x12, 0xce, 0xde, 0x00, 0xa6, 0xd7, 0xe7, 0x6f, 0x7d, 0xc8, + 0xeb, 0x72, 0x4e, 0x4e, 0xd8, 0x33, 0x5a, 0xc9, 0x5d, 0x2c, 0x60, 0x2f, 0xc0, 0x44, 0xc0, 0x43, + 0x14, 0xf7, 0xb0, 0xdb, 0x30, 0xa9, 0x97, 0x3d, 0xae, 0x60, 0xa2, 0xef, 0x2e, 0x42, 0x49, 0xeb, + 0x0e, 0x0c, 0x79, 0x2b, 0x63, 0x8c, 0xdb, 0x53, 0x09, 0xdc, 0xee, 0x54, 0x1b, 0xec, 0x0b, 0xb0, + 0xa0, 0x61, 0xca, 0xfc, 0x62, 0x0e, 0x6f, 0x7a, 0x3b, 0xde, 0x56, 0x93, 0xd3, 0x7c, 0xeb, 0x9d, + 0xd5, 0xf1, 0x9d, 0xd0, 0x9e, 0x4f, 0xa8, 0x65, 0xe6, 0xb1, 0x55, 0xa2, 0x65, 0x6b, 0x30, 0x97, + 0xe2, 0xcc, 0x1b, 0x4e, 0xb7, 0xd3, 0x37, 0xd2, 0x55, 0xc2, 0x93, 0x99, 0x3c, 0x79, 0xe3, 0x5e, + 0xc7, 0xfa, 0x06, 0x4c, 0xe8, 0x73, 0x52, 0x74, 0x82, 0x2e, 0x68, 0xd0, 0xec, 0x1b, 0x8f, 0x61, + 0x55, 0x71, 0xd1, 0x9b, 0x4a, 0x50, 0xa2, 0x38, 0xff, 0xb1, 0x3d, 0x19, 0x43, 0x71, 0x08, 0x5f, + 0x80, 0x89, 0x86, 0x17, 0x76, 0x9a, 0xee, 0xbe, 0x93, 0x64, 0x3f, 0xb5, 0xc7, 0x09, 0x86, 0x9a, + 0x9c, 0x25, 0x98, 0xe9, 0xd9, 0x07, 0xb5, 0x6c, 0xf7, 0x72, 0x5f, 0x3f, 0x3a, 0xdb, 0xbd, 0xd5, + 0x86, 0x09, 0xfd, 0x5c, 0x3b, 0x26, 0x1f, 0xc0, 0x69, 0x8c, 0x6e, 0x21, 0x37, 0xfd, 0x91, 0xc3, + 0x83, 0x72, 0xde, 0x6b, 0x60, 0x4c, 0x8b, 0x8b, 0x50, 0x54, 0x22, 0x18, 0x49, 0x3e, 0xa8, 0x6b, + 0x27, 0xd9, 0x7f, 0xdf, 0x8e, 0x4b, 0xad, 0x57, 0x60, 0x94, 0x8e, 0xae, 0xa3, 0x35, 0xec, 0xd6, + 0x0f, 0xe7, 0x61, 0xda, 0xe6, 0x62, 0x63, 0xe5, 0x32, 0x09, 0xc8, 0x53, 0x7b, 0xe7, 0xce, 0x8e, + 0x91, 0x68, 0x7c, 0xdb, 0x11, 0xe9, 0x37, 0xfe, 0x71, 0x0e, 0x66, 0x33, 0x70, 0x3f, 0x52, 0xfa, + 0xc9, 0x6b, 0x30, 0xb6, 0xe2, 0xb9, 0xcd, 0x4a, 0xa3, 0x11, 0x87, 0xba, 0x40, 0xc1, 0x1d, 0x73, + 0xd4, 0xb8, 0x02, 0xaa, 0x0b, 0x31, 0x31, 0x2a, 0x7b, 0x8d, 0x26, 0x45, 0x92, 0x81, 0x17, 0x27, + 0xc5, 0xb7, 0x0f, 0xca, 0x20, 0xdb, 0x94, 0xa4, 0xe5, 0xc6, 0xb8, 0xa5, 0x12, 0x98, 0x78, 0x91, + 0x3c, 0xb5, 0x43, 0x97, 0x1d, 0xb7, 0x34, 0xfd, 0x79, 0x03, 0x65, 0xe0, 0xf8, 0x89, 0x3c, 0x9c, + 0xce, 0x26, 0xfc, 0xa8, 0x99, 0x44, 0x31, 0xf7, 0x89, 0x16, 0x6b, 0x19, 0x33, 0x89, 0xca, 0x44, + 0x29, 0x88, 0x9f, 0x20, 0xb0, 0x6d, 0x98, 0x5c, 0x73, 0xc3, 0xe8, 0x26, 0x77, 0x83, 0x68, 0x8b, + 0xbb, 0xd1, 0x00, 0x92, 0xfc, 0x4b, 0xea, 0x81, 0x1f, 0x85, 0x89, 0x5d, 0x45, 0x99, 0x92, 0xb5, + 0x4d, 0xb6, 0xf1, 0x44, 0x19, 0x1a, 0x60, 0xa2, 0x7c, 0x0d, 0xa6, 0x6b, 0xbc, 0xe5, 0x76, 0x76, + 0xfd, 0x40, 0xb9, 0x21, 0x5f, 0x82, 0xc9, 0x18, 0x94, 0x39, 0x5b, 0xcc, 0x62, 0x03, 0x5f, 0xeb, + 0x88, 0x64, 0x2b, 0x31, 0x8b, 0xad, 0xbf, 0x9f, 0x87, 0x33, 0x95, 0x3a, 0xd9, 0xdd, 0x51, 0x81, + 0x32, 0x0f, 0xfe, 0x0e, 0xd7, 0xcd, 0x2e, 0xc3, 0xd8, 0x1d, 0xf7, 0xf1, 0x1a, 0x77, 0x43, 0x1e, + 0x52, 0x1e, 0x37, 0x29, 0xf6, 0xba, 0x8f, 0x93, 0xb7, 0x11, 0x3b, 0xc1, 0xd1, 0xf5, 0x02, 0x43, + 0x1f, 0x53, 0x2f, 0x60, 0xc1, 0xc8, 0x4d, 0xbf, 0xd9, 0xa0, 0xb3, 0x9e, 0x1e, 0x64, 0x77, 0x11, + 0x62, 0x53, 0x89, 0xb8, 0x4e, 0x4f, 0xc5, 0x2d, 0xc6, 0x26, 0x7c, 0xc7, 0xbb, 0xe4, 0x02, 0x8c, + 0x62, 0x45, 0x71, 0x26, 0x6c, 0x3c, 0x34, 0x9a, 0x1c, 0xb3, 0x71, 0x35, 0x6c, 0x55, 0xa8, 0xf7, + 0xc4, 0xf0, 0xc7, 0xeb, 0x09, 0xeb, 0x1f, 0xe1, 0x5b, 0xaf, 0xfe, 0x95, 0xe2, 0x24, 0xd2, 0x1a, + 0x92, 0x1b, 0xb0, 0x21, 0xf9, 0x27, 0x36, 0x24, 0x85, 0xbe, 0x43, 0xf2, 0x23, 0x79, 0x18, 0x8f, + 0x1b, 0xfb, 0x5d, 0x16, 0xf0, 0x3b, 0xfe, 0xae, 0x81, 0x42, 0x87, 0xd4, 0xb4, 0xbd, 0x82, 0x22, + 0x74, 0x7c, 0x0e, 0x46, 0x68, 0x31, 0xe5, 0x52, 0x66, 0xb2, 0xa9, 0xd1, 0x5d, 0x9a, 0x22, 0xd6, + 0x23, 0x38, 0xa0, 0xa1, 0x4d, 0x74, 0x18, 0x9b, 0xe5, 0x01, 0xdf, 0xa2, 0xa7, 0xff, 0xa7, 0xf6, + 0x8c, 0xca, 0x8e, 0xcd, 0x92, 0x7c, 0xd8, 0x40, 0xa7, 0xd3, 0x3f, 0x2b, 0x42, 0x29, 0x4d, 0x72, + 0x7c, 0x48, 0xf5, 0x8d, 0xee, 0x96, 0xbc, 0xaa, 0xc8, 0x90, 0xea, 0x9d, 0xee, 0x96, 0x2d, 0x60, + 0x68, 0x19, 0x14, 0x78, 0x0f, 0xf1, 0xab, 0x27, 0xc8, 0x32, 0x28, 0xf0, 0x1e, 0x1a, 0x96, 0x41, + 0x81, 0xf7, 0x10, 0x15, 0x09, 0x6b, 0x35, 0x74, 0x27, 0xc7, 0x7b, 0x0a, 0x29, 0x12, 0x9a, 0x61, + 0x3a, 0x3d, 0x92, 0x42, 0x13, 0x47, 0xe5, 0x12, 0x77, 0x03, 0x0a, 0xff, 0x4d, 0xdb, 0x19, 0x1e, + 0x95, 0x5b, 0x08, 0x96, 0xd9, 0xcc, 0x6d, 0x1d, 0x89, 0x35, 0x81, 0x69, 0x3f, 0xd5, 0x02, 0x3e, + 0xfe, 0x6e, 0xad, 0x4c, 0xdc, 0xe6, 0x74, 0xd6, 0x8e, 0xbe, 0x9a, 0x33, 0xf8, 0x3e, 0x49, 0x75, + 0xee, 0x06, 0xc5, 0x34, 0x44, 0x05, 0x52, 0xf1, 0x58, 0x66, 0x2a, 0xde, 0x02, 0xc8, 0x98, 0x87, + 0xb1, 0x1a, 0x29, 0x61, 0xc2, 0xde, 0x83, 0x71, 0x3d, 0x48, 0x80, 0x74, 0x65, 0x7f, 0x4e, 0x86, + 0xa9, 0xeb, 0x93, 0x50, 0x53, 0x27, 0x60, 0x5b, 0x70, 0x66, 0xd9, 0x6f, 0x87, 0xdd, 0x96, 0x0a, + 0x88, 0x97, 0x84, 0xe1, 0x05, 0x1c, 0x0a, 0xf4, 0x38, 0xae, 0x13, 0x0a, 0xf9, 0xa4, 0x2b, 0x1f, + 0x04, 0xf3, 0x02, 0xd2, 0x8f, 0x11, 0xdb, 0x84, 0x71, 0x54, 0x89, 0x92, 0x91, 0xe3, 0xb8, 0xb9, + 0x6d, 0x24, 0x25, 0x2b, 0x62, 0x61, 0xc8, 0x60, 0x4c, 0x6e, 0xab, 0xa9, 0x4c, 0xe0, 0x75, 0xd5, + 0xae, 0x86, 0xcc, 0xbe, 0x0c, 0x53, 0xf2, 0x8a, 0xf6, 0x80, 0x6f, 0xc9, 0xb9, 0x33, 0x61, 0x68, + 0x22, 0xcc, 0x42, 0xf9, 0x3a, 0x4f, 0x8a, 0xe8, 0x47, 0x7c, 0x4b, 0x8e, 0xbd, 0xe1, 0x80, 0x62, + 0xe0, 0xb3, 0x7b, 0x30, 0x7b, 0xd3, 0x0d, 0x25, 0x50, 0xf3, 0xf6, 0x9e, 0x44, 0x0d, 0x2d, 0x1a, + 0x06, 0xef, 0xba, 0xa1, 0xd2, 0x6c, 0x67, 0x7a, 0x77, 0x67, 0xd1, 0xb3, 0x1f, 0xce, 0xc1, 0xbc, + 0xa1, 0xf8, 0x26, 0x33, 0xac, 0x16, 0x6f, 0x47, 0xe8, 0x69, 0x32, 0x15, 0xe7, 0x51, 0xef, 0x87, + 0x26, 0x87, 0x24, 0xa5, 0x5b, 0x0f, 0x92, 0x72, 0xdd, 0xe2, 0xb6, 0x1f, 0x0f, 0x5a, 0xa8, 0xb8, + 0xa6, 0xa7, 0xcd, 0x85, 0x9a, 0x5a, 0xd7, 0x0a, 0xcd, 0xba, 0x96, 0xee, 0x6f, 0x52, 0x74, 0xe5, + 0x62, 0x45, 0xd7, 0x1c, 0x0c, 0x63, 0xaf, 0xaa, 0xe0, 0x34, 0xf8, 0xc3, 0xfa, 0xa4, 0xbe, 0x0f, + 0x91, 0x58, 0x78, 0xe4, 0x3e, 0x64, 0xfd, 0xb7, 0x23, 0x30, 0x9d, 0x9a, 0x16, 0x74, 0x4f, 0xcd, + 0xf5, 0xdc, 0x53, 0x6b, 0x00, 0x52, 0xd5, 0x3b, 0xa0, 0x4e, 0x56, 0x79, 0xb9, 0x8d, 0x93, 0xd3, + 0x68, 0xbc, 0xa6, 0x34, 0x36, 0x82, 0xa9, 0x5c, 0xb1, 0x03, 0xea, 0xc8, 0x63, 0xa6, 0x72, 0xd1, + 0x6b, 0x4c, 0x13, 0x36, 0xac, 0x0c, 0xc3, 0x18, 0x96, 0x52, 0x77, 0x32, 0xf4, 0x04, 0xc0, 0x96, + 0x70, 0xf6, 0x22, 0x8c, 0x08, 0x21, 0xaa, 0xba, 0x42, 0x9b, 0x20, 0x9e, 0x2d, 0x42, 0xca, 0x12, + 0x12, 0x0b, 0x15, 0xb1, 0x6b, 0x30, 0x21, 0xff, 0xa2, 0xa0, 0x22, 0x23, 0xa6, 0x6d, 0xa0, 0xe3, + 0x35, 0x54, 0x5c, 0x11, 0x03, 0x4f, 0xdc, 0x2e, 0x6a, 0x5d, 0x54, 0xeb, 0x54, 0x57, 0x28, 0x8e, + 0x31, 0xde, 0x2e, 0x42, 0x09, 0x14, 0x55, 0x24, 0x08, 0x42, 0x96, 0x21, 0x53, 0xff, 0x22, 0xde, + 0x29, 0x51, 0x96, 0x91, 0x26, 0xfe, 0x36, 0x95, 0xb0, 0x57, 0xe5, 0xd3, 0x0a, 0x8a, 0x85, 0x32, + 0x1d, 0x1c, 0xbe, 0x5b, 0xa0, 0x62, 0x02, 0x65, 0xc3, 0xb8, 0x58, 0x54, 0x2e, 0xfe, 0x5e, 0x6d, + 0xb9, 0x5e, 0x93, 0xb6, 0x15, 0xac, 0x1c, 0x71, 0xb9, 0x80, 0xda, 0x09, 0x02, 0x7b, 0x07, 0xa6, + 0xc4, 0x8f, 0x65, 0xbf, 0xd5, 0xf2, 0xdb, 0xc8, 0x7e, 0x3c, 0x89, 0x4f, 0x85, 0x24, 0x75, 0x2c, + 0x92, 0xb5, 0xa4, 0x70, 0xc5, 0x79, 0x82, 0xcf, 0xb6, 0x5d, 0xf9, 0xe8, 0x33, 0x91, 0x9c, 0x27, + 0x48, 0x1a, 0x4a, 0xb8, 0xad, 0x23, 0xb1, 0xb7, 0x60, 0x52, 0xfc, 0xbc, 0xe1, 0x3d, 0xe4, 0xb2, + 0xc2, 0xc9, 0xc4, 0x5e, 0x01, 0xa9, 0x76, 0x44, 0x89, 0xac, 0xcf, 0xc4, 0x64, 0x9f, 0x87, 0x53, + 0xc8, 0xa9, 0xee, 0x77, 0x78, 0xa3, 0xb2, 0xbd, 0xed, 0x35, 0x3d, 0x69, 0xac, 0x25, 0xc3, 0x67, + 0xa0, 0x0e, 0x5e, 0x56, 0x8c, 0x18, 0x8e, 0x9b, 0xa0, 0xd8, 0xd9, 0x94, 0xec, 0x01, 0x94, 0x96, + 0xbb, 0x61, 0xe4, 0xb7, 0x2a, 0x51, 0x14, 0x78, 0x5b, 0xdd, 0x88, 0x87, 0xf3, 0xd3, 0x46, 0x90, + 0x09, 0xb1, 0x38, 0xe2, 0x42, 0xa9, 0x0f, 0xaa, 0x23, 0x85, 0xe3, 0xc6, 0x24, 0x76, 0x0f, 0x13, + 0xeb, 0x8f, 0x72, 0x30, 0x69, 0x90, 0xb2, 0x37, 0x61, 0xe2, 0x7a, 0xe0, 0xf1, 0x76, 0xa3, 0xb9, + 0xaf, 0x5d, 0x54, 0xf1, 0x16, 0xb3, 0x4d, 0x70, 0xf9, 0xd5, 0x06, 0x5a, 0xac, 0xe7, 0xc9, 0x67, + 0x5a, 0x52, 0x5e, 0x96, 0xbe, 0xae, 0x34, 0x41, 0x0b, 0x49, 0xd4, 0x1b, 0x9c, 0xa0, 0x34, 0x3b, + 0x35, 0x14, 0xf6, 0x2e, 0x8c, 0xc8, 0x07, 0x5e, 0x32, 0xeb, 0x3b, 0x9b, 0xf5, 0x99, 0xd2, 0xaf, + 0x1a, 0x27, 0x22, 0x5a, 0xf1, 0x84, 0x36, 0x11, 0x59, 0x3f, 0x9b, 0x03, 0xd6, 0x8b, 0x7a, 0x8c, + 0xde, 0xeb, 0x58, 0xeb, 0xa0, 0xcf, 0xc5, 0xab, 0xb1, 0x60, 0xe8, 0xcc, 0x45, 0x4d, 0xb2, 0x40, + 0x76, 0x3c, 0xad, 0x3a, 0x5d, 0x11, 0x27, 0x8b, 0xad, 0x1f, 0xca, 0x03, 0x24, 0xd8, 0xec, 0x33, + 0x32, 0xfb, 0xcf, 0xe7, 0xbb, 0x6e, 0xd3, 0xdb, 0xf6, 0xcc, 0x70, 0x98, 0xc8, 0xe4, 0x6b, 0xaa, + 0xc4, 0x36, 0x11, 0xd9, 0xfb, 0x30, 0x5d, 0xdb, 0x30, 0x69, 0x35, 0x3b, 0xef, 0xb0, 0xe3, 0xa4, + 0xc8, 0xd3, 0xd8, 0x68, 0xbe, 0xab, 0x8f, 0x86, 0x34, 0xdf, 0x95, 0x03, 0x41, 0x25, 0x62, 0x63, + 0xa9, 0x6d, 0x90, 0x29, 0x7b, 0xa3, 0xba, 0x42, 0xbb, 0x14, 0xb6, 0x2e, 0xec, 0x38, 0x1d, 0xb2, + 0x71, 0x17, 0xfb, 0x84, 0x81, 0x97, 0x74, 0xe4, 0x70, 0x1f, 0xdf, 0xe9, 0x9f, 0x43, 0xb5, 0x5f, + 0xcb, 0x8f, 0x38, 0x69, 0x3b, 0x9e, 0xda, 0x7b, 0x4f, 0x62, 0x1d, 0x30, 0x6c, 0xb8, 0x84, 0x1a, + 0x5f, 0x47, 0x16, 0x30, 0x57, 0x93, 0x4b, 0x8a, 0xb4, 0x13, 0xc8, 0x30, 0x9a, 0xf9, 0x87, 0x39, + 0x38, 0x95, 0x49, 0xcb, 0x2e, 0x01, 0x24, 0x3a, 0x25, 0xea, 0x25, 0xdc, 0x31, 0x93, 0x58, 0x2f, + 0xb6, 0x86, 0xc1, 0xbe, 0x94, 0xd6, 0x06, 0x1d, 0x7f, 0x10, 0x2e, 0xa8, 0x58, 0x5e, 0xa6, 0x36, + 0x28, 0x43, 0x07, 0x64, 0xfd, 0xe3, 0x02, 0xcc, 0x68, 0xa1, 0x64, 0x64, 0x5b, 0x8f, 0x31, 0xa7, + 0xde, 0x83, 0x09, 0xf1, 0x35, 0x5e, 0x9d, 0xfc, 0xd2, 0xa4, 0x25, 0xcb, 0x6b, 0x3d, 0x4e, 0x7d, + 0xc4, 0xed, 0x92, 0x8e, 0x2c, 0x23, 0xec, 0xe1, 0xd6, 0x89, 0x0f, 0x12, 0xf5, 0x5e, 0xff, 0x34, + 0x83, 0x39, 0x0b, 0x61, 0x72, 0x65, 0xbf, 0xed, 0xb6, 0xe2, 0xda, 0xa4, 0x45, 0xcb, 0x27, 0xfa, + 0xd6, 0x66, 0x60, 0xcb, 0xea, 0x12, 0xf7, 0x17, 0x59, 0x96, 0xe1, 0x79, 0x6d, 0x50, 0x2d, 0xbc, + 0x0f, 0x33, 0x3d, 0x8d, 0x3e, 0x51, 0xb0, 0xbf, 0x07, 0xc0, 0x7a, 0xdb, 0x91, 0xc1, 0xe1, 0x13, + 0x66, 0x28, 0xc9, 0x53, 0xf1, 0xe3, 0x35, 0xe6, 0x47, 0x97, 0xf6, 0x31, 0x8b, 0x7a, 0x28, 0xc0, + 0x9f, 0xcb, 0xeb, 0x8e, 0x95, 0x4f, 0xfb, 0xaa, 0xfb, 0x9c, 0x71, 0x1b, 0x7e, 0xbe, 0xdf, 0x98, + 0x0e, 0xa4, 0x75, 0xf8, 0x56, 0x01, 0xce, 0xf4, 0xa1, 0x64, 0xfb, 0xe9, 0x49, 0x24, 0xb5, 0x10, + 0x57, 0x8e, 0xae, 0xf0, 0x49, 0x4c, 0x25, 0xf6, 0x19, 0x19, 0x5a, 0xa1, 0x8e, 0x39, 0xb8, 0xe9, + 0xfe, 0x8d, 0x6a, 0xfc, 0xbd, 0x18, 0x9a, 0x8e, 0xa9, 0x20, 0xa1, 0xec, 0x7d, 0x18, 0x46, 0xaf, + 0xda, 0x54, 0x28, 0x3b, 0x81, 0x81, 0x70, 0x2d, 0xee, 0x9f, 0xf8, 0x69, 0xc4, 0xfd, 0x13, 0x00, + 0xf6, 0x69, 0x28, 0x54, 0x1e, 0xd4, 0x68, 0x5c, 0xa6, 0x74, 0xf2, 0x07, 0xb5, 0x24, 0x67, 0x81, + 0x6b, 0x24, 0x17, 0x10, 0x14, 0x82, 0xf0, 0xc6, 0xf2, 0x06, 0x8d, 0x8a, 0x4e, 0x78, 0x63, 0x79, + 0x23, 0x21, 0xdc, 0xa9, 0x1b, 0xa1, 0x81, 0x6e, 0x2c, 0x6f, 0x7c, 0xe7, 0xa6, 0xfd, 0xbf, 0x91, + 0x97, 0xf1, 0x20, 0xe4, 0x87, 0xbd, 0x0f, 0x13, 0x46, 0xa8, 0xdf, 0x5c, 0x22, 0x8f, 0xc5, 0x61, + 0x99, 0x53, 0x26, 0x40, 0x06, 0x81, 0xca, 0xfe, 0x21, 0x7e, 0xa3, 0xc4, 0xab, 0x1b, 0xdb, 0xc4, + 0x1c, 0x50, 0x26, 0x4e, 0x67, 0xff, 0x88, 0x49, 0xd8, 0x55, 0x28, 0x6e, 0xf2, 0xb6, 0xdb, 0x8e, + 0x62, 0x85, 0x28, 0x5a, 0x0b, 0x47, 0x08, 0x33, 0xa5, 0x86, 0x18, 0x11, 0x2d, 0x5b, 0xbb, 0x5b, + 0x61, 0x3d, 0xf0, 0x30, 0x6e, 0x4c, 0x7c, 0x16, 0x4b, 0xcb, 0x56, 0xad, 0xc4, 0x64, 0x90, 0x22, + 0xb2, 0x7e, 0x2e, 0x07, 0xa3, 0x34, 0x90, 0x32, 0x6b, 0xd3, 0x4e, 0x72, 0x96, 0x50, 0xd6, 0xa6, + 0x1d, 0x2f, 0x9d, 0xb5, 0x69, 0x47, 0x06, 0x67, 0x19, 0x23, 0x4f, 0xb1, 0xf8, 0x69, 0x10, 0x67, + 0xa3, 0xf2, 0xa9, 0x33, 0x93, 0xf2, 0xc4, 0xa8, 0x83, 0xfa, 0x2b, 0x59, 0xff, 0x80, 0x5a, 0x76, + 0x63, 0x79, 0x83, 0x2d, 0x42, 0x71, 0xcd, 0x97, 0x81, 0x7f, 0xf4, 0x14, 0x9c, 0x4d, 0x82, 0xe9, + 0x1d, 0xa4, 0xf0, 0x44, 0xfb, 0x36, 0x02, 0x9f, 0xee, 0x32, 0x5a, 0xfb, 0x3a, 0x12, 0x98, 0x6a, + 0x5f, 0x8c, 0x3a, 0x70, 0xfb, 0x78, 0xc6, 0x26, 0x71, 0xff, 0x2a, 0xa6, 0x45, 0xb8, 0xa5, 0xfb, + 0x81, 0x51, 0x91, 0xda, 0x29, 0x16, 0xfa, 0xed, 0x14, 0xf7, 0xaf, 0xda, 0x19, 0x54, 0xf8, 0xae, + 0x96, 0x80, 0x6b, 0x3c, 0x78, 0xf8, 0x14, 0xef, 0xd2, 0xd9, 0xef, 0x6a, 0xe9, 0xcf, 0x1b, 0x68, + 0x93, 0xfe, 0x83, 0x3c, 0x9c, 0xce, 0x26, 0xd4, 0xbf, 0x25, 0x77, 0xc4, 0xb7, 0x5c, 0x84, 0xe2, + 0x4d, 0x3f, 0x8c, 0x34, 0xab, 0x3f, 0x54, 0xff, 0xef, 0x12, 0xcc, 0x8e, 0x4b, 0xc5, 0x9d, 0x5b, + 0xfc, 0x1d, 0x2f, 0x4f, 0xe4, 0x87, 0x51, 0x10, 0xc4, 0x9d, 0x5b, 0x16, 0xb1, 0x1b, 0x50, 0xb4, + 0xc9, 0x0f, 0x29, 0xd5, 0x35, 0x0a, 0x1c, 0x4b, 0x53, 0x2c, 0x20, 0x88, 0x11, 0x71, 0x99, 0x60, + 0xac, 0x02, 0xa3, 0x34, 0xfa, 0xa9, 0xa7, 0xe3, 0x8c, 0x29, 0x63, 0x06, 0x41, 0x57, 0x74, 0x62, + 0x47, 0xc1, 0x47, 0xc0, 0xea, 0x8a, 0x72, 0x29, 0xc2, 0x1d, 0x45, 0x3e, 0x12, 0x9a, 0x06, 0x96, + 0x31, 0xa2, 0xf5, 0xc3, 0x79, 0x00, 0xa5, 0xb5, 0x79, 0x6a, 0x67, 0xd8, 0xa7, 0x8d, 0x19, 0xa6, + 0xd9, 0x1b, 0x0d, 0x9e, 0x65, 0xf4, 0x2e, 0x9a, 0xf3, 0x0c, 0x9e, 0x63, 0xb4, 0x0c, 0xc3, 0x9b, + 0x89, 0x42, 0x8b, 0x7c, 0x4c, 0x50, 0x1d, 0x2d, 0xe1, 0xd6, 0x16, 0xcc, 0xdd, 0xe0, 0x51, 0xa2, + 0xde, 0x52, 0x4f, 0x8f, 0x47, 0xb3, 0x7d, 0x1d, 0xc6, 0x08, 0x3f, 0xde, 0xbf, 0xa4, 0x2e, 0x86, + 0x02, 0x8b, 0xa0, 0x2e, 0x46, 0x21, 0x88, 0xdd, 0x68, 0x85, 0x37, 0x79, 0xc4, 0xbf, 0xb3, 0xd5, + 0xd4, 0x80, 0xc9, 0x4f, 0xc1, 0x2f, 0x1b, 0xac, 0x86, 0x63, 0xfb, 0xe7, 0x3e, 0x9c, 0x8a, 0xdb, + 0xfe, 0x24, 0xf9, 0x5e, 0x16, 0x57, 0x4a, 0x8a, 0x1f, 0x9e, 0x70, 0x3c, 0xc2, 0xf6, 0xe4, 0x31, + 0x2c, 0x28, 0x82, 0x07, 0x5e, 0x6c, 0x38, 0x39, 0x10, 0x2d, 0x7b, 0x07, 0xc6, 0x35, 0x1a, 0x8a, + 0x7f, 0x8d, 0x6a, 0xea, 0x47, 0x5e, 0xb4, 0xeb, 0x84, 0x12, 0xae, 0xab, 0xa9, 0x35, 0x74, 0xeb, + 0x8b, 0xf0, 0x6c, 0xec, 0x07, 0x94, 0x51, 0x75, 0x8a, 0x79, 0xee, 0x64, 0xcc, 0xd7, 0x93, 0xcf, + 0xaa, 0xb6, 0x63, 0xc7, 0x61, 0xc5, 0x9b, 0xe9, 0x9f, 0x45, 0x1f, 0xf3, 0x5c, 0x8f, 0x2b, 0xb2, + 0xe6, 0x71, 0x6c, 0xbd, 0xad, 0x35, 0x36, 0x83, 0xa1, 0x41, 0x9c, 0x4b, 0x13, 0xff, 0x70, 0x1e, + 0xa6, 0xef, 0x56, 0x57, 0x96, 0x63, 0xeb, 0xa3, 0xef, 0xb2, 0x1c, 0xa8, 0xc6, 0xb7, 0xf5, 0xdf, + 0x6f, 0xac, 0x7b, 0x30, 0x9b, 0xea, 0x06, 0x14, 0x1d, 0xde, 0x93, 0x1e, 0x24, 0x31, 0x58, 0x89, + 0x0d, 0xa7, 0xb3, 0xd8, 0xdf, 0xbf, 0x6a, 0xa7, 0xb0, 0xad, 0xff, 0x1c, 0x52, 0x7c, 0x69, 0x0b, + 0x7b, 0x1d, 0xc6, 0xaa, 0x61, 0xd8, 0xe5, 0xc1, 0x3d, 0x7b, 0x4d, 0x57, 0x15, 0x78, 0x08, 0x74, + 0xba, 0x41, 0xd3, 0x4e, 0x10, 0xd8, 0xab, 0x50, 0xa4, 0x90, 0xd0, 0x6a, 0x4f, 0x40, 0xad, 0x6d, + 0x1c, 0x51, 0xda, 0x8e, 0x8b, 0xd9, 0x9b, 0x30, 0x21, 0xff, 0x96, 0xb3, 0x8d, 0x3a, 0x1c, 0x95, + 0x83, 0x84, 0x2e, 0x67, 0xa7, 0x6d, 0xa0, 0xb1, 0xd7, 0xa0, 0x50, 0x59, 0xb6, 0x49, 0x1d, 0x44, + 0x72, 0x23, 0x66, 0x36, 0xef, 0x72, 0xf3, 0x12, 0xb1, 0x6c, 0x0b, 0xe9, 0x4f, 0x45, 0x4f, 0x20, + 0x4d, 0xb6, 0x4c, 0xc0, 0x4e, 0xb0, 0xd4, 0x61, 0x86, 0x30, 0x76, 0x19, 0x46, 0x57, 0xa4, 0xc9, + 0x1c, 0xe9, 0xb1, 0x65, 0x82, 0x2f, 0x09, 0x32, 0x62, 0x0f, 0x48, 0x10, 0x7b, 0x55, 0x25, 0x3e, + 0x2a, 0x26, 0x8e, 0x28, 0x7d, 0xb2, 0x1b, 0xbd, 0x0e, 0x23, 0x14, 0x38, 0x79, 0x4c, 0x4b, 0x89, + 0x90, 0x0e, 0x98, 0x4c, 0x38, 0xbd, 0x1e, 0xa9, 0xf0, 0x24, 0x3d, 0x52, 0xb7, 0xe0, 0xcc, 0x0d, + 0xd4, 0xde, 0x98, 0xd1, 0x86, 0xee, 0xd9, 0x55, 0xd2, 0x87, 0xe3, 0x33, 0x90, 0x54, 0xf0, 0xa4, + 0x03, 0x16, 0x39, 0xdd, 0x40, 0xcf, 0x57, 0xd9, 0x8f, 0x11, 0xfb, 0x02, 0xcc, 0x65, 0x15, 0x91, + 0xd6, 0x1c, 0xe3, 0xea, 0x64, 0x57, 0xa0, 0xc7, 0xd5, 0xc9, 0xe2, 0xc0, 0xd6, 0xa0, 0x24, 0xe1, + 0x95, 0x46, 0xcb, 0x6b, 0x4b, 0xcd, 0xbf, 0xd4, 0xaa, 0xa3, 0x67, 0x08, 0x71, 0x75, 0x45, 0xa1, + 0x7c, 0x01, 0x30, 0x7c, 0x89, 0x52, 0x94, 0xec, 0xa7, 0x72, 0xe2, 0x36, 0x27, 0xc3, 0x0c, 0xdf, + 0xb3, 0xd7, 0x42, 0x8a, 0xc9, 0x76, 0x3a, 0x71, 0x13, 0xaa, 0x45, 0x81, 0xd7, 0xde, 0x21, 0x3f, + 0xa1, 0x4d, 0xf2, 0x13, 0x7a, 0xe7, 0x23, 0xf9, 0x09, 0x49, 0x56, 0xe1, 0xe1, 0x41, 0x79, 0x22, + 0xa0, 0x3a, 0x71, 0x15, 0x19, 0x2d, 0x10, 0x5d, 0x87, 0xce, 0xb2, 0xf7, 0xda, 0x32, 0xc8, 0x29, + 0x6f, 0xc8, 0x8f, 0x9c, 0xc6, 0x1d, 0x1c, 0xbb, 0x0e, 0x43, 0xed, 0x3b, 0xdd, 0x18, 0xa1, 0xe7, + 0x43, 0x33, 0x39, 0x88, 0x8b, 0xa7, 0xf2, 0x45, 0x91, 0xee, 0xb5, 0xa5, 0xe4, 0xe2, 0xa9, 0x1c, + 0x57, 0x1c, 0x9c, 0x46, 0xfa, 0xe4, 0x31, 0x48, 0xd8, 0x65, 0x18, 0xb9, 0xe3, 0x3e, 0xae, 0xec, + 0x70, 0x4a, 0x68, 0x37, 0xa9, 0xb6, 0x3f, 0x04, 0x2e, 0x15, 0xff, 0x50, 0xfa, 0x3a, 0x3c, 0x63, + 0x13, 0x1a, 0xfb, 0xbe, 0x1c, 0x9c, 0x96, 0xcb, 0x58, 0x7d, 0x65, 0x8d, 0x47, 0x91, 0xe8, 0x07, + 0x0a, 0xce, 0x76, 0x3e, 0x31, 0xd8, 0xce, 0xc6, 0x43, 0xc7, 0x74, 0x8b, 0x76, 0x86, 0xb8, 0xe3, + 0x42, 0x2a, 0x35, 0xc2, 0xce, 0x66, 0xd2, 0xb3, 0x4d, 0x18, 0xbf, 0x73, 0xbd, 0x12, 0x57, 0x2b, + 0x63, 0x51, 0x97, 0xb3, 0x76, 0x47, 0x0d, 0x2d, 0xcb, 0xd3, 0x40, 0x67, 0x43, 0xde, 0x01, 0x9f, + 0x56, 0xfd, 0xc1, 0xde, 0xd0, 0x7d, 0x4b, 0x0b, 0x28, 0x3d, 0x8f, 0xb6, 0xdc, 0xc7, 0x8e, 0xbb, + 0xc3, 0x8d, 0x57, 0x72, 0xd2, 0x5e, 0xff, 0x4c, 0x0e, 0xce, 0xf6, 0xfd, 0x64, 0x76, 0x0d, 0xce, + 0xb8, 0xd2, 0x63, 0xda, 0xd9, 0x8d, 0xa2, 0x4e, 0xe8, 0xa8, 0x2b, 0x06, 0x79, 0xa3, 0xda, 0xa7, + 0xa8, 0xf8, 0xa6, 0x28, 0x55, 0xb7, 0x8e, 0x90, 0xbd, 0x0f, 0xcf, 0x79, 0xed, 0x90, 0xd7, 0xbb, + 0x01, 0x77, 0x14, 0x83, 0xba, 0xd7, 0x08, 0x9c, 0xc0, 0x6d, 0xef, 0x28, 0xd7, 0x5a, 0xfb, 0xac, + 0xc2, 0x21, 0xaf, 0xec, 0x65, 0xaf, 0x11, 0xd8, 0x88, 0x60, 0xfd, 0x51, 0x0e, 0xe6, 0xfb, 0x75, + 0x09, 0x9b, 0x87, 0x51, 0xde, 0x76, 0xb7, 0x9a, 0xca, 0xa1, 0xc8, 0x56, 0x3f, 0xd9, 0xb3, 0x90, + 0xec, 0xf4, 0x74, 0xfa, 0x17, 0xeb, 0x94, 0x21, 0x00, 0x4d, 0xdb, 0xf5, 0x7d, 0x9d, 0x0c, 0x94, + 0x27, 0xea, 0xfa, 0xee, 0x7e, 0x0e, 0x20, 0xd9, 0xce, 0xa5, 0x62, 0xc2, 0x1e, 0x73, 0xeb, 0x81, + 0x5c, 0x79, 0xec, 0x34, 0x8c, 0xc8, 0xed, 0x92, 0xfc, 0x1f, 0xe8, 0x97, 0x38, 0xb7, 0xa9, 0x93, + 0x71, 0x9f, 0x2f, 0x2c, 0x4d, 0x18, 0x9d, 0x3d, 0xd2, 0xc2, 0xc1, 0xb1, 0x7e, 0x7a, 0x52, 0x8a, + 0x10, 0x95, 0x6e, 0xb4, 0xab, 0x84, 0x8e, 0xc5, 0x2c, 0x07, 0x30, 0x69, 0x4b, 0xa9, 0xd9, 0x65, + 0x9b, 0x6e, 0x5f, 0xea, 0xed, 0x27, 0x9f, 0xf9, 0xf6, 0xf3, 0x3a, 0x8c, 0x2d, 0xef, 0xf2, 0xfa, + 0x5e, 0xec, 0x84, 0x53, 0x24, 0xe5, 0xba, 0x00, 0xca, 0x00, 0xd0, 0x09, 0x02, 0xbb, 0x0c, 0x80, + 0x7e, 0xa7, 0x52, 0x22, 0xd5, 0x92, 0x38, 0xa0, 0x9b, 0x2a, 0x99, 0xa7, 0x68, 0x28, 0xc8, 0xbe, + 0x66, 0x5f, 0xd7, 0xed, 0x59, 0x24, 0xfb, 0x30, 0xd8, 0x26, 0xf4, 0x04, 0x41, 0x7c, 0x9e, 0xb6, + 0xaf, 0xd0, 0x29, 0x58, 0xea, 0xd9, 0x7c, 0x74, 0x24, 0x76, 0x09, 0xc6, 0x36, 0x94, 0x23, 0x01, + 0x1e, 0x82, 0x13, 0x48, 0x01, 0x89, 0xd3, 0xc1, 0x7c, 0xce, 0x4e, 0x50, 0xd8, 0xa7, 0x61, 0x74, + 0x99, 0x07, 0xd1, 0xe6, 0xe6, 0x1a, 0x1a, 0x9d, 0xc8, 0x5c, 0x07, 0x45, 0x8c, 0x4b, 0x1f, 0x45, + 0xcd, 0x6f, 0x1f, 0x94, 0x27, 0x23, 0xaf, 0xc5, 0xe3, 0x18, 0xce, 0xb6, 0xc2, 0x66, 0x4b, 0x50, + 0x92, 0xcf, 0xe2, 0xc9, 0xdd, 0x03, 0x4f, 0xc6, 0xa2, 0x3c, 0xa7, 0xe9, 0x0d, 0xfd, 0x11, 0xdf, + 0x8a, 0xa3, 0xf2, 0xf7, 0xe0, 0xb3, 0x55, 0x95, 0xcc, 0x42, 0xff, 0x4c, 0x48, 0x94, 0x61, 0xe9, + 0x1d, 0x43, 0x7c, 0x6d, 0x2f, 0x05, 0xab, 0xc0, 0xe4, 0xb2, 0xdf, 0xea, 0xb8, 0x91, 0x87, 0xe9, + 0xe5, 0xf6, 0xe9, 0x10, 0x44, 0x85, 0x5e, 0x5d, 0x2f, 0x30, 0x4e, 0x54, 0xbd, 0x80, 0x5d, 0x87, + 0x29, 0xdb, 0xef, 0x8a, 0x61, 0x52, 0xb7, 0x70, 0x79, 0xce, 0xa1, 0x69, 0x48, 0x20, 0x4a, 0xc4, + 0xb1, 0x4c, 0x57, 0x6e, 0x23, 0xbc, 0xa6, 0x41, 0xc5, 0xd6, 0x33, 0x9e, 0x43, 0xf4, 0xc3, 0x4d, + 0x8f, 0xcd, 0xdf, 0xc3, 0x2c, 0xe3, 0x25, 0xe5, 0x2a, 0x8c, 0xd7, 0x6a, 0x77, 0x37, 0x79, 0x18, + 0x5d, 0x6f, 0xfa, 0x8f, 0xf0, 0x6c, 0x2b, 0x52, 0xce, 0xa2, 0xd0, 0x77, 0x22, 0x1e, 0x46, 0xce, + 0x76, 0xd3, 0x7f, 0x64, 0xeb, 0x58, 0xec, 0x2b, 0xa2, 0x3f, 0x34, 0x49, 0x90, 0x02, 0x89, 0x1e, + 0x25, 0xac, 0xe2, 0x09, 0x92, 0x2c, 0x1a, 0x21, 0xb2, 0x9a, 0x9d, 0xa5, 0xa1, 0xa3, 0x4f, 0x59, + 0xe0, 0x3f, 0xde, 0xaf, 0x34, 0x1a, 0x01, 0x0f, 0x43, 0x3a, 0x84, 0xa4, 0x4f, 0x19, 0x2a, 0x1b, + 0x5c, 0x59, 0x60, 0xf8, 0x94, 0x69, 0x04, 0xec, 0x47, 0x73, 0x70, 0x4a, 0xf7, 0x36, 0xc1, 0xe5, + 0x82, 0x66, 0x2e, 0xf2, 0x48, 0x7a, 0xe3, 0x92, 0x3a, 0x84, 0x2f, 0x69, 0x68, 0x97, 0x1e, 0x5e, + 0xb9, 0x54, 0x49, 0x7e, 0xd6, 0x14, 0x11, 0x06, 0x45, 0x2b, 0x67, 0xf2, 0x4b, 0x5a, 0x30, 0x9f, + 0xb3, 0xe7, 0xdc, 0x0c, 0x62, 0xb6, 0x2c, 0x24, 0x35, 0x31, 0xa3, 0xd0, 0x70, 0xaa, 0xba, 0x81, + 0x67, 0x1a, 0x69, 0x54, 0x69, 0xfe, 0x49, 0x13, 0x2b, 0xaf, 0x63, 0x0a, 0x64, 0x1a, 0x0d, 0xab, + 0xc2, 0xb4, 0x04, 0x88, 0x6d, 0x41, 0xa6, 0xb4, 0x99, 0x4d, 0xc2, 0xea, 0x13, 0x1b, 0x7c, 0xeb, + 0xc7, 0xb4, 0x36, 0x7a, 0xe4, 0xcb, 0x14, 0x1d, 0x7b, 0x1f, 0xa6, 0xc2, 0x70, 0xd7, 0xd1, 0xd6, + 0xeb, 0x1c, 0xae, 0x62, 0x0c, 0xe0, 0x49, 0x25, 0x29, 0xcf, 0xbb, 0x89, 0x30, 0xdc, 0x4d, 0x56, + 0xf4, 0xfb, 0x30, 0x85, 0xb6, 0x3a, 0x09, 0x83, 0x53, 0x09, 0x03, 0x2a, 0x49, 0x33, 0x88, 0x9a, + 0x61, 0xc2, 0xe0, 0xef, 0xe6, 0xe0, 0xac, 0xa8, 0x28, 0x7b, 0x84, 0x4e, 0x7f, 0x94, 0x11, 0xc2, + 0x90, 0x86, 0x7d, 0x79, 0xea, 0xe2, 0x68, 0x18, 0xee, 0x66, 0x71, 0xc0, 0x46, 0x89, 0xc6, 0x67, + 0x37, 0xea, 0xcc, 0x47, 0x6e, 0x54, 0x5f, 0x9e, 0x7a, 0xa3, 0xa2, 0x66, 0x98, 0xc5, 0x01, 0xaf, + 0xb5, 0xb5, 0xca, 0x9d, 0xb5, 0xe4, 0x6e, 0xf6, 0xdd, 0xe5, 0xb6, 0x62, 0x7c, 0xdb, 0x11, 0x6e, + 0x2b, 0xf7, 0xa4, 0x5b, 0xb4, 0xd6, 0x0d, 0xea, 0x5a, 0x6b, 0x80, 0xd3, 0xd7, 0xda, 0x14, 0x8d, + 0x9d, 0xc2, 0xb6, 0x7e, 0x09, 0x52, 0x7c, 0xc9, 0x54, 0xd5, 0x82, 0x11, 0x79, 0x6b, 0xa5, 0x4e, + 0x46, 0x9b, 0x05, 0x79, 0xa7, 0xb5, 0xa9, 0x84, 0x9d, 0x85, 0x42, 0xad, 0x76, 0x97, 0x3a, 0x19, + 0x0d, 0x56, 0xc3, 0xd0, 0xb7, 0x05, 0x4c, 0x8c, 0x10, 0x5a, 0xa1, 0x6a, 0x01, 0xdf, 0xc5, 0x79, + 0x67, 0x23, 0x54, 0xf4, 0xb7, 0xba, 0x43, 0x0e, 0x25, 0xfd, 0x4d, 0x77, 0xc8, 0xe4, 0xe6, 0xb8, + 0x0c, 0xf3, 0x95, 0x30, 0xe4, 0x81, 0x98, 0x10, 0x64, 0xdc, 0x18, 0xd0, 0x3d, 0x87, 0x0e, 0x76, + 0xac, 0xd4, 0xad, 0x87, 0x76, 0x5f, 0x44, 0x76, 0x11, 0x8a, 0x95, 0x6e, 0xc3, 0xe3, 0xed, 0xba, + 0x11, 0xb5, 0xcc, 0x25, 0x98, 0x1d, 0x97, 0xb2, 0xcf, 0xc3, 0xa9, 0x54, 0x48, 0x41, 0xea, 0x81, + 0xd1, 0x64, 0xef, 0x55, 0xf7, 0xb0, 0xc4, 0x20, 0x43, 0x76, 0x49, 0x36, 0x25, 0xab, 0x40, 0x69, + 0x15, 0xdd, 0xb4, 0x56, 0xb8, 0x7c, 0x1b, 0xf2, 0x03, 0xe9, 0x9f, 0x27, 0x6f, 0xcd, 0xd2, 0x85, + 0xcb, 0x69, 0xc4, 0x85, 0x76, 0x0f, 0x3a, 0xbb, 0x0d, 0xb3, 0x69, 0x98, 0x38, 0xc1, 0xe5, 0x05, + 0x19, 0xf7, 0x9b, 0x1e, 0x2e, 0x78, 0x86, 0x67, 0x51, 0xb1, 0x2d, 0x98, 0x49, 0x0c, 0x92, 0xcc, + 0x6b, 0xb3, 0xb2, 0x73, 0x8e, 0xcb, 0xd5, 0xd5, 0xf9, 0x59, 0x9a, 0x8c, 0xb3, 0x89, 0x71, 0x53, + 0x7c, 0x7d, 0xb6, 0x7b, 0xd9, 0xb1, 0x06, 0x4c, 0xd5, 0xbc, 0x9d, 0xb6, 0xd7, 0xde, 0xb9, 0xcd, + 0xf7, 0x37, 0x5c, 0x2f, 0x20, 0x8b, 0x53, 0x65, 0x4f, 0x5e, 0x09, 0xf7, 0x5b, 0x2d, 0x1e, 0x05, + 0xb8, 0x11, 0x8a, 0x72, 0xf4, 0x41, 0x17, 0xd7, 0xa1, 0x85, 0x50, 0xd2, 0xa1, 0xdb, 0x66, 0xc7, + 0xf5, 0x0c, 0x21, 0xc0, 0xe4, 0x69, 0xa8, 0x2e, 0x26, 0x06, 0x54, 0x5d, 0x34, 0x61, 0x66, 0xb5, + 0x5d, 0x0f, 0xf6, 0xf1, 0x89, 0x4e, 0x35, 0x6e, 0xf2, 0x98, 0xc6, 0xbd, 0x44, 0x8d, 0x7b, 0xce, + 0x55, 0x33, 0x2c, 0xab, 0x79, 0xbd, 0x8c, 0x59, 0x0d, 0x66, 0xf0, 0xe2, 0x50, 0x5d, 0xd9, 0xa8, + 0xb6, 0xbd, 0xc8, 0x73, 0x23, 0xde, 0x20, 0xe1, 0xe2, 0x65, 0xe2, 0x79, 0x4e, 0x5e, 0x51, 0xbd, + 0x46, 0xc7, 0xf1, 0x14, 0x8a, 0xce, 0xb4, 0x87, 0xfe, 0xa8, 0x7b, 0xe2, 0xf4, 0x5f, 0xd1, 0x3d, + 0xb1, 0x0a, 0xd3, 0xe9, 0xd8, 0x0c, 0xa5, 0xe4, 0x1c, 0x0e, 0xb1, 0x48, 0x1c, 0xe7, 0x7e, 0x17, + 0x85, 0x49, 0x23, 0x27, 0xa1, 0x49, 0x97, 0xbe, 0x72, 0xce, 0x18, 0x57, 0x4e, 0x63, 0x57, 0x3a, + 0xc1, 0x95, 0x93, 0x6d, 0x00, 0x5c, 0xf7, 0x83, 0x3a, 0xaf, 0xa0, 0x7f, 0x34, 0x33, 0xb2, 0xfb, + 0x08, 0xa6, 0x49, 0xa1, 0x5c, 0x3f, 0xdb, 0xe2, 0xb7, 0x93, 0x76, 0x73, 0xd7, 0x78, 0x58, 0x3f, + 0x96, 0x87, 0xf9, 0x7e, 0xcd, 0x39, 0xe2, 0xba, 0xf7, 0x09, 0xe8, 0x5d, 0xe1, 0x74, 0xed, 0x2b, + 0xf1, 0xf4, 0x3a, 0x5f, 0x84, 0xec, 0x85, 0x4c, 0xd7, 0xc0, 0xd9, 0x34, 0xc1, 0xbd, 0xa0, 0xc9, + 0xae, 0xc1, 0xb8, 0xd6, 0x78, 0xdc, 0x4b, 0xfb, 0x7d, 0xaa, 0x0d, 0xdb, 0xf1, 0xdf, 0xe2, 0x9a, + 0x28, 0xf7, 0x2d, 0x75, 0x4d, 0x94, 0xbf, 0x58, 0x49, 0xba, 0x88, 0x8f, 0x48, 0x2b, 0x80, 0x30, + 0xf4, 0x19, 0x03, 0xdc, 0xb7, 0xe5, 0x16, 0x68, 0xe3, 0xdf, 0xd6, 0xaf, 0x4f, 0xc8, 0x13, 0x59, + 0xbf, 0x25, 0xf6, 0xb3, 0x0f, 0x4e, 0xdd, 0x1e, 0xf3, 0x27, 0xb9, 0x3d, 0x16, 0x8e, 0xbf, 0x3d, + 0x0e, 0x1d, 0x77, 0x7b, 0x4c, 0x5d, 0xef, 0x86, 0x4f, 0x7c, 0xbd, 0x1b, 0x39, 0xd1, 0xf5, 0x6e, + 0xf4, 0x44, 0xd7, 0x3b, 0xe3, 0xa6, 0x5a, 0x3c, 0xee, 0xa6, 0xfa, 0x37, 0x97, 0xc1, 0xa7, 0xf5, + 0x32, 0x98, 0x25, 0xe2, 0x9d, 0xe8, 0x32, 0xf8, 0x23, 0x7d, 0xef, 0x72, 0xa5, 0x8f, 0x22, 0x94, + 0xbf, 0x38, 0xc0, 0x5d, 0x6e, 0xd0, 0x9b, 0xdc, 0xcc, 0x93, 0xb9, 0xc9, 0xb1, 0x27, 0x76, 0x93, + 0x9b, 0xfd, 0xb8, 0x37, 0xb9, 0xb9, 0x27, 0x79, 0x93, 0x3b, 0xf5, 0xd7, 0xf1, 0x26, 0x77, 0xfa, + 0x5f, 0xcf, 0x4d, 0xee, 0x6f, 0x41, 0x29, 0x2d, 0x5c, 0x1e, 0x1f, 0x14, 0xf8, 0x89, 0xc5, 0x90, + 0x14, 0xa2, 0x6f, 0x5a, 0xb8, 0x63, 0x97, 0x01, 0x36, 0x02, 0xef, 0xa1, 0x1b, 0xf1, 0xdb, 0xca, + 0xfa, 0x8d, 0x02, 0x5a, 0x4b, 0xa8, 0x18, 0x79, 0x5b, 0x43, 0x89, 0xef, 0x35, 0xf9, 0xac, 0x7b, + 0x8d, 0xf5, 0xa3, 0x79, 0x98, 0x91, 0x81, 0xd8, 0x9e, 0xfe, 0x47, 0xd8, 0xf7, 0x8c, 0xdb, 0xaa, + 0xb2, 0xb5, 0x4e, 0x7d, 0xdd, 0x11, 0xcf, 0xb0, 0x5f, 0x86, 0x53, 0x3d, 0x5d, 0x81, 0x37, 0xd6, + 0x15, 0x15, 0x02, 0xaf, 0xe7, 0xce, 0x3a, 0x9f, 0x5d, 0xc9, 0xfd, 0xab, 0x76, 0x0f, 0x85, 0xf5, + 0x17, 0x43, 0x3d, 0xfc, 0xe9, 0x41, 0x56, 0x7f, 0x62, 0xcd, 0x9d, 0xec, 0x89, 0x35, 0x3f, 0xd8, + 0x13, 0x6b, 0x4a, 0xa8, 0x28, 0x0c, 0x22, 0x54, 0x7c, 0x1e, 0x26, 0x37, 0xb9, 0xdb, 0x0a, 0x37, + 0x7d, 0xca, 0xe6, 0x23, 0x7d, 0x2d, 0x54, 0x84, 0x3b, 0x51, 0xa6, 0x2e, 0x5c, 0xb1, 0xcd, 0x68, + 0x24, 0x08, 0xc4, 0x31, 0x28, 0xd3, 0xfb, 0xd8, 0x26, 0x07, 0xfd, 0x16, 0x3d, 0x7c, 0xc4, 0x2d, + 0xba, 0x06, 0x13, 0x44, 0x97, 0x44, 0x42, 0x4e, 0xae, 0x7b, 0xa2, 0x08, 0xe1, 0xaa, 0xf6, 0x38, + 0xc9, 0x74, 0x5c, 0xbb, 0xbc, 0xe9, 0x19, 0x4c, 0x44, 0x17, 0xac, 0xb6, 0x1b, 0x1d, 0xdf, 0x6b, + 0x63, 0x17, 0x8c, 0x26, 0x5d, 0xc0, 0x09, 0x2c, 0xbb, 0x40, 0x43, 0x62, 0xef, 0xc0, 0x54, 0x65, + 0xa3, 0xaa, 0x93, 0x15, 0x93, 0x57, 0x5e, 0xb7, 0xe3, 0x39, 0x06, 0x69, 0x0a, 0xf7, 0xa8, 0x9b, + 0xcf, 0xd8, 0x5f, 0xcd, 0xcd, 0xc7, 0xfa, 0x17, 0x13, 0x6a, 0x79, 0x7f, 0x67, 0x1f, 0x48, 0xcc, + 0x27, 0x8f, 0xc2, 0x09, 0x9f, 0x3c, 0x86, 0x8e, 0x13, 0x24, 0x0d, 0xf9, 0x76, 0xf8, 0x44, 0xf2, + 0xed, 0xc8, 0xc7, 0x7e, 0xbe, 0x18, 0x3d, 0xa1, 0xc4, 0x9a, 0x5a, 0x6b, 0xc5, 0x41, 0xd6, 0x5a, + 0xa6, 0x94, 0x3b, 0xf6, 0xf1, 0xa5, 0x5c, 0x38, 0xb1, 0x94, 0x5b, 0x4b, 0x7c, 0x97, 0xc7, 0x8f, + 0x75, 0x09, 0x39, 0x47, 0x5a, 0x81, 0x99, 0xec, 0x28, 0x7c, 0xb1, 0x17, 0xf3, 0x77, 0x95, 0xe8, + 0xfc, 0xd5, 0x6c, 0xd1, 0xf9, 0xe8, 0xf3, 0xe6, 0x44, 0xc2, 0xf3, 0x8f, 0x3e, 0x59, 0xe1, 0xf9, + 0xc9, 0x3e, 0x84, 0xfc, 0x8d, 0xf8, 0xfc, 0x37, 0xe2, 0xf3, 0x80, 0xe2, 0x73, 0x80, 0xcb, 0xeb, + 0x81, 0x1b, 0xb4, 0x51, 0xed, 0x74, 0x19, 0x46, 0x55, 0x18, 0xd2, 0x5c, 0xa2, 0x51, 0xee, 0x8d, + 0x3f, 0xaa, 0xb0, 0xd8, 0x22, 0x14, 0x15, 0xb1, 0x9e, 0x36, 0xe6, 0x11, 0xc1, 0x8c, 0x08, 0x8f, + 0x04, 0xb3, 0xfe, 0xbd, 0x21, 0xb5, 0x85, 0x8b, 0x39, 0xb3, 0xe1, 0x06, 0x6e, 0x0b, 0xf3, 0x91, + 0xc5, 0x2b, 0x4c, 0x13, 0xde, 0x53, 0x8b, 0x32, 0x65, 0xda, 0x6f, 0x92, 0x7c, 0xa4, 0xc0, 0xb0, + 0x49, 0xca, 0xd7, 0xc2, 0x00, 0x29, 0x5f, 0xdf, 0x32, 0xf2, 0xa5, 0x0e, 0x25, 0x09, 0xfa, 0xc4, + 0xb6, 0x76, 0x74, 0xa6, 0xd4, 0x6b, 0x7a, 0x62, 0xd3, 0xe1, 0x24, 0xaa, 0x17, 0x52, 0x1e, 0x91, + 0xd2, 0x34, 0xbe, 0x8d, 0x8c, 0x9c, 0x24, 0xe4, 0xf2, 0xe8, 0xbf, 0xd6, 0x90, 0xcb, 0xab, 0x00, + 0x74, 0xd4, 0x26, 0xe6, 0x09, 0x2f, 0xe3, 0xea, 0x27, 0x33, 0xe5, 0x28, 0x6a, 0xf6, 0xc9, 0x70, + 0xa1, 0x11, 0x5a, 0xbf, 0xcf, 0x60, 0xa6, 0x56, 0xbb, 0xbb, 0xe2, 0xb9, 0x3b, 0x6d, 0x3f, 0x8c, + 0xbc, 0x7a, 0xb5, 0xbd, 0xed, 0x0b, 0x51, 0x3c, 0x3e, 0x0e, 0xb4, 0xd8, 0xba, 0xc9, 0x51, 0x10, + 0x17, 0x8b, 0xab, 0xde, 0x6a, 0x10, 0x28, 0xfd, 0xa8, 0xbc, 0xea, 0x71, 0x01, 0xb0, 0x25, 0x5c, + 0x48, 0xbb, 0xb5, 0x2e, 0x46, 0xb6, 0x20, 0x9b, 0x11, 0x94, 0x76, 0x43, 0x09, 0xb2, 0x55, 0x19, + 0xe3, 0xbd, 0x13, 0x96, 0x6e, 0x3f, 0x67, 0x8c, 0xc0, 0xcd, 0x49, 0xb1, 0x3c, 0xec, 0x48, 0x18, + 0xc1, 0x6d, 0xb3, 0x83, 0x70, 0xdd, 0x22, 0xae, 0x67, 0x0d, 0xec, 0xc3, 0x29, 0xc3, 0xe7, 0x79, + 0xd0, 0xc7, 0x94, 0xd7, 0x48, 0xba, 0xb6, 0x30, 0xc4, 0x46, 0xc6, 0x8b, 0x8a, 0x9e, 0x60, 0x2c, + 0xb3, 0x06, 0x71, 0x9e, 0x9d, 0xcb, 0x2c, 0x89, 0x57, 0xf7, 0xb8, 0x11, 0x3c, 0x5b, 0xdb, 0x34, + 0x64, 0x2a, 0xb5, 0x7e, 0x55, 0x3b, 0x19, 0x5b, 0xc1, 0xd1, 0x35, 0xb1, 0xdf, 0xc8, 0xc1, 0x19, + 0x03, 0x23, 0xde, 0xae, 0xc2, 0x38, 0x1c, 0x48, 0xe6, 0xbc, 0xfe, 0xf0, 0xc9, 0xcc, 0xeb, 0x17, + 0xcd, 0x6f, 0x49, 0x36, 0x54, 0xfd, 0x1b, 0xfa, 0xb5, 0x90, 0x3d, 0x84, 0x19, 0x2c, 0x52, 0x0f, + 0x3b, 0x62, 0xce, 0xd2, 0x7b, 0xd0, 0x5c, 0xd2, 0x6c, 0xe9, 0xc7, 0x8f, 0xe9, 0xb0, 0x17, 0xbf, + 0x75, 0x50, 0x9e, 0x34, 0xd0, 0x55, 0x38, 0x6a, 0x27, 0x79, 0x1d, 0xf2, 0xda, 0xdb, 0xbe, 0x2e, + 0x28, 0xf5, 0x54, 0xc1, 0xfe, 0x49, 0x4e, 0x3e, 0x27, 0xc8, 0xcf, 0xb8, 0x1e, 0xf8, 0xad, 0xb8, + 0x5c, 0x99, 0x56, 0xf6, 0xe9, 0xb6, 0xe6, 0x93, 0xe9, 0xb6, 0x97, 0xb1, 0xc9, 0x72, 0x4f, 0x70, + 0xb6, 0x03, 0xbf, 0x95, 0x34, 0x5f, 0xef, 0xb8, 0xbe, 0x8d, 0x64, 0xdf, 0x9f, 0x83, 0xb3, 0x86, + 0x56, 0x53, 0xcf, 0x0d, 0x42, 0xd1, 0x12, 0x66, 0xe3, 0x38, 0x2a, 0x49, 0xd1, 0xd2, 0x25, 0x9a, + 0xff, 0x17, 0xb0, 0x05, 0x5a, 0xd8, 0x4e, 0x81, 0xe4, 0xb4, 0x24, 0x96, 0xd6, 0x84, 0xfe, 0xb5, + 0x30, 0x0f, 0x66, 0xd0, 0xca, 0xc6, 0x30, 0x01, 0x9e, 0xeb, 0x6f, 0x02, 0x1c, 0xe7, 0xd0, 0xc1, + 0x8c, 0x00, 0xfd, 0xed, 0x80, 0x7b, 0xb9, 0xb2, 0xef, 0x85, 0xb3, 0x3d, 0xc0, 0x78, 0xb5, 0x9d, + 0xea, 0xbb, 0xda, 0x3e, 0x71, 0x78, 0x50, 0x7e, 0x25, 0xab, 0xb6, 0xac, 0x95, 0xd6, 0xbf, 0x06, + 0xe6, 0x02, 0x24, 0x85, 0x24, 0x7e, 0x64, 0x4f, 0xd0, 0x4f, 0xd0, 0xfc, 0xd0, 0xf0, 0xc5, 0x5e, + 0xae, 0xb5, 0x41, 0x3f, 0xf2, 0x12, 0x24, 0xc6, 0x61, 0x42, 0xcb, 0x86, 0xb0, 0x4f, 0xc6, 0x1e, + 0x7d, 0x2a, 0xf9, 0xd6, 0x41, 0xd9, 0xc0, 0x16, 0x17, 0x22, 0x3d, 0xcd, 0x82, 0x21, 0xed, 0xe9, + 0x88, 0xec, 0xd7, 0x72, 0x30, 0x27, 0x00, 0xc9, 0xa4, 0xa2, 0x8f, 0x9a, 0x3f, 0x6a, 0xd6, 0xef, + 0x3e, 0x99, 0x59, 0xff, 0x02, 0xb6, 0x51, 0x9f, 0xf5, 0x3d, 0x5d, 0x92, 0xd9, 0x38, 0x9c, 0xed, + 0x86, 0x41, 0x97, 0x31, 0xdb, 0xcf, 0x0e, 0x30, 0xdb, 0xe5, 0x00, 0x1c, 0x3f, 0xdb, 0xfb, 0xd6, + 0xc2, 0x36, 0x61, 0x82, 0xee, 0x42, 0xb2, 0xc3, 0x9e, 0x37, 0xc2, 0x38, 0xeb, 0x45, 0xf2, 0x82, + 0x4a, 0xc9, 0x22, 0x7a, 0xbe, 0xd0, 0xe0, 0xc2, 0xda, 0x30, 0x2b, 0x7f, 0x9b, 0xba, 0xa9, 0x72, + 0x5f, 0xdd, 0xd4, 0x45, 0xfa, 0xa2, 0xf3, 0xc4, 0x3f, 0xa5, 0xa2, 0xd2, 0xc3, 0x2f, 0x65, 0x30, + 0x66, 0x1d, 0x60, 0x06, 0x58, 0x2e, 0xda, 0xf3, 0x47, 0x6b, 0xa4, 0x5e, 0xa1, 0x3a, 0xcb, 0xe9, + 0x3a, 0xd3, 0x2b, 0x37, 0x83, 0x37, 0x73, 0x61, 0x9a, 0xa0, 0xfe, 0x1e, 0x97, 0x3b, 0xfc, 0x0b, + 0x46, 0x00, 0xac, 0x54, 0xa9, 0xbc, 0x44, 0xa9, 0x9a, 0x30, 0x40, 0x59, 0x6a, 0x43, 0x4f, 0xf3, + 0x63, 0x77, 0x61, 0xa6, 0xd2, 0xe9, 0x34, 0x3d, 0xde, 0xc0, 0xaf, 0x94, 0x19, 0xfe, 0xad, 0x24, + 0x7b, 0x99, 0x2b, 0x0b, 0xe9, 0x66, 0x97, 0x4e, 0xef, 0xdf, 0x4b, 0x6b, 0xfd, 0x48, 0xae, 0xa7, + 0xd1, 0xec, 0x75, 0x18, 0xc3, 0x1f, 0x5a, 0x4c, 0x15, 0x54, 0xf1, 0xc8, 0x26, 0xa2, 0xf2, 0x28, + 0x41, 0x10, 0xc2, 0x92, 0x1e, 0x57, 0xb1, 0x20, 0x85, 0x25, 0xd2, 0x2b, 0x24, 0x9a, 0x84, 0xb2, + 0x72, 0xcd, 0x28, 0x24, 0x42, 0x17, 0xba, 0x66, 0x90, 0x43, 0x86, 0xf5, 0xfd, 0x79, 0x73, 0xda, + 0xb1, 0x8b, 0x9a, 0xdc, 0xae, 0x45, 0x76, 0x54, 0x72, 0xbb, 0x26, 0xad, 0xff, 0xc3, 0x1c, 0xcc, + 0xde, 0x0d, 0x76, 0xdc, 0xb6, 0xf7, 0x75, 0x19, 0x46, 0xdb, 0xc7, 0x71, 0x39, 0x3a, 0x11, 0xe4, + 0x93, 0x4a, 0x68, 0xe7, 0x6b, 0x15, 0x8b, 0x99, 0x82, 0x53, 0xc6, 0xce, 0x6a, 0x0f, 0x3a, 0xbb, + 0x61, 0xc3, 0xb4, 0xbc, 0x82, 0x12, 0x5d, 0xc2, 0xad, 0x9f, 0xc8, 0xc3, 0xb8, 0xb6, 0x04, 0xd8, + 0xa7, 0x60, 0x42, 0xe7, 0xa3, 0x2b, 0xfc, 0xf4, 0x6a, 0x6d, 0x03, 0x0b, 0x35, 0x7e, 0xdc, 0x6d, + 0x19, 0x1a, 0x3f, 0x31, 0xd1, 0x11, 0x7a, 0xc2, 0xab, 0xcd, 0xfb, 0x19, 0x57, 0x1b, 0x9c, 0xb6, + 0x9a, 0xc6, 0xe6, 0xc8, 0x0b, 0xce, 0x3b, 0xbd, 0x17, 0x1c, 0x54, 0x1e, 0x69, 0xf4, 0xfd, 0xaf, + 0x39, 0xd6, 0x4f, 0xe7, 0xa0, 0x94, 0x5e, 0xa4, 0xdf, 0x91, 0x5e, 0x39, 0xc1, 0xeb, 0xce, 0x8f, + 0xe7, 0xe3, 0x54, 0x28, 0xca, 0x85, 0xf7, 0x69, 0x35, 0x13, 0x7c, 0xd7, 0x78, 0x78, 0x79, 0xd6, + 0x8c, 0x46, 0xa7, 0x07, 0xbf, 0xc8, 0x0e, 0x41, 0x39, 0xf4, 0xcd, 0x5f, 0x2c, 0x3f, 0x63, 0x7d, + 0x00, 0x73, 0xe9, 0xee, 0xc0, 0xc7, 0x97, 0x0a, 0x4c, 0x9b, 0xf0, 0x74, 0x22, 0xa5, 0x34, 0x95, + 0x9d, 0xc6, 0xb7, 0xfe, 0x30, 0x9f, 0xe6, 0x4d, 0x26, 0x83, 0x62, 0xd3, 0xd1, 0x0d, 0x61, 0x68, + 0xd3, 0x91, 0x20, 0x5b, 0x95, 0x9d, 0x24, 0x81, 0x59, 0xec, 0x88, 0x5a, 0xc8, 0x76, 0x44, 0x65, + 0xd7, 0x52, 0x56, 0xd2, 0x5a, 0xd4, 0xa4, 0x47, 0x7c, 0xcb, 0x49, 0x2c, 0xa5, 0x53, 0xc6, 0xd1, + 0xcb, 0x30, 0x67, 0x84, 0x00, 0x57, 0xf4, 0xc3, 0x89, 0xae, 0x3d, 0xc2, 0x02, 0x49, 0x9c, 0x89, + 0xcc, 0x6e, 0xc2, 0xa8, 0x68, 0xe6, 0x1d, 0xb7, 0x43, 0x6f, 0x2a, 0x2c, 0x76, 0x4b, 0x6f, 0xc6, + 0x17, 0x3e, 0xcd, 0x33, 0xbd, 0xc9, 0xc5, 0x91, 0xaf, 0x4f, 0x2c, 0x42, 0xb4, 0xfe, 0x79, 0x4e, + 0xac, 0xff, 0xfa, 0xde, 0x77, 0x59, 0x16, 0x34, 0xf1, 0x49, 0x47, 0x58, 0xb4, 0xfe, 0x69, 0x5e, + 0xe6, 0xc2, 0xa1, 0xe9, 0xf3, 0x16, 0x8c, 0x6c, 0xba, 0xc1, 0x0e, 0xe5, 0x60, 0x36, 0xb9, 0xc8, + 0x82, 0x24, 0xa6, 0x53, 0x84, 0xbf, 0x6d, 0x22, 0xd0, 0x75, 0x61, 0xf9, 0x81, 0x74, 0x61, 0x9a, + 0x5e, 0xbe, 0xf0, 0xc4, 0xf4, 0xf2, 0xdf, 0x13, 0xa7, 0xbd, 0xa9, 0x44, 0x03, 0x44, 0x98, 0x3e, + 0x9f, 0x4e, 0x1b, 0xd5, 0x13, 0x0b, 0x3c, 0x61, 0xc7, 0xae, 0xe9, 0x89, 0xa8, 0x34, 0xdf, 0xce, + 0x63, 0x52, 0x4e, 0x59, 0x7f, 0x5a, 0x90, 0x7d, 0x4c, 0x1d, 0x75, 0xc1, 0xf0, 0xfb, 0xc6, 0x75, + 0x22, 0x36, 0x7a, 0x3d, 0x04, 0x07, 0x9a, 0x4d, 0x5d, 0x80, 0x21, 0x31, 0x37, 0xa9, 0x37, 0x11, + 0x4f, 0xcc, 0x5f, 0x1d, 0x4f, 0x94, 0x8b, 0xb5, 0x8c, 0x67, 0x92, 0x9e, 0x61, 0x10, 0x8f, 0x2d, + 0x7d, 0x2d, 0x23, 0x06, 0xbb, 0x08, 0x43, 0xeb, 0x7e, 0x43, 0x45, 0x32, 0x9f, 0xc3, 0xe8, 0x1f, + 0x7e, 0x83, 0x1b, 0x4a, 0x73, 0xc4, 0x10, 0xdf, 0x1a, 0xe7, 0x7f, 0xd0, 0xbf, 0xb5, 0xb5, 0xed, + 0xf6, 0x66, 0x8e, 0xd3, 0x92, 0xce, 0xac, 0xc2, 0x94, 0x99, 0xf8, 0x9d, 0xec, 0x7d, 0x51, 0xbb, + 0x9e, 0xca, 0x1f, 0xaf, 0x3f, 0x8b, 0x98, 0x44, 0x6c, 0x09, 0x26, 0x8d, 0x08, 0xaa, 0xf4, 0xb8, + 0x89, 0xea, 0x4d, 0x33, 0xfe, 0xaa, 0xae, 0xde, 0x34, 0x48, 0xc4, 0x79, 0x4e, 0xed, 0xd7, 0x9e, + 0x38, 0x7b, 0xda, 0x4e, 0x38, 0xec, 0x2a, 0x14, 0x65, 0x98, 0x8d, 0xea, 0x8a, 0xfe, 0x4c, 0x15, + 0x22, 0x2c, 0x15, 0xa6, 0x46, 0x21, 0x6a, 0x61, 0x15, 0x3e, 0x09, 0x25, 0xda, 0x92, 0x92, 0x54, + 0xe2, 0xcf, 0xc1, 0xd0, 0x72, 0x75, 0xc5, 0xd6, 0xb7, 0x91, 0xba, 0xd7, 0x08, 0x6c, 0x84, 0xa2, + 0x57, 0xdd, 0x3a, 0x8f, 0x1e, 0xf9, 0xc1, 0x9e, 0xcd, 0xc3, 0x28, 0xf0, 0x64, 0x82, 0x4a, 0x5c, + 0x88, 0x9f, 0x62, 0xef, 0xc0, 0x30, 0x1a, 0x9e, 0xa6, 0x4e, 0x86, 0x74, 0x1d, 0x4b, 0x93, 0x34, + 0x81, 0x87, 0xd1, 0x8a, 0xd5, 0x96, 0x44, 0xec, 0x2d, 0x18, 0x5a, 0xe1, 0xed, 0xfd, 0x54, 0xee, + 0xbc, 0x1e, 0xe2, 0x78, 0x43, 0x68, 0xf0, 0xf6, 0xbe, 0x8d, 0x24, 0xd6, 0x4f, 0xe7, 0xe1, 0x54, + 0x46, 0xb3, 0xee, 0x7f, 0xea, 0x29, 0xdd, 0x15, 0x97, 0x8c, 0x5d, 0x51, 0xbd, 0x4f, 0xf7, 0xed, + 0xf8, 0xcc, 0x4d, 0xf2, 0xe7, 0x73, 0x70, 0xc6, 0x9c, 0xa0, 0x64, 0x69, 0x7e, 0xff, 0x2a, 0x7b, + 0x1b, 0x46, 0x6e, 0x72, 0xb7, 0xc1, 0x55, 0x5e, 0xad, 0x53, 0x71, 0x40, 0x3c, 0x19, 0x43, 0x40, + 0x16, 0x4a, 0xb6, 0x89, 0xc7, 0xa9, 0x84, 0xb2, 0x15, 0x6a, 0x9c, 0x94, 0xc7, 0x2d, 0x15, 0xcf, + 0x23, 0xab, 0xaa, 0x23, 0xac, 0x3c, 0xbe, 0x95, 0x83, 0x67, 0x8f, 0xa0, 0x11, 0x03, 0x27, 0x86, + 0x5e, 0x1f, 0x38, 0x3c, 0x51, 0x11, 0xca, 0xde, 0x83, 0xe9, 0x4d, 0x92, 0xe7, 0xd5, 0x70, 0xe4, + 0x93, 0xf5, 0xa2, 0x44, 0x7d, 0x47, 0x8d, 0x4b, 0x1a, 0xd9, 0x08, 0x34, 0x53, 0x38, 0x32, 0xd0, + 0x8c, 0x1e, 0xb7, 0x65, 0x68, 0xd0, 0xb8, 0x2d, 0x1f, 0xc0, 0x9c, 0xf9, 0x6d, 0x14, 0x3e, 0x37, + 0x89, 0x5a, 0x93, 0xeb, 0x1f, 0xb5, 0xe6, 0xc8, 0x20, 0x9d, 0xd6, 0x4f, 0xe4, 0xa0, 0x64, 0xf2, + 0xfe, 0xb8, 0xe3, 0xf9, 0xae, 0x31, 0x9e, 0xcf, 0x66, 0x8f, 0x67, 0xff, 0x81, 0xfc, 0x3f, 0x72, + 0xe9, 0x8f, 0x1d, 0x68, 0x04, 0x2d, 0x18, 0x59, 0xf1, 0x5b, 0xae, 0xd7, 0xd6, 0x33, 0xd3, 0x37, + 0x10, 0x62, 0x53, 0xc9, 0x60, 0x41, 0x7e, 0xce, 0xc3, 0xf0, 0xba, 0xdf, 0xae, 0xac, 0x90, 0x49, + 0x2f, 0xf2, 0x69, 0xfb, 0x6d, 0xc7, 0x6d, 0xd8, 0xb2, 0x80, 0xad, 0x01, 0xd4, 0xea, 0x01, 0xe7, + 0xed, 0x9a, 0xf7, 0x75, 0x9e, 0x92, 0x34, 0x44, 0x0f, 0x35, 0xbb, 0xb8, 0xb1, 0xc8, 0xa7, 0x4b, + 0x44, 0x74, 0x42, 0xef, 0xeb, 0xfa, 0x7e, 0xab, 0xd1, 0xe3, 0xba, 0xa2, 0x38, 0x68, 0xa9, 0x71, + 0xb8, 0xf2, 0x9d, 0x58, 0x57, 0x99, 0x55, 0x61, 0x0f, 0x5f, 0xc9, 0x1c, 0x8e, 0x3f, 0xc8, 0xc1, + 0xb3, 0x47, 0xd0, 0x3c, 0x81, 0x51, 0xf9, 0xab, 0xee, 0x70, 0x0e, 0x90, 0x10, 0x61, 0x6a, 0x62, + 0xaf, 0x11, 0xc9, 0x5c, 0x79, 0x93, 0x94, 0x9a, 0x58, 0x00, 0x8c, 0xd4, 0xc4, 0x02, 0x20, 0xce, + 0xd2, 0x9b, 0xdc, 0xdb, 0xd9, 0x95, 0xe6, 0x59, 0x93, 0x72, 0x6f, 0xd8, 0x45, 0x88, 0x7e, 0x96, + 0x4a, 0x1c, 0xeb, 0x5f, 0x0e, 0xc3, 0x59, 0x9b, 0xef, 0x78, 0xe2, 0x5e, 0x72, 0x2f, 0xf4, 0xda, + 0x3b, 0x46, 0xdc, 0x1b, 0x2b, 0xb5, 0x72, 0x29, 0x49, 0x84, 0x80, 0xc4, 0x33, 0xf1, 0x55, 0x28, + 0x0a, 0x31, 0x44, 0x5b, 0xbc, 0xf8, 0x68, 0x25, 0x84, 0x15, 0x0a, 0xac, 0xac, 0x8a, 0xd9, 0x6b, + 0x24, 0x26, 0x69, 0x69, 0x7c, 0x84, 0x98, 0xf4, 0xed, 0x83, 0x32, 0xd4, 0xf6, 0xc3, 0x88, 0xe3, + 0x15, 0x99, 0x44, 0xa5, 0xf8, 0x2e, 0x33, 0xd4, 0xe7, 0x2e, 0x73, 0x07, 0xe6, 0x2a, 0x0d, 0x79, + 0x3a, 0xba, 0xcd, 0x8d, 0xc0, 0x6b, 0xd7, 0xbd, 0x8e, 0xdb, 0x54, 0xf7, 0x73, 0xec, 0x65, 0x37, + 0x2e, 0x77, 0x3a, 0x31, 0x82, 0x9d, 0x49, 0x26, 0x3e, 0x63, 0x65, 0xbd, 0x86, 0xe1, 0x61, 0xe8, + 0x3d, 0x12, 0x3f, 0xa3, 0xd1, 0x0e, 0xf1, 0x2b, 0x42, 0x3b, 0x2e, 0xc6, 0x5b, 0x14, 0x3e, 0xc8, + 0x6f, 0xae, 0xd5, 0x12, 0x97, 0x66, 0x99, 0x65, 0x40, 0x3e, 0xec, 0x47, 0xcd, 0x10, 0x4d, 0x21, + 0x0d, 0xbc, 0x84, 0xae, 0x56, 0xbb, 0x29, 0xe8, 0x8a, 0x3d, 0x74, 0x61, 0xb8, 0xab, 0xd3, 0x49, + 0x3c, 0x76, 0x59, 0x4c, 0x85, 0x96, 0x1f, 0x71, 0x9c, 0xc2, 0x63, 0xc9, 0x9d, 0x2b, 0x40, 0xa8, + 0xbc, 0x73, 0x69, 0x28, 0xec, 0x1d, 0x98, 0x5d, 0x5d, 0x5e, 0x54, 0x5a, 0xe4, 0x15, 0xbf, 0xde, + 0xc5, 0x87, 0x78, 0xc0, 0xfa, 0x70, 0x0c, 0x79, 0x7d, 0x51, 0xec, 0x26, 0x59, 0x68, 0xec, 0x02, + 0x8c, 0x56, 0x57, 0x64, 0xdf, 0x8f, 0xeb, 0xa9, 0xb4, 0xc8, 0x32, 0x4a, 0x15, 0xb2, 0xbb, 0xc9, + 0xa5, 0x60, 0xe2, 0x58, 0xe9, 0xfd, 0xec, 0x00, 0x17, 0x82, 0xb7, 0x60, 0x72, 0xc9, 0x8f, 0xaa, + 0xed, 0x30, 0x72, 0xdb, 0x75, 0x5e, 0x5d, 0xd1, 0xe3, 0x5a, 0x6f, 0xf9, 0x91, 0xe3, 0x51, 0x89, + 0x68, 0xb9, 0x89, 0xc9, 0x3e, 0x83, 0xa4, 0x37, 0x78, 0x9b, 0x07, 0x49, 0x3c, 0xeb, 0x61, 0xd9, + 0xb7, 0x82, 0x74, 0x27, 0x2e, 0xb1, 0x4d, 0x44, 0x4a, 0xf3, 0x25, 0x93, 0x73, 0x2e, 0xfb, 0x0d, + 0x1e, 0xca, 0xdd, 0xe2, 0xbb, 0x28, 0xcd, 0x97, 0xf6, 0x6d, 0x47, 0xec, 0xa0, 0xff, 0x16, 0xa6, + 0xf9, 0xea, 0xc1, 0x65, 0x9f, 0x81, 0x61, 0xfc, 0x49, 0xd2, 0xed, 0x6c, 0x06, 0xdb, 0x44, 0xb2, + 0xad, 0x0b, 0x4c, 0x5b, 0x12, 0xb0, 0x2a, 0x8c, 0xd2, 0xc5, 0xea, 0x24, 0xc9, 0x6a, 0xe8, 0x86, + 0x26, 0x67, 0x06, 0xd1, 0x5b, 0x0d, 0x98, 0xd0, 0x2b, 0x14, 0x2b, 0xe2, 0xa6, 0x1b, 0xee, 0xf2, + 0x86, 0xf8, 0x45, 0x79, 0xe6, 0x70, 0x45, 0xec, 0x22, 0xd4, 0x11, 0xed, 0xb0, 0x35, 0x14, 0x71, + 0xa6, 0x56, 0xc3, 0x7b, 0x21, 0x35, 0x85, 0x54, 0x2d, 0x1e, 0xaa, 0xed, 0x1a, 0x36, 0x15, 0x59, + 0xdf, 0x03, 0x73, 0xeb, 0xdd, 0x66, 0xd3, 0xdd, 0x6a, 0x72, 0x95, 0x87, 0x04, 0x33, 0x78, 0x2f, + 0xc1, 0x70, 0x4d, 0xcb, 0x09, 0x1e, 0xe7, 0x82, 0xd4, 0x70, 0xd0, 0x08, 0x35, 0x87, 0xa1, 0x7a, + 0x52, 0xd9, 0xc0, 0x25, 0xa9, 0xf5, 0x7b, 0x39, 0x98, 0x53, 0xef, 0xff, 0x81, 0x5b, 0xdf, 0x8b, + 0x13, 0xc3, 0x5f, 0x30, 0xe6, 0x1a, 0x4e, 0xd8, 0xd4, 0x34, 0x92, 0xb3, 0xee, 0x96, 0x6a, 0x84, + 0x29, 0xb0, 0x64, 0x35, 0xf8, 0xb8, 0xc6, 0xb0, 0x77, 0x60, 0x9c, 0x8e, 0x47, 0x2d, 0xc0, 0x24, + 0x46, 0xf1, 0xa2, 0xeb, 0x5e, 0xda, 0x1a, 0x45, 0x47, 0x47, 0x59, 0xcc, 0xfc, 0x94, 0x8f, 0x2b, + 0x03, 0x64, 0xcb, 0x62, 0x66, 0x1d, 0x47, 0x4c, 0xdd, 0xdf, 0x1a, 0x4f, 0xf7, 0x2d, 0xcd, 0xdd, + 0x6b, 0x7a, 0x48, 0xb9, 0x5c, 0x72, 0x33, 0x4e, 0x42, 0xca, 0xe9, 0x37, 0xe3, 0x18, 0x35, 0x1e, + 0x93, 0xfc, 0x31, 0x63, 0xf2, 0x9e, 0x1a, 0x93, 0x42, 0xff, 0x89, 0x31, 0x7b, 0xc4, 0x38, 0xd4, + 0x92, 0x15, 0x32, 0x34, 0x90, 0x5a, 0xe5, 0x19, 0x8c, 0x9d, 0x2f, 0x49, 0xd2, 0xbb, 0x28, 0x71, + 0xd2, 0x75, 0x35, 0xc3, 0x83, 0x33, 0x3d, 0x66, 0x6b, 0xfe, 0x2c, 0x4c, 0x54, 0xa2, 0xc8, 0xad, + 0xef, 0xf2, 0xc6, 0x8a, 0xd8, 0x9e, 0xb4, 0xe8, 0x57, 0x2e, 0xc1, 0xf5, 0x47, 0x33, 0x1d, 0x57, + 0x46, 0x73, 0x75, 0x43, 0x32, 0x66, 0x8d, 0xa3, 0xb9, 0x0a, 0x88, 0x19, 0xcd, 0x55, 0x40, 0xd8, + 0x65, 0x18, 0xad, 0xb6, 0x1f, 0x7a, 0xa2, 0x4f, 0x64, 0x00, 0x2c, 0xd4, 0x4d, 0x79, 0x12, 0xa4, + 0x6f, 0xae, 0x84, 0xc5, 0xde, 0xd2, 0x2e, 0x35, 0x63, 0x89, 0x02, 0x43, 0xaa, 0xbc, 0xe2, 0x08, + 0x37, 0xfa, 0x85, 0x25, 0xbe, 0xe5, 0x5c, 0x83, 0x51, 0xa5, 0xc9, 0x84, 0x44, 0x69, 0x41, 0x94, + 0xbd, 0x01, 0x23, 0x14, 0x32, 0x26, 0xf9, 0xd6, 0xf2, 0xe5, 0x8d, 0x6b, 0x49, 0xbe, 0xb5, 0x7c, + 0x79, 0x46, 0x92, 0x6f, 0x2d, 0x73, 0x5e, 0xac, 0x04, 0x9a, 0x38, 0x56, 0x09, 0x74, 0x1f, 0x26, + 0x36, 0xdc, 0x20, 0xf2, 0x84, 0x8c, 0xd2, 0x8e, 0xc2, 0xf9, 0x49, 0x43, 0x6f, 0xaa, 0x15, 0x2d, + 0x3d, 0xaf, 0xf2, 0x52, 0x77, 0x34, 0x7c, 0x33, 0x81, 0x72, 0x02, 0xcf, 0x36, 0x65, 0x9d, 0xfa, + 0x38, 0xa6, 0xac, 0xd8, 0xa9, 0xa8, 0x2b, 0x9b, 0x4e, 0x34, 0x32, 0x78, 0x69, 0x49, 0x29, 0xcc, + 0x62, 0x44, 0xf6, 0x25, 0x98, 0x10, 0x7f, 0x6f, 0xf8, 0x4d, 0xaf, 0xee, 0xf1, 0x70, 0xbe, 0x84, + 0x1f, 0xf7, 0x7c, 0xe6, 0xea, 0x47, 0xa4, 0xfd, 0x1a, 0x8f, 0xe4, 0x02, 0x46, 0xc6, 0x69, 0x25, + 0xb8, 0xc1, 0x8d, 0xbd, 0x0f, 0x13, 0x62, 0xf6, 0x6d, 0xb9, 0xa1, 0x14, 0x4d, 0x67, 0x12, 0x63, + 0xe4, 0x06, 0xc1, 0x7b, 0x02, 0x2a, 0xeb, 0x04, 0xe2, 0x98, 0xaf, 0x74, 0xe4, 0x06, 0xc9, 0xb4, + 0xd9, 0xde, 0xe9, 0xd9, 0x1c, 0x15, 0x1a, 0xfb, 0x1c, 0x4c, 0x54, 0x3a, 0x9d, 0x64, 0xc7, 0x99, + 0xd5, 0x14, 0x61, 0x9d, 0x8e, 0x93, 0xb9, 0xeb, 0x18, 0x14, 0xe9, 0x8d, 0x79, 0xee, 0x44, 0x1b, + 0x33, 0x7b, 0x23, 0x96, 0xd6, 0x4f, 0x25, 0x5a, 0x5d, 0xba, 0x38, 0x1a, 0xa2, 0xbf, 0x14, 0xdc, + 0x97, 0x61, 0x52, 0xaa, 0x39, 0x95, 0x34, 0x73, 0xba, 0x67, 0xf5, 0x64, 0x08, 0x35, 0x26, 0x0d, + 0x5b, 0x85, 0x29, 0xe9, 0x6d, 0xdd, 0xa4, 0x48, 0xd7, 0xf3, 0x67, 0x70, 0xd5, 0x22, 0x17, 0xe9, + 0xa4, 0xdd, 0xc4, 0x04, 0x28, 0xae, 0xc1, 0x25, 0x45, 0x64, 0xfd, 0x59, 0x0e, 0xce, 0xf4, 0x19, + 0xf1, 0x38, 0x0e, 0x72, 0xee, 0xe8, 0x38, 0xc8, 0x62, 0xe7, 0x30, 0xb5, 0x22, 0xf8, 0xfd, 0x24, + 0x65, 0xe9, 0xe3, 0xa5, 0xe4, 0x2d, 0x1f, 0x18, 0xe5, 0x18, 0xa2, 0xaa, 0x6f, 0xf9, 0xa8, 0x9a, + 0x2d, 0xf4, 0x1e, 0x42, 0x84, 0x27, 0x1b, 0xb5, 0x64, 0x1d, 0x1e, 0x94, 0x9f, 0xa7, 0x14, 0x46, + 0xf1, 0xb0, 0x7e, 0xe8, 0x1b, 0x2b, 0x38, 0x83, 0xb5, 0x75, 0x90, 0x83, 0x71, 0x6d, 0x1d, 0xb2, + 0xf3, 0x9a, 0x17, 0x70, 0x49, 0x26, 0xc1, 0xd2, 0x38, 0xe4, 0xe5, 0x49, 0x84, 0x8b, 0x2a, 0x7f, + 0xbc, 0x02, 0xfa, 0x8e, 0x10, 0x85, 0xb4, 0x58, 0xd1, 0x2d, 0x43, 0x5b, 0x6c, 0x63, 0x39, 0xa6, + 0xd3, 0x77, 0xc3, 0xa8, 0x52, 0x8f, 0xbc, 0x87, 0x7c, 0x80, 0x43, 0x27, 0x49, 0xa7, 0xef, 0x86, + 0x91, 0xe3, 0x22, 0x59, 0x4f, 0x3a, 0xfd, 0x98, 0xa1, 0xf5, 0x03, 0x39, 0x80, 0x7b, 0xd5, 0x65, + 0x0c, 0xf6, 0xfe, 0x71, 0x85, 0x82, 0xec, 0x00, 0xba, 0x8a, 0xfb, 0x11, 0xe2, 0xc0, 0x7f, 0x97, + 0x83, 0x29, 0x13, 0x8d, 0xbd, 0x07, 0xd3, 0xb5, 0x7a, 0xe0, 0x37, 0x9b, 0x5b, 0x6e, 0x7d, 0x6f, + 0xcd, 0x6b, 0x73, 0x19, 0xba, 0x74, 0x58, 0x9e, 0x45, 0x61, 0x5c, 0xe4, 0x34, 0x45, 0x99, 0x9d, + 0x46, 0x66, 0x3f, 0x98, 0x83, 0xc9, 0xda, 0xae, 0xff, 0x28, 0x8e, 0x36, 0x4a, 0x03, 0xf2, 0x65, + 0xb1, 0xb6, 0xc3, 0x5d, 0xff, 0x51, 0x92, 0x41, 0xd3, 0x30, 0xfe, 0x7c, 0x77, 0xb0, 0x77, 0xf9, + 0xba, 0x8f, 0x37, 0x99, 0x28, 0xbc, 0x64, 0x54, 0x62, 0x9b, 0x75, 0x5a, 0x7f, 0x99, 0x83, 0x71, + 0xbc, 0xf3, 0x34, 0x9b, 0x28, 0x73, 0x7d, 0x37, 0xa5, 0x63, 0x8c, 0xbf, 0xeb, 0x88, 0x81, 0x7d, + 0x13, 0xa6, 0x53, 0x68, 0xcc, 0x82, 0x91, 0x1a, 0x3a, 0xf8, 0xeb, 0x0a, 0x0a, 0xe9, 0xf2, 0x6f, + 0x53, 0x89, 0xb5, 0xaa, 0x91, 0xdd, 0xbf, 0x82, 0xcf, 0xba, 0x8b, 0x00, 0x9e, 0x02, 0xa9, 0x9b, + 0x0d, 0x4b, 0xb7, 0xe4, 0xfe, 0x15, 0x5b, 0xc3, 0xb2, 0xd6, 0x61, 0xa4, 0xe6, 0x07, 0xd1, 0xd2, + 0xbe, 0xbc, 0x4c, 0xac, 0xf0, 0xb0, 0xae, 0xbf, 0xdb, 0x7a, 0xf8, 0x56, 0x52, 0xb7, 0xa9, 0x88, + 0x95, 0x61, 0xf8, 0xba, 0xc7, 0x9b, 0x0d, 0xdd, 0x40, 0x77, 0x5b, 0x00, 0x6c, 0x09, 0x17, 0x17, + 0xae, 0xd3, 0x49, 0x4e, 0x94, 0xc4, 0x12, 0xf8, 0xe3, 0xae, 0x9b, 0x65, 0xa3, 0x7f, 0x5f, 0x88, + 0xf3, 0x10, 0xf4, 0xd6, 0x74, 0x44, 0x57, 0xff, 0x87, 0x39, 0x58, 0xe8, 0x4f, 0xa2, 0x1b, 0x17, + 0xe7, 0x8e, 0x30, 0x2e, 0x7e, 0x39, 0xfd, 0xce, 0x88, 0x68, 0xf4, 0xce, 0x98, 0xbc, 0x2e, 0xae, + 0xa0, 0x6d, 0x77, 0x9d, 0xab, 0x44, 0x28, 0xe7, 0x8f, 0x68, 0x33, 0x22, 0xca, 0x61, 0x8e, 0x90, + 0xc6, 0x26, 0x5a, 0xeb, 0x37, 0x87, 0xe0, 0x6c, 0x5f, 0x0a, 0x76, 0x53, 0x4b, 0xaf, 0x34, 0x15, + 0x27, 0x76, 0xe9, 0x8b, 0x7f, 0x09, 0xff, 0x45, 0xf3, 0xbd, 0xb4, 0xb7, 0xd9, 0xdd, 0x38, 0xad, + 0x4e, 0x1e, 0x79, 0x7d, 0xe2, 0x58, 0x5e, 0x12, 0x1d, 0x99, 0x41, 0x6f, 0x86, 0x1d, 0xf4, 0x4b, + 0xe4, 0x91, 0xeb, 0x35, 0x43, 0x7d, 0xd9, 0x35, 0x24, 0xc8, 0x56, 0x65, 0x89, 0xc5, 0xf7, 0x50, + 0xb6, 0xc5, 0xb7, 0xf5, 0x2f, 0x73, 0x30, 0x16, 0x37, 0x9b, 0x2d, 0xc0, 0xe9, 0x4d, 0xbb, 0xb2, + 0xbc, 0xea, 0x6c, 0x7e, 0xb0, 0xb1, 0xea, 0xdc, 0x5b, 0xaf, 0x6d, 0xac, 0x2e, 0x57, 0xaf, 0x57, + 0x57, 0x57, 0x4a, 0xcf, 0xb0, 0x19, 0x98, 0xbc, 0xb7, 0x7e, 0x7b, 0xfd, 0xee, 0x83, 0x75, 0x67, + 0xd5, 0xb6, 0xef, 0xda, 0xa5, 0x1c, 0x9b, 0x84, 0x31, 0x7b, 0xa9, 0xb2, 0xec, 0xac, 0xdf, 0x5d, + 0x59, 0x2d, 0xe5, 0x59, 0x09, 0x26, 0x96, 0xef, 0xae, 0xaf, 0xaf, 0x2e, 0x6f, 0x56, 0xef, 0x57, + 0x37, 0x3f, 0x28, 0x15, 0x18, 0x83, 0x29, 0x44, 0xd8, 0xb0, 0xab, 0xeb, 0xcb, 0xd5, 0x8d, 0xca, + 0x5a, 0x69, 0x48, 0xc0, 0x04, 0xbe, 0x06, 0x1b, 0x8e, 0x19, 0xdd, 0xbe, 0xb7, 0xb4, 0x5a, 0x1a, + 0x11, 0x28, 0xe2, 0x2f, 0x0d, 0x65, 0x54, 0x54, 0x8f, 0x28, 0x2b, 0x95, 0xcd, 0xca, 0x52, 0xa5, + 0xb6, 0x5a, 0x2a, 0xb2, 0x33, 0x30, 0x6b, 0x80, 0x9c, 0xb5, 0xbb, 0x37, 0xaa, 0xeb, 0xa5, 0x31, + 0x36, 0x07, 0xa5, 0x18, 0xb6, 0xb2, 0xe4, 0xdc, 0xab, 0xad, 0xda, 0x25, 0x48, 0x43, 0xd7, 0x2b, + 0x77, 0x56, 0x4b, 0xe3, 0xd6, 0xbb, 0xd2, 0x0f, 0x50, 0x76, 0x35, 0x3b, 0x0d, 0xac, 0xb6, 0x59, + 0xd9, 0xbc, 0x57, 0x4b, 0x7d, 0xfc, 0x38, 0x8c, 0xd6, 0xee, 0x2d, 0x2f, 0xaf, 0xd6, 0x6a, 0xa5, + 0x1c, 0x03, 0x18, 0xb9, 0x5e, 0xa9, 0xae, 0xad, 0xae, 0x94, 0xf2, 0xd6, 0x4f, 0xe5, 0x60, 0x46, + 0x49, 0x80, 0xea, 0xd1, 0xe8, 0x63, 0xae, 0xc5, 0xf7, 0x8c, 0x8b, 0xad, 0x72, 0xd2, 0x4a, 0x55, + 0x72, 0xc4, 0x32, 0xfc, 0xf9, 0x1c, 0x9c, 0xca, 0xc4, 0x66, 0x1f, 0x40, 0x49, 0xb5, 0xe0, 0x8e, + 0x1b, 0xd5, 0x77, 0x93, 0x7d, 0xec, 0xf9, 0x54, 0x2d, 0x29, 0x34, 0xa9, 0xd6, 0x4c, 0x12, 0x3e, + 0xf7, 0xb0, 0x19, 0x3c, 0x1d, 0x81, 0xf5, 0xcd, 0x1c, 0x9c, 0xe9, 0x53, 0x0d, 0x5b, 0x86, 0x91, + 0x38, 0x31, 0xcd, 0x11, 0x16, 0x6c, 0x73, 0xdf, 0x3a, 0x28, 0x13, 0x22, 0x66, 0xc8, 0xc5, 0xbf, + 0xec, 0x91, 0x38, 0xd3, 0x0c, 0xa6, 0x7b, 0x91, 0xdd, 0x77, 0x36, 0xd5, 0xf3, 0x54, 0x53, 0xe5, + 0x41, 0x6d, 0x69, 0x9c, 0xfa, 0xae, 0xe0, 0x3e, 0x0a, 0x31, 0xdf, 0x8b, 0xf5, 0x33, 0x39, 0x21, + 0xdc, 0xa5, 0x11, 0x85, 0xcc, 0x5b, 0x09, 0xc3, 0x6e, 0x8b, 0xdb, 0x7e, 0x93, 0x57, 0xec, 0x75, + 0x3a, 0x36, 0x50, 0x5a, 0x75, 0xb1, 0x00, 0xaf, 0x15, 0x8e, 0x1b, 0xb4, 0x8d, 0xd7, 0x6a, 0x9d, + 0x86, 0xbd, 0x05, 0xb0, 0xfa, 0x38, 0xe2, 0x41, 0xdb, 0x6d, 0xc6, 0x31, 0x5a, 0x64, 0x64, 0x29, + 0x82, 0x9a, 0xf2, 0xb6, 0x86, 0x6c, 0xfd, 0x9d, 0x1c, 0x4c, 0xd0, 0xa5, 0xa9, 0xd2, 0xe4, 0x41, + 0xf4, 0xf1, 0xa6, 0xd7, 0x5b, 0xc6, 0xf4, 0x8a, 0x1d, 0x36, 0x34, 0xfe, 0xa2, 0x38, 0x73, 0x66, + 0xfd, 0xb3, 0x1c, 0x94, 0xd2, 0x88, 0xec, 0x3d, 0x28, 0xd6, 0xf8, 0x43, 0x1e, 0x78, 0xd1, 0x3e, + 0x6d, 0x94, 0x2a, 0x85, 0x9f, 0xc4, 0xa1, 0x32, 0x39, 0x1f, 0x42, 0xfa, 0x65, 0xc7, 0x34, 0x83, + 0xee, 0xf7, 0x9a, 0xda, 0xa3, 0xf0, 0xa4, 0xd4, 0x1e, 0xd6, 0xff, 0x9c, 0x87, 0x33, 0x37, 0x78, + 0xa4, 0x7f, 0x53, 0x6c, 0x5e, 0xf0, 0xc9, 0xc1, 0xbe, 0x4b, 0xfb, 0x92, 0x79, 0x18, 0xc5, 0x22, + 0x35, 0xbe, 0xb6, 0xfa, 0xc9, 0x96, 0xe2, 0x79, 0x5d, 0x30, 0x72, 0x84, 0xf5, 0xa9, 0xfb, 0x92, + 0x96, 0x35, 0x28, 0x9e, 0xd6, 0x17, 0x60, 0x0a, 0xc3, 0xe2, 0x77, 0xc5, 0x72, 0xe0, 0x0d, 0x52, + 0xff, 0x14, 0xed, 0x14, 0x94, 0xbd, 0x06, 0x25, 0x01, 0xa9, 0xd4, 0xf7, 0xda, 0xfe, 0xa3, 0x26, + 0x6f, 0xec, 0xf0, 0x06, 0x1e, 0xeb, 0x45, 0xbb, 0x07, 0xae, 0x78, 0xde, 0x6b, 0xcb, 0xab, 0x1b, + 0x6f, 0xa0, 0x8e, 0x86, 0x78, 0x26, 0xd0, 0x85, 0xb7, 0x60, 0xfc, 0x23, 0x66, 0x00, 0xb3, 0xfe, + 0xa7, 0x1c, 0xcc, 0xe1, 0xc7, 0x69, 0x15, 0xab, 0xec, 0xac, 0xaa, 0xb7, 0xb4, 0xa4, 0x38, 0xae, + 0x00, 0x99, 0x4b, 0x21, 0xee, 0xc5, 0x44, 0x27, 0x94, 0x1f, 0x40, 0x27, 0x54, 0x3b, 0x49, 0x26, + 0xfa, 0x01, 0x55, 0x5a, 0xb7, 0x86, 0x8a, 0x85, 0xd2, 0x50, 0x32, 0xe4, 0xd6, 0x0f, 0xe6, 0x61, + 0xd4, 0xe6, 0x98, 0xa2, 0x9b, 0x5d, 0x80, 0xd1, 0x75, 0x3f, 0xe2, 0xe1, 0x1d, 0x23, 0x1f, 0x7b, + 0x5b, 0x80, 0x9c, 0x56, 0xc3, 0x56, 0x85, 0x62, 0xc2, 0x6f, 0x04, 0x7e, 0xa3, 0x5b, 0x8f, 0xf4, + 0x09, 0xdf, 0x91, 0x20, 0x5b, 0x95, 0xb1, 0xd7, 0x61, 0x8c, 0x38, 0xc7, 0x8f, 0xba, 0x68, 0x8c, + 0x1c, 0xf0, 0x38, 0xc5, 0x7b, 0x82, 0x80, 0x32, 0xad, 0x14, 0x30, 0x86, 0x34, 0x99, 0xb6, 0x47, + 0x66, 0x50, 0xa2, 0xfa, 0xf0, 0x11, 0xa2, 0xfa, 0x27, 0x61, 0xa4, 0x12, 0x86, 0x3c, 0x52, 0x51, + 0x0c, 0x26, 0xe2, 0xb0, 0x6d, 0x21, 0x8f, 0x24, 0x63, 0x17, 0xcb, 0x6d, 0xc2, 0xb3, 0xfe, 0x79, + 0x1e, 0x86, 0xf1, 0x4f, 0x7c, 0x32, 0x0d, 0xea, 0xbb, 0xc6, 0x93, 0x69, 0x50, 0xdf, 0xb5, 0x11, + 0xca, 0xae, 0xa0, 0xa6, 0x42, 0xe5, 0x6f, 0xa2, 0xaf, 0x47, 0x15, 0x7c, 0x23, 0x01, 0xdb, 0x3a, + 0x4e, 0xfc, 0xc2, 0x5f, 0xc8, 0x8c, 0x5d, 0x72, 0x1a, 0xf2, 0x77, 0x6b, 0xf4, 0xc5, 0x18, 0x11, + 0xcb, 0x0f, 0xed, 0xfc, 0xdd, 0x1a, 0xf6, 0xc6, 0xcd, 0xca, 0xe2, 0x9b, 0xd7, 0xe8, 0x43, 0x65, + 0x6f, 0xec, 0xba, 0x8b, 0x6f, 0x5e, 0xb3, 0xa9, 0x44, 0xf4, 0x2f, 0xb6, 0x19, 0x1f, 0x5e, 0xa5, + 0xcf, 0x3d, 0xf6, 0x2f, 0x7e, 0x1b, 0x3e, 0xb2, 0xda, 0x09, 0x02, 0x5b, 0x84, 0x71, 0x8a, 0xf5, + 0x80, 0xf8, 0x5a, 0x2c, 0x06, 0x8a, 0x05, 0x21, 0x29, 0x74, 0x24, 0xf9, 0x04, 0x47, 0x03, 0xa4, + 0xb2, 0xcc, 0xd2, 0x13, 0x9c, 0x1a, 0xc2, 0xd0, 0xd6, 0x50, 0x44, 0x93, 0xe4, 0x1b, 0x5e, 0xe2, + 0x4b, 0x3f, 0xa5, 0x05, 0x0d, 0xc0, 0x34, 0x07, 0x31, 0x82, 0xf5, 0xcb, 0x79, 0x28, 0x6e, 0x34, + 0xbb, 0x3b, 0x5e, 0xfb, 0xfe, 0x15, 0xc6, 0x00, 0xaf, 0x71, 0x2a, 0x0f, 0x86, 0xf8, 0x9b, 0x9d, + 0x85, 0xa2, 0xba, 0xb9, 0xa9, 0x0d, 0x29, 0xa4, 0x5b, 0xdb, 0x3c, 0xa8, 0x71, 0xa7, 0xd0, 0x67, + 0xea, 0x27, 0xbb, 0x02, 0xf1, 0xfd, 0xab, 0xdf, 0x45, 0x6d, 0x48, 0x2c, 0x16, 0x3b, 0x46, 0x63, + 0x6f, 0x00, 0x1e, 0x12, 0x74, 0x79, 0x50, 0x0a, 0x6d, 0xd9, 0x34, 0x92, 0x53, 0x24, 0x09, 0xa2, + 0xb1, 0xab, 0x40, 0x13, 0x93, 0xb2, 0x99, 0x9f, 0x32, 0x09, 0x64, 0x7e, 0x48, 0x45, 0x42, 0xa8, + 0xec, 0x1d, 0x18, 0xaf, 0x07, 0x1c, 0x5f, 0x1d, 0xdd, 0x66, 0x92, 0xa4, 0x5c, 0xa7, 0x5c, 0x4e, + 0xca, 0xef, 0x5f, 0xb1, 0x75, 0x74, 0xeb, 0x97, 0x8b, 0x30, 0xa1, 0xb7, 0x87, 0xd9, 0x30, 0x1b, + 0x36, 0xc5, 0xdd, 0x9d, 0x8c, 0xcd, 0x3a, 0x58, 0x48, 0xc7, 0xe9, 0x79, 0xb3, 0x41, 0x02, 0x4f, + 0x5a, 0x9e, 0xa9, 0x20, 0x15, 0x37, 0x9f, 0xb1, 0x67, 0xc2, 0x04, 0x2c, 0xf1, 0x58, 0x05, 0x8a, + 0x7e, 0x27, 0xdc, 0xe1, 0x6d, 0x4f, 0xbd, 0xb7, 0xbc, 0x68, 0x30, 0xba, 0x4b, 0x85, 0x3d, 0xbc, + 0x62, 0x32, 0xf6, 0x26, 0x8c, 0xf8, 0x1d, 0xde, 0x76, 0x3d, 0x3a, 0xe3, 0x9e, 0x4d, 0x31, 0xe0, + 0xed, 0x4a, 0x55, 0x23, 0x24, 0x64, 0x76, 0x19, 0x86, 0xfc, 0xbd, 0x78, 0xbc, 0xce, 0x9a, 0x44, + 0x7b, 0x91, 0xab, 0x91, 0x20, 0xa2, 0x20, 0xf8, 0xd0, 0x6d, 0x6d, 0xd3, 0x88, 0x99, 0x04, 0xb7, + 0xdc, 0xd6, 0xb6, 0x4e, 0x20, 0x10, 0xd9, 0xfb, 0x00, 0x1d, 0x77, 0x87, 0x07, 0x4e, 0xa3, 0x1b, + 0xed, 0xd3, 0xb8, 0x3d, 0x6f, 0x90, 0x6d, 0x88, 0xe2, 0x95, 0x6e, 0xb4, 0xaf, 0xd1, 0x8e, 0x75, + 0x14, 0x90, 0x55, 0x00, 0x5a, 0x6e, 0x14, 0xf1, 0xa0, 0xe5, 0x93, 0xb5, 0x5f, 0x12, 0x84, 0x50, + 0x32, 0xb8, 0x13, 0x17, 0x6b, 0x1c, 0x34, 0x22, 0x6c, 0xb4, 0x17, 0xb8, 0x94, 0x53, 0x3e, 0xd5, + 0x68, 0x2f, 0x30, 0xbe, 0x52, 0x20, 0xb2, 0xcf, 0xc0, 0x68, 0xc3, 0x0b, 0xeb, 0x7e, 0xd0, 0xa0, + 0xe8, 0x25, 0xcf, 0x19, 0x34, 0x2b, 0xb2, 0x4c, 0x23, 0x53, 0xe8, 0xa2, 0xb5, 0x14, 0x84, 0x74, + 0xdd, 0x7f, 0x84, 0x6a, 0xfe, 0x74, 0x6b, 0x6b, 0x71, 0xb1, 0xde, 0xda, 0x84, 0x48, 0x0c, 0xe5, + 0x8e, 0x17, 0x35, 0xdd, 0x2d, 0x7a, 0xe7, 0x36, 0x87, 0xf2, 0x06, 0x16, 0xe9, 0x43, 0x29, 0x91, + 0xd9, 0x5b, 0x50, 0xe4, 0xed, 0x28, 0x70, 0x1d, 0xaf, 0x41, 0x5e, 0x92, 0x66, 0xa3, 0xc5, 0x01, + 0xec, 0x56, 0x57, 0xf4, 0x46, 0x23, 0x7e, 0xb5, 0x21, 0xfa, 0x27, 0xac, 0x7b, 0x2d, 0x72, 0x6e, + 0x34, 0xfb, 0xa7, 0xb6, 0x5c, 0xbd, 0xa3, 0xf7, 0x8f, 0x40, 0x64, 0xef, 0xc1, 0xa8, 0x58, 0xbf, + 0x0d, 0x7f, 0x87, 0x02, 0x42, 0x58, 0x66, 0xff, 0xc8, 0xb2, 0x9e, 0xe9, 0xaa, 0x88, 0xc4, 0x42, + 0x76, 0x1f, 0x85, 0x8e, 0x57, 0xa7, 0x20, 0x0f, 0xe6, 0x72, 0xac, 0x3c, 0xa8, 0x55, 0x97, 0x35, + 0xb2, 0x61, 0xf7, 0x51, 0x58, 0xad, 0xb3, 0x45, 0x18, 0xc6, 0x14, 0x11, 0x14, 0x88, 0xd2, 0xa4, + 0xc1, 0xe4, 0x10, 0x3a, 0x0d, 0xa2, 0x8a, 0x81, 0x6c, 0x85, 0xe8, 0x2f, 0x42, 0x89, 0x1a, 0xcc, + 0x3e, 0xb9, 0x53, 0x43, 0x27, 0x12, 0xbd, 0x89, 0x84, 0xce, 0x9e, 0x07, 0x48, 0x5e, 0xf1, 0xe5, + 0x9b, 0x8b, 0xad, 0x41, 0x3e, 0x3b, 0xf4, 0xbf, 0xfd, 0x62, 0x39, 0xb7, 0x04, 0x50, 0x54, 0x11, + 0x6a, 0xac, 0x35, 0x38, 0xdb, 0x77, 0xdd, 0xb3, 0x57, 0xa1, 0xb4, 0xed, 0x92, 0xd6, 0xaf, 0xbe, + 0xeb, 0xb6, 0xdb, 0xbc, 0x49, 0x3b, 0xee, 0xb4, 0x82, 0x2f, 0x4b, 0xb0, 0xe4, 0x6c, 0xbd, 0x0f, + 0x73, 0x59, 0x03, 0xce, 0x5e, 0x80, 0x09, 0x3d, 0x18, 0x0f, 0x31, 0x19, 0x77, 0x3b, 0x9e, 0x0a, + 0xc7, 0x43, 0x0c, 0x7e, 0x23, 0x07, 0xcf, 0x1d, 0xb5, 0x7d, 0xb0, 0x05, 0x28, 0x76, 0x02, 0xcf, + 0x47, 0x31, 0x95, 0xb2, 0x1d, 0xa8, 0xdf, 0x98, 0xc8, 0x00, 0xe5, 0xa9, 0xc8, 0xdd, 0x21, 0x07, + 0x0f, 0x7b, 0x0c, 0x21, 0x9b, 0xee, 0x4e, 0xc8, 0x3e, 0x01, 0x33, 0x0d, 0xbe, 0xed, 0x76, 0x9b, + 0x91, 0x13, 0xd6, 0x77, 0x79, 0x03, 0x7d, 0xaa, 0xd0, 0x70, 0xcf, 0x2e, 0x51, 0x41, 0x4d, 0xc1, + 0x7b, 0x5a, 0x3c, 0xdc, 0xa7, 0xc5, 0xb7, 0x86, 0x8a, 0xb9, 0x52, 0xde, 0x46, 0x4b, 0x29, 0xeb, + 0xfb, 0xf2, 0x30, 0xdf, 0x6f, 0xbd, 0xb0, 0x77, 0xb3, 0xfa, 0x40, 0x3e, 0x5c, 0xe8, 0x70, 0xfd, + 0xe1, 0x42, 0xab, 0x8d, 0x2d, 0x42, 0xec, 0x11, 0x75, 0x5c, 0x74, 0x03, 0x05, 0x13, 0x34, 0x1d, + 0x37, 0x0c, 0x1f, 0x89, 0x2d, 0xa1, 0xa0, 0x05, 0xb4, 0x25, 0x98, 0x4e, 0xa3, 0x60, 0xec, 0xd3, + 0x00, 0xf5, 0xa6, 0x1f, 0x72, 0xb4, 0x0f, 0x20, 0x59, 0x43, 0x9a, 0x85, 0xc7, 0x50, 0xfd, 0x41, + 0x18, 0xa1, 0xcb, 0x7e, 0x83, 0xd3, 0x00, 0xba, 0x70, 0xa6, 0xcf, 0x06, 0x29, 0x86, 0x27, 0xc9, + 0x0e, 0xaf, 0x72, 0x4d, 0x75, 0xe3, 0x1c, 0xf1, 0xe9, 0x1e, 0xcf, 0xf7, 0x9b, 0x23, 0xfb, 0xc0, + 0x7a, 0x77, 0x41, 0xc1, 0x9d, 0x8c, 0x9b, 0xbb, 0x41, 0xcc, 0x5d, 0x42, 0xee, 0x05, 0x4d, 0x56, + 0x86, 0x71, 0x95, 0x4b, 0x52, 0xc8, 0xf2, 0x92, 0x39, 0x10, 0xe8, 0x36, 0xc7, 0xc9, 0x83, 0x11, + 0x4b, 0xd1, 0xef, 0x8d, 0xa4, 0x84, 0x31, 0x84, 0x6c, 0xee, 0x77, 0xd4, 0xd7, 0x3d, 0xa7, 0xe6, + 0xb7, 0x79, 0x36, 0x51, 0xe9, 0xcf, 0xe6, 0xd4, 0xf0, 0xf7, 0x6e, 0xee, 0xc7, 0xb5, 0x8f, 0x01, + 0x7a, 0x29, 0x51, 0xc3, 0xf0, 0x6f, 0x21, 0xb5, 0xa8, 0x55, 0x47, 0x52, 0x0b, 0xfd, 0x64, 0x17, + 0x60, 0x3a, 0x90, 0x76, 0xac, 0x91, 0x4f, 0xfd, 0x29, 0xf3, 0x76, 0x4c, 0x4a, 0xf0, 0xa6, 0x8f, + 0x7d, 0x4a, 0xed, 0xba, 0x15, 0x77, 0x98, 0x76, 0xd6, 0xb1, 0x4b, 0x30, 0x26, 0xce, 0x3a, 0x8c, + 0x74, 0x93, 0x72, 0x8f, 0x40, 0x3c, 0x94, 0x1c, 0xec, 0xe2, 0x87, 0xf4, 0x37, 0xf1, 0xfa, 0x66, + 0x5e, 0x31, 0xd3, 0x4f, 0x5a, 0x76, 0x06, 0x46, 0xfd, 0x60, 0x47, 0xfb, 0xb4, 0x11, 0x3f, 0xd8, + 0x11, 0xdf, 0x75, 0x11, 0x4a, 0xd2, 0x5b, 0x47, 0x86, 0x41, 0x08, 0xf7, 0xdb, 0xf2, 0x2a, 0x5e, + 0xb4, 0xa7, 0x24, 0x1c, 0x13, 0xe6, 0xef, 0xb7, 0xeb, 0x02, 0x33, 0x0c, 0x7d, 0x47, 0x0f, 0x70, + 0x45, 0x9f, 0x3d, 0x15, 0x86, 0x7e, 0x12, 0xe9, 0xaa, 0xc1, 0x96, 0x60, 0x52, 0xf0, 0x89, 0xc3, + 0x6c, 0x91, 0x20, 0x70, 0xae, 0x57, 0x10, 0xd8, 0x6f, 0xd7, 0x55, 0x13, 0xed, 0x89, 0x50, 0xfb, + 0xc5, 0x6e, 0x43, 0x49, 0x93, 0x98, 0xd0, 0x1f, 0x33, 0x65, 0x53, 0x9d, 0xb0, 0xd1, 0x24, 0xad, + 0x6a, 0x7b, 0xdb, 0xb7, 0xa7, 0xeb, 0x26, 0x80, 0xba, 0xe6, 0xdf, 0xce, 0xa9, 0xbd, 0x34, 0x83, + 0x88, 0x59, 0x30, 0xb9, 0xeb, 0x86, 0x4e, 0x18, 0xb6, 0xa4, 0x8d, 0x18, 0x05, 0xf6, 0x1d, 0xdf, + 0x75, 0xc3, 0x5a, 0xd8, 0x52, 0x89, 0x43, 0x4e, 0x09, 0x1c, 0xdf, 0xed, 0x46, 0xbb, 0x8e, 0x2e, + 0xff, 0xc9, 0x1e, 0x9b, 0xdd, 0x75, 0xc3, 0xbb, 0xa2, 0x4c, 0xe3, 0xcd, 0x5e, 0x82, 0x29, 0xe4, + 0x5b, 0xf7, 0x14, 0x63, 0x0c, 0x65, 0x61, 0x4f, 0x08, 0xc6, 0x75, 0x4f, 0x72, 0xa6, 0x16, 0xfe, + 0xef, 0x79, 0x38, 0x9d, 0xdd, 0x3b, 0x38, 0x3d, 0x45, 0x9f, 0xa2, 0x8f, 0x1e, 0xb5, 0x6d, 0x4c, + 0x40, 0x64, 0x18, 0x92, 0xac, 0xc1, 0xc9, 0x67, 0x0e, 0xce, 0x6b, 0x30, 0x83, 0x8c, 0x48, 0xd2, + 0x6c, 0x7a, 0x61, 0x44, 0xd1, 0x35, 0xec, 0x69, 0x51, 0x20, 0xf7, 0xf3, 0x35, 0x01, 0x66, 0x2f, + 0xc3, 0x94, 0xda, 0x91, 0xfd, 0x47, 0x6d, 0x51, 0xb1, 0xdc, 0x8e, 0x27, 0x09, 0x7a, 0x17, 0x81, + 0xec, 0x14, 0x8c, 0xb8, 0x9d, 0x8e, 0xa8, 0x52, 0xee, 0xc2, 0xc3, 0x6e, 0xa7, 0x23, 0x93, 0xdb, + 0xa0, 0x47, 0xa2, 0xb3, 0x8d, 0x56, 0x42, 0x64, 0x92, 0x68, 0x4f, 0x20, 0x50, 0x5a, 0x0e, 0x85, + 0x62, 0xdd, 0x0b, 0x5a, 0x85, 0x32, 0x8a, 0x28, 0xe0, 0x76, 0x62, 0x84, 0xb3, 0x50, 0x54, 0xef, + 0xd5, 0xd2, 0xb1, 0xc2, 0x1e, 0x75, 0xe9, 0xad, 0xfa, 0x4d, 0x38, 0xd3, 0xf0, 0x42, 0x9c, 0xbc, + 0xf2, 0x93, 0x3a, 0x1d, 0xf2, 0x81, 0x94, 0x41, 0x72, 0xed, 0x39, 0x2a, 0x16, 0x3d, 0x59, 0xe9, + 0x74, 0xa4, 0x27, 0x24, 0xf5, 0xf5, 0x67, 0x60, 0x9a, 0x24, 0x2e, 0x3a, 0x22, 0xb1, 0x2d, 0xb4, + 0x80, 0xc5, 0x55, 0x88, 0xd2, 0x09, 0x01, 0x81, 0xaa, 0x0d, 0x45, 0xf9, 0xc7, 0x39, 0x38, 0x95, + 0x29, 0xb2, 0xb1, 0xaf, 0x82, 0x74, 0xf9, 0x8a, 0x7c, 0x27, 0xe0, 0x75, 0xaf, 0xe3, 0x61, 0x50, + 0x0c, 0xa9, 0xd2, 0x5c, 0x3c, 0x4a, 0xd8, 0x43, 0xf7, 0xb1, 0x4d, 0xdf, 0x8e, 0x89, 0xa4, 0xae, + 0xa5, 0x14, 0xa4, 0xc0, 0x0b, 0x5f, 0x84, 0x53, 0x99, 0xa8, 0x19, 0x3a, 0x90, 0xd7, 0xcd, 0x64, + 0xce, 0xea, 0x91, 0x2a, 0xf5, 0xd1, 0x9a, 0x6e, 0x84, 0x3e, 0xef, 0xb7, 0xe3, 0xcf, 0x4b, 0x09, + 0x77, 0x6c, 0x35, 0xbd, 0xae, 0xb3, 0xee, 0x27, 0x8a, 0xa8, 0xff, 0xd2, 0xfe, 0x22, 0x9c, 0xa2, + 0xc9, 0xb7, 0x13, 0xb8, 0x9d, 0xdd, 0x84, 0x9d, 0x6c, 0xe8, 0x2b, 0x59, 0xec, 0xe4, 0xac, 0xbc, + 0xf1, 0xff, 0xb1, 0x77, 0x35, 0xb1, 0x8d, 0x24, 0xd7, 0x59, 0x4d, 0x52, 0x12, 0xf5, 0xa8, 0x9f, + 0x56, 0xcd, 0xec, 0x8c, 0x56, 0x9a, 0xdf, 0x9e, 0x1f, 0xcf, 0x70, 0xbc, 0x6b, 0xcf, 0x6c, 0xec, + 0xf5, 0xd8, 0xf1, 0x4f, 0x8b, 0x6c, 0x4a, 0x3d, 0xc3, 0xbf, 0xed, 0x26, 0x25, 0xcf, 0xae, 0xed, + 0x4e, 0xaf, 0xd8, 0x92, 0x18, 0x53, 0x24, 0xcd, 0x26, 0x77, 0x3c, 0x8b, 0x00, 0x89, 0x11, 0xc0, + 0x06, 0xf2, 0xe7, 0xc4, 0x09, 0x10, 0x23, 0x08, 0x90, 0x43, 0x16, 0x41, 0x0e, 0xb9, 0x27, 0x48, + 0x72, 0xf1, 0x6d, 0x01, 0xc3, 0x80, 0x81, 0xe4, 0x94, 0x00, 0x9b, 0x64, 0x81, 0xe4, 0x90, 0xe4, + 0x16, 0xc4, 0x07, 0x9f, 0x82, 0x7a, 0x55, 0xd5, 0x5d, 0xfd, 0x43, 0x8e, 0x66, 0x67, 0x37, 0x89, + 0x01, 0x9f, 0x24, 0xbe, 0x7a, 0x55, 0x5d, 0xff, 0xf5, 0xea, 0xd5, 0x7b, 0xdf, 0xa3, 0xfc, 0x41, + 0xa9, 0x67, 0xdc, 0x24, 0x91, 0xb7, 0xe1, 0x9f, 0x82, 0xa5, 0x9e, 0x52, 0x9d, 0x94, 0x69, 0xad, + 0xa4, 0x4d, 0xeb, 0xd3, 0xaf, 0xa9, 0x3a, 0x10, 0x79, 0xb3, 0x62, 0x5a, 0x4f, 0x6e, 0x50, 0x25, + 0xe4, 0x74, 0x5e, 0x11, 0x69, 0x6b, 0xb0, 0x59, 0x30, 0xcd, 0xf5, 0x83, 0x38, 0x89, 0x6c, 0xc1, + 0x52, 0x10, 0xaf, 0x9a, 0x1f, 0x1c, 0x79, 0x46, 0x30, 0x3b, 0xbc, 0x85, 0xdf, 0x52, 0xe0, 0xca, + 0xd3, 0x7a, 0x88, 0xec, 0xc3, 0x39, 0x34, 0xda, 0xf0, 0x07, 0x41, 0x27, 0x3b, 0x07, 0xee, 0xc1, + 0xb1, 0xc7, 0xe7, 0xa4, 0x96, 0xda, 0xd5, 0xc3, 0xa1, 0x6d, 0x37, 0xa4, 0x5e, 0x1e, 0x0e, 0x6d, + 0x7f, 0x20, 0x7e, 0x97, 0x68, 0x76, 0x5e, 0x87, 0x0e, 0x6c, 0xcd, 0xc8, 0x29, 0x6d, 0x0b, 0x8a, + 0xbc, 0x2d, 0xdc, 0x02, 0xf5, 0xd0, 0xeb, 0x50, 0x89, 0xd7, 0xeb, 0x60, 0xd5, 0xde, 0xba, 0xc7, + 0xe2, 0xaf, 0x5b, 0xab, 0x01, 0xdd, 0xf6, 0x07, 0x7b, 0xf7, 0xf8, 0x57, 0x4e, 0xc4, 0x81, 0x26, + 0x5f, 0x1a, 0xc8, 0xcb, 0x70, 0x26, 0x06, 0x27, 0x12, 0xfa, 0xa7, 0x5b, 0xeb, 0x34, 0x29, 0x0a, + 0x3e, 0x75, 0x15, 0x96, 0xc5, 0x98, 0x8f, 0x02, 0x2f, 0x37, 0xab, 0xc0, 0x69, 0x74, 0x4d, 0xf1, + 0xcf, 0x4d, 0x44, 0xa3, 0x52, 0xef, 0x1b, 0xa7, 0x90, 0x94, 0xc9, 0x4b, 0x40, 0x02, 0xa9, 0x3c, + 0xd8, 0x06, 0xf8, 0x07, 0xd7, 0x45, 0x4a, 0xb0, 0x7e, 0xf9, 0x67, 0xff, 0x36, 0x03, 0x67, 0x52, + 0x2e, 0x2a, 0x54, 0xc4, 0xef, 0xf6, 0xc7, 0xde, 0x11, 0xbb, 0x20, 0xc8, 0x8d, 0x5c, 0x93, 0xe8, + 0x5c, 0xfb, 0xb4, 0xc0, 0xe2, 0x8b, 0xf3, 0x6f, 0xf1, 0x5f, 0x74, 0x6b, 0x70, 0x47, 0x42, 0xb1, + 0x42, 0xff, 0x25, 0x26, 0xac, 0x63, 0xd0, 0x04, 0xbf, 0x3b, 0xc0, 0xd8, 0x0b, 0x28, 0x62, 0xe4, + 0x22, 0x57, 0x19, 0xac, 0x45, 0x53, 0x62, 0xa2, 0x32, 0x86, 0xa5, 0x0e, 0x63, 0x14, 0xf2, 0x39, + 0xd8, 0x94, 0x4e, 0x12, 0x27, 0xb6, 0xae, 0xd0, 0x8e, 0xdd, 0x3a, 0xef, 0x06, 0x67, 0x4a, 0x39, + 0xb2, 0xc2, 0xb6, 0xe1, 0x12, 0x0e, 0x62, 0xb7, 0x33, 0x74, 0x12, 0x51, 0x36, 0xb0, 0xa9, 0x0c, + 0x96, 0x7e, 0x93, 0x72, 0x99, 0x9d, 0x61, 0x2c, 0xe0, 0x06, 0x6d, 0x35, 0xef, 0xbe, 0x37, 0xe0, + 0x85, 0xd4, 0x1a, 0xd3, 0xe3, 0x03, 0xcd, 0xa4, 0x42, 0xc9, 0x67, 0x91, 0xfe, 0xa6, 0xa2, 0xcf, + 0x55, 0x58, 0x7e, 0xd3, 0x73, 0x47, 0xde, 0x88, 0x9f, 0xcb, 0x7c, 0x4a, 0x30, 0x9a, 0x7c, 0x2c, + 0x77, 0xa2, 0x43, 0xc3, 0x35, 0x42, 0xa4, 0x06, 0x67, 0xd8, 0xf9, 0xd6, 0x3d, 0x41, 0x51, 0x8f, + 0x6b, 0x91, 0x94, 0x88, 0xb0, 0x83, 0x59, 0xf0, 0xe0, 0x31, 0x91, 0x8b, 0xe5, 0xb6, 0xd6, 0x8f, + 0xe2, 0x24, 0xba, 0xa2, 0xcf, 0xa5, 0x73, 0x93, 0x6d, 0x28, 0xb0, 0xc2, 0x99, 0xd0, 0xcf, 0xd4, + 0xff, 0x57, 0x67, 0x7e, 0xa1, 0x84, 0xd6, 0xc3, 0x7e, 0xf0, 0x3f, 0x3d, 0x8d, 0xf1, 0xa5, 0xd5, + 0x39, 0x91, 0x5f, 0x37, 0xac, 0x65, 0x24, 0xf2, 0x57, 0x0d, 0xed, 0xef, 0x14, 0xd1, 0xd4, 0xc8, + 0xd5, 0x97, 0x4e, 0x2d, 0xdf, 0xeb, 0x8b, 0x17, 0x9e, 0x25, 0x8b, 0xff, 0x7a, 0xc6, 0xa9, 0x4e, + 0x5e, 0x85, 0x65, 0x5a, 0xec, 0xd1, 0xa4, 0xcf, 0xa6, 0x5c, 0x36, 0x02, 0xa3, 0x53, 0x63, 0x49, + 0x74, 0xd8, 0x76, 0xe7, 0xac, 0xc2, 0x49, 0xf8, 0x93, 0xca, 0xc2, 0xfe, 0xc9, 0x78, 0x28, 0x4f, + 0x54, 0xa1, 0x06, 0xb4, 0x6b, 0xad, 0x26, 0xcf, 0x92, 0xa7, 0x3c, 0xa1, 0x2c, 0xbc, 0xbd, 0xc0, + 0x14, 0x81, 0xda, 0x1d, 0x28, 0x48, 0x65, 0xd3, 0xc6, 0x30, 0xbf, 0x18, 0xd1, 0x18, 0xf6, 0x8b, + 0x0f, 0xf6, 0x9b, 0x90, 0x17, 0x45, 0x52, 0xa1, 0xff, 0x78, 0xe0, 0x8b, 0x45, 0x8e, 0xff, 0x53, + 0x1a, 0xed, 0x65, 0x6c, 0xe4, 0xbc, 0x85, 0xff, 0xe3, 0x49, 0x31, 0x76, 0xa9, 0xb4, 0xdf, 0xf3, + 0x9d, 0x21, 0xda, 0x57, 0x05, 0xa2, 0x31, 0xa5, 0xb7, 0x7a, 0x3e, 0xb3, 0xba, 0xe2, 0xdf, 0xf8, + 0xab, 0xe0, 0x88, 0x8d, 0xe9, 0x0a, 0xa6, 0xed, 0x99, 0x91, 0x03, 0x21, 0x13, 0x3d, 0x10, 0xc8, + 0x15, 0x58, 0x66, 0xf0, 0x28, 0x3c, 0x27, 0xfb, 0x32, 0x20, 0x4d, 0xc7, 0xec, 0xe1, 0xce, 0x90, + 0x8b, 0xec, 0x0c, 0xd2, 0x8d, 0x3b, 0x1c, 0x3d, 0x26, 0xc3, 0x89, 0x1b, 0x77, 0x7c, 0x9f, 0xfa, + 0xb3, 0x8c, 0x50, 0x00, 0x6c, 0x0f, 0x06, 0x63, 0x7f, 0x3c, 0x72, 0x87, 0x11, 0x45, 0x27, 0x39, + 0x81, 0x17, 0x51, 0x3e, 0xbe, 0x87, 0x01, 0x2a, 0x06, 0x23, 0x81, 0xc8, 0x11, 0xcc, 0xdc, 0xc2, + 0xbd, 0x4f, 0x44, 0x25, 0x78, 0x9d, 0x72, 0xeb, 0x32, 0x33, 0x9d, 0xb0, 0x52, 0xa9, 0xbb, 0x73, + 0xd6, 0x79, 0x56, 0x66, 0x82, 0x8b, 0xec, 0xa6, 0x2c, 0xe2, 0xb8, 0xa6, 0x73, 0x3b, 0x5c, 0xd1, + 0xd1, 0x52, 0xe5, 0xb5, 0x4e, 0xbe, 0x00, 0x4b, 0xdd, 0x8e, 0x1c, 0x87, 0x31, 0xae, 0x63, 0x33, + 0x3b, 0x0c, 0x0b, 0x3a, 0x2c, 0x83, 0xce, 0xb9, 0x2e, 0xa7, 0x6e, 0xaf, 0x44, 0x54, 0xc2, 0xda, + 0xb6, 0xb8, 0x6b, 0x26, 0xb3, 0x91, 0x55, 0xc8, 0x04, 0x23, 0x9c, 0xe9, 0x76, 0xd8, 0xf2, 0x0a, + 0xd1, 0xa8, 0x2d, 0xfe, 0x4b, 0xfb, 0x15, 0xb8, 0x75, 0xda, 0x3e, 0xa2, 0x4b, 0x71, 0x4a, 0x87, + 0x2f, 0x59, 0xeb, 0x6e, 0xa2, 0xdf, 0xae, 0x82, 0x0c, 0xa6, 0xdb, 0x15, 0x9b, 0x9f, 0xa0, 0xb5, + 0x47, 0x5d, 0xed, 0x2f, 0xb3, 0xb0, 0x1a, 0x55, 0x82, 0x93, 0x3b, 0x90, 0x93, 0x76, 0xa0, 0xf3, + 0x29, 0x9a, 0x72, 0xdc, 0x77, 0x90, 0xe9, 0x54, 0x3b, 0x0e, 0x79, 0x00, 0xab, 0x68, 0x96, 0x87, + 0x82, 0xe5, 0xb8, 0xcb, 0x9f, 0x56, 0x66, 0xbf, 0x8e, 0xe5, 0xdf, 0x7d, 0xef, 0xf2, 0x1c, 0x3e, + 0x84, 0x2d, 0xd3, 0xbc, 0x54, 0xb6, 0xa3, 0x89, 0x92, 0x8e, 0x33, 0x37, 0x5d, 0xc7, 0xc9, 0x9b, + 0x32, 0x45, 0xc7, 0x39, 0x3f, 0x43, 0xc7, 0x19, 0xe6, 0x94, 0x75, 0x9c, 0xa8, 0xe9, 0x5e, 0x9c, + 0xa6, 0xe9, 0x0e, 0xf3, 0x30, 0x4d, 0x77, 0xa8, 0xa3, 0xcc, 0x4f, 0xd5, 0x51, 0x86, 0x79, 0xb8, + 0x8e, 0xf2, 0x3a, 0xef, 0xa3, 0x91, 0xfb, 0xd8, 0xc1, 0xce, 0xe3, 0xc7, 0x22, 0xb6, 0xde, 0x72, + 0x1f, 0xa3, 0xe9, 0xcc, 0xf6, 0x12, 0x08, 0x7b, 0x1b, 0xed, 0xf7, 0x95, 0x98, 0x9e, 0x4f, 0x8c, + 0xdf, 0x0d, 0x58, 0x65, 0x87, 0x95, 0xd7, 0x91, 0x6e, 0x92, 0x2b, 0xd6, 0x8a, 0xa0, 0xb2, 0xdb, + 0xe4, 0xc7, 0x60, 0x2d, 0x60, 0xe3, 0x17, 0x2a, 0xf4, 0xc3, 0xb3, 0x82, 0xdc, 0x1c, 0x54, 0xe6, + 0x0e, 0xac, 0x07, 0x8c, 0x5c, 0x57, 0xc3, 0x2e, 0x93, 0x2b, 0x96, 0x2a, 0x12, 0x9a, 0x9c, 0xae, + 0x1d, 0xc5, 0xef, 0x15, 0x1f, 0x51, 0xad, 0xb4, 0x1f, 0x64, 0x23, 0x3a, 0x10, 0xf1, 0x19, 0x7a, + 0x8a, 0xfa, 0x03, 0x87, 0x77, 0x12, 0xdf, 0x8b, 0xae, 0x4e, 0x19, 0x33, 0x6e, 0xb1, 0x64, 0xdb, + 0x0d, 0x0b, 0x7c, 0x7f, 0x20, 0x0c, 0x98, 0x1c, 0x26, 0x51, 0xb3, 0x73, 0x1f, 0xe7, 0xac, 0x28, + 0x8e, 0x6d, 0x3c, 0xc5, 0xd9, 0xc5, 0x89, 0x4b, 0x28, 0x9d, 0xb2, 0x28, 0x59, 0x07, 0xbf, 0xc4, + 0x07, 0xda, 0x80, 0x2a, 0x43, 0x3f, 0x5a, 0x78, 0x36, 0xe5, 0x66, 0x94, 0x28, 0x1c, 0x7b, 0x09, + 0x4b, 0x56, 0x27, 0xe2, 0x5f, 0x51, 0xac, 0x01, 0xcb, 0xa8, 0x81, 0x10, 0x05, 0xe6, 0x52, 0x14, + 0xec, 0xc9, 0xc6, 0x97, 0xcc, 0x9a, 0x55, 0xa0, 0xf9, 0x44, 0x31, 0xc7, 0xf0, 0xa2, 0xac, 0x37, + 0x88, 0x56, 0x72, 0x5e, 0x60, 0xe4, 0xce, 0xec, 0x81, 0x50, 0xbd, 0x80, 0x55, 0x3d, 0xe7, 0x46, + 0x09, 0x9c, 0x4d, 0x3b, 0x86, 0xcd, 0xe9, 0x43, 0x32, 0x23, 0xfe, 0x52, 0x78, 0x80, 0x66, 0xe4, + 0x03, 0x54, 0xd6, 0x22, 0x64, 0x23, 0x5a, 0x04, 0xed, 0x4f, 0xb3, 0x70, 0xed, 0x14, 0xc3, 0x35, + 0xe3, 0x9b, 0x5f, 0x8a, 0x8a, 0x67, 0x99, 0xc8, 0xbd, 0x8f, 0x16, 0xca, 0x37, 0x48, 0x7a, 0x07, + 0x4d, 0x17, 0xce, 0x7e, 0x09, 0xd6, 0xd8, 0x2e, 0xc8, 0x8c, 0x0e, 0x0f, 0x27, 0xbd, 0x53, 0x6c, + 0x83, 0x5b, 0xc2, 0x43, 0x2a, 0x96, 0x15, 0x77, 0x46, 0xdc, 0x31, 0xec, 0x80, 0x46, 0x5a, 0x50, + 0x40, 0xb6, 0x43, 0xb7, 0xdb, 0x3b, 0x95, 0xab, 0x8e, 0xf0, 0xbf, 0x92, 0xb3, 0x31, 0x5b, 0x69, + 0x4a, 0xa8, 0xe0, 0x6f, 0x72, 0x13, 0xd6, 0xfa, 0x93, 0x13, 0x2a, 0x78, 0xb0, 0xb9, 0xc0, 0x6d, + 0x3b, 0xe6, 0xad, 0x95, 0xfe, 0xe4, 0x44, 0x1f, 0x0e, 0x71, 0x48, 0xd1, 0x08, 0x64, 0x9d, 0xf2, + 0xb1, 0x55, 0x2b, 0x38, 0x17, 0x90, 0x93, 0x16, 0xc0, 0xd6, 0x2d, 0xe7, 0x3d, 0x0b, 0xcc, 0x24, + 0x90, 0xc7, 0x9f, 0x62, 0x3f, 0xb4, 0x9f, 0x64, 0xc4, 0x7d, 0x77, 0xfa, 0xbc, 0xff, 0xf9, 0x10, + 0xa5, 0x0c, 0xd1, 0x2d, 0x50, 0x69, 0xd7, 0x87, 0x9b, 0x4a, 0x30, 0x46, 0xab, 0xfd, 0xc9, 0x49, + 0xd0, 0x77, 0x72, 0xc7, 0x2f, 0xc8, 0x1d, 0xff, 0xaa, 0xb8, 0x0f, 0xa7, 0x6e, 0x0f, 0xd3, 0xbb, + 0x5c, 0xfb, 0xcf, 0x2c, 0xdc, 0x3c, 0xdd, 0x26, 0xf0, 0xf3, 0x71, 0x4b, 0x19, 0xb7, 0x98, 0x62, + 0x74, 0x3e, 0xa1, 0x18, 0x4d, 0x59, 0x7b, 0x0b, 0x69, 0x6b, 0x2f, 0xa1, 0x86, 0x5d, 0x4c, 0x51, + 0xc3, 0xa6, 0x2e, 0xd0, 0xfc, 0x53, 0x16, 0xe8, 0x92, 0x3c, 0x4f, 0xfe, 0x2d, 0x50, 0x60, 0x44, + 0xef, 0x03, 0x6f, 0xc0, 0x19, 0x71, 0x1f, 0x60, 0x27, 0x47, 0xa8, 0x5d, 0x2f, 0xdc, 0xbb, 0x9d, + 0x76, 0x13, 0x40, 0xb6, 0x14, 0x69, 0x7d, 0x9d, 0xdf, 0x01, 0xc2, 0xf4, 0xff, 0x3f, 0xd2, 0x3f, + 0x79, 0x04, 0xe7, 0x10, 0xbd, 0xfd, 0x40, 0x7e, 0x17, 0x70, 0x46, 0xde, 0x21, 0x9f, 0x0f, 0x57, + 0x13, 0xb2, 0x72, 0xf7, 0x40, 0xaa, 0x8e, 0xe5, 0x1d, 0xee, 0xce, 0x59, 0x67, 0xfd, 0x14, 0x7a, + 0xfc, 0x62, 0xf1, 0x17, 0x0a, 0x68, 0x4f, 0xef, 0x2f, 0x54, 0x54, 0xc5, 0x3b, 0x7c, 0xc9, 0x2a, + 0xb8, 0x52, 0xef, 0x5d, 0x83, 0x95, 0x91, 0x77, 0x38, 0xf2, 0xfc, 0xe3, 0x88, 0x06, 0x64, 0x99, + 0x13, 0x45, 0xc7, 0x08, 0x0c, 0xc9, 0x67, 0x92, 0xcc, 0x45, 0x26, 0xad, 0x12, 0xdc, 0x17, 0x53, + 0xc7, 0x81, 0xce, 0x26, 0xb9, 0x82, 0xec, 0xc7, 0x83, 0x5c, 0x3e, 0xa3, 0x66, 0x2d, 0x8e, 0x74, + 0x79, 0xd8, 0xed, 0x79, 0xda, 0x5f, 0x2b, 0x42, 0x22, 0x48, 0xeb, 0x3c, 0xf2, 0x86, 0x64, 0xaa, + 0x9b, 0x4d, 0x88, 0x21, 0x69, 0x59, 0x64, 0xab, 0x46, 0x0e, 0xbe, 0x88, 0x84, 0x08, 0xf8, 0x22, + 0x52, 0x9e, 0xc3, 0xde, 0x90, 0xdf, 0x9a, 0xef, 0x0b, 0x7b, 0x1f, 0xba, 0xe7, 0xed, 0xdd, 0x25, + 0xb7, 0x61, 0x91, 0x99, 0xf8, 0x88, 0xea, 0xae, 0x45, 0xaa, 0xbb, 0x77, 0xd7, 0x12, 0xe9, 0xda, + 0xf7, 0x03, 0x55, 0x76, 0xa2, 0x11, 0x7b, 0x77, 0xc9, 0xab, 0xa7, 0x33, 0xbd, 0xcd, 0x0b, 0xd3, + 0xdb, 0xc0, 0xec, 0xf6, 0x33, 0x11, 0xb3, 0xdb, 0xeb, 0xb3, 0x7b, 0x8b, 0xbf, 0x35, 0x32, 0xb0, + 0xc1, 0x10, 0x84, 0xea, 0x27, 0x0a, 0x5c, 0x9c, 0x99, 0x83, 0x5c, 0x80, 0xbc, 0xde, 0x34, 0x5b, + 0xe1, 0xf8, 0xd2, 0x35, 0x23, 0x28, 0x64, 0x07, 0x96, 0xb6, 0x5d, 0xbf, 0x7b, 0x40, 0xa7, 0x71, + 0xaa, 0xf2, 0x3f, 0x51, 0x6c, 0xc0, 0xbe, 0x3b, 0x67, 0x85, 0x79, 0x89, 0x03, 0xeb, 0xb8, 0x16, + 0x22, 0x81, 0x9d, 0xb2, 0x29, 0xba, 0x86, 0x44, 0x81, 0x89, 0x6c, 0x74, 0x9f, 0x49, 0x10, 0xe3, + 0x4b, 0xf0, 0x2d, 0x21, 0x8b, 0x4c, 0xaf, 0xe0, 0x33, 0xa0, 0xa6, 0xde, 0x82, 0x7c, 0x53, 0x58, + 0x01, 0x48, 0xb6, 0xea, 0xe2, 0xc5, 0xdf, 0x0a, 0x52, 0xb5, 0xdf, 0x52, 0x84, 0x42, 0xe0, 0xe9, + 0x0d, 0x91, 0x62, 0x62, 0x75, 0x66, 0xc7, 0xc4, 0xea, 0x7c, 0xc0, 0x98, 0x58, 0xda, 0x9f, 0x73, + 0x4c, 0x73, 0xb3, 0xd3, 0x8c, 0x69, 0x66, 0x9f, 0xd7, 0xe7, 0xc0, 0x88, 0xcc, 0xce, 0x6b, 0x52, + 0x4c, 0xc5, 0xe4, 0xb7, 0xa6, 0xbb, 0x1e, 0x48, 0x53, 0xf5, 0x0f, 0xb3, 0x70, 0x61, 0x56, 0xf6, + 0xd4, 0xa8, 0xcd, 0xca, 0xb3, 0x45, 0x6d, 0xbe, 0x0d, 0x79, 0x46, 0x0b, 0x0c, 0xea, 0xb1, 0xc3, + 0x79, 0x56, 0xda, 0xe1, 0x22, 0x99, 0x5c, 0x83, 0x05, 0xbd, 0x64, 0x87, 0x81, 0xc4, 0xd0, 0xf2, + 0xd5, 0x3d, 0xf0, 0xd1, 0xa6, 0x92, 0x27, 0x91, 0xaf, 0x25, 0x63, 0xe7, 0xf1, 0x08, 0x62, 0x5b, + 0x52, 0x87, 0x24, 0xc2, 0x0d, 0x60, 0x7d, 0x43, 0x78, 0x7c, 0x8e, 0x38, 0x6d, 0x25, 0xe3, 0xf0, + 0x69, 0xb0, 0xd0, 0x1c, 0x79, 0xbe, 0x37, 0x96, 0xad, 0x52, 0x87, 0x48, 0xb1, 0x78, 0x0a, 0xb7, + 0x19, 0x75, 0x9f, 0x30, 0x88, 0x80, 0x05, 0x19, 0xb6, 0x05, 0x8d, 0x4c, 0x29, 0xd9, 0x92, 0x58, + 0x68, 0x86, 0xaa, 0x3b, 0xe9, 0x1f, 0x1c, 0xb7, 0xad, 0x2a, 0x17, 0x35, 0x58, 0x86, 0x1e, 0x52, + 0x69, 0x03, 0x7d, 0x4b, 0x62, 0xd1, 0xbe, 0xa3, 0xc0, 0xd9, 0xb4, 0x76, 0x90, 0x0b, 0x90, 0xeb, + 0xa7, 0x86, 0x09, 0xec, 0x33, 0xcf, 0xe6, 0x02, 0xfd, 0xeb, 0x1c, 0x0e, 0x46, 0x27, 0xee, 0x58, + 0xb6, 0xdd, 0x95, 0xc8, 0x16, 0xd0, 0x1f, 0x15, 0xfc, 0x9f, 0x5c, 0x16, 0x7b, 0x74, 0x36, 0x11, + 0x58, 0x10, 0xff, 0x68, 0x3a, 0x80, 0xd9, 0x69, 0x36, 0x86, 0x0c, 0xee, 0xfe, 0x15, 0xc8, 0xd1, + 0x6a, 0xc5, 0x66, 0x2f, 0x9d, 0x3f, 0x7a, 0xad, 0xca, 0x99, 0x58, 0xad, 0x7c, 0xf7, 0xa4, 0x67, + 0x21, 0xb3, 0xb6, 0x0f, 0xab, 0x51, 0x0e, 0x62, 0x44, 0x01, 0x52, 0x0b, 0xf7, 0x54, 0x5e, 0xd2, + 0xf6, 0x60, 0xc0, 0xfc, 0x47, 0xb6, 0x5f, 0xfc, 0x87, 0xf7, 0x2e, 0x03, 0xfd, 0xc9, 0xf2, 0xa4, + 0x01, 0xa8, 0x6a, 0xdf, 0xcd, 0xc0, 0xd9, 0xd0, 0x65, 0x5d, 0xac, 0xa1, 0x9f, 0x59, 0xff, 0x49, + 0x3d, 0xe2, 0xdf, 0x27, 0x04, 0xad, 0x64, 0x03, 0x67, 0xb8, 0x15, 0xed, 0xc0, 0xc6, 0x34, 0x7e, + 0x72, 0x07, 0x96, 0x10, 0xe5, 0x68, 0xe8, 0x1e, 0x78, 0xf2, 0xde, 0xd7, 0x17, 0x44, 0x2b, 0x4c, + 0xd7, 0x7e, 0xa4, 0xc0, 0x26, 0xf7, 0x7a, 0xa8, 0xb9, 0xdd, 0x3e, 0xaa, 0xd5, 0x0f, 0xbc, 0x0f, + 0xc7, 0xff, 0x77, 0x27, 0xb2, 0x8f, 0xdd, 0x88, 0x3a, 0xb7, 0x24, 0xbe, 0x36, 0xbd, 0xb5, 0xe4, + 0x36, 0x22, 0x77, 0xf1, 0x47, 0xe5, 0x1c, 0xc3, 0x5b, 0xe8, 0x53, 0x82, 0x8c, 0xb7, 0x80, 0x1c, + 0xda, 0xaf, 0xc2, 0xa5, 0xd9, 0x1f, 0x20, 0x5f, 0x85, 0x15, 0x0c, 0x05, 0xd5, 0x1e, 0x1e, 0x8d, + 0xdc, 0x8e, 0x27, 0x54, 0x61, 0x42, 0x7d, 0x29, 0xa7, 0x31, 0x20, 0x32, 0xee, 0xff, 0x7f, 0x84, + 0x41, 0xa6, 0x78, 0xa6, 0x88, 0x6b, 0x91, 0x5c, 0x9a, 0xf6, 0x6b, 0x0a, 0x90, 0x64, 0x19, 0xe4, + 0xd3, 0xb0, 0xdc, 0x6e, 0x95, 0xec, 0xb1, 0x3b, 0x1a, 0xef, 0x0e, 0x26, 0x23, 0x8e, 0x02, 0xc6, + 0xdc, 0xc1, 0xc7, 0x07, 0x0e, 0x7b, 0x40, 0x39, 0x1e, 0x4c, 0x46, 0x56, 0x84, 0x0f, 0x63, 0x18, + 0x79, 0xde, 0xd7, 0x3b, 0xee, 0x93, 0x68, 0x0c, 0x23, 0x4e, 0x8b, 0xc4, 0x30, 0xe2, 0x34, 0xed, + 0x1d, 0x05, 0xb6, 0x84, 0xad, 0x60, 0x27, 0xa5, 0x2e, 0x25, 0x04, 0x3d, 0x19, 0x09, 0xd8, 0xd9, + 0x59, 0x22, 0xed, 0xba, 0xc0, 0x05, 0xc2, 0x0a, 0xa2, 0x6c, 0xcb, 0xf2, 0x92, 0x2f, 0x41, 0xce, + 0x1e, 0x0f, 0x86, 0xa7, 0x00, 0x06, 0x52, 0x83, 0x11, 0x1d, 0x0f, 0x86, 0x58, 0x04, 0xe6, 0xd4, + 0x3c, 0x38, 0x2b, 0x57, 0x4e, 0xd4, 0x98, 0xd4, 0x60, 0x91, 0x23, 0xc0, 0xc5, 0x1e, 0xea, 0x67, + 0xb4, 0x69, 0x7b, 0x4d, 0xa0, 0x0f, 0x71, 0xd8, 0x53, 0x4b, 0x94, 0xa1, 0xfd, 0x8e, 0x02, 0x05, + 0x2a, 0x6d, 0xe0, 0x2d, 0xee, 0x79, 0xa7, 0x74, 0x54, 0x70, 0x14, 0x56, 0x25, 0x41, 0xf1, 0xa7, + 0x3a, 0x8d, 0x3f, 0x05, 0x6b, 0xb1, 0x0c, 0x44, 0x43, 0xdc, 0x89, 0x5e, 0xf7, 0xc0, 0x65, 0x21, + 0x51, 0x98, 0x45, 0x46, 0x84, 0xa6, 0xfd, 0x86, 0x02, 0x67, 0xe9, 0x9d, 0x9f, 0xbd, 0x73, 0x5a, + 0x93, 0x9e, 0x58, 0xef, 0x54, 0x82, 0x12, 0x46, 0xa7, 0xcc, 0x27, 0x9e, 0x49, 0x50, 0x9c, 0x66, + 0x05, 0xa9, 0x64, 0x17, 0xf2, 0xfc, 0x7c, 0xf1, 0x39, 0x5a, 0xe9, 0x25, 0x49, 0x99, 0x10, 0x16, + 0xcc, 0x99, 0x68, 0x4b, 0x70, 0x0b, 0xe3, 0x79, 0xac, 0x20, 0xb7, 0xf6, 0x5f, 0x0a, 0x9c, 0x9f, + 0x92, 0x87, 0x7c, 0x1e, 0xe6, 0xd1, 0x5f, 0x8f, 0x8f, 0xde, 0x85, 0x29, 0x9f, 0x18, 0x1f, 0x1c, + 0xef, 0xdd, 0x65, 0x07, 0xd1, 0x09, 0xfd, 0x61, 0xb1, 0x5c, 0xe4, 0x0d, 0x58, 0xd2, 0x3b, 0x1d, + 0x7e, 0x9d, 0xc9, 0x44, 0xae, 0x33, 0x53, 0xbe, 0xf8, 0x72, 0xc0, 0xcf, 0xae, 0x33, 0xcc, 0x73, + 0xa4, 0xd3, 0x71, 0xb8, 0x2f, 0x62, 0x58, 0xde, 0xe6, 0x2f, 0xc2, 0x6a, 0x94, 0xf9, 0x99, 0xdc, + 0xa7, 0xbe, 0xaf, 0x80, 0x1a, 0xad, 0xc3, 0x47, 0x83, 0x9b, 0x94, 0x36, 0xcc, 0x4f, 0x99, 0x54, + 0xbf, 0x97, 0x81, 0x17, 0x52, 0x7b, 0x98, 0xbc, 0x04, 0x0b, 0xfa, 0x70, 0x68, 0x96, 0xf9, 0xac, + 0xe2, 0x12, 0x12, 0x6a, 0x89, 0x23, 0xb7, 0x3d, 0xc6, 0x44, 0x5e, 0x81, 0x3c, 0x7b, 0x4e, 0x2f, + 0x8b, 0x0d, 0x07, 0x81, 0x60, 0xf8, 0x5b, 0x7f, 0x14, 0x37, 0x54, 0x30, 0x92, 0x0a, 0xac, 0x72, + 0x08, 0x15, 0xcb, 0x3b, 0xf2, 0xbe, 0x19, 0x00, 0xd8, 0x23, 0xc6, 0xbe, 0x50, 0x3d, 0x3b, 0x23, + 0x96, 0x26, 0x83, 0x88, 0x44, 0x73, 0x91, 0x2a, 0xa8, 0x58, 0xa6, 0x5c, 0x12, 0x03, 0x2f, 0x45, + 0x50, 0x1b, 0x56, 0x89, 0x29, 0x65, 0x25, 0x72, 0x06, 0xc3, 0xa5, 0xfb, 0x7e, 0xf7, 0xa8, 0x7f, + 0xe2, 0xf5, 0xc7, 0x1f, 0xdd, 0x70, 0x85, 0xdf, 0x38, 0xd5, 0x70, 0xfd, 0x41, 0x8e, 0x2d, 0xe6, + 0x78, 0x36, 0x2a, 0xd1, 0x48, 0x78, 0xd5, 0x28, 0xd1, 0x60, 0x84, 0x7f, 0x06, 0x12, 0x52, 0x86, + 0x45, 0x06, 0xde, 0x22, 0x56, 0xc6, 0xc5, 0xd4, 0x2a, 0x30, 0x9e, 0xbd, 0xbb, 0x4c, 0x7c, 0x61, + 0x8e, 0x83, 0xbe, 0x25, 0xb2, 0x92, 0x3d, 0x28, 0x94, 0x7a, 0x9e, 0xdb, 0x9f, 0x0c, 0x5b, 0xa7, + 0x7b, 0x72, 0xdc, 0xe0, 0x6d, 0x59, 0x3e, 0x60, 0xd9, 0xf0, 0xa9, 0x12, 0x77, 0x72, 0xb9, 0x20, + 0xd2, 0x0a, 0x7c, 0x89, 0x72, 0xa8, 0xa9, 0xfc, 0xe4, 0x8c, 0xfe, 0x89, 0x13, 0x31, 0x5f, 0xd4, + 0x51, 0x8e, 0x3b, 0x1b, 0x39, 0xb0, 0x5a, 0x75, 0xfd, 0x71, 0x6b, 0xe4, 0xf6, 0x7d, 0x04, 0x7d, + 0x3c, 0x05, 0x28, 0xd6, 0x96, 0x08, 0x28, 0x8c, 0x3a, 0xc6, 0x71, 0x90, 0x95, 0x69, 0x30, 0xa3, + 0xc5, 0x51, 0x79, 0xa9, 0xd2, 0xed, 0xbb, 0xbd, 0xee, 0xdb, 0xc2, 0xe5, 0x92, 0xc9, 0x4b, 0x87, + 0x82, 0x68, 0x85, 0xe9, 0xda, 0x57, 0x12, 0xe3, 0xc6, 0x6a, 0x59, 0x80, 0x45, 0xee, 0x90, 0xcf, + 0x1c, 0xd4, 0x9b, 0x46, 0xbd, 0x6c, 0xd6, 0x77, 0x54, 0x85, 0xac, 0x02, 0x34, 0xad, 0x46, 0xc9, + 0xb0, 0x6d, 0xfa, 0x3b, 0x43, 0x7f, 0x73, 0xef, 0xf5, 0x4a, 0xbb, 0xaa, 0x66, 0x25, 0x07, 0xf6, + 0x9c, 0xf6, 0x43, 0x05, 0xce, 0xa5, 0x0f, 0x25, 0x69, 0x01, 0x42, 0x18, 0xf0, 0xc7, 0xe7, 0x4f, + 0xcf, 0x1c, 0xf7, 0x54, 0x72, 0x1c, 0x0a, 0x61, 0xcc, 0x5c, 0xec, 0x33, 0xe2, 0xb1, 0x88, 0xf9, + 0xec, 0x75, 0x3b, 0x56, 0xa6, 0xdb, 0xd1, 0x4a, 0xb0, 0x31, 0xad, 0x8c, 0x68, 0x53, 0xd7, 0xa0, + 0xa0, 0x37, 0x9b, 0x55, 0xb3, 0xa4, 0xb7, 0xcc, 0x46, 0x5d, 0x55, 0xc8, 0x12, 0xcc, 0xef, 0x58, + 0x8d, 0x76, 0x53, 0xcd, 0x68, 0xdf, 0x53, 0x60, 0xc5, 0x0c, 0xcd, 0xb4, 0x9e, 0x77, 0xf1, 0x7d, + 0x36, 0xb2, 0xf8, 0x36, 0x02, 0xb0, 0x8f, 0xe0, 0x03, 0xa7, 0x5a, 0x79, 0x7f, 0xaf, 0xc0, 0x7a, + 0x22, 0x0f, 0xb1, 0x61, 0x51, 0xdf, 0xb7, 0x1b, 0x66, 0xb9, 0xc4, 0x6b, 0x76, 0x39, 0xb4, 0x2f, + 0xc2, 0x78, 0x4e, 0x89, 0xaf, 0x30, 0x07, 0xd9, 0xc7, 0xbe, 0x33, 0xe8, 0x76, 0xa4, 0x58, 0xac, + 0xbb, 0x73, 0x96, 0x28, 0x09, 0x4f, 0xb2, 0xb7, 0x27, 0x23, 0x0f, 0x8b, 0xcd, 0x44, 0x14, 0xa1, + 0x01, 0x3d, 0x59, 0x30, 0xba, 0x33, 0xb8, 0x34, 0x3d, 0x59, 0x74, 0x58, 0xde, 0xf6, 0x0a, 0x14, + 0xf8, 0xad, 0x05, 0x2f, 0x04, 0x3f, 0x50, 0x60, 0x63, 0x5a, 0x5d, 0xe9, 0x45, 0x28, 0xea, 0x2d, + 0x7f, 0x2e, 0x88, 0xcf, 0x10, 0x75, 0x93, 0x17, 0x6c, 0xe4, 0x8b, 0x50, 0x30, 0x7d, 0x7f, 0xe2, + 0x8d, 0xec, 0x57, 0xda, 0x96, 0xc9, 0x27, 0xc8, 0xc5, 0x7f, 0x7f, 0xef, 0xf2, 0x79, 0x74, 0x3a, + 0x18, 0x39, 0xfe, 0x2b, 0xce, 0x64, 0xd4, 0x8d, 0x60, 0xd9, 0xcb, 0x39, 0xa8, 0xdc, 0xea, 0x4e, + 0x3a, 0x5d, 0x4f, 0x48, 0xed, 0xc2, 0xa3, 0x98, 0xd3, 0xe4, 0x53, 0x44, 0xd0, 0xb4, 0x6f, 0x2b, + 0xb0, 0x39, 0xbd, 0x63, 0xe8, 0xc9, 0xd4, 0x62, 0x56, 0x3f, 0xc2, 0xa7, 0x17, 0x4f, 0xa6, 0xc0, + 0x34, 0x48, 0x2e, 0x53, 0x30, 0xd2, 0x4c, 0x41, 0x6c, 0xf4, 0x4c, 0x22, 0x20, 0x72, 0x34, 0x93, + 0x60, 0xd4, 0xfe, 0x23, 0x03, 0xe7, 0xe8, 0xa4, 0xeb, 0x79, 0xbe, 0xaf, 0x4f, 0xc6, 0xc7, 0x5e, + 0x7f, 0xcc, 0xc5, 0x30, 0xf2, 0x2a, 0x2c, 0x1c, 0x3f, 0x9b, 0xca, 0x91, 0xb1, 0x13, 0x02, 0xb8, + 0x91, 0x0b, 0x17, 0x0a, 0xfa, 0x3f, 0xb9, 0x0a, 0x72, 0x08, 0xea, 0x2c, 0x82, 0x60, 0x66, 0x36, + 0x14, 0x6b, 0x69, 0x18, 0x44, 0x8b, 0xfd, 0x0c, 0xcc, 0xa3, 0x9a, 0x81, 0x6f, 0xa9, 0x42, 0x14, + 0x4e, 0xaf, 0x1d, 0x2a, 0x21, 0x2c, 0x96, 0x81, 0x7c, 0x02, 0x20, 0x8c, 0x1f, 0xc0, 0xf7, 0x4c, + 0x71, 0xfd, 0x0e, 0x42, 0x08, 0x58, 0x4b, 0x27, 0x87, 0x2e, 0x07, 0xe5, 0x2f, 0xc2, 0xba, 0xe8, + 0x96, 0xa1, 0xc0, 0xce, 0xe3, 0xaf, 0x61, 0x6b, 0x2c, 0xc1, 0x1c, 0x0a, 0xfc, 0xbc, 0xeb, 0x89, + 0x30, 0xba, 0x08, 0xa1, 0x1b, 0x8b, 0x95, 0x7b, 0x3d, 0x11, 0x2b, 0x37, 0xcf, 0xb8, 0xe4, 0x80, + 0xb8, 0xda, 0xbf, 0x66, 0x60, 0x69, 0x9f, 0x0a, 0x2b, 0x78, 0x05, 0x9f, 0x7d, 0xa5, 0xbf, 0x07, + 0x85, 0xea, 0xc0, 0xe5, 0xcf, 0x0e, 0xdc, 0xf3, 0x80, 0x79, 0xfe, 0xf6, 0x06, 0xae, 0x78, 0xc1, + 0xf0, 0x2d, 0x99, 0xe9, 0x29, 0x5e, 0xcb, 0x0f, 0x60, 0x81, 0x3d, 0x03, 0x71, 0xed, 0x92, 0x10, + 0x57, 0x83, 0x1a, 0xbd, 0xcc, 0x92, 0x25, 0x4d, 0x39, 0x7b, 0x4a, 0x92, 0x65, 0x27, 0x8e, 0x04, + 0x2a, 0x29, 0x1c, 0xe6, 0x4f, 0xa7, 0x70, 0x90, 0x10, 0xcf, 0x16, 0x4e, 0x83, 0x78, 0xb6, 0x79, + 0x1f, 0x0a, 0x52, 0x7d, 0x9e, 0x49, 0x7a, 0xfd, 0x56, 0x06, 0x56, 0xb0, 0x55, 0x81, 0x4d, 0xc8, + 0xcf, 0xa6, 0xfa, 0xe4, 0xb3, 0x11, 0xf5, 0xc9, 0x86, 0x3c, 0x5e, 0xac, 0x65, 0x33, 0xf4, 0x26, + 0x0f, 0x60, 0x3d, 0xc1, 0x48, 0x3e, 0x05, 0xf3, 0xb4, 0xfa, 0xe2, 0xba, 0xa9, 0xc6, 0x67, 0x40, + 0x88, 0x8e, 0x4b, 0x1b, 0xee, 0x5b, 0x8c, 0x5b, 0xfb, 0x6f, 0x05, 0x96, 0x79, 0x70, 0x8a, 0xfe, + 0xe1, 0xe0, 0xa9, 0xdd, 0x79, 0x33, 0xde, 0x9d, 0x0c, 0x83, 0x83, 0x77, 0xe7, 0xff, 0x76, 0x27, + 0xde, 0x8f, 0x74, 0xe2, 0xf9, 0x00, 0x2b, 0x4f, 0x34, 0x67, 0x46, 0x1f, 0xfe, 0x0d, 0xa2, 0xc7, + 0x46, 0x19, 0xc9, 0xd7, 0x60, 0xa9, 0xee, 0x3d, 0x8e, 0xdc, 0xda, 0x6e, 0x4e, 0x29, 0xf4, 0xe5, + 0x80, 0x91, 0xad, 0x29, 0x3c, 0xf0, 0xfa, 0xde, 0x63, 0x27, 0xf1, 0x02, 0x15, 0x16, 0x49, 0x2f, + 0x6e, 0xd1, 0x6c, 0xcf, 0x32, 0xf5, 0xb9, 0x1b, 0x24, 0xc2, 0xca, 0x7c, 0x27, 0x0b, 0x10, 0x7a, + 0x90, 0xd1, 0x05, 0x18, 0x79, 0x7c, 0x17, 0x0a, 0x6f, 0x24, 0xc9, 0x73, 0x5c, 0xbc, 0xc9, 0xdf, + 0xe4, 0x8a, 0xd9, 0xcc, 0x74, 0x2c, 0x43, 0x54, 0xd1, 0x96, 0xb8, 0xcb, 0x52, 0xc7, 0xeb, 0xb9, + 0x6c, 0x6f, 0xcf, 0x6e, 0x5f, 0x47, 0xe8, 0xda, 0x80, 0x3a, 0x25, 0xca, 0x30, 0x3a, 0x36, 0x95, + 0x29, 0x43, 0xc2, 0x2b, 0x33, 0xf7, 0x6c, 0x5e, 0x99, 0x4d, 0x58, 0xea, 0xf6, 0xdf, 0xf2, 0xfa, + 0xe3, 0xc1, 0xe8, 0x09, 0x6a, 0xa3, 0x43, 0x35, 0x17, 0xed, 0x02, 0x53, 0xa4, 0xb1, 0x71, 0xc0, + 0x83, 0x31, 0xe0, 0x97, 0x87, 0x21, 0x20, 0x06, 0x5e, 0xa5, 0xf3, 0xea, 0xc2, 0x83, 0x5c, 0x7e, + 0x41, 0x5d, 0x7c, 0x90, 0xcb, 0xe7, 0xd5, 0xa5, 0x07, 0xb9, 0xfc, 0x92, 0x0a, 0x96, 0xf4, 0xbe, + 0x13, 0xbc, 0xdf, 0x48, 0x4f, 0x2e, 0xd1, 0xe7, 0x14, 0xed, 0xa7, 0x19, 0x20, 0xc9, 0x6a, 0x90, + 0xcf, 0x42, 0x81, 0x6d, 0xb0, 0xce, 0xc8, 0xff, 0x06, 0x37, 0x5b, 0x67, 0xe0, 0x3c, 0x12, 0x59, + 0x06, 0xe7, 0x61, 0x64, 0xcb, 0xff, 0x46, 0x8f, 0x7c, 0x15, 0xce, 0x60, 0xf7, 0x0e, 0xbd, 0x51, + 0x77, 0xd0, 0x71, 0x10, 0x49, 0xd5, 0xed, 0xf1, 0x88, 0x80, 0x2f, 0x61, 0xe8, 0xda, 0x64, 0xf2, + 0x94, 0x61, 0x40, 0x47, 0xb1, 0x26, 0x72, 0x36, 0x19, 0x23, 0x69, 0x81, 0x2a, 0xe7, 0x3f, 0x9c, + 0xf4, 0x7a, 0x7c, 0x64, 0x8b, 0xf4, 0xa2, 0x1b, 0x4f, 0x9b, 0x52, 0xf0, 0x6a, 0x58, 0x70, 0x65, + 0xd2, 0xeb, 0x91, 0x57, 0x01, 0x06, 0x7d, 0xe7, 0xa4, 0xeb, 0xfb, 0xec, 0x8d, 0x23, 0xf0, 0x69, + 0x0d, 0xa9, 0xf2, 0x60, 0x0c, 0xfa, 0x35, 0x46, 0x24, 0xbf, 0x00, 0xe8, 0xd3, 0x8f, 0x60, 0x17, + 0xcc, 0xaa, 0x85, 0xc7, 0xf8, 0x10, 0xc4, 0xa8, 0x0b, 0xed, 0x91, 0x67, 0x77, 0xdf, 0x16, 0x2e, + 0x03, 0xaf, 0xc3, 0x3a, 0x37, 0x42, 0xdd, 0xef, 0x8e, 0x8f, 0xb9, 0x84, 0xfd, 0x3c, 0xe2, 0xb9, + 0x24, 0x62, 0xff, 0x63, 0x0e, 0x40, 0xdf, 0xb7, 0x05, 0x8e, 0xd4, 0x6d, 0x98, 0xa7, 0xf7, 0x06, + 0xa1, 0x7f, 0x40, 0xed, 0x2d, 0x96, 0x2b, 0x6b, 0x6f, 0x91, 0x83, 0xae, 0x46, 0x0b, 0x8d, 0xb3, + 0x85, 0xee, 0x01, 0x57, 0x23, 0xb3, 0xd7, 0x8e, 0xe0, 0xf8, 0x72, 0x2e, 0x52, 0x05, 0x08, 0x91, + 0x9d, 0xf8, 0x4d, 0x76, 0x3d, 0x84, 0x48, 0xe1, 0x09, 0x3c, 0x96, 0x40, 0x88, 0x0e, 0x25, 0x4f, + 0x9f, 0x90, 0x8d, 0x3c, 0x84, 0x5c, 0xcb, 0x0d, 0x3c, 0x36, 0xa7, 0xe0, 0x5d, 0x5d, 0xe1, 0x11, + 0x1b, 0x43, 0xcc, 0xab, 0xd5, 0xb1, 0x1b, 0x09, 0x6c, 0x8b, 0x85, 0x10, 0x03, 0x16, 0x78, 0x34, + 0xee, 0x29, 0x38, 0x89, 0x3c, 0x18, 0x37, 0x47, 0x47, 0x46, 0xa2, 0x2c, 0x53, 0xf0, 0xb8, 0xdb, + 0xf7, 0x20, 0x6b, 0xdb, 0x35, 0x8e, 0xf2, 0xb0, 0x12, 0xde, 0x4a, 0x6c, 0xbb, 0xc6, 0xde, 0x28, + 0x7d, 0xff, 0x44, 0xca, 0x46, 0x99, 0xc9, 0xe7, 0xa0, 0x20, 0x89, 0xcf, 0x1c, 0x1f, 0x05, 0xfb, + 0x40, 0xf2, 0x9a, 0x91, 0x37, 0x0d, 0x89, 0x9b, 0x54, 0x41, 0x7d, 0x38, 0x79, 0xd3, 0xd3, 0x87, + 0x43, 0x74, 0x96, 0x7b, 0xcb, 0x1b, 0x31, 0xb1, 0x2d, 0x1f, 0x02, 0x0b, 0xa3, 0xad, 0x7d, 0x47, + 0xa4, 0xca, 0x3a, 0x98, 0x78, 0x4e, 0xd2, 0x84, 0x75, 0xdb, 0x1b, 0x4f, 0x86, 0xcc, 0x4e, 0xa3, + 0x32, 0x18, 0xd1, 0x4b, 0x08, 0x43, 0x53, 0x41, 0x0c, 0x56, 0x9f, 0x26, 0x0a, 0xe3, 0x98, 0xc3, + 0xc1, 0x28, 0x76, 0x21, 0x49, 0x66, 0xd6, 0x3c, 0x79, 0xc8, 0xe9, 0xa9, 0x1a, 0xbd, 0xda, 0xe0, + 0xa9, 0x2a, 0xae, 0x36, 0xe1, 0x85, 0xe6, 0x13, 0x29, 0x88, 0x5f, 0xf8, 0x60, 0x26, 0x21, 0x7e, + 0x45, 0x70, 0xbe, 0xde, 0xc9, 0x49, 0xa0, 0x93, 0x7c, 0x2c, 0x3e, 0x0f, 0xf0, 0x60, 0xd0, 0xed, + 0xd7, 0xbc, 0xf1, 0xf1, 0xa0, 0x23, 0x01, 0x8f, 0x15, 0x7e, 0x79, 0xd0, 0xed, 0x3b, 0x27, 0x48, + 0xfe, 0xe9, 0x7b, 0x97, 0x25, 0x26, 0x4b, 0xfa, 0x9f, 0x7c, 0x1c, 0x96, 0xe8, 0xaf, 0x56, 0x68, + 0x6d, 0xc2, 0x54, 0x95, 0x98, 0x9b, 0x85, 0x66, 0x08, 0x19, 0xc8, 0x7d, 0x0c, 0x46, 0xd2, 0x1d, + 0x8e, 0x25, 0xe1, 0x55, 0x44, 0x1e, 0xe9, 0x0e, 0xc7, 0x71, 0x1c, 0x61, 0x89, 0x99, 0xec, 0x06, + 0x55, 0x17, 0xf1, 0x83, 0x78, 0xcc, 0x13, 0xd4, 0xc7, 0xf1, 0xb9, 0xe6, 0x08, 0x00, 0x53, 0x39, + 0xd2, 0x6b, 0x2c, 0x1b, 0x56, 0xc2, 0xde, 0x2d, 0xb3, 0x07, 0x14, 0x2e, 0xd4, 0xb2, 0x4a, 0xf8, + 0xc7, 0x1d, 0xe7, 0x00, 0xc9, 0x91, 0x4a, 0x04, 0xcc, 0x64, 0x1b, 0xd6, 0x98, 0x8c, 0x1f, 0xc4, + 0x21, 0xe4, 0x22, 0x2e, 0xee, 0x6d, 0x61, 0xa0, 0x42, 0xf9, 0xf3, 0xb1, 0x0c, 0xa4, 0x02, 0xf3, + 0x78, 0x21, 0xe4, 0x26, 0xe6, 0x5b, 0xf2, 0xed, 0x39, 0xbe, 0x8e, 0x70, 0x5f, 0xc1, 0x7b, 0xb3, + 0xbc, 0xaf, 0x20, 0x2b, 0xf9, 0x32, 0x80, 0xd1, 0x1f, 0x0d, 0x7a, 0x3d, 0x84, 0xd8, 0xcd, 0xe3, + 0x55, 0xea, 0x62, 0x74, 0x3d, 0x62, 0x29, 0x21, 0x13, 0x87, 0x83, 0xc3, 0xdf, 0x4e, 0x0c, 0x88, + 0x57, 0x2a, 0x4b, 0x33, 0x61, 0x81, 0x2d, 0x46, 0x84, 0xab, 0xe6, 0x01, 0x38, 0x24, 0xb0, 0x63, + 0x06, 0x57, 0xcd, 0xe9, 0x49, 0xb8, 0x6a, 0x29, 0x83, 0xf6, 0x10, 0xce, 0xa6, 0x35, 0x2c, 0x72, + 0x85, 0x55, 0x4e, 0x7b, 0x85, 0xfd, 0x93, 0x2c, 0x2c, 0x63, 0x69, 0x62, 0x17, 0xd6, 0x61, 0xc5, + 0x9e, 0xbc, 0x19, 0x60, 0x39, 0x89, 0xdd, 0x18, 0xeb, 0xe7, 0xcb, 0x09, 0xf2, 0xd3, 0x56, 0x24, + 0x07, 0x31, 0x60, 0x55, 0x9c, 0x04, 0x3b, 0xc2, 0x02, 0x3d, 0x40, 0x8a, 0x16, 0x78, 0x84, 0xc9, + 0x38, 0xac, 0xb1, 0x4c, 0xe1, 0x79, 0x90, 0x7d, 0x96, 0xf3, 0x20, 0x77, 0xaa, 0xf3, 0xe0, 0x0d, + 0x58, 0x16, 0x5f, 0xc3, 0x9d, 0x7c, 0xfe, 0xf9, 0x76, 0xf2, 0x48, 0x61, 0xa4, 0x1a, 0xec, 0xe8, + 0x0b, 0x33, 0x77, 0x74, 0x7c, 0x2f, 0x14, 0xab, 0x6c, 0x88, 0xb4, 0xe4, 0xc6, 0x8e, 0x81, 0x0a, + 0x77, 0x4a, 0xcd, 0x0f, 0x70, 0x4a, 0x7e, 0x0a, 0x96, 0xaa, 0x03, 0xf1, 0x54, 0x24, 0xe9, 0xe8, + 0x7b, 0x82, 0x28, 0x8b, 0x0b, 0x01, 0x67, 0x70, 0xba, 0x65, 0x3f, 0x8c, 0xd3, 0xed, 0x3e, 0x00, + 0x77, 0x6d, 0x08, 0x03, 0x8c, 0xe1, 0x92, 0x11, 0x38, 0x16, 0xd1, 0xa7, 0x02, 0x89, 0x99, 0xee, + 0x4e, 0xdc, 0x0a, 0x45, 0x3f, 0x38, 0x18, 0x4c, 0xfa, 0xe3, 0x48, 0x44, 0x5e, 0xe1, 0x09, 0xe9, + 0xf2, 0x34, 0x79, 0x7b, 0x88, 0x65, 0xfb, 0x70, 0x07, 0x84, 0xbc, 0x16, 0x18, 0xd1, 0x2d, 0xce, + 0xea, 0x21, 0x2d, 0xd1, 0x43, 0x53, 0x4d, 0xe7, 0xb4, 0x1f, 0x2a, 0x32, 0x4c, 0xff, 0x07, 0x18, + 0xea, 0xcf, 0x00, 0x04, 0x6f, 0xf5, 0x62, 0xac, 0xd9, 0x7d, 0x29, 0xa0, 0xca, 0xbd, 0x1c, 0xf2, + 0x4a, 0xad, 0xc9, 0x7e, 0x58, 0xad, 0x69, 0x41, 0xa1, 0xf1, 0xf5, 0xb1, 0x1b, 0x1a, 0x77, 0x80, + 0x1d, 0x48, 0xb2, 0xb8, 0x33, 0x65, 0xb7, 0x6f, 0xe0, 0xd9, 0x10, 0xca, 0xc1, 0x53, 0x44, 0x60, + 0x29, 0xa3, 0xf6, 0x1a, 0xac, 0xc9, 0xde, 0xdb, 0x4f, 0xfa, 0x07, 0xe4, 0x0b, 0x0c, 0x34, 0x54, + 0x89, 0xdc, 0x58, 0x24, 0x26, 0xba, 0xe3, 0x3e, 0xe9, 0x1f, 0x30, 0xf9, 0xc7, 0x7d, 0x2c, 0xd7, + 0x15, 0xef, 0x78, 0x3f, 0x56, 0x80, 0x24, 0xd9, 0xe5, 0xdd, 0x44, 0xf9, 0x3f, 0x90, 0x2e, 0x63, + 0x52, 0x59, 0xee, 0x59, 0xa4, 0xb2, 0xe2, 0xef, 0x2a, 0xb0, 0x66, 0xea, 0x35, 0x8e, 0xa9, 0xcf, + 0xde, 0x1c, 0xae, 0xc2, 0x45, 0x53, 0xaf, 0x39, 0xcd, 0x46, 0xd5, 0x2c, 0x3d, 0x72, 0x52, 0xa1, + 0x72, 0x2f, 0xc2, 0x8b, 0x49, 0x96, 0xf0, 0x6d, 0xe2, 0x02, 0x6c, 0x24, 0x93, 0x05, 0x9c, 0x6e, + 0x7a, 0x66, 0x81, 0xbc, 0x9b, 0x2d, 0x7e, 0x11, 0xd6, 0x04, 0x74, 0x6c, 0xab, 0x6a, 0x23, 0x38, + 0xfd, 0x1a, 0x14, 0xf6, 0x0c, 0xcb, 0xac, 0x3c, 0x72, 0x2a, 0xed, 0x6a, 0x55, 0x9d, 0x23, 0x2b, + 0xb0, 0xc4, 0x09, 0x25, 0x5d, 0x55, 0xc8, 0x32, 0xe4, 0xcd, 0xba, 0x6d, 0x94, 0xda, 0x96, 0xa1, + 0x66, 0x8a, 0x5f, 0x84, 0xd5, 0xe6, 0xa8, 0xfb, 0x96, 0x3b, 0xf6, 0x1e, 0x7a, 0x4f, 0xf0, 0x69, + 0x61, 0x11, 0xb2, 0x96, 0xbe, 0xaf, 0xce, 0x11, 0x80, 0x85, 0xe6, 0xc3, 0x92, 0x7d, 0xf7, 0xae, + 0xaa, 0x90, 0x02, 0x2c, 0xee, 0x94, 0x9a, 0xce, 0xc3, 0x9a, 0xad, 0x66, 0xe8, 0x0f, 0x7d, 0xdf, + 0xc6, 0x1f, 0xd9, 0xe2, 0x27, 0x61, 0x1d, 0x65, 0x85, 0x6a, 0xd7, 0x1f, 0x7b, 0x7d, 0x6f, 0x84, + 0x75, 0x58, 0x86, 0xbc, 0xed, 0xd1, 0x45, 0x3e, 0xf6, 0x58, 0x05, 0x6a, 0x93, 0xde, 0xb8, 0x3b, + 0xec, 0x79, 0xdf, 0x54, 0x95, 0xe2, 0x7d, 0x58, 0xb3, 0x06, 0x93, 0x71, 0xb7, 0x7f, 0x64, 0x8f, + 0x29, 0xc7, 0xd1, 0x13, 0xf2, 0x02, 0xac, 0xb7, 0xeb, 0x7a, 0x6d, 0xdb, 0xdc, 0x69, 0x37, 0xda, + 0xb6, 0x53, 0xd3, 0x5b, 0xa5, 0x5d, 0xf6, 0xb0, 0x51, 0x6b, 0xd8, 0x2d, 0xc7, 0x32, 0x4a, 0x46, + 0xbd, 0xa5, 0x2a, 0xc5, 0xef, 0xa2, 0xda, 0xe3, 0x60, 0xd0, 0xef, 0x54, 0xdc, 0x83, 0xf1, 0x60, + 0x84, 0x15, 0xd6, 0xe0, 0x92, 0x6d, 0x94, 0x1a, 0xf5, 0xb2, 0x53, 0xd1, 0x4b, 0xad, 0x86, 0x95, + 0x86, 0xd5, 0xbc, 0x09, 0xe7, 0x52, 0x78, 0x1a, 0xad, 0xa6, 0xaa, 0x90, 0xcb, 0xb0, 0x95, 0x92, + 0xb6, 0x6f, 0x6c, 0xeb, 0xed, 0xd6, 0x6e, 0x5d, 0xcd, 0x4c, 0xc9, 0x6c, 0xdb, 0x0d, 0x35, 0x5b, + 0xfc, 0x4d, 0x05, 0x56, 0xdb, 0x3e, 0xb7, 0x2a, 0x6e, 0xa3, 0x43, 0xe1, 0x15, 0xb8, 0xd0, 0xb6, + 0x0d, 0xcb, 0x69, 0x35, 0x1e, 0x1a, 0x75, 0xa7, 0x6d, 0xeb, 0x3b, 0xf1, 0xda, 0x5c, 0x86, 0x2d, + 0x89, 0xc3, 0x32, 0x4a, 0x8d, 0x3d, 0xc3, 0x72, 0x9a, 0xba, 0x6d, 0xef, 0x37, 0xac, 0xb2, 0xaa, + 0xd0, 0x2f, 0xa6, 0x30, 0xd4, 0x2a, 0x3a, 0xab, 0x4d, 0x24, 0xad, 0x6e, 0xec, 0xeb, 0x55, 0x67, + 0xbb, 0xd1, 0x52, 0xb3, 0xc5, 0x1a, 0x3d, 0x7a, 0x11, 0x31, 0x95, 0xd9, 0xc2, 0xe5, 0x21, 0x57, + 0x6f, 0xd4, 0x8d, 0xf8, 0x73, 0xd8, 0x32, 0xe4, 0xf5, 0x66, 0xd3, 0x6a, 0xec, 0xe1, 0x14, 0x03, + 0x58, 0x28, 0x1b, 0x75, 0x5a, 0xb3, 0x2c, 0x4d, 0x69, 0x5a, 0x8d, 0x5a, 0xa3, 0x65, 0x94, 0xd5, + 0x5c, 0xd1, 0x12, 0x4b, 0x58, 0x14, 0x7a, 0x30, 0x60, 0x6f, 0x4f, 0x65, 0xa3, 0xa2, 0xb7, 0xab, + 0x2d, 0x3e, 0x44, 0x8f, 0x1c, 0xcb, 0x78, 0xad, 0x6d, 0xd8, 0x2d, 0x5b, 0x55, 0x88, 0x0a, 0xcb, + 0x75, 0xc3, 0x28, 0xdb, 0x8e, 0x65, 0xec, 0x99, 0xc6, 0xbe, 0x9a, 0xa1, 0x65, 0xb2, 0xff, 0xe9, + 0x17, 0x8a, 0xef, 0x28, 0x40, 0x18, 0xda, 0xac, 0x08, 0x61, 0x82, 0x33, 0xe6, 0x12, 0x6c, 0xee, + 0xd2, 0xa1, 0xc6, 0xa6, 0xd5, 0x1a, 0xe5, 0x78, 0x97, 0x9d, 0x03, 0x12, 0x4b, 0x6f, 0x54, 0x2a, + 0xaa, 0x42, 0xb6, 0xe0, 0x4c, 0x8c, 0x5e, 0xb6, 0x1a, 0x4d, 0x35, 0xb3, 0x99, 0xc9, 0x2b, 0xe4, + 0x7c, 0x22, 0xf1, 0xa1, 0x61, 0x34, 0xd5, 0x2c, 0x1d, 0xa2, 0x58, 0x82, 0x58, 0x12, 0x2c, 0x7b, + 0xae, 0xf8, 0x6d, 0x05, 0xce, 0xb1, 0x6a, 0x8a, 0xf5, 0x15, 0x54, 0xf5, 0x02, 0x6c, 0x70, 0x0c, + 0xed, 0xb4, 0x8a, 0x9e, 0x05, 0x35, 0x92, 0xca, 0xaa, 0xf9, 0x02, 0xac, 0x47, 0xa8, 0x58, 0x8f, + 0x0c, 0xdd, 0x3d, 0x22, 0xe4, 0x6d, 0xc3, 0x6e, 0x39, 0x46, 0xa5, 0xd2, 0xb0, 0x5a, 0xac, 0x22, + 0xd9, 0xa2, 0x06, 0xeb, 0x25, 0x6f, 0x34, 0xa6, 0xb7, 0xa2, 0xbe, 0xdf, 0x1d, 0xf4, 0xb1, 0x0a, + 0x2b, 0xb0, 0x64, 0x7c, 0xb9, 0x65, 0xd4, 0x6d, 0xb3, 0x51, 0x57, 0xe7, 0x8a, 0x17, 0x62, 0x3c, + 0x62, 0x1d, 0xdb, 0xf6, 0xae, 0x3a, 0x57, 0x74, 0x61, 0x45, 0xd8, 0xef, 0xb2, 0x59, 0x71, 0x09, + 0x36, 0xc5, 0x5c, 0xc3, 0x1d, 0x25, 0xde, 0x84, 0x0d, 0x38, 0x9b, 0x4c, 0x37, 0x5a, 0xaa, 0x42, + 0x47, 0x21, 0x96, 0x42, 0xe9, 0x99, 0xe2, 0xaf, 0x2b, 0xb0, 0x12, 0xbc, 0x67, 0xa0, 0x06, 0xf5, + 0x32, 0x6c, 0xd5, 0x2a, 0xba, 0x53, 0x36, 0xf6, 0xcc, 0x92, 0xe1, 0x3c, 0x34, 0xeb, 0xe5, 0xd8, + 0x47, 0x5e, 0x84, 0x17, 0x52, 0x18, 0xf0, 0x2b, 0x1b, 0x70, 0x36, 0x9e, 0xd4, 0xa2, 0x4b, 0x35, + 0x43, 0xbb, 0x3e, 0x9e, 0x12, 0xac, 0xd3, 0x6c, 0xf1, 0x8f, 0x15, 0xd8, 0xe0, 0x31, 0xe2, 0xf9, + 0xcb, 0x0a, 0x0b, 0x1e, 0x82, 0xe8, 0xba, 0x45, 0xb8, 0xd9, 0xb2, 0xda, 0x76, 0xcb, 0x28, 0x8b, + 0xec, 0x74, 0xd2, 0x9a, 0x96, 0x51, 0x33, 0xea, 0xad, 0x58, 0xdd, 0xee, 0xc0, 0xc7, 0x66, 0xf0, + 0xd6, 0x1b, 0x2d, 0xf1, 0x9b, 0xae, 0xd5, 0x8f, 0xc1, 0xb5, 0x19, 0xcc, 0x01, 0x63, 0xa6, 0xb8, + 0x07, 0xab, 0xb6, 0x5e, 0xab, 0x56, 0x06, 0xa3, 0x03, 0x4f, 0x9f, 0x8c, 0x8f, 0xfb, 0x64, 0x0b, + 0xce, 0x57, 0x1a, 0x56, 0xc9, 0x70, 0xb0, 0x05, 0xb1, 0x4a, 0x9c, 0x81, 0x35, 0x39, 0xf1, 0x91, + 0x41, 0x57, 0x17, 0x81, 0x55, 0x99, 0x58, 0x6f, 0xa8, 0x99, 0xe2, 0x57, 0x60, 0x39, 0x12, 0x68, + 0xed, 0x3c, 0x9c, 0x91, 0x7f, 0x37, 0xbd, 0x7e, 0xa7, 0xdb, 0x3f, 0x52, 0xe7, 0xe2, 0x09, 0xd6, + 0xa4, 0xdf, 0xa7, 0x09, 0xb8, 0xdd, 0xc8, 0x09, 0x2d, 0x6f, 0x74, 0xd2, 0xed, 0xbb, 0x63, 0xaf, + 0xa3, 0x66, 0x8a, 0x2f, 0xc3, 0x4a, 0x04, 0xde, 0x99, 0xce, 0xab, 0x6a, 0x83, 0x9f, 0x0f, 0x35, + 0xa3, 0x6c, 0xb6, 0x6b, 0xea, 0x3c, 0xdd, 0x68, 0x76, 0xcd, 0x9d, 0x5d, 0x15, 0x8a, 0xdf, 0x53, + 0xe8, 0x0d, 0x05, 0xfb, 0xbd, 0x56, 0xd1, 0xc5, 0x4c, 0xa4, 0xab, 0x80, 0x81, 0xc6, 0x1b, 0xb6, + 0xcd, 0x1e, 0xa9, 0x2f, 0xc0, 0x06, 0xff, 0xe1, 0xe8, 0xf5, 0xb2, 0xb3, 0xab, 0x5b, 0xe5, 0x7d, + 0xdd, 0xa2, 0x4b, 0xe3, 0x91, 0x9a, 0xc1, 0xf5, 0x2e, 0x51, 0x9c, 0x56, 0xa3, 0x5d, 0xda, 0x55, + 0xb3, 0x74, 0x79, 0x45, 0xe8, 0x4d, 0xb3, 0xae, 0xe6, 0x70, 0xf7, 0x48, 0x70, 0x63, 0xb1, 0x34, + 0x7d, 0xbe, 0xf8, 0xbe, 0x02, 0xe7, 0xed, 0xee, 0x51, 0xdf, 0x1d, 0x4f, 0x46, 0x9e, 0xde, 0x3b, + 0x1a, 0x8c, 0xba, 0xe3, 0xe3, 0x13, 0x7b, 0xd2, 0x1d, 0x7b, 0xe4, 0x36, 0xdc, 0xb0, 0xcd, 0x9d, + 0xba, 0xde, 0xa2, 0xab, 0x5f, 0xaf, 0xee, 0x34, 0x2c, 0xb3, 0xb5, 0x5b, 0x73, 0xec, 0xb6, 0x99, + 0x58, 0x18, 0xd7, 0xe1, 0xca, 0x74, 0xd6, 0xaa, 0xb1, 0xa3, 0x97, 0x1e, 0xa9, 0xca, 0xec, 0x02, + 0xb7, 0xf5, 0xaa, 0x5e, 0x2f, 0x19, 0x65, 0x67, 0xef, 0xae, 0x9a, 0x21, 0x37, 0xe0, 0xea, 0x74, + 0xd6, 0x8a, 0xd9, 0xb4, 0x29, 0x5b, 0x76, 0xf6, 0x77, 0x77, 0xed, 0x1a, 0xe5, 0xca, 0x15, 0xff, + 0x48, 0x81, 0x8d, 0x69, 0x18, 0x3f, 0xe4, 0x26, 0x68, 0x46, 0xbd, 0x65, 0xe9, 0x66, 0xd9, 0x29, + 0x59, 0x46, 0xd9, 0xa8, 0xb7, 0x4c, 0xbd, 0x6a, 0x3b, 0x76, 0xa3, 0x4d, 0x67, 0x53, 0x68, 0x4b, + 0x70, 0x0d, 0x2e, 0xcf, 0xe0, 0x6b, 0x98, 0xe5, 0x92, 0xaa, 0x90, 0xbb, 0xf0, 0xd2, 0x0c, 0x26, + 0xfb, 0x91, 0xdd, 0x32, 0x6a, 0x72, 0x8a, 0x9a, 0x29, 0x96, 0x60, 0x73, 0x3a, 0x4c, 0x08, 0x3d, + 0x45, 0xa2, 0x3d, 0x9d, 0x87, 0x5c, 0x99, 0x1e, 0x5c, 0x91, 0xd8, 0x02, 0xc5, 0x2e, 0xa8, 0x71, + 0x4f, 0xff, 0x84, 0xd1, 0x87, 0xd5, 0xae, 0xd7, 0xd9, 0x29, 0xb7, 0x06, 0x85, 0x46, 0x6b, 0xd7, + 0xb0, 0x78, 0x74, 0x06, 0x0c, 0xc7, 0xd0, 0xae, 0xd3, 0x85, 0xd3, 0xb0, 0xcc, 0xd7, 0xf1, 0xb8, + 0xdb, 0x80, 0xb3, 0x76, 0x55, 0x2f, 0x3d, 0xc4, 0x35, 0x6d, 0xd6, 0x9d, 0xd2, 0xae, 0x5e, 0xaf, + 0x1b, 0x55, 0x15, 0xb0, 0x33, 0xa7, 0x79, 0xf7, 0x91, 0x8f, 0xc3, 0xad, 0xc6, 0xc3, 0x96, 0xee, + 0x34, 0xab, 0xed, 0x1d, 0xb3, 0xee, 0xd8, 0x8f, 0xea, 0x25, 0x21, 0x9a, 0x95, 0x92, 0x27, 0xc2, + 0x2d, 0xb8, 0x3e, 0x93, 0x3b, 0x8c, 0xa3, 0x70, 0x13, 0xb4, 0x99, 0x9c, 0xbc, 0x21, 0xc5, 0x1f, + 0x29, 0xb0, 0x35, 0xe3, 0xf5, 0x99, 0xbc, 0x04, 0xb7, 0x77, 0x0d, 0xbd, 0x5c, 0x35, 0x6c, 0x1b, + 0x37, 0x0a, 0x3a, 0x0c, 0xcc, 0x38, 0x24, 0x75, 0xbf, 0xbf, 0x0d, 0x37, 0x66, 0xb3, 0x87, 0x92, + 0xc3, 0x2d, 0xb8, 0x3e, 0x9b, 0x95, 0x4b, 0x12, 0x19, 0xba, 0xdf, 0xce, 0xe6, 0x0c, 0x24, 0x90, + 0x6c, 0xf1, 0xb7, 0x15, 0x38, 0x97, 0xae, 0x02, 0xa2, 0x75, 0x33, 0xeb, 0x76, 0x4b, 0xaf, 0x56, + 0x9d, 0xa6, 0x6e, 0xe9, 0x35, 0xc7, 0xa8, 0x5b, 0x8d, 0x6a, 0x35, 0xed, 0xe4, 0xbd, 0x0e, 0x57, + 0xa6, 0xb3, 0xda, 0x25, 0xcb, 0x6c, 0xd2, 0xc3, 0x45, 0x83, 0x4b, 0xd3, 0xb9, 0x0c, 0xb3, 0x64, + 0xa8, 0x99, 0xed, 0xcf, 0xbf, 0xfb, 0x2f, 0x97, 0xe6, 0xde, 0x7d, 0xff, 0x92, 0xf2, 0xe3, 0xf7, + 0x2f, 0x29, 0xff, 0xfc, 0xfe, 0x25, 0xe5, 0xf5, 0x3b, 0xa7, 0x0b, 0x41, 0x84, 0xd7, 0x92, 0x37, + 0x17, 0xd0, 0x1a, 0xea, 0x95, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x30, 0xf7, 0x33, 0xe5, 0x56, + 0xb0, 0x01, 0x00, } func (this *PluginSpecV1) Equal(that interface{}) bool { @@ -23398,6 +23467,30 @@ func (this *PluginSpecV1_Email) Equal(that interface{}) bool { } return true } +func (this *PluginSpecV1_Msteams) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*PluginSpecV1_Msteams) + if !ok { + that2, ok := that.(PluginSpecV1_Msteams) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Msteams.Equal(that1.Msteams) { + return false + } + return true +} func (this *PluginSlackAccessSettings) Equal(that interface{}) bool { if that == nil { return this == nil @@ -24303,6 +24396,45 @@ func (this *SMTPSpec) Equal(that interface{}) bool { } return true } +func (this *PluginMSTeamsSettings) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*PluginMSTeamsSettings) + if !ok { + that2, ok := that.(PluginMSTeamsSettings) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.AppId != that1.AppId { + return false + } + if this.TenantId != that1.TenantId { + return false + } + if this.TeamsAppId != that1.TeamsAppId { + return false + } + if this.Region != that1.Region { + return false + } + if this.DefaultRecipient != that1.DefaultRecipient { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} func (this *PluginStaticCredentialsRef) Equal(that interface{}) bool { if that == nil { return this == nil @@ -43438,6 +43570,29 @@ func (m *PluginSpecV1_Email) MarshalToSizedBuffer(dAtA []byte) (int, error) { } return len(dAtA) - i, nil } +func (m *PluginSpecV1_Msteams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PluginSpecV1_Msteams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Msteams != nil { + { + size, err := m.Msteams.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} func (m *PluginSlackAccessSettings) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -44793,6 +44948,68 @@ func (m *SMTPSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *PluginMSTeamsSettings) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PluginMSTeamsSettings) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PluginMSTeamsSettings) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.DefaultRecipient) > 0 { + i -= len(m.DefaultRecipient) + copy(dAtA[i:], m.DefaultRecipient) + i = encodeVarintTypes(dAtA, i, uint64(len(m.DefaultRecipient))) + i-- + dAtA[i] = 0x2a + } + if len(m.Region) > 0 { + i -= len(m.Region) + copy(dAtA[i:], m.Region) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Region))) + i-- + dAtA[i] = 0x22 + } + if len(m.TeamsAppId) > 0 { + i -= len(m.TeamsAppId) + copy(dAtA[i:], m.TeamsAppId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.TeamsAppId))) + i-- + dAtA[i] = 0x1a + } + if len(m.TenantId) > 0 { + i -= len(m.TenantId) + copy(dAtA[i:], m.TenantId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.TenantId))) + i-- + dAtA[i] = 0x12 + } + if len(m.AppId) > 0 { + i -= len(m.AppId) + copy(dAtA[i:], m.AppId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.AppId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *PluginBootstrapCredentialsV1) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -45014,12 +45231,12 @@ func (m *PluginStatusV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n348, err348 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) - if err348 != nil { - return 0, err348 + n349, err349 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastSyncTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastSyncTime):]) + if err349 != nil { + return 0, err349 } - i -= n348 - i = encodeVarintTypes(dAtA, i, uint64(n348)) + i -= n349 + i = encodeVarintTypes(dAtA, i, uint64(n349)) i-- dAtA[i] = 0x1a if len(m.ErrorMessage) > 0 { @@ -45380,22 +45597,22 @@ func (m *PluginOktaStatusDetailsAppGroupSync) MarshalToSizedBuffer(dAtA []byte) dAtA[i] = 0x28 } if m.LastFailed != nil { - n358, err358 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err358 != nil { - return 0, err358 + n359, err359 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err359 != nil { + return 0, err359 } - i -= n358 - i = encodeVarintTypes(dAtA, i, uint64(n358)) + i -= n359 + i = encodeVarintTypes(dAtA, i, uint64(n359)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n359, err359 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err359 != nil { - return 0, err359 + n360, err360 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err360 != nil { + return 0, err360 } - i -= n359 - i = encodeVarintTypes(dAtA, i, uint64(n359)) + i -= n360 + i = encodeVarintTypes(dAtA, i, uint64(n360)) i-- dAtA[i] = 0x1a } @@ -45454,22 +45671,22 @@ func (m *PluginOktaStatusDetailsUsersSync) MarshalToSizedBuffer(dAtA []byte) (in dAtA[i] = 0x28 } if m.LastFailed != nil { - n360, err360 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err360 != nil { - return 0, err360 + n361, err361 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err361 != nil { + return 0, err361 } - i -= n360 - i = encodeVarintTypes(dAtA, i, uint64(n360)) + i -= n361 + i = encodeVarintTypes(dAtA, i, uint64(n361)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n361, err361 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err361 != nil { - return 0, err361 + n362, err362 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err362 != nil { + return 0, err362 } - i -= n361 - i = encodeVarintTypes(dAtA, i, uint64(n361)) + i -= n362 + i = encodeVarintTypes(dAtA, i, uint64(n362)) i-- dAtA[i] = 0x1a } @@ -45588,22 +45805,22 @@ func (m *PluginOktaStatusDetailsAccessListsSync) MarshalToSizedBuffer(dAtA []byt } } if m.LastFailed != nil { - n362, err362 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) - if err362 != nil { - return 0, err362 + n363, err363 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastFailed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastFailed):]) + if err363 != nil { + return 0, err363 } - i -= n362 - i = encodeVarintTypes(dAtA, i, uint64(n362)) + i -= n363 + i = encodeVarintTypes(dAtA, i, uint64(n363)) i-- dAtA[i] = 0x22 } if m.LastSuccessful != nil { - n363, err363 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) - if err363 != nil { - return 0, err363 + n364, err364 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.LastSuccessful, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.LastSuccessful):]) + if err364 != nil { + return 0, err364 } - i -= n363 - i = encodeVarintTypes(dAtA, i, uint64(n363)) + i -= n364 + i = encodeVarintTypes(dAtA, i, uint64(n364)) i-- dAtA[i] = 0x1a } @@ -45769,12 +45986,12 @@ func (m *PluginOAuth2AccessTokenCredentials) MarshalToSizedBuffer(dAtA []byte) ( i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n368, err368 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err368 != nil { - return 0, err368 + n369, err369 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err369 != nil { + return 0, err369 } - i -= n368 - i = encodeVarintTypes(dAtA, i, uint64(n368)) + i -= n369 + i = encodeVarintTypes(dAtA, i, uint64(n369)) i-- dAtA[i] = 0x1a if len(m.RefreshToken) > 0 { @@ -46654,21 +46871,21 @@ func (m *ScheduledAgentUpgradeWindow) MarshalToSizedBuffer(dAtA []byte) (int, er i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n382, err382 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) - if err382 != nil { - return 0, err382 - } - i -= n382 - i = encodeVarintTypes(dAtA, i, uint64(n382)) - i-- - dAtA[i] = 0x12 - n383, err383 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) + n383, err383 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Stop, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Stop):]) if err383 != nil { return 0, err383 } i -= n383 i = encodeVarintTypes(dAtA, i, uint64(n383)) i-- + dAtA[i] = 0x12 + n384, err384 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Start, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Start):]) + if err384 != nil { + return 0, err384 + } + i -= n384 + i = encodeVarintTypes(dAtA, i, uint64(n384)) + i-- dAtA[i] = 0xa return len(dAtA) - i, nil } @@ -47094,12 +47311,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x30 } - n390, err390 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) - if err390 != nil { - return 0, err390 + n391, err391 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastTransition, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastTransition):]) + if err391 != nil { + return 0, err391 } - i -= n390 - i = encodeVarintTypes(dAtA, i, uint64(n390)) + i -= n391 + i = encodeVarintTypes(dAtA, i, uint64(n391)) i-- dAtA[i] = 0x2a if m.Status != 0 { @@ -47107,12 +47324,12 @@ func (m *OktaAssignmentSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x20 } - n391, err391 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) - if err391 != nil { - return 0, err391 + n392, err392 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CleanupTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CleanupTime):]) + if err392 != nil { + return 0, err392 } - i -= n391 - i = encodeVarintTypes(dAtA, i, uint64(n391)) + i -= n392 + i = encodeVarintTypes(dAtA, i, uint64(n392)) i-- dAtA[i] = 0x1a if len(m.Targets) > 0 { @@ -57217,6 +57434,18 @@ func (m *PluginSpecV1_Email) Size() (n int) { } return n } +func (m *PluginSpecV1_Msteams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Msteams != nil { + l = m.Msteams.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *PluginSlackAccessSettings) Size() (n int) { if m == nil { return 0 @@ -57861,6 +58090,38 @@ func (m *SMTPSpec) Size() (n int) { return n } +func (m *PluginMSTeamsSettings) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AppId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.TenantId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.TeamsAppId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.Region) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.DefaultRecipient) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *PluginBootstrapCredentialsV1) Size() (n int) { if m == nil { return 0 @@ -115625,50 +115886,85 @@ func (m *PluginSpecV1) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginEntraIDSettings{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Settings = &PluginSpecV1_EntraId{v} - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Scim", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &PluginSCIMSettings{} + v := &PluginEntraIDSettings{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Settings = &PluginSpecV1_EntraId{v} + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scim", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &PluginSCIMSettings{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Settings = &PluginSpecV1_Scim{v} + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Datadog", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &PluginDatadogAccessSettings{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Settings = &PluginSpecV1_Scim{v} + m.Settings = &PluginSpecV1_Datadog{v} iNdEx = postIndex - case 15: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Datadog", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AwsIc", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -115695,15 +115991,15 @@ func (m *PluginSpecV1) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginDatadogAccessSettings{} + v := &PluginAWSICSettings{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Settings = &PluginSpecV1_Datadog{v} + m.Settings = &PluginSpecV1_AwsIc{v} iNdEx = postIndex - case 16: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AwsIc", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Email", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -115730,15 +116026,15 @@ func (m *PluginSpecV1) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginAWSICSettings{} + v := &PluginEmailSettings{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Settings = &PluginSpecV1_AwsIc{v} + m.Settings = &PluginSpecV1_Email{v} iNdEx = postIndex - case 17: + case 18: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Email", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Msteams", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -115765,11 +116061,11 @@ func (m *PluginSpecV1) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginEmailSettings{} + v := &PluginMSTeamsSettings{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Settings = &PluginSpecV1_Email{v} + m.Settings = &PluginSpecV1_Msteams{v} iNdEx = postIndex default: iNdEx = preIndex @@ -119454,6 +119750,217 @@ func (m *SMTPSpec) Unmarshal(dAtA []byte) error { } return nil } +func (m *PluginMSTeamsSettings) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PluginMSTeamsSettings: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PluginMSTeamsSettings: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AppId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AppId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TenantId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TenantId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TeamsAppId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TeamsAppId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Region", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Region = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultRecipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + 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 ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultRecipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *PluginBootstrapCredentialsV1) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/integrations/access/accessmonitoring/access_monitoring_rules.go b/integrations/access/accessmonitoring/access_monitoring_rules.go index 7fb2c045d57ea..3dea9ea2bf543 100644 --- a/integrations/access/accessmonitoring/access_monitoring_rules.go +++ b/integrations/access/accessmonitoring/access_monitoring_rules.go @@ -31,6 +31,7 @@ import ( "github.com/gravitational/teleport/integrations/access/common" "github.com/gravitational/teleport/integrations/access/common/teleport" "github.com/gravitational/teleport/integrations/lib/logger" + "github.com/gravitational/teleport/integrations/lib/stringset" ) const ( @@ -159,7 +160,7 @@ func (amrh *RuleHandler) RecipientsFromAccessMonitoringRules(ctx context.Context for _, recipient := range rule.Spec.Notification.Recipients { rec, err := amrh.fetchRecipientCallback(ctx, recipient) if err != nil { - log.WithError(err).Warn("Failed to fetch plugin recipients based on Access moniotring rule recipients") + log.WithError(err).Warn("Failed to fetch plugin recipients based on Access monitoring rule recipients") continue } recipientSet.Add(*rec) @@ -168,6 +169,26 @@ func (amrh *RuleHandler) RecipientsFromAccessMonitoringRules(ctx context.Context return &recipientSet } +// RawRecipientsFromAccessMonitoringRules returns the recipients that result from the Access Monitoring Rules being applied to the given Access Request without converting to the rich recipient type. +func (amrh *RuleHandler) RawRecipientsFromAccessMonitoringRules(ctx context.Context, req types.AccessRequest) []string { + log := logger.Get(ctx) + recipientSet := stringset.New() + for _, rule := range amrh.getAccessMonitoringRules() { + match, err := MatchAccessRequest(rule.Spec.Condition, req) + if err != nil { + log.WithError(err).WithField("rule", rule.Metadata.Name). + Warn("Failed to parse access monitoring notification rule") + } + if !match { + continue + } + for _, recipient := range rule.Spec.Notification.Recipients { + recipientSet.Add(recipient) + } + } + return recipientSet.ToSlice() +} + func (amrh *RuleHandler) getAllAccessMonitoringRules(ctx context.Context) ([]*accessmonitoringrulesv1.AccessMonitoringRule, error) { var resources []*accessmonitoringrulesv1.AccessMonitoringRule var nextToken string diff --git a/integrations/access/common/recipient.go b/integrations/access/common/recipient.go index 333a197206b48..0fbe218bcd1fe 100644 --- a/integrations/access/common/recipient.go +++ b/integrations/access/common/recipient.go @@ -150,6 +150,15 @@ func (s *RecipientSet) ToSlice() []Recipient { return recipientSlice } +// GetNames returns a slice of the recipient names in the set. +func (s *RecipientSet) GetNames() []string { + names := make([]string, 0, len(s.recipients)) + for _, recipient := range s.recipients { + names = append(names, recipient.Name) + } + return names +} + // ForEach applies run the given func with each recipient in the set as the argument. func (s *RecipientSet) ForEach(f func(r Recipient)) { for _, v := range s.recipients { diff --git a/integrations/access/msteams/app.go b/integrations/access/msteams/app.go index 0f964705c6b94..306be091ca8b0 100644 --- a/integrations/access/msteams/app.go +++ b/integrations/access/msteams/app.go @@ -49,12 +49,11 @@ const ( type App struct { conf Config - apiClient teleport.Client - bot *Bot - mainJob lib.ServiceJob - watcherJob lib.ServiceJob - pd *pd.CompareAndSwap[PluginData] - + apiClient teleport.Client + bot *Bot + mainJob lib.ServiceJob + watcherJob lib.ServiceJob + pd *pd.CompareAndSwap[PluginData] log *slog.Logger accessMonitoringRules *accessmonitoring.RuleHandler @@ -145,7 +144,7 @@ func (a *App) init(ctx context.Context) error { webProxyAddr = pong.ProxyPublicAddr } - a.bot, err = NewBot(a.conf.MSAPI, pong.ClusterName, webProxyAddr, a.log) + a.bot, err = NewBot(&a.conf, pong.ClusterName, webProxyAddr, a.log) if err != nil { return trace.Wrap(err) } @@ -153,19 +152,6 @@ func (a *App) init(ctx context.Context) error { a.accessMonitoringRules = accessmonitoring.NewRuleHandler(accessmonitoring.RuleHandlerConfig{ Client: a.apiClient, PluginName: pluginName, - // Map msteams.RecipientData onto the common recipient type used - // by the access monitoring rules watcher. - FetchRecipientCallback: func(ctx context.Context, name string) (*common.Recipient, error) { - msTeamsRecipient, err := a.bot.FetchRecipient(ctx, name) - if err != nil { - return nil, trace.Wrap(err) - } - return &common.Recipient{ - Name: name, - ID: msTeamsRecipient.ID, - Kind: string(msTeamsRecipient.Kind), - }, nil - }, }) return a.initBot(ctx) @@ -185,6 +171,13 @@ func (a *App) initBot(ctx context.Context) error { "name", teamsApp.DisplayName, "id", teamsApp.ID) + if err := a.bot.CheckHealth(ctx); err != nil { + + a.log.WarnContext(ctx, "MS Teams healthcheck failed", + "name", teamsApp.DisplayName, + "id", teamsApp.ID) + } + if !a.conf.Preload { return nil } @@ -212,9 +205,6 @@ func (a *App) initBot(ctx context.Context) error { // run starts the main process func (a *App) run(ctx context.Context) error { - - process := lib.MustGetProcess(ctx) - watchKinds := []types.WatchKind{ {Kind: types.KindAccessRequest}, {Kind: types.KindAccessMonitoringRule}, @@ -237,6 +227,7 @@ func (a *App) run(ctx context.Context) error { return trace.Wrap(err) } + process := lib.MustGetProcess(ctx) process.SpawnCriticalJob(watcherJob) ok, err := watcherJob.WaitReady(ctx) @@ -254,6 +245,7 @@ func (a *App) run(ctx context.Context) error { return trace.Wrap(err, "initializing Access Monitoring Rule cache") } } + a.watcherJob = watcherJob a.watcherJob.SetReady(ok) if ok { @@ -530,14 +522,10 @@ func (a *App) getMessageRecipients(ctx context.Context, req types.AccessRequest) // We receive a set from GetRawRecipientsFor but we still might end up with duplicate channel names. // This can happen if this set contains the channel `C` and the email for channel `C`. recipientSet := stringset.New() - a.log.DebugContext(ctx, "Getting suggested reviewer recipients") - accessRuleRecipients := a.accessMonitoringRules.RecipientsFromAccessMonitoringRules(ctx, req) - accessRuleRecipients.ForEach(func(r common.Recipient) { - recipientSet.Add(r.Name) - }) - if recipientSet.Len() != 0 { - return recipientSet.ToSlice() + accessRuleRecipients := a.accessMonitoringRules.RawRecipientsFromAccessMonitoringRules(ctx, req) + if len(accessRuleRecipients) != 0 { + return accessRuleRecipients } var validEmailsSuggReviewers []string @@ -557,6 +545,5 @@ func (a *App) getMessageRecipients(ctx context.Context, req types.AccessRequest) recipientSet.Add(recipient) } } - return recipientSet.ToSlice() } diff --git a/integrations/access/msteams/bot.go b/integrations/access/msteams/bot.go index 20fe5c9f0eb6e..c0598c1f4d24f 100644 --- a/integrations/access/msteams/bot.go +++ b/integrations/access/msteams/bot.go @@ -27,8 +27,10 @@ import ( "github.com/gravitational/trace" "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/integrations/access/common" "github.com/gravitational/teleport/integrations/access/msteams/msapi" "github.com/gravitational/teleport/integrations/lib" + "github.com/gravitational/teleport/integrations/lib/logger" "github.com/gravitational/teleport/integrations/lib/plugindata" ) @@ -80,10 +82,13 @@ type Bot struct { clusterName string // log is the logger log *slog.Logger + // StatusSink receives any status updates from the plugin for + // further processing. Status updates will be ignored if not set. + StatusSink common.StatusSink } // NewBot creates new bot struct -func NewBot(c msapi.Config, clusterName, webProxyAddr string, log *slog.Logger) (*Bot, error) { +func NewBot(c *Config, clusterName, webProxyAddr string, log *slog.Logger) (*Bot, error) { var ( webProxyURL *url.URL err error @@ -97,14 +102,15 @@ func NewBot(c msapi.Config, clusterName, webProxyAddr string, log *slog.Logger) } bot := &Bot{ - Config: c, - graphClient: msapi.NewGraphClient(c), - botClient: msapi.NewBotFrameworkClient(c), + Config: c.MSAPI, + graphClient: msapi.NewGraphClient(c.MSAPI), + botClient: msapi.NewBotFrameworkClient(c.MSAPI), recipients: make(map[string]RecipientData), webProxyURL: webProxyURL, clusterName: clusterName, mu: &sync.RWMutex{}, log: log, + StatusSink: c.StatusSink, } return bot, nil @@ -448,3 +454,23 @@ func (b *Bot) checkChannelURL(recipient string) (*Channel, bool) { return &channel, true } + +// CheckHealth checks if the bot can connect to its messaging service +func (b *Bot) CheckHealth(ctx context.Context) error { + _, err := b.graphClient.GetTeamsApp(ctx, b.Config.TeamsAppID) + if b.StatusSink != nil { + status := types.PluginStatusCode_RUNNING + message := "" + if err != nil { + status = types.PluginStatusCode_OTHER_ERROR + message = err.Error() + } + if err := b.StatusSink.Emit(ctx, &types.PluginStatusV1{ + Code: status, + ErrorMessage: message, + }); err != nil { + logger.Get(ctx).Errorf("Error while emitting ms teams plugin status: %v", err) + } + } + return trace.Wrap(err) +} diff --git a/integrations/access/msteams/config.go b/integrations/access/msteams/config.go index 8aca1fa074ab1..bbe29de4f265d 100644 --- a/integrations/access/msteams/config.go +++ b/integrations/access/msteams/config.go @@ -25,18 +25,20 @@ import ( "github.com/gravitational/teleport/integrations/access/common/teleport" "github.com/gravitational/teleport/integrations/access/msteams/msapi" "github.com/gravitational/teleport/integrations/lib" - "github.com/gravitational/teleport/integrations/lib/logger" ) // Config represents plugin configuration type Config struct { - // Client is the Teleport API client. - Client teleport.Client - Teleport lib.TeleportConfig - Recipients common.RawRecipientsMap `toml:"role_to_recipients"` - Log logger.Config - MSAPI msapi.Config `toml:"msapi"` - Preload bool `toml:"preload"` + common.BaseConfig + Client teleport.Client + // MSAPI represents MS Graph API and Bot API config. + MSAPI msapi.Config `toml:"msapi"` + // Preload if set to true will preload the potential msteams recipients. + Preload bool `toml:"preload"` + + // StatusSink receives any status updates from the plugin for + // further processing. Status updates will be ignored if not set. + StatusSink common.StatusSink } // LoadConfig reads the config file, initializes a new Config struct object, and returns it. diff --git a/integrations/access/msteams/configure.go b/integrations/access/msteams/configure.go index c579c9e1f80b0..003ad12eaae64 100644 --- a/integrations/access/msteams/configure.go +++ b/integrations/access/msteams/configure.go @@ -21,7 +21,8 @@ import ( "html/template" "io" "os" - "path" + "path/filepath" + "slices" "github.com/google/uuid" "github.com/gravitational/trace" @@ -45,11 +46,16 @@ var ( zipFiles = []string{"manifest.json", "outline.png", "color.png"} ) -// payload represents template payload -type payload struct { - AppID string - AppSecret string - TenantID string +// ConfigTemplatePayload represents template payloads used to generate config files +// used by the Microsoft Teams plugin. +type ConfigTemplatePayload struct { + // AppID is the Microsoft application ID. + AppID string + // AppSecret is the Microsoft application secret. + AppSecret string + // TenantID is the Microsoft Azure tenant ID. + TenantID string + // TeamsAppID is the Microsoft Teams application ID. TeamsAppID string } @@ -57,7 +63,7 @@ type payload struct { func Configure(targetDir, appID, appSecret, tenantID string) error { var step byte = 1 - p := payload{ + p := ConfigTemplatePayload{ AppID: appID, AppSecret: appSecret, TenantID: tenantID, @@ -79,76 +85,77 @@ func Configure(targetDir, appID, appSecret, tenantID string) error { printStep(&step, "Created target directory: %s", targetDir) - if err := renderTemplateTo(confTpl, p, path.Join(targetDir, "teleport-msteams.toml")); err != nil { + configWriter, err := os.Create(filepath.Join(targetDir, "teleport-msteams.toml")) + if err != nil { return trace.Wrap(err) } - if err := renderTemplateTo(manifestTpl, p, path.Join(targetDir, "manifest.json")); err != nil { + defer configWriter.Close() + if err := renderTemplateTo(configWriter, confTpl, p); err != nil { return trace.Wrap(err) } - printStep(&step, "Generated configuration files") - - a, err := assets.ReadDir("_tpl") + appZipFile, err := os.Create(filepath.Join(targetDir, "app.zip")) if err != nil { return trace.Wrap(err) } + defer appZipFile.Close() - for _, d := range a { - in, err := assets.Open(path.Join("_tpl", d.Name())) - if err != nil { - return trace.Wrap(err) - } - defer in.Close() + WriteAppZipTo(appZipFile, p) - out, err := os.Create(path.Join(targetDir, d.Name())) - if err != nil { - return trace.Wrap(err) - } - defer out.Close() + printStep(&step, "Created %v", appZipFile.Name()) + fmt.Println() + fmt.Printf("TeamsAppID: %v\n", p.TeamsAppID) + fmt.Println() + fmt.Println("Follow-along with our getting started guide:") + fmt.Println() + fmt.Println(guideURL) - _, err = io.Copy(out, in) - if err != nil { - return trace.Wrap(err) - } - } + return nil +} - printStep(&step, "Copied assets") +// WriteAppZipTo creates the manifest.json from the template using the provided payload, then writes the app.zip to the provided writer including the needed assets. +func WriteAppZipTo(zipWriter io.Writer, p ConfigTemplatePayload) error { + w := zip.NewWriter(zipWriter) + defer w.Close() - z, err := os.Create(path.Join(targetDir, "app.zip")) + manifestWriter, err := w.Create("manifest.json") if err != nil { return trace.Wrap(err) } - defer z.Close() + if err := renderTemplateTo(manifestWriter, manifestTpl, p); err != nil { + return trace.Wrap(err) + } - w := zip.NewWriter(z) - defer w.Close() + copyAssets(w) + return nil +} - for _, n := range zipFiles { - in, err := os.Open(path.Join(targetDir, n)) +func copyAssets(zipWriter *zip.Writer) error { + a, err := assets.ReadDir("_tpl") + if err != nil { + return trace.Wrap(err) + } + + for _, d := range a { + if !slices.Contains(zipFiles, d.Name()) { + continue + } + in, err := assets.Open(filepath.Join("_tpl", d.Name())) if err != nil { return trace.Wrap(err) } defer in.Close() - out, err := w.Create(n) + out, err := zipWriter.Create(d.Name()) if err != nil { return trace.Wrap(err) } + _, err = io.Copy(out, in) if err != nil { return trace.Wrap(err) } } - - printStep(&step, "Created app.zip") - - fmt.Println() - fmt.Printf("TeamsAppID: %v\n", p.TeamsAppID) - fmt.Println() - fmt.Println("Follow-along with our getting started guide:") - fmt.Println() - fmt.Println(guideURL) - return nil } @@ -160,18 +167,12 @@ func printStep(step *byte, message string, args ...interface{}) { } // renderTemplateTo renders template from a string and writes file to targetPath -func renderTemplateTo(content string, payload interface{}, targetPath string) error { +func renderTemplateTo(w io.Writer, content string, payload interface{}) error { tpl, err := template.New("template").Parse(content) if err != nil { return trace.Wrap(err) } - w, err := os.Create(targetPath) - if err != nil { - return trace.Wrap(err) - } - defer w.Close() - err = tpl.ExecuteTemplate(w, "template", payload) if err != nil { return trace.Wrap(err) diff --git a/integrations/access/msteams/msapi/config.go b/integrations/access/msteams/msapi/config.go index 5672feaf33084..551599774190d 100644 --- a/integrations/access/msteams/msapi/config.go +++ b/integrations/access/msteams/msapi/config.go @@ -30,10 +30,11 @@ type Config struct { AppSecret string `toml:"app_secret"` // TenantID ms tenant id TenantID string `toml:"tenant_id"` - // Region bot framework api AP region + // Region to be used by the Microsoft Graph API client Region string `toml:"region"` // TeamsAppID represents Teams App ID TeamsAppID string `toml:"teams_app_id"` + // url represents url configuration for testing url struct { tokenBaseURL string diff --git a/integrations/access/msteams/testlib/helpers.go b/integrations/access/msteams/testlib/helpers.go index 9aaa1fcdaf94c..db4c8a8164834 100644 --- a/integrations/access/msteams/testlib/helpers.go +++ b/integrations/access/msteams/testlib/helpers.go @@ -41,7 +41,7 @@ func (s *MsTeamsBaseSuite) checkPluginData(ctx context.Context, reqID string, co func (s *MsTeamsBaseSuite) getNewMessages(ctx context.Context, n int) (MsgSlice, error) { msgs := MsgSlice{} - for i := 0; i < 2; i++ { + for i := 0; i < n; i++ { msg, err := s.fakeTeams.CheckNewMessage(ctx) if err != nil { return nil, trace.Wrap(err) diff --git a/integrations/access/msteams/testlib/suite.go b/integrations/access/msteams/testlib/suite.go index 3e652bea1aa85..a9a209c04cd1e 100644 --- a/integrations/access/msteams/testlib/suite.go +++ b/integrations/access/msteams/testlib/suite.go @@ -79,6 +79,7 @@ func (s *MsTeamsBaseSuite) SetupTest() { apiClient, err := common.GetTeleportClient(context.Background(), s.TeleportConfig()) require.NoError(t, err) conf.Client = apiClient + conf.StatusSink = s.fakeStatusSink conf.MSAPI = s.fakeTeams.Config conf.MSAPI.SetBaseURLs(s.fakeTeams.URL(), s.fakeTeams.URL(), s.fakeTeams.URL()) diff --git a/integrations/access/msteams/validate.go b/integrations/access/msteams/validate.go index 39fba47369250..61d9d25f635e8 100644 --- a/integrations/access/msteams/validate.go +++ b/integrations/access/msteams/validate.go @@ -146,7 +146,7 @@ func loadConfig(configPath string) (*Bot, *Config, error) { if err != nil { return nil, nil, trace.Wrap(err) } - b, err := NewBot(c.MSAPI, "local", "", log) + b, err := NewBot(c, "local", "", log) if err != nil { return nil, nil, trace.Wrap(err) } diff --git a/integrations/event-handler/go.sum b/integrations/event-handler/go.sum index 606add51acaf3..954c812c1dae5 100644 --- a/integrations/event-handler/go.sum +++ b/integrations/event-handler/go.sum @@ -671,6 +671,8 @@ github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbi github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= +github.com/DanielTitkov/go-adaptive-cards v0.2.2 h1:tBFExyvsbCcrBJEvPaV3FW4gcAkwQjXFKiKEBrE7Yuw= +github.com/DanielTitkov/go-adaptive-cards v0.2.2/go.mod h1:RtCzt65p/zEos6+zhiCFQmiaHmro6M63l9NP7xXx/Lg= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= diff --git a/integrations/terraform/go.sum b/integrations/terraform/go.sum index aac272b66970c..8f0b1ec8e60a7 100644 --- a/integrations/terraform/go.sum +++ b/integrations/terraform/go.sum @@ -690,6 +690,8 @@ github.com/ClickHouse/clickhouse-go/v2 v2.29.0 h1:Dj1w59RssRyLgGHXtYaWU0eIM1pJsu github.com/ClickHouse/clickhouse-go/v2 v2.29.0/go.mod h1:bLookq6qZJ4Ush/6tOAnJGh1Sf3Sa/nQoMn71p7ZCUE= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= +github.com/DanielTitkov/go-adaptive-cards v0.2.2 h1:tBFExyvsbCcrBJEvPaV3FW4gcAkwQjXFKiKEBrE7Yuw= +github.com/DanielTitkov/go-adaptive-cards v0.2.2/go.mod h1:RtCzt65p/zEos6+zhiCFQmiaHmro6M63l9NP7xXx/Lg= github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0 h1:oVLqHXhnYtUwM89y9T1fXGaK9wTkXHgNp8/ZNMQzUxE= github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg= diff --git a/lib/web/apiserver.go b/lib/web/apiserver.go index b00d190cc5067..ee0683f2f87be 100644 --- a/lib/web/apiserver.go +++ b/lib/web/apiserver.go @@ -975,6 +975,9 @@ func (h *Handler) bindDefaultEndpoints() { h.PUT("/webapi/sites/:site/integrations/:name", h.WithClusterAuth(h.integrationsUpdate)) h.DELETE("/webapi/sites/:site/integrations/:name_or_subkind", h.WithClusterAuth(h.integrationsDelete)) + // GET the Microsoft Teams plugin app.zip file. + h.GET("/webapi/sites/:site/plugins/:plugin/files/msteams_app.zip", h.WithClusterAuth(h.integrationsMsTeamsAppZipGet)) + // AWS OIDC Integration Actions h.GET("/webapi/scripts/integrations/configure/awsoidc-idp.sh", h.WithLimiter(h.awsOIDCConfigureIdP)) h.POST("/webapi/sites/:site/integrations/aws-oidc/:name/ping", h.WithClusterAuth(h.awsOIDCPing)) diff --git a/lib/web/integrations.go b/lib/web/integrations.go index 9e99050bc2b40..665035e048a15 100644 --- a/lib/web/integrations.go +++ b/lib/web/integrations.go @@ -25,7 +25,9 @@ import ( "github.com/gravitational/trace" "github.com/julienschmidt/httprouter" + pluginspb "github.com/gravitational/teleport/api/gen/proto/go/teleport/plugins/v1" "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/integrations/access/msteams" "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/httplib" "github.com/gravitational/teleport/lib/reversetunnelclient" @@ -225,3 +227,35 @@ func (h *Handler) integrationsList(w http.ResponseWriter, r *http.Request, p htt NextKey: nextKey, }, nil } + +// integrationsMsTeamsAppZipGet generates and returns the app.zip required for the MsTeams plugin with the given name. +func (h *Handler) integrationsMsTeamsAppZipGet(w http.ResponseWriter, r *http.Request, p httprouter.Params, sctx *SessionContext, site reversetunnelclient.RemoteSite) (interface{}, error) { + clt, err := sctx.GetUserClient(r.Context(), site) + if err != nil { + return nil, trace.Wrap(err) + } + + plugin, err := clt.PluginsClient().GetPlugin(r.Context(), &pluginspb.GetPluginRequest{ + Name: p.ByName("plugin"), + WithSecrets: false, + }) + if err != nil { + return nil, trace.Wrap(err) + } + spec, ok := plugin.Spec.Settings.(*types.PluginSpecV1_Msteams) + if !ok { + return nil, trace.BadParameter("plugin specified was not of type MsTeams") + } + + w.Header().Add("Content-Type", "application/zip") + w.Header().Add("Content-Disposition", "attachment; filename=app.zip") + err = msteams.WriteAppZipTo(w, msteams.ConfigTemplatePayload{ + AppID: spec.Msteams.AppId, + TenantID: spec.Msteams.TenantId, + TeamsAppID: spec.Msteams.TeamsAppId, + }) + if err != nil { + return nil, trace.Wrap(err) + } + return nil, nil +} diff --git a/web/packages/shared/utils/saveOnDisk.ts b/web/packages/shared/utils/saveOnDisk.ts index e201d368a2ade..10021d597312d 100644 --- a/web/packages/shared/utils/saveOnDisk.ts +++ b/web/packages/shared/utils/saveOnDisk.ts @@ -18,17 +18,19 @@ /** * saveOnDisk saves content to local disk. - * @param content content to download. + * @param content content to download (string or Blob). * @param filename preset file name. * @param fileType file type. */ export function saveOnDisk( - content: string, + content: string | Blob, filename: string, fileType: string ): void { const a = document.createElement('a'); - const blob = new Blob([content], { type: fileType }); + + const blob = + content instanceof Blob ? content : new Blob([content], { type: fileType }); a.href = window.URL.createObjectURL(blob); a.download = filename; document.body.appendChild(a); diff --git a/web/packages/teleport/src/Integrations/IntegrationList.tsx b/web/packages/teleport/src/Integrations/IntegrationList.tsx index f52a2965ce408..a30c9afb5ff71 100644 --- a/web/packages/teleport/src/Integrations/IntegrationList.tsx +++ b/web/packages/teleport/src/Integrations/IntegrationList.tsx @@ -25,7 +25,12 @@ import { Box, Flex } from 'design'; import Table, { Cell } from 'design/DataTable'; import { MenuButton, MenuItem } from 'shared/components/MenuAction'; import { ToolTipInfo } from 'shared/components/ToolTip'; +import { useAsync } from 'shared/hooks/useAsync'; import { ResourceIcon } from 'design/ResourceIcon'; +import { saveOnDisk } from 'shared/utils/saveOnDisk'; + +import useStickyClusterId from 'teleport/useStickyClusterId'; +import api from 'teleport/services/api'; import { getStatusCodeDescription, @@ -65,6 +70,18 @@ export function IntegrationList(props: Props) { return { cursor: 'pointer' }; } + const [downloadAttempt, download] = useAsync( + async (clusterId: string, itemName: string) => { + return api + .fetch(cfg.getMsTeamsAppZipRoute(clusterId, itemName)) + .then(response => response.blob()) + .then(blob => { + saveOnDisk(blob, 'app.zip', 'application/zip'); + }); + } + ); + + const { clusterId } = useStickyClusterId(); return ( ) { View Status )} + {item.kind === 'msteams' && ( + download(clusterId, item.name)} + > + Download app.zip + + )} props.onDeletePlugin(item)}> Delete... diff --git a/web/packages/teleport/src/config.ts b/web/packages/teleport/src/config.ts index a429bc7f60ef0..e2fb3fce9da7a 100644 --- a/web/packages/teleport/src/config.ts +++ b/web/packages/teleport/src/config.ts @@ -382,6 +382,9 @@ const cfg = { '/v1/webapi/sites/:clusterId/lastseennotification', notificationStatePath: '/v1/webapi/sites/:clusterId/notificationstate', + msTeamsAppZipPath: + '/v1/webapi/sites/:clusterId/plugins/:plugin/files/msteams_app.zip', + yaml: { parse: '/v1/webapi/yaml/parse/:kind', stringify: '/v1/webapi/yaml/stringify/:kind', @@ -514,6 +517,10 @@ const cfg = { return generatePath(cfg.routes.integrationStatus, { type, name }); }, + getMsTeamsAppZipRoute(clusterId: string, plugin: string) { + return generatePath(cfg.api.msTeamsAppZipPath, { clusterId, plugin }); + }, + getNodesRoute(clusterId: string) { return generatePath(cfg.routes.nodes, { clusterId }); }, diff --git a/web/packages/teleport/src/services/integrations/types.ts b/web/packages/teleport/src/services/integrations/types.ts index 1a3d59d1c029f..dd1d5a33bbf2a 100644 --- a/web/packages/teleport/src/services/integrations/types.ts +++ b/web/packages/teleport/src/services/integrations/types.ts @@ -173,7 +173,8 @@ export type PluginSpec = | PluginMattermostSpec | PluginOpsgenieSpec | PluginDatadogSpec - | PluginEmailSpec; + | PluginEmailSpec + | PluginMsTeamsSpec; // PluginKind represents the type of the plugin // and should be the same value as defined in the backend (check master branch for the latest): @@ -233,6 +234,14 @@ export type PluginMattermostSpec = { reportToEmail: string; }; +export type PluginMsTeamsSpec = { + appID: string; + tenantID: string; + teamsAppID: string; + region: string; + defaultRecipient: string; +}; + export type PluginOpsgenieSpec = { defaultSchedules: string[]; }; From f19d1f5e49e9dcd0f0b77cdffef7f12c3e4ec33c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Smoli=C5=84ski?= Date: Fri, 8 Nov 2024 18:12:02 +0100 Subject: [PATCH 13/19] Update e ref (#48700) --- e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e b/e index cf01edbe47753..f98a11b613a9f 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit cf01edbe477532dab555ca116eef7f47b85d7de8 +Subproject commit f98a11b613a9f016960d8248243cc5f8eb38026d From db9eed13911ce6ea79f726e8b656a96eca5f516e Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 8 Nov 2024 11:14:16 -0600 Subject: [PATCH 14/19] Add owner property to TrustedDevices type (#48408) (#48694) This adds the owner property to our TrustedDevices type to support adding owner to our device trust table in `e` --- web/packages/teleport/src/DeviceTrust/types.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/packages/teleport/src/DeviceTrust/types.ts b/web/packages/teleport/src/DeviceTrust/types.ts index f857fdde0a665..04ca93e7f75b9 100644 --- a/web/packages/teleport/src/DeviceTrust/types.ts +++ b/web/packages/teleport/src/DeviceTrust/types.ts @@ -22,7 +22,8 @@ export type TrustedDevice = { id: string; assetTag: string; osType: TrustedDeviceOSType; - enrollStatus: string; + enrollStatus: 'Enrolled' | 'Not Enrolled'; + owner?: string; }; export type TrustedDeviceOSType = 'Windows' | 'Linux' | 'macOS'; From b3e27eea7d694563a3d8eccc9e58b04ea692e93c Mon Sep 17 00:00:00 2001 From: Marco Dinis Date: Fri, 8 Nov 2024 17:25:24 +0000 Subject: [PATCH 15/19] Fix EKS Discover flow fields (#48691) At a previous PR we added two new fields in the UI and backend, but failed to add them to the layers in between (grpc service). This PR adds them and also fixes a typo on the EndpointPublicAccess field name. --- .../integration/v1/awsoidc_service.pb.go | 245 ++++++++++-------- .../integration/v1/awsoidc_service.proto | 7 + lib/auth/integration/integrationv1/awsoidc.go | 23 +- .../integration/integrationv1/awsoidc_test.go | 36 +++ lib/integrations/awsoidc/eks_list_clusters.go | 20 +- .../awsoidc/eks_list_clusters_test.go | 24 +- lib/web/ui/server.go | 28 +- .../EnrollEKSCluster/EksClustersList.tsx | 2 +- .../EnrollEKSCluster.test.tsx | 2 +- .../EnrollEksCluster.story.tsx | 10 +- .../src/services/integrations/types.ts | 4 +- 11 files changed, 240 insertions(+), 161 deletions(-) diff --git a/api/gen/proto/go/teleport/integration/v1/awsoidc_service.pb.go b/api/gen/proto/go/teleport/integration/v1/awsoidc_service.pb.go index 8bf7ce97a4bc1..0a0850f3979fe 100644 --- a/api/gen/proto/go/teleport/integration/v1/awsoidc_service.pb.go +++ b/api/gen/proto/go/teleport/integration/v1/awsoidc_service.pb.go @@ -2276,6 +2276,13 @@ type EKSCluster struct { // Known values are: // CREATING | ACTIVE | DELETING | FAILED | UPDATING | PENDING Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + // EndpointPublicAccess indicates whether this EKS Cluster is accessible publicly. + // If only private access is available, then the EKS Cluster can't be enrolled from Teleport Cloud. + EndpointPublicAccess bool `protobuf:"varint,7,opt,name=endpoint_public_access,json=endpointPublicAccess,proto3" json:"endpoint_public_access,omitempty"` + // AuthenticationMode is the allowed authentication mode for the cluster. + // Known values are: + // API | API_AND_CONFIG_MAP | CONFIG_MAP + AuthenticationMode string `protobuf:"bytes,8,opt,name=authentication_mode,json=authenticationMode,proto3" json:"authentication_mode,omitempty"` } func (x *EKSCluster) Reset() { @@ -2350,6 +2357,20 @@ func (x *EKSCluster) GetStatus() string { return "" } +func (x *EKSCluster) GetEndpointPublicAccess() bool { + if x != nil { + return x.EndpointPublicAccess + } + return false +} + +func (x *EKSCluster) GetAuthenticationMode() string { + if x != nil { + return x.AuthenticationMode + } + return "" +} + // ListEKSClustersResponse contains a page of AWS EKS Clusters. type ListEKSClustersResponse struct { state protoimpl.MessageState @@ -2835,7 +2856,7 @@ var file_teleport_integration_v1_awsoidc_service_proto_rawDesc = []byte{ 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0xfb, 0x02, 0x0a, 0x0a, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x6b, 0x65, 0x6e, 0x22, 0xe2, 0x03, 0x0a, 0x0a, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x10, @@ -2851,122 +2872,128 @@ var file_teleport_integration_v1_awsoidc_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6a, 0x6f, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x79, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4a, 0x0a, 0x0b, - 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, - 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x22, 0x58, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x32, 0xb0, 0x0a, 0x0a, 0x0e, 0x41, 0x57, 0x53, 0x4f, 0x49, 0x44, 0x43, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x49, 0x43, - 0x45, 0x12, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, + 0x13, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x4a, 0x6f, 0x69, + 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x79, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x4a, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x22, + 0x58, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x6e, + 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x32, 0xb0, 0x0a, 0x0a, 0x0e, 0x41, 0x57, + 0x53, 0x4f, 0x49, 0x44, 0x43, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x49, 0x43, 0x45, 0x12, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, + 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x49, 0x43, 0x45, 0x12, 0x2a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x45, 0x49, 0x43, 0x45, 0x12, 0x2a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2d, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, - 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x49, 0x43, 0x45, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x50, - 0x43, 0x73, 0x12, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x49, 0x43, 0x45, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x56, 0x50, 0x43, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x50, 0x43, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, + 0x08, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x50, 0x43, 0x73, 0x12, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x50, 0x43, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x50, 0x43, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, + 0x01, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6e, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7a, 0x0a, 0x11, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x07, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x43, 0x32, 0x12, 0x27, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x43, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x43, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, - 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x53, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x11, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x45, 0x4b, 0x53, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x43, 0x32, 0x12, 0x27, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x43, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x43, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x74, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x4b, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, + 0x24, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x5a, 0x5a, 0x58, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/proto/teleport/integration/v1/awsoidc_service.proto b/api/proto/teleport/integration/v1/awsoidc_service.proto index 699b6721d86ab..69564d0c4d663 100644 --- a/api/proto/teleport/integration/v1/awsoidc_service.proto +++ b/api/proto/teleport/integration/v1/awsoidc_service.proto @@ -515,6 +515,13 @@ message EKSCluster { // Known values are: // CREATING | ACTIVE | DELETING | FAILED | UPDATING | PENDING string status = 6; + // EndpointPublicAccess indicates whether this EKS Cluster is accessible publicly. + // If only private access is available, then the EKS Cluster can't be enrolled from Teleport Cloud. + bool endpoint_public_access = 7; + // AuthenticationMode is the allowed authentication mode for the cluster. + // Known values are: + // API | API_AND_CONFIG_MAP | CONFIG_MAP + string authentication_mode = 8; } // ListEKSClustersResponse contains a page of AWS EKS Clusters. diff --git a/lib/auth/integration/integrationv1/awsoidc.go b/lib/auth/integration/integrationv1/awsoidc.go index abc6446662182..d903dd22914c6 100644 --- a/lib/auth/integration/integrationv1/awsoidc.go +++ b/lib/auth/integration/integrationv1/awsoidc.go @@ -687,15 +687,7 @@ func (s *AWSOIDCService) ListEKSClusters(ctx context.Context, req *integrationpb clustersList := make([]*integrationpb.EKSCluster, 0, len(listEKSClustersResp.Clusters)) for _, cluster := range listEKSClustersResp.Clusters { - clusterPb := &integrationpb.EKSCluster{ - Name: cluster.Name, - Region: cluster.Region, - Arn: cluster.Arn, - Labels: cluster.Labels, - JoinLabels: cluster.JoinLabels, - Status: cluster.Status, - } - clustersList = append(clustersList, clusterPb) + clustersList = append(clustersList, convertEKSCluster(cluster)) } return &integrationpb.ListEKSClustersResponse{ @@ -704,6 +696,19 @@ func (s *AWSOIDCService) ListEKSClusters(ctx context.Context, req *integrationpb }, nil } +func convertEKSCluster(clusterService awsoidc.EKSCluster) *integrationpb.EKSCluster { + return &integrationpb.EKSCluster{ + Name: clusterService.Name, + Region: clusterService.Region, + Arn: clusterService.Arn, + Labels: clusterService.Labels, + JoinLabels: clusterService.JoinLabels, + Status: clusterService.Status, + EndpointPublicAccess: clusterService.EndpointPublicAccess, + AuthenticationMode: clusterService.AuthenticationMode, + } +} + // ListSubnets returns a list of AWS VPC subnets. func (s *AWSOIDCService) ListSubnets(ctx context.Context, req *integrationpb.ListSubnetsRequest) (*integrationpb.ListSubnetsResponse, error) { authCtx, err := s.authorizer.Authorize(ctx) diff --git a/lib/auth/integration/integrationv1/awsoidc_test.go b/lib/auth/integration/integrationv1/awsoidc_test.go index b0ecdc525acd8..f6cd0e925a48f 100644 --- a/lib/auth/integration/integrationv1/awsoidc_test.go +++ b/lib/auth/integration/integrationv1/awsoidc_test.go @@ -431,3 +431,39 @@ func TestRBAC(t *testing.T) { } }) } + +func TestConvertEKSCluster(t *testing.T) { + for _, tt := range []struct { + name string + input awsoidc.EKSCluster + expected *integrationv1.EKSCluster + }{ + { + name: "valid", + input: awsoidc.EKSCluster{ + Name: "my-cluster", + Region: "us-east-1", + Arn: "my-arn", + Labels: map[string]string{}, + JoinLabels: map[string]string{}, + Status: "ACTIVE", + AuthenticationMode: "API", + EndpointPublicAccess: true, + }, + expected: &integrationv1.EKSCluster{ + Name: "my-cluster", + Region: "us-east-1", + Arn: "my-arn", + Labels: map[string]string{}, + JoinLabels: map[string]string{}, + Status: "ACTIVE", + AuthenticationMode: "API", + EndpointPublicAccess: true, + }, + }, + } { + t.Run(tt.name, func(t *testing.T) { + require.Equal(t, tt.expected, convertEKSCluster(tt.input)) + }) + } +} diff --git a/lib/integrations/awsoidc/eks_list_clusters.go b/lib/integrations/awsoidc/eks_list_clusters.go index 4079f98034b1b..f24c7ec1f6102 100644 --- a/lib/integrations/awsoidc/eks_list_clusters.go +++ b/lib/integrations/awsoidc/eks_list_clusters.go @@ -79,9 +79,9 @@ type EKSCluster struct { // https://aws.amazon.com/blogs/containers/a-deep-dive-into-simplified-amazon-eks-access-management-controls/ AuthenticationMode string - // EndpointPublicAddress indicates whether the Cluster's VPC Config has its endpoint as a public address. + // EndpointPublicAccess indicates whether the Cluster's VPC Config has its endpoint as a public address. // For Teleport Cloud, this is required to access the cluster and proceed with the installation. - EndpointPublicAddress bool + EndpointPublicAccess bool } // ListEKSClustersResponse contains a page of AWS EKS Clusters. @@ -171,14 +171,14 @@ func ListEKSClusters(ctx context.Context, clt ListEKSClustersClient, req ListEKS } ret.Clusters = append(ret.Clusters, EKSCluster{ - Name: aws.ToString(cluster.Name), - Region: req.Region, - Arn: aws.ToString(cluster.Arn), - Labels: cluster.Tags, - JoinLabels: extraLabels, - Status: strings.ToLower(string(cluster.Status)), - AuthenticationMode: string(cluster.AccessConfig.AuthenticationMode), - EndpointPublicAddress: cluster.ResourcesVpcConfig.EndpointPublicAccess, + Name: aws.ToString(cluster.Name), + Region: req.Region, + Arn: aws.ToString(cluster.Arn), + Labels: cluster.Tags, + JoinLabels: extraLabels, + Status: strings.ToLower(string(cluster.Status)), + AuthenticationMode: string(cluster.AccessConfig.AuthenticationMode), + EndpointPublicAccess: cluster.ResourcesVpcConfig.EndpointPublicAccess, }) return nil }) diff --git a/lib/integrations/awsoidc/eks_list_clusters_test.go b/lib/integrations/awsoidc/eks_list_clusters_test.go index 64298bdc6fc4d..9fe472d8cb659 100644 --- a/lib/integrations/awsoidc/eks_list_clusters_test.go +++ b/lib/integrations/awsoidc/eks_list_clusters_test.go @@ -178,9 +178,9 @@ func TestListEKSClusters(t *testing.T) { "region": "us-east-1", "teleport.dev/cloud": "AWS", }, - Status: "active", - AuthenticationMode: "API", - EndpointPublicAddress: true, + Status: "active", + AuthenticationMode: "API", + EndpointPublicAccess: true, }, }, expectedFetchingErrors: map[string]error{}, @@ -224,9 +224,9 @@ func TestListEKSClusters(t *testing.T) { "region": "us-east-1", "teleport.dev/cloud": "AWS", }, - Status: "active", - AuthenticationMode: "API", - EndpointPublicAddress: true, + Status: "active", + AuthenticationMode: "API", + EndpointPublicAccess: true, }, { Name: "EKS2", @@ -238,9 +238,9 @@ func TestListEKSClusters(t *testing.T) { "region": "us-east-1", "teleport.dev/cloud": "AWS", }, - Status: "active", - AuthenticationMode: "API", - EndpointPublicAddress: true, + Status: "active", + AuthenticationMode: "API", + EndpointPublicAccess: true, }, }, expectedFetchingErrors: map[string]error{}, @@ -296,9 +296,9 @@ func TestListEKSClusters(t *testing.T) { "region": "us-east-1", "teleport.dev/cloud": "AWS", }, - Status: "active", - AuthenticationMode: "API", - EndpointPublicAddress: true, + Status: "active", + AuthenticationMode: "API", + EndpointPublicAccess: true, }, }, expectedFetchingErrors: map[string]error{"erroredCluster": errors.New("erroredCluster")}, diff --git a/lib/web/ui/server.go b/lib/web/ui/server.go index df68f3bcff277..9921307c48134 100644 --- a/lib/web/ui/server.go +++ b/lib/web/ui/server.go @@ -103,12 +103,14 @@ func MakeServer(clusterName string, server types.Server, logins []string, requir // EKSCluster represents and EKS cluster, analog of awsoidc.EKSCluster, but used by web ui. type EKSCluster struct { - Name string `json:"name"` - Region string `json:"region"` - Arn string `json:"arn"` - Labels []ui.Label `json:"labels"` - JoinLabels []ui.Label `json:"joinLabels"` - Status string `json:"status"` + Name string `json:"name"` + Region string `json:"region"` + Arn string `json:"arn"` + Labels []ui.Label `json:"labels"` + JoinLabels []ui.Label `json:"joinLabels"` + Status string `json:"status"` + EndpointPublicAccess bool `json:"endpointPublicAccess"` + AuthenticationMode string `json:"authenticationMode"` } // KubeCluster describes a kube cluster. @@ -149,12 +151,14 @@ func MakeEKSClusters(clusters []*integrationv1.EKSCluster) []EKSCluster { for _, cluster := range clusters { uiEKSClusters = append(uiEKSClusters, EKSCluster{ - Name: cluster.Name, - Region: cluster.Region, - Arn: cluster.Arn, - Labels: ui.MakeLabelsWithoutInternalPrefixes(cluster.Labels), - JoinLabels: ui.MakeLabelsWithoutInternalPrefixes(cluster.JoinLabels), - Status: cluster.Status, + Name: cluster.Name, + Region: cluster.Region, + Arn: cluster.Arn, + Labels: ui.MakeLabelsWithoutInternalPrefixes(cluster.Labels), + JoinLabels: ui.MakeLabelsWithoutInternalPrefixes(cluster.JoinLabels), + Status: cluster.Status, + EndpointPublicAccess: cluster.EndpointPublicAccess, + AuthenticationMode: cluster.AuthenticationMode, }) } return uiEKSClusters diff --git a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EksClustersList.tsx b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EksClustersList.tsx index 24b4702317545..711efb508c861 100644 --- a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EksClustersList.tsx +++ b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EksClustersList.tsx @@ -142,7 +142,7 @@ function disabledStates( }; } - if (cfg.isCloud && !item.endpointPublicAddress) { + if (cfg.isCloud && !item.endpointPublicAccess) { return { disabled: true, disabledText: diff --git a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEKSCluster.test.tsx b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEKSCluster.test.tsx index 462c8d691cff5..2b92c007131d8 100644 --- a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEKSCluster.test.tsx +++ b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEKSCluster.test.tsx @@ -215,7 +215,7 @@ const mockEKSClusters: AwsEksCluster[] = [ labels: [], joinLabels: [], authenticationMode: 'API', - endpointPublicAddress: true, + endpointPublicAccess: true, }, ]; diff --git a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEksCluster.story.tsx b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEksCluster.story.tsx index 0fc0eb811025e..9d56b991445f9 100644 --- a/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEksCluster.story.tsx +++ b/web/packages/teleport/src/Discover/Kubernetes/EnrollEKSCluster/EnrollEksCluster.story.tsx @@ -304,7 +304,7 @@ const eksClusters: AwsEksCluster[] = [ { name: 'account-id', value: '1234567789012' }, ], authenticationMode: 'API', - endpointPublicAddress: true, + endpointPublicAccess: true, }, { name: 'EKS2', @@ -318,7 +318,7 @@ const eksClusters: AwsEksCluster[] = [ { name: 'account-id', value: '1234567789012' }, ], authenticationMode: 'API', - endpointPublicAddress: true, + endpointPublicAccess: true, }, { name: 'EKS3', @@ -332,7 +332,7 @@ const eksClusters: AwsEksCluster[] = [ { name: 'account-id', value: '1234567789012' }, ], authenticationMode: 'API', - endpointPublicAddress: true, + endpointPublicAccess: true, }, { name: 'EKS4', @@ -346,7 +346,7 @@ const eksClusters: AwsEksCluster[] = [ { name: 'account-id', value: '1234567789012' }, ], authenticationMode: 'CONFIG_MAP', - endpointPublicAddress: true, + endpointPublicAccess: true, }, { name: 'EKS5', @@ -360,6 +360,6 @@ const eksClusters: AwsEksCluster[] = [ { name: 'account-id', value: '1234567789012' }, ], authenticationMode: 'API_AND_CONFIG_MAP', - endpointPublicAddress: false, + endpointPublicAccess: false, }, ]; diff --git a/web/packages/teleport/src/services/integrations/types.ts b/web/packages/teleport/src/services/integrations/types.ts index dd1d5a33bbf2a..24650b13ed089 100644 --- a/web/packages/teleport/src/services/integrations/types.ts +++ b/web/packages/teleport/src/services/integrations/types.ts @@ -475,11 +475,11 @@ export type AwsEksCluster = { authenticationMode: 'API' | 'API_AND_CONFIG_MAP' | 'CONFIG_MAP'; /** - * EndpointPublicAddress indicates whether this cluster is publicly accessible. + * EndpointPublicAccess indicates whether this cluster is publicly accessible. * This is a requirement for Teleport Cloud tenants because the control plane must be able to access the EKS Cluster * in order to deploy the helm chart. */ - endpointPublicAddress: boolean; + endpointPublicAccess: boolean; }; export type EnrollEksClustersRequest = { From a9b50a9556a81f527161b6d42edc3fb135b2b77a Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 8 Nov 2024 12:05:57 -0600 Subject: [PATCH 16/19] Update e (#48703) --- e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e b/e index f98a11b613a9f..3586e2019653d 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit f98a11b613a9f016960d8248243cc5f8eb38026d +Subproject commit 3586e2019653d40bdff7a0d5d334358933f0a0db From 076cc939c6b7b027c01cb67ca34b0959fbfef86d Mon Sep 17 00:00:00 2001 From: Tim Buckley Date: Fri, 8 Nov 2024 11:07:55 -0700 Subject: [PATCH 17/19] [v17] Machine ID: Update documentation to reflect tbot CLI changes (#48656) * Machine ID: Update documentation to reflect tbot CLI changes This updates the tbot documentation to reflect the new UX changes for v17, including the new `tbot start` subcommands and runtime ACL management. * Add `tctl bots instances` subcommand reference docs Also tweaks troubleshooting steps to reference the new tctl subcommands for simpler instance creation. * Fix a few docs lints * Small wording fix * Linter appeasement * More linter appeasement * Update docs/pages/reference/cli/tbot.mdx Co-authored-by: Paul Gottschling * Adjust wording to explicitly state "example" is the bot name --------- Co-authored-by: Paul Gottschling --- .../machine-id/troubleshooting.mdx | 35 +- docs/pages/reference/cli/tbot.mdx | 321 +++++++++++++++++- docs/pages/reference/cli/tctl.mdx | 89 +++++ .../reference/machine-id/configuration.mdx | 21 +- 4 files changed, 440 insertions(+), 26 deletions(-) diff --git a/docs/pages/enroll-resources/machine-id/troubleshooting.mdx b/docs/pages/enroll-resources/machine-id/troubleshooting.mdx index ede717d90962c..2ed4956b245a1 100644 --- a/docs/pages/enroll-resources/machine-id/troubleshooting.mdx +++ b/docs/pages/enroll-resources/machine-id/troubleshooting.mdx @@ -31,6 +31,13 @@ some additional context: ### Explanation + +This applies only to bots using the `token` join method, which makes use of +one-time use shared secrets. Provider-specific join methods, such as GitHub, +AWS IAM, etc will not be locked in this fashion unless another instance of the +bot uses `token` joining. + + Machine ID (with token-based joining) uses a certificate generation counter to detect potentially stolen renewable certificates. Each time a bot fetches a new renewable certificate, the Auth Service increments the counter, stores it on the @@ -69,9 +76,11 @@ directories (usually `/opt/machine-id`) rather than the internal data directory Once you have addressed the underlying cause, follow these steps to reset a locked bot: 1. Remove the lock on the bot's user - 1. Reset the bot's generation counter by deleting and re-creating the bot + 1. Reset the bot's generation counter by creating a new bot instance -To remove the lock, first find and remove the lock targeting the bot user: +To remove the lock, first find and remove the lock targeting the bot user. For +this example, we'll assume the bot is named `example`, which will have an +associated Teleport user named `bot-example`: ```code $ tctl get locks @@ -89,15 +98,16 @@ version: v2 $ tctl rm lock/5cee949f-5203-4f3b-9805-dac35d798a16 ``` -Next, reset the generation counter by deleting and recreating the bot: +Next, use `tctl bots instances add` to generate a new join token for the +preexisting bot `example`: ```code -$ tctl bots rm example - -$ tctl bots add example --roles=foo,bar +$ tctl bots instances add example ``` -Finally, reconfigure the bot with the new token and restart it. It will detect -the new token and automatically reset its internal data directory. +Finally, reconfigure the local `tbot` instance with the new token and restart +it. It will detect the new token and automatically reset its internal data +directory. The bot will be issued a new bot instance UUID once connected, and +the generation counter will be reset. ## `tbot` shows a "bad certificate error" at startup @@ -123,8 +133,8 @@ fail." Token-joined bots are unable to reauthenticate to the Teleport Auth Service once their certificates have expired. Tokens in token-based joining (as opposed to -AWS IAM joining) can only be used once, so when the bot's internal certificates -expire, it will not be able to connect. +AWS IAM and other join methods) can only be used once, so when the bot's +internal certificates expire, it will not be able to connect. When a bot's identity expires, certain parameters associated with the bot on the Auth Service must be reset and a new joining token must be issued. The simplest @@ -133,11 +143,10 @@ server-side data and issues a new joining token. ### Resolution -Remove and recreate the bot, replacing the name and role list as desired: +Use `tctl bots instances add` to create a new one-time use token for the bot: ```code -$ tctl bots rm example -$ tctl bots add example --roles=access +$ tctl bots instances add example ``` Copy the resulting join token into the existing bot config—either the diff --git a/docs/pages/reference/cli/tbot.mdx b/docs/pages/reference/cli/tbot.mdx index 27b150d64bc45..4c474a7e96252 100644 --- a/docs/pages/reference/cli/tbot.mdx +++ b/docs/pages/reference/cli/tbot.mdx @@ -53,15 +53,20 @@ Additionally, be aware of the following limitations of `tbot db`: ## tbot init -Initializes a certificate destination directory for access from a separate bot user. Allows for certificates to be written to disks other than a Machine ID client, -configuring either file or POSIX ACL permissions. +Initializes a certificate destination directory for access from a separate bot +user. Allows for certificates to be written to disks other than a Machine ID +client, configuring either file or POSIX ACL permissions. + +Note that most use cases should instead use tbot's runtime ACL management by +specifying allowed reader users and groups in the +[destination configuration](../machine-id/configuration.mdx#directory). ### Flags | Flag | Description | |---------------------|--------------------------------------------------------------------------------------------------------------------| | `-d/--debug` | Enable verbose logging to stderr. | -| `-c/--config` | Path to a Machine ID configuration file. | +| `-c/--config` | Path to a Machine ID configuration file. | | `--destination-dir` | Directory to write short-lived machine certificates to. | | `--owner` | Defines the Linux `user:group` owner of `--destination-dir`. Defaults to the Linux user running `tbot` if unspecified. | | `--bot-user` | Enables POSIX ACLs and defines the Linux user that can read/write short-lived certificates to `--destination-dir`. | @@ -106,6 +111,10 @@ The `tbot proxy` command acts as a wrapper for `tsh proxy` to provide local prox Note that `tsh` must be installed to make use of this command. +Consider using one of the following dedicated tunnel modes where possible: +- [`tbot start application-tunnel`](#tbot-start-application-tunnel) +- [`tbot start database-tunnel`](#tbot-start-database-tunnel) + ### Flags | Flag | Description | @@ -123,11 +132,11 @@ login step. Additionally, the following should be noted: - Certain CLI parameters, for example `--help`, may be captured by -`tbot` even if intended to be passed to the wrapped `tsh`. A `--` argument can -be used to ensure all following arguments are passed to `tsh` and ignored by -`tbot` + `tbot` even if intended to be passed to the wrapped `tsh`. A `--` argument can + be used to ensure all following arguments are passed to `tsh` and ignored by + `tbot` - If no configuration file is provided, `tbot` will apply a sample configuration based on provided CLI flags. -For this reason, it is recommended that settings are explicitly applied to a configuration file in production. + For this reason, it is recommended that settings are explicitly applied to a configuration file in production. ### Examples @@ -191,9 +200,100 @@ using database proxies. | `--join-method` | Method to use to join the cluster. Can be `token` or `iam`. | | `--oneshot` | If set, quit after the first renewal. | +## tbot configure + +The `tbot configure` command is used to convert a `tbot start` CLI call into a +YAML configuration file. It supports all the same subcommands and flags as +[`tbot start`](#tbot-start), but prints an equivalent configuration instead of +starting a bot. + +For example, consider this `tbot start identity` CLI call: +```code +$ tbot start identity \ + --destination=./example \ + --join-method=token \ + --token=foo \ + --proxy-server=teleport.example.com:443 +``` + +To convert this CLI command into a configuration file, replace `tbot start` with +`tbot configure`: +```code +$ tbot configure identity \ + --destination=./example \ + --join-method=token \ + --token=foo \ + --proxy-server=teleport.example.com:443 +``` + +An equivalent YAML configuration will be printed, which can be written to a +file. The client can then be started using this configuration file: + +```code +$ tbot configure identity \ + --destination=./example \ + --join-method=token \ + --token=foo \ + --proxy-server=teleport.example.com:443 > tbot.yaml +$ tbot start -c tbot.yaml +``` + +### Flags + +This subcommand supports one additional flag beyond its `tbot start` equivalent: + +| Flag | Description | +|---------------|-------------| +| `-o/--output` | If set, writes the generated configuration to the given file path instead of stdout. | + ## tbot start -Starts the Machine ID client `tbot`, fetching and writing certificates to disk at a set interval. +The `tbot start` family of commands starts the Machine ID client in various +modes, depending on the type of resources to be accessed: + +- [`tbot start legacy`](#tbot-start-legacy): Starts with a YAML configuration file or in legacy output mode +- [`tbot start identity`](#tbot-start-identity): Starts with an identity output for SSH and Teleport API access +- [`tbot start database`](#tbot-start-database): Starts with a database credential output +- [`tbot start kubernetes`](#tbot-start-kubernetes): Starts with a Kubernetes output +- [`tbot start application`](#tbot-start-application): Starts with an application TLS credential output +- [`tbot start application-tunnel`](#tbot-start-application-tunnel): Starts a local application tunnel +- [`tbot start database-tunnel`](#tbot-start-database-tunnel): Starts a local database tunnel +- [`tbot start spiffe-svid`](#tbot-start-spiffe-svid): Starts a Workload ID SPIFFE SVID output + +If only `tbot start` is specified, `tbot start legacy` will be inferred by +default; this is the correct mode for use with a YAML configuration file. + +### Common Start Flags + +These flags are available to all `tbot start` commands. Note that +`tbot start legacy` supports slightly different options, so refer to its +specific section for details when using a YAML config file or legacy output. + +| Flag | Description | +|----------------------|-------------| +| `-d/--debug` | Enable verbose logging to stderr. | +| `--[no-]fips` | Whether to run tbot in FIPS compliance mode. This requires the FIPS `tbot` binary. | +| `--log-format` | Controls the format of output logs. Can be `json` or `text`. Defaults to `text`. | +| `-a/--auth-server` | Address of the Teleport Auth Service. Prefer using `--proxy-server` where possible. | +| `--proxy-server` | Address of the Teleport Proxy Server. | +| `--token` | A bot join token or path to file with token value, if attempting to onboard a new bot; used on first connect. | +| `--ca-pin` | CA pin to validate the Teleport Auth Service; used on first connect. | +| `--certificate-ttl` | TTL of short-lived machine certificates. | +| `--renewal-interval` | Interval at which short-lived certificates are renewed; must be less than the certificate TTL. | +| `--join-method` | Method to use to join the cluster. One of: `azure`, `circleci`, `gcp`, `github`, `gitlab`, `iam`, `kubernetes`, `spacelift`, `token`, `tpm`, `terraform_cloud` | +| `--[no-]oneshot` | If set, quit after the first renewal. | +| `--diag-addr` | If set and the bot is in debug mode, a diagnostics service will listen on specified address. | +| `--storage` | A destination URI for tbot's internal storage, e.g. `file:///foo/bar`. See [Destination URIs](#destination-uris) for more info. | + +## tbot start legacy + +Starts the Machine ID client `tbot`, fetching and writing certificates to disk +at a set interval. This command either starts from a configuration file if `-c` +is specified, or starts with a default, legacy-compatible identity output. + +This is the default `tbot start` subcommand if no other command is specified. +Unless using a configuration file, consider using `tbot start identity` or +another dedicated mode instead. ### Flags @@ -244,6 +344,189 @@ $ tbot start \ +## tbot start identity + +Starts the Machine ID client `tbot` with an identity output, fetching and +writing certificates at a regular interval to the output specified with +`--destination`. + +```code +$ tbot start identity --destination=DESTINATION [] +``` + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|----------------------|-------------| +| `--destination` | A destination URI, such as file:///foo/bar. See [Destination URIs](#destination-uris) for more info. Required. | +| `--reader-user` | An additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--reader-group` | An additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--cluster` | The name of a specific cluster for which to issue an identity if using a leaf cluster | + +### Examples + +To start a bot with a one-time-use join token: + +```code +$ tbot start identity \ + --proxy-server=example.teleport.sh:443 \ + --join-type=token \ + --token=TOKEN \ + --destination=./tbot-user \ + --storage=./tbot-data +``` + +## tbot start database + +Starts the Machine ID client `tbot` with a database output, fetching and writing +database certificates at a regular interval to the output specified with +`--destination`. + +```code +$ tbot start database --destination=DESTINATION --service=SERVICE --username=USERNAME --database=DATABASE [] +``` + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|----------------------|-------------| +| `--destination` | A destination URI, such as file:///foo/bar. See [Destination URIs](#destination-uris) for more info. Required. | +| `--reader-user` | An additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--reader-group` | An additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--format` | The database output format if necessary | +| `--service` | The service name of the database as it appears in Teleport and `tsh db ls`. Required. | +| `--username` | The database user name. The bot user must have permission to connect as this user. Required. | +| `--database` | The name of the database available in the requested service. Required. | + +## tbot start kubernetes + +Starts the Machine ID client `tbot` with a Kubernetes output, fetching and +writing Kubernetes credentials and a `kubeconfig.yaml` at a regular interval to +the output specified with `--destination`. + +```code +$ tbot start kubernetes --destination=DESTINATION --kubernetes-cluster=KUBERNETES-CLUSTER [] +``` + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|------------------------|-------------| +| `--destination` | A destination URI, such as file:///foo/bar. See [Destination URIs](#destination-uris) for more info. Required. | +| `--reader-user` | An additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--reader-group` | An additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--kubernetes-cluster` | The name of the Kubernetes cluster in Teleport for which to fetch credentials | + +## tbot start application + +Starts the Machine ID client `tbot` with an application output, fetching and +writing application TLS credentials at a regular interval to the output +specified with `--destination`. + +```code +$ tbot start application --destination=DESTINATION --app=APP [] +``` + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|----------------------|-------------| +| `--destination` | A destination URI, such as file:///foo/bar. See [Destination URIs](#destination-uris) for more info. Required. | +| `--reader-user` | An additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--reader-group` | An additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--app` | The name of the app in Teleport | + +## tbot start application-tunnel + +Starts the Machine ID client with a local tunnel to a particular application. +This tunnel will run continuously and automatically refresh its certificates. + +Note that this tunnel will be unencrypted. Be wary of the selected listen +address, and prefer to use `localhost` or an equivalent loopback interface +address when possible. Additionally, note that all users on the local system +will be able to access this socket. + +If you wish to tunnel multiple apps from one bot instance, use +`tbot configure application-tunnel ...` to generate a configuration file and +repeat the generated block under `services:` as desired. + +This tunneling method is preferred over the legacy [`tbot proxy app`](#tbot-proxy). + +```code +$ tbot start application-tunnel --listen=LISTEN --app=APP [] +``` + +### Flags + +| Flag | Description | +|------------|-------------| +| `--listen` | A socket URI to listen on, e.g. `tcp://localhost:1234`. Required. | +| `--app` | The name of the app in Teleport | + +## tbot start database-tunnel + +Starts the Machine ID client with a local tunnel to a particular database. +This tunnel will run continuously and automatically refresh its certificates. + +Note that this tunnel will be unencrypted. Be wary of the selected listen +address, and prefer to use `localhost` or an equivalent loopback interface +address when possible. Additionally, note that all users on the local system +will be able to access this socket. + +If you wish to tunnel multiple databases from one bot instance, use +`tbot configure database-tunnel ...` to generate a configuration file and repeat +the generated block under `services:` as desired. + +This tunneling method is preferred over the legacy +[`tbot proxy db`](#tbot-proxy), and is roughly equivalent to +`tbot proxy db --tunnel`. + +```code +$ tbot start database-tunnel --listen=LISTEN --service=SERVICE --username=USERNAME --database=DATABASE [] +``` + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|--------------|-------------| +| `--listen` | A socket URI to listen on, e.g. `tcp://localhost:1234`. Required. | +| `--service` | The service name of the database as it appears in Teleport and `tsh db ls`. Required. | +| `--username` | The database user name. The bot user must have permission to connect as this user. Required. | +| `--database` | The name of the database available in the requested service. Required. | + +## tbot start spiffe-svid + +### Flags + +In addition to the [common `tbot start` flags](#common-start-flags), this +command supports these additional flags: + +| Flag | Description | +|----------------------|-------------| +| `--destination` | A destination URI, such as file:///foo/bar. See [Destination URIs](#destination-uris) for more info. Required. | +| `--reader-user` | An additional user name or UID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--reader-group` | An additional group name or GID that should be allowed by ACLs to read this destination. Only valid for file destinations on Linux. | +| `--[no-]include-federated-trust-bundles` | If set, include federated trust bundles in the output | +| `--svid-path` | A SPIFFE ID to request, prefixed with '/'. Required. | +| `--svid-hint` | An optional hint for consumers of the SVID to aid in identification | +| `--dns-san` | A DNS name that should be included in the SVID. Repeatable. | +| `--ip-san` | An IP address that should be included in the SVID. Repeatable. | + ## tbot install systemd Generates and installs a systemd unit file for a specific tbot configuration. @@ -266,5 +549,23 @@ Generates and installs a systemd unit file for a specific tbot configuration. ```code $ tbot install systemd \ --config=/etc/tbot.yaml \ - ---write -``` \ No newline at end of file + --write +``` + +## Destination URIs + +Many `tbot start` subcommands accept destination URIs via the `--storage` and +`--destination` flags. + +| Protocol | Description | +|------------------------|-------------| +| `file://` | A local directory destination, such as `file:///foo/bar/` | +| `memory://` | An in-memory destination. Useful for internal bot storage if no persistence is required. | +| `kubernetes-secret://` | A Kubernetes secret destination, such as `kubernetes-secret:///my-secret` | + +Plain file paths are also be accepted with no `file://` prefix; these will be +treated as directory outputs. + +Note that `tbot start legacy` only supports directory output destinations via +the `--destination-dir` flag, though it does support URIs for `--storage`. All +other `tbot start` subcommands accept these URIs where relevant. diff --git a/docs/pages/reference/cli/tctl.mdx b/docs/pages/reference/cli/tctl.mdx index b83e35f76735c..1e86e7e6bb25d 100644 --- a/docs/pages/reference/cli/tctl.mdx +++ b/docs/pages/reference/cli/tctl.mdx @@ -426,6 +426,95 @@ $ tctl bots add example --roles=access --logins=root These flags are available for all commands: `--debug, --config`. Run `tctl help ` or see the [Global Flags section](#tctl-global-flags). +## tctl bots instances add + +Onboard a new instance of an existing bot with a one-time use join token: + +```code +$ tctl bots instances add [flags] +``` + +Note that a new instance will not be generated immediately; the bot will appear +in `tctl bots instances list` as soon as it joins the cluster and is allocated a +UUID. + +### Arguments + +- `` - the name of the existing bot for which a new join token should be + generated + +### Flags + +| Name | Default Value(s) | Allowed Value(s) | Description | +| - | - | - | - | +| `--token` | none | String name of an existing join token. | Optional. Specifies an existing join token to be used rather than creating one as part of the Bot creation. | +| `--format` | `text` | `text`, `json` | If set to `json`, return new bot information as a machine-readable JSON string. | + +### Examples + +This generates a new one-time use join token for the bot named "example", +without modifying roles or other configuration: + +```code +$ tctl bots instances add example +``` + +### Global flags + +These flags are available for all commands: `--debug, --config`. Run +`tctl help ` or see the [Global Flags section](#tctl-global-flags). + +## tctl bots instances list + +List all current instances of a Machine ID bot: + +```code +$ tctl bots instances list [] +``` + +### Arguments + +- `[]` - an optional bot name. If provided, filters the result to show + only instances for the named bot. Otherwise, shows all instances for all bots. + +### Examples + +This shows all known instances for the bot named "example": + +```code +$ tctl bots instance list example +``` + +### Global flags + +These flags are available for all commands: `--debug, --config`. Run +`tctl help ` or see the [Global Flags section](#tctl-global-flags). + +## tctl bots instances show + +Shows details about a particular instance of a bot, including join metadata and +current status: + +```code +$ tctl bots instances show / +``` + +### Arguments + +- `` - the name of the existing bot +- `` - the UUID of the existing bot instance, as shown in `tctl bots instance list` + +### Examples + +```code +$ tctl bots instances show example/28e605c9-2fe1-423f-afe1-5122335e1c75 +``` + +### Global flags + +These flags are available for all commands: `--debug, --config`. Run +`tctl help ` or see the [Global Flags section](#tctl-global-flags). + ## tctl bots ls Lists all Machine ID Bots: diff --git a/docs/pages/reference/machine-id/configuration.mdx b/docs/pages/reference/machine-id/configuration.mdx index e571de8dc5d19..5974df5f81038 100644 --- a/docs/pages/reference/machine-id/configuration.mdx +++ b/docs/pages/reference/machine-id/configuration.mdx @@ -8,11 +8,10 @@ This reference documents the various options that can be configured in the `tbot configuration file. This configuration file offers more control than configuring `tbot` using CLI parameters alone. -To configure `tbot` to use a configuration file, specify the path with the `-c` -flag: +To run `tbot` with a configuration file, specify the path with the `-c` flag: ```code -$ tbot -c ./tbot.yaml +$ tbot start -c ./tbot.yaml ``` In this reference, the term **artifact** refers an item that `tbot` writes to a @@ -918,6 +917,7 @@ path: /opt/machine-id # if unsupported. # * insecure: Quietly allow symlinks in paths. symlinks: try-secure + # acls configures whether Linux Access Control List (ACL) setup should occur for # this destination. # Requires Linux with a file system that supports ACLs. @@ -928,6 +928,21 @@ symlinks: try-secure # * required: Always use ACLs, produce a hard error at runtime if ACLs # are invalid. acls: try + +# readers is a list of users and groups that will be allowed by ACL to access +# this directory output. The `acls` parameter must be either `try` or +# `required`. File ACLs will be monitored and corrected at runtime to ensure +# they match this configuration. +# Individual entries may either specify `user` or `group`, but not both. `user` +# accepts an existing named user or a UID, and `group` accepts an existing named +# group or GID. UIDs and GIDs do not necessarily need to exist on the local +# system. +# An empty list of readers disables runtime ACL management. +readers: +- user: teleport +- user: 123 +- group: teleport +- group: 456 ``` ### `memory` From de5d8ac29a0b1f7e9caaa1179597ed7b6d6dfe27 Mon Sep 17 00:00:00 2001 From: Lisa Kim Date: Fri, 8 Nov 2024 13:10:03 -0800 Subject: [PATCH 18/19] [v17] Web: fix pointer events disabling hover badges on integration tiles (#48685) * Web: fix pointer events disabling hover badges on integration tiles * Add hover badge test * Increase z-index of styled react-select --- web/packages/shared/components/Select/Select.tsx | 1 + .../Integrations/Enroll/IntegrationTiles.test.tsx | 13 +++++++++++-- .../teleport/src/Integrations/Enroll/common.tsx | 10 ++++------ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/web/packages/shared/components/Select/Select.tsx b/web/packages/shared/components/Select/Select.tsx index 8a14974e2c303..2f86a5d87a0cf 100644 --- a/web/packages/shared/components/Select/Select.tsx +++ b/web/packages/shared/components/Select/Select.tsx @@ -395,6 +395,7 @@ const StyledSelect = styled.div<{ } } .react-select__menu { + z-index: 10; margin-top: 0px; // If the component is on an elevated platform (such as a dialog), use a lighter background. background-color: ${props => diff --git a/web/packages/teleport/src/Integrations/Enroll/IntegrationTiles.test.tsx b/web/packages/teleport/src/Integrations/Enroll/IntegrationTiles.test.tsx index 8bc08a493bbcc..73c55b0b06eb9 100644 --- a/web/packages/teleport/src/Integrations/Enroll/IntegrationTiles.test.tsx +++ b/web/packages/teleport/src/Integrations/Enroll/IntegrationTiles.test.tsx @@ -18,7 +18,7 @@ import React from 'react'; import { MemoryRouter } from 'react-router'; -import { render, screen } from 'design/utils/testing'; +import { render, screen, userEvent } from 'design/utils/testing'; import cfg from 'teleport/config'; @@ -51,8 +51,10 @@ test('render disabled', async () => { ); - expect(screen.getByText(/lacking permission/i)).toBeInTheDocument(); expect(screen.queryByRole('link')).not.toBeInTheDocument(); + expect( + screen.queryByText(/request additional permissions/i) + ).not.toBeInTheDocument(); const tile = screen.getByTestId('tile-aws-oidc'); expect(tile).not.toHaveAttribute('href'); @@ -61,6 +63,13 @@ test('render disabled', async () => { // so "toBeDisabled" interprets it as false. // eslint-disable-next-line jest-dom/prefer-enabled-disabled expect(tile).toHaveAttribute('disabled'); + + // Disabled states have badges on them. Test it renders on hover. + const badge = screen.getByText(/lacking permission/i); + await userEvent.hover(badge); + expect( + screen.getByText(/request additional permissions/i) + ).toBeInTheDocument(); }); test('dont render External Audit Storage for enterprise unless it is cloud', async () => { diff --git a/web/packages/teleport/src/Integrations/Enroll/common.tsx b/web/packages/teleport/src/Integrations/Enroll/common.tsx index 821e85c221773..d319aa07f83e2 100644 --- a/web/packages/teleport/src/Integrations/Enroll/common.tsx +++ b/web/packages/teleport/src/Integrations/Enroll/common.tsx @@ -35,12 +35,11 @@ export const IntegrationTile = styled(Flex)<{ width: 170px; background-color: ${({ theme }) => theme.colors.buttons.secondary.default}; text-align: center; - cursor: pointer; - + cursor: ${({ disabled, $exists }) => + disabled || $exists ? 'default' : 'pointer'}; ${props => { - const pointerEvents = props.disabled || props.$exists ? 'none' : 'auto'; if (props.$exists) { - return { pointerEvents }; + return; } return ` @@ -48,9 +47,8 @@ export const IntegrationTile = styled(Flex)<{ &:hover { background-color: ${props.theme.colors.buttons.secondary.hover}; } - pointer-events: ${pointerEvents}; `; - }} + }}; `; export const NoCodeIntegrationDescription = () => ( From 5151b3530876b68d087fc9c6759bf4c75f943cf3 Mon Sep 17 00:00:00 2001 From: Roman Tkachenko Date: Fri, 8 Nov 2024 13:40:26 -0800 Subject: [PATCH 19/19] Release 17.0.0-beta.1 (#48711) --- Makefile | 2 +- api/version.go | 2 +- e | 2 +- examples/chart/access/datadog/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/discord/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/email/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 24 +++---- .../__snapshot__/deployment_test.yaml.snap | 58 ++++++++-------- examples/chart/access/jira/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/mattermost/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 28 ++++---- examples/chart/access/msteams/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/pagerduty/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/access/slack/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/event-handler/Chart.yaml | 2 +- .../__snapshot__/configmap_test.yaml.snap | 4 +- .../__snapshot__/deployment_test.yaml.snap | 6 +- examples/chart/tbot/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 8 +-- examples/chart/teleport-cluster/Chart.yaml | 2 +- .../charts/teleport-operator/Chart.yaml | 2 +- .../auth_clusterrole_test.yaml.snap | 4 +- .../__snapshot__/auth_config_test.yaml.snap | 4 +- .../auth_deployment_test.yaml.snap | 8 +-- .../__snapshot__/proxy_config_test.yaml.snap | 4 +- .../proxy_deployment_test.yaml.snap | 36 +++++----- examples/chart/teleport-kube-agent/Chart.yaml | 2 +- .../__snapshot__/deployment_test.yaml.snap | 60 ++++++++--------- .../tests/__snapshot__/job_test.yaml.snap | 10 +-- .../__snapshot__/statefulset_test.yaml.snap | 66 +++++++++---------- .../updater_deployment_test.yaml.snap | 4 +- 44 files changed, 216 insertions(+), 216 deletions(-) diff --git a/Makefile b/Makefile index f0abd7c499061..0239edb7844b8 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ # Stable releases: "1.0.0" # Pre-releases: "1.0.0-alpha.1", "1.0.0-beta.2", "1.0.0-rc.3" # Master/dev branch: "1.0.0-dev" -VERSION=17.0.0-alpha.5 +VERSION=17.0.0-beta.1 DOCKER_IMAGE ?= teleport diff --git a/api/version.go b/api/version.go index b75f3224c566c..ab8db9f2bacc8 100644 --- a/api/version.go +++ b/api/version.go @@ -3,6 +3,6 @@ package api import "github.com/coreos/go-semver/semver" -const Version = "17.0.0-alpha.5" +const Version = "17.0.0-beta.1" var SemVersion = semver.New(Version) diff --git a/e b/e index 3586e2019653d..f23f476399211 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit 3586e2019653d40bdff7a0d5d334358933f0a0db +Subproject commit f23f4763992111a317406d0d8840dd654bb60c09 diff --git a/examples/chart/access/datadog/Chart.yaml b/examples/chart/access/datadog/Chart.yaml index 857f2e50a0b9d..10524dfbac12a 100644 --- a/examples/chart/access/datadog/Chart.yaml +++ b/examples/chart/access/datadog/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap index eb826c42cd921..722fd7d6688a7 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-datadog-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-datadog-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-datadog diff --git a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap index 3b30949a2271f..4e5a57c3af492 100644 --- a/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/datadog/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-datadog-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-datadog-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-datadog spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-datadog - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-datadog-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-datadog-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/access/discord/Chart.yaml b/examples/chart/access/discord/Chart.yaml index a53127403fd18..df740254828ef 100644 --- a/examples/chart/access/discord/Chart.yaml +++ b/examples/chart/access/discord/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap index 8b36928db4481..530e2e04bad3e 100644 --- a/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-discord-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-discord-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-discord diff --git a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap index bef44e7a00c7c..dfe5d67d9c436 100644 --- a/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/discord/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-discord-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-discord-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-discord spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-discord - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-discord-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-discord-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/access/email/Chart.yaml b/examples/chart/access/email/Chart.yaml index 559e6062fa873..10d0ff0a35de0 100644 --- a/examples/chart/access/email/Chart.yaml +++ b/examples/chart/access/email/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap index 9928224c3c5ec..8332d0750c9c7 100644 --- a/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/configmap_test.yaml.snap @@ -26,8 +26,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on): 1: | @@ -59,8 +59,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, no starttls): 1: | @@ -92,8 +92,8 @@ should match the snapshot (smtp on, no starttls): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, password file): 1: | @@ -125,8 +125,8 @@ should match the snapshot (smtp on, password file): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, roleToRecipients set): 1: | @@ -161,8 +161,8 @@ should match the snapshot (smtp on, roleToRecipients set): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email should match the snapshot (smtp on, starttls disabled): 1: | @@ -194,6 +194,6 @@ should match the snapshot (smtp on, starttls disabled): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email diff --git a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap index fe55ec8319e52..ac014f0858767 100644 --- a/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/email/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -22,8 +22,8 @@ should be possible to override volume name (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -34,7 +34,7 @@ should be possible to override volume name (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -75,8 +75,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -90,8 +90,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -136,8 +136,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -151,8 +151,8 @@ should match the snapshot (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -163,7 +163,7 @@ should match the snapshot (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -204,8 +204,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -219,8 +219,8 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -231,7 +231,7 @@ should match the snapshot (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -272,8 +272,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -287,8 +287,8 @@ should mount external secret (mailgun on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -299,7 +299,7 @@ should mount external secret (mailgun on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: @@ -340,8 +340,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-email spec: replicas: 1 @@ -355,8 +355,8 @@ should mount external secret (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-email - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-email-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-email-17.0.0-beta.1 spec: containers: - command: @@ -367,7 +367,7 @@ should mount external secret (smtp on): env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-email:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-email ports: diff --git a/examples/chart/access/jira/Chart.yaml b/examples/chart/access/jira/Chart.yaml index d4ef03806e4d2..13d99f6d05220 100644 --- a/examples/chart/access/jira/Chart.yaml +++ b/examples/chart/access/jira/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap index 05f2215fc3835..8c85dad3d94fd 100644 --- a/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/configmap_test.yaml.snap @@ -32,6 +32,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-jira-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-jira-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-jira diff --git a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap index f396bcfe116c0..ff232aa112c95 100644 --- a/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/jira/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-jira-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-jira-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-jira spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-jira - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-jira-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-jira-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/access/mattermost/Chart.yaml b/examples/chart/access/mattermost/Chart.yaml index e0410b1507ef2..bc9756bcc4a21 100644 --- a/examples/chart/access/mattermost/Chart.yaml +++ b/examples/chart/access/mattermost/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap index 58c77cff00463..f87d6629a70e5 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/configmap_test.yaml.snap @@ -22,6 +22,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-mattermost diff --git a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap index f674ec05bdbe5..314db75b32662 100644 --- a/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/mattermost/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 spec: containers: - command: @@ -75,8 +75,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -90,8 +90,8 @@ should mount external secret: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 spec: containers: - command: @@ -102,7 +102,7 @@ should mount external secret: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: @@ -143,8 +143,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-mattermost spec: replicas: 1 @@ -158,8 +158,8 @@ should override volume name: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-mattermost - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-mattermost-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-mattermost-17.0.0-beta.1 spec: containers: - command: @@ -170,7 +170,7 @@ should override volume name: env: - name: TELEPORT_PLUGIN_FAIL_FAST value: "true" - image: public.ecr.aws/gravitational/teleport-plugin-mattermost:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-mattermost:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-mattermost ports: diff --git a/examples/chart/access/msteams/Chart.yaml b/examples/chart/access/msteams/Chart.yaml index 03314583b3265..5013ab4809073 100644 --- a/examples/chart/access/msteams/Chart.yaml +++ b/examples/chart/access/msteams/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap index c5a5bb72df0a6..39ab21e9d76fb 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/configmap_test.yaml.snap @@ -29,6 +29,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-msteams-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-msteams-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-msteams diff --git a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap index 1c2cb01316d79..0ff7bb6a802d5 100644 --- a/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/msteams/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-msteams-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-msteams-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-msteams spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-msteams - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-msteams-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-msteams-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/access/pagerduty/Chart.yaml b/examples/chart/access/pagerduty/Chart.yaml index 943a741143af9..6e95192abffe8 100644 --- a/examples/chart/access/pagerduty/Chart.yaml +++ b/examples/chart/access/pagerduty/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap index 6a703a059fb7f..ad5cef99284db 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/configmap_test.yaml.snap @@ -21,6 +21,6 @@ should match the snapshot (smtp on): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-pagerduty-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-pagerduty-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-pagerduty diff --git a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap index b248abecb569b..cd997bfc91491 100644 --- a/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/pagerduty/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-pagerduty-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-pagerduty-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-pagerduty spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-pagerduty - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-pagerduty-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-pagerduty-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/access/slack/Chart.yaml b/examples/chart/access/slack/Chart.yaml index 8f2fa6d463042..f2690cee1edb2 100644 --- a/examples/chart/access/slack/Chart.yaml +++ b/examples/chart/access/slack/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap index ffe0ad672af3f..af77c40c3a0ac 100644 --- a/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/configmap_test.yaml.snap @@ -24,6 +24,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-slack-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-slack-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-slack diff --git a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap index afc10d2b3e6cd..8d166c618de35 100644 --- a/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/access/slack/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-slack-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-slack-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-slack spec: replicas: 1 @@ -22,8 +22,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-slack - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-slack-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-slack-17.0.0-beta.1 spec: containers: - command: diff --git a/examples/chart/event-handler/Chart.yaml b/examples/chart/event-handler/Chart.yaml index 14693f31ef812..646dcfea78134 100644 --- a/examples/chart/event-handler/Chart.yaml +++ b/examples/chart/event-handler/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" apiVersion: v2 name: teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap index a1b7f763f6ea4..9bd2d0834abe7 100644 --- a/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/configmap_test.yaml.snap @@ -26,6 +26,6 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-event-handler-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-event-handler-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-event-handler diff --git a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap index ed6adeac13c21..e182f7495c332 100644 --- a/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/event-handler/tests/__snapshot__/deployment_test.yaml.snap @@ -7,8 +7,8 @@ should match the snapshot: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-plugin-event-handler - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-plugin-event-handler-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-plugin-event-handler-17.0.0-beta.1 name: RELEASE-NAME-teleport-plugin-event-handler spec: replicas: 1 @@ -82,7 +82,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: "true" - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-plugin-event-handler:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-plugin-event-handler:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: teleport-plugin-event-handler ports: diff --git a/examples/chart/tbot/Chart.yaml b/examples/chart/tbot/Chart.yaml index e3458e843f512..2923dcc93efd7 100644 --- a/examples/chart/tbot/Chart.yaml +++ b/examples/chart/tbot/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" name: tbot apiVersion: v2 diff --git a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap index fa23d1f11fa56..a83841fee3141 100644 --- a/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/tbot/tests/__snapshot__/deployment_test.yaml.snap @@ -29,7 +29,7 @@ should match the snapshot (full): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-17.0.0-alpha.5 + helm.sh/chart: tbot-17.0.0-beta.1 test-key: test-label-pod spec: affinity: @@ -68,7 +68,7 @@ should match the snapshot (full): value: "1" - name: TEST_ENV value: test-value - image: public.ecr.aws/gravitational/tbot-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/tbot-distroless:17.0.0-beta.1 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -154,7 +154,7 @@ should match the snapshot (simple): app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: tbot - helm.sh/chart: tbot-17.0.0-alpha.5 + helm.sh/chart: tbot-17.0.0-beta.1 spec: containers: - args: @@ -176,7 +176,7 @@ should match the snapshot (simple): fieldPath: spec.nodeName - name: KUBERNETES_TOKEN_PATH value: /var/run/secrets/tokens/join-sa-token - image: public.ecr.aws/gravitational/tbot-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/tbot-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-cluster/Chart.yaml b/examples/chart/teleport-cluster/Chart.yaml index b7dc22abff1bf..c872b4dab1271 100644 --- a/examples/chart/teleport-cluster/Chart.yaml +++ b/examples/chart/teleport-cluster/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" name: teleport-cluster apiVersion: v2 diff --git a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml index a65c9ac944082..2e52deb26fcb3 100644 --- a/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml +++ b/examples/chart/teleport-cluster/charts/teleport-operator/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" name: teleport-operator apiVersion: v2 diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap index bd1ddec816c18..c4679d5dcb871 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_clusterrole_test.yaml.snap @@ -8,8 +8,8 @@ adds operator permissions to ClusterRole: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-cluster-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-cluster-17.0.0-beta.1 teleport.dev/majorVersion: "17" name: RELEASE-NAME rules: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap index f7faa86978a90..5a7fa50e32052 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_config_test.yaml.snap @@ -1848,8 +1848,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-cluster-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-cluster-17.0.0-beta.1 teleport.dev/majorVersion: "17" name: RELEASE-NAME-auth namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap index 7a4305de30c1a..52e8e11b59014 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/auth_deployment_test.yaml.snap @@ -8,7 +8,7 @@ - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -141,7 +141,7 @@ should set nodeSelector when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -238,7 +238,7 @@ should set resources when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -324,7 +324,7 @@ should set securityContext when set in values: - args: - --diag-addr=0.0.0.0:3000 - --apply-on-startup=/etc/teleport/apply-on-startup.yaml - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap index 013fc505c80ec..b4f051cd5a199 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_config_test.yaml.snap @@ -567,8 +567,8 @@ sets clusterDomain on Configmap: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-cluster-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-cluster-17.0.0-beta.1 teleport.dev/majorVersion: "17" name: RELEASE-NAME-proxy namespace: NAMESPACE diff --git a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap index 2beca9fb64481..4d0e916d77ca3 100644 --- a/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap +++ b/examples/chart/teleport-cluster/tests/__snapshot__/proxy_deployment_test.yaml.snap @@ -11,8 +11,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-cluster-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-cluster-17.0.0-beta.1 teleport.dev/majorVersion: "17" name: RELEASE-NAME-proxy namespace: NAMESPACE @@ -26,7 +26,7 @@ sets clusterDomain on Deployment Pods: template: metadata: annotations: - checksum/config: c32421345e9bbf6a4d3a8f27a4a98df1107c2177ae49a178bf6c95bd8b48be56 + checksum/config: 511dcaf9dc07aba057c6dc0175a947d5efb7400da8777f6aa34975246944b057 kubernetes.io/pod: test-annotation kubernetes.io/pod-different: 4 labels: @@ -34,8 +34,8 @@ sets clusterDomain on Deployment Pods: app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: teleport-cluster - app.kubernetes.io/version: 17.0.0-alpha.5 - helm.sh/chart: teleport-cluster-17.0.0-alpha.5 + app.kubernetes.io/version: 17.0.0-beta.1 + helm.sh/chart: teleport-cluster-17.0.0-beta.1 teleport.dev/majorVersion: "17" spec: affinity: @@ -44,7 +44,7 @@ sets clusterDomain on Deployment Pods: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -105,7 +105,7 @@ sets clusterDomain on Deployment Pods: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.test.com - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update serviceAccountName: RELEASE-NAME-proxy terminationGracePeriodSeconds: 60 @@ -137,7 +137,7 @@ should provision initContainer correctly when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update resources: limits: @@ -201,7 +201,7 @@ should set nodeSelector when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -262,7 +262,7 @@ should set nodeSelector when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update nodeSelector: environment: security @@ -313,7 +313,7 @@ should set resources for wait-auth-update initContainer when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -381,7 +381,7 @@ should set resources for wait-auth-update initContainer when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update resources: limits: @@ -421,7 +421,7 @@ should set resources when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -489,7 +489,7 @@ should set resources when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update resources: limits: @@ -529,7 +529,7 @@ should set securityContext for initContainers when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -597,7 +597,7 @@ should set securityContext for initContainers when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update securityContext: allowPrivilegeEscalation: false @@ -637,7 +637,7 @@ should set securityContext when set in values: containers: - args: - --diag-addr=0.0.0.0:3000 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent lifecycle: preStop: @@ -705,7 +705,7 @@ should set securityContext when set in values: - wait - no-resolve - RELEASE-NAME-auth-v16.NAMESPACE.svc.cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 name: wait-auth-update securityContext: allowPrivilegeEscalation: false diff --git a/examples/chart/teleport-kube-agent/Chart.yaml b/examples/chart/teleport-kube-agent/Chart.yaml index 85b126d98a1a7..d8a395eaa4767 100644 --- a/examples/chart/teleport-kube-agent/Chart.yaml +++ b/examples/chart/teleport-kube-agent/Chart.yaml @@ -1,4 +1,4 @@ -.version: &version "17.0.0-alpha.5" +.version: &version "17.0.0-beta.1" name: teleport-kube-agent apiVersion: v2 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap index b475890b0bce3..4b1943aa42c62 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/deployment_test.yaml.snap @@ -32,7 +32,7 @@ sets Deployment annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -109,7 +109,7 @@ sets Deployment labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -173,7 +173,7 @@ sets Pod annotations when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -237,7 +237,7 @@ sets Pod labels when specified if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -322,7 +322,7 @@ should add emptyDir for data when existingDataVolume is not set if action is Upg value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -387,7 +387,7 @@ should add insecureSkipProxyTLSVerify to args when set in values if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -451,7 +451,7 @@ should correctly configure existingDataVolume when set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -513,7 +513,7 @@ should expose diag port if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -589,7 +589,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -665,7 +665,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -729,7 +729,7 @@ should have one replica when replicaCount is not set if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -793,7 +793,7 @@ should mount extraVolumes and extraVolumeMounts if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -862,7 +862,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf an value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -932,7 +932,7 @@ should mount jamfCredentialsSecret.name when role is jamf and action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1004,7 +1004,7 @@ should mount tls.existingCASecretName and set environment when set in values if value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1078,7 +1078,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: http://username:password@my.proxy.host:3128 - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1148,7 +1148,7 @@ should provision initContainer correctly when set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1270,7 +1270,7 @@ should set affinity when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1334,7 +1334,7 @@ should set default serviceAccountName when not set in values if action is Upgrad value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1411,7 +1411,7 @@ should set environment when extraEnv set in values if action is Upgrade: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1539,7 +1539,7 @@ should set imagePullPolicy when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -1603,7 +1603,7 @@ should set nodeSelector if set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1669,7 +1669,7 @@ should set not set priorityClassName when not set in values if action is Upgrade value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set preferred affinity when more than one replica is used if action is Up value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1809,7 +1809,7 @@ should set priorityClassName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1874,7 +1874,7 @@ should set probeTimeoutSeconds when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1948,7 +1948,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set if value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2012,7 +2012,7 @@ should set resources when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2083,7 +2083,7 @@ should set serviceAccountName when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2147,7 +2147,7 @@ should set tolerations when set in values if action is Upgrade: value: "true" - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap index 9f024f8fc32f1..11b0bef0385a3 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/job_test.yaml.snap @@ -25,7 +25,7 @@ should create ServiceAccount for post-delete hook by default: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -108,7 +108,7 @@ should not create ServiceAccount for post-delete hook if serviceAccount.create i fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -138,7 +138,7 @@ should not create ServiceAccount, Role or RoleBinding for post-delete hook if se fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -168,7 +168,7 @@ should set nodeSelector in post-delete hook: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: post-delete-job securityContext: @@ -200,7 +200,7 @@ should set resources in the Job's pod spec if resources is set in values: fieldPath: metadata.namespace - name: RELEASE_NAME value: RELEASE-NAME - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent name: post-delete-job resources: diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap index ac8c6c00ec362..fec8a95c7ab9c 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/statefulset_test.yaml.snap @@ -18,7 +18,7 @@ sets Pod annotations when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -90,7 +90,7 @@ sets Pod labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -186,7 +186,7 @@ sets StatefulSet labels when specified: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -290,7 +290,7 @@ should add insecureSkipProxyTLSVerify to args when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -362,7 +362,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and action value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -454,7 +454,7 @@ should add volumeClaimTemplate for data volume when using StatefulSet and is Fre value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -536,7 +536,7 @@ should add volumeMount for data volume when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -608,7 +608,7 @@ should expose diag port: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -680,7 +680,7 @@ should generate Statefulset when storage is disabled and mode is a Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -766,7 +766,7 @@ should have multiple replicas when replicaCount is set (using .replicaCount, dep value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -850,7 +850,7 @@ should have multiple replicas when replicaCount is set (using highAvailability.r value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -922,7 +922,7 @@ should have one replica when replicaCount is not set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -994,7 +994,7 @@ should install Statefulset when storage is disabled and mode is a Fresh Install: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1068,7 +1068,7 @@ should mount extraVolumes and extraVolumeMounts: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1145,7 +1145,7 @@ should mount jamfCredentialsSecret if it already exists and when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1225,7 +1225,7 @@ should mount jamfCredentialsSecret.name when role is jamf: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1307,7 +1307,7 @@ should mount tls.existingCASecretName and set environment when set in values: value: cluster.local - name: SSL_CERT_FILE value: /etc/teleport-tls-ca/ca.pem - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1391,7 +1391,7 @@ should mount tls.existingCASecretName and set extra environment when set in valu value: /etc/teleport-tls-ca/ca.pem - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1471,7 +1471,7 @@ should not add emptyDir for data when using StatefulSet: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1543,7 +1543,7 @@ should provision initContainer correctly when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1673,7 +1673,7 @@ should set affinity when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1745,7 +1745,7 @@ should set default serviceAccountName when not set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1830,7 +1830,7 @@ should set environment when extraEnv set in values: value: cluster.local - name: HTTPS_PROXY value: http://username:password@my.proxy.host:3128 - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -1974,7 +1974,7 @@ should set imagePullPolicy when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: Always livenessProbe: failureThreshold: 6 @@ -2046,7 +2046,7 @@ should set nodeSelector if set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2132,7 +2132,7 @@ should set preferred affinity when more than one replica is used: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2204,7 +2204,7 @@ should set probeTimeoutSeconds when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2286,7 +2286,7 @@ should set required affinity when highAvailability.requireAntiAffinity is set: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2358,7 +2358,7 @@ should set resources when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2437,7 +2437,7 @@ should set serviceAccountName when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2509,7 +2509,7 @@ should set storage.requests when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2581,7 +2581,7 @@ should set storage.storageClassName when set in values and action is an Upgrade: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -2653,7 +2653,7 @@ should set tolerations when set in values: value: RELEASE-NAME - name: TELEPORT_KUBE_CLUSTER_DOMAIN value: cluster.local - image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-distroless:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 diff --git a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap index 49419bc5daa46..01c3be30cfdd4 100644 --- a/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap +++ b/examples/chart/teleport-kube-agent/tests/__snapshot__/updater_deployment_test.yaml.snap @@ -27,7 +27,7 @@ sets the affinity: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6 @@ -73,7 +73,7 @@ sets the tolerations: - --base-image=public.ecr.aws/gravitational/teleport-distroless - --version-server=https://my-custom-version-server/v1 - --version-channel=custom/preview - image: public.ecr.aws/gravitational/teleport-kube-agent-updater:17.0.0-alpha.5 + image: public.ecr.aws/gravitational/teleport-kube-agent-updater:17.0.0-beta.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 6